Jump to content
  • 0

pomoc CP a akce při vstupu...


rEf

Dotaz

Ahojte potřebuji se na něco zeptat a doufám že se prokáže vaše pomoc :d.

 

No asi takhle říkám si že bych si udělal CP a při vstupu do něj aby mě vyskočil dialog, chci se zeptat jak na to správě.

 

Mam si udělat?:

 

new neco[MAX_PLAYERS];

 

neco[playerid] = CHECKPOINT NA POZICI

 

A do OnPlayerEnterCheckpoint aby to zjistilo pomocí neco[playerid] co to má udělat a tam dát Dialog?

 

Nebo jak přesněji? Budu rád za každou radu nerad bych něco pohnojil.

 

A druhá otázka rovnou...

 

Ani nevím jak ale udělal sem si na timer aby mi to vypisovalo jaký hráč má u sebe nejvíce peněz momentálně vypisuje to Jméno i Peníze ale problém je v tom že to vypisuje hráče který má nejměně peněz... Viz:

 

public TopPlayer(playerid)
{
new maxmoneyid, string[256], name[50];
for (new i = 0; i < GetMaxPlayers(); i++)
{
if(GetPlayerMoney(playerid) < maxmoneyid)
{
maxmoneyid = GetPlayerMoney(playerid);
}
GetPlayerName(maxmoneyid, name, 50);
}
format(string, sizeof(string), "[ {33CCFF}Top{FFFFFF} ] Nejvíce peněz u sebe má momentálně hráč %s ( {33AA33}$%d{FFFFFF} ).",name,GetPlayerMoney(maxmoneyid));
SendClientMessageToAll(0xFFFFFFAA,string);
return 1;
}

 

Btw mam to na timer.

Link to comment
Share on other sites

6 odpovědí na tuto otázku

Recommended Posts

  • 0

 

public TopPlayer(playerid)
{
new maxmoneyid, string[256], name[50];
for (new i = 0; i < GetMaxPlayers(); i++)
{
if(GetPlayerMoney(playerid) < maxmoneyid)
{
maxmoneyid = GetPlayerMoney(playerid);
}
GetPlayerName(maxmoneyid, name, 50);
}
format(string, sizeof(string), "[ {33CCFF}Top{FFFFFF} ] Nejvíce peněz u sebe má momentálně hráč %s ( {33AA33}$%d{FFFFFF} ).",name,GetPlayerMoney(maxmoneyid));
SendClientMessageToAll(0xFFFFFFAA,string);
return 1;
}

 

Btw mam to na timer.

no nie že by si to mal celé zle, ale máš :d

uložíš meno posledného hráča (ID 49,99 a tak) ktorý ani nemusí byť pripojený (stačí dat getplayername o riadok vyššie a úridať podmienku či je online)

a Deejva ti už poradil :d

 

 

Normálne si hore vytvor novú premennú :

#define CP_DIALOG 1
new CP[MAX_PLAYERS];

potom si niekde sprav chcekpoint, do príkazu, pri prihlásení, proste kde chceš ty

CP[playerid] = CP_DIALOG;
SetPlayerCheckpoint(playerid,X,Y,Z,size);

a posledná fáza kde vstupujed do CP

OnPlayerEnterCheckpoint(playerid)
{
switch(CP[playerid])
{
case CP_DIALOG:
{
ShowPlayerDialog(...);
}
//case CP_DIALOG:ShowPlayerDialog(...); // Dá sa aj takto
}
return true;
}

Link to comment
Share on other sites

  • 0

No já už skoušel to co psal Dejva dávno jenže to pak neukazuje jméno ani částku :d

 

A:

 

CP[playerid] = CP_DIALOG;
SetPlayerCheckpoint(playerid,X,Y,Z,size);

 

Když tam mam víckrát CP tak zjistí to vubec jakej je jakej? :d

Link to comment
Share on other sites

  • 0

V kodu kde hledas hrace s nejvice penez mas hned 3 chyby:

 

1. sice mas cyklus pro vsechny hrace, ale porovnavas jen playerid

2. maxmoney je promena kterou jsi pouzil pro zjisteni nejvyssi castky, ovsem sis nezapsal hrace kterou tu castku ma

3. obracene znamenko nerovnosti

public TopPlayer(playerid)
{
new maxmoney,id,string[128],name[MAX_PLAYER_NAME];//maximalni delka zpravy v chatu je 128 znaku a maximalni delka nicku je 24 znaku
for (new i = 0; i < GetMaxPlayers(); i++)//radsi bych tam dal MAX_PLAYERS je to rychlejsi nez GetMaxPlayers
{
if(GetPlayerMoney(i) > maxmoneyid)
{
maxmoney = GetPlayerMoney(i);
id = i;
}
}
GetPlayerName(id,name,sizeof(name));//tato funkce ti zasahovala co cyklu for, tedy by se vyvolala nekolikrat uplne zbytecne
format(string,sizeof(string), "[ {33CCFF}Top{FFFFFF} ] Nejvíce peněz u sebe má momentálně hráč %s ( {33AA33}$%d{FFFFFF} ).",name,maxmoney);
SendClientMessageToAll(0xFFFFFFAA,string);
return 1;
}

 

No já už skoušel to co psal Dejva dávno jenže to pak neukazuje jméno ani částku :d

 

A:

 

CP[playerid] = CP_DIALOG;
SetPlayerCheckpoint(playerid,X,Y,Z,size);

 

Když tam mam víckrát CP tak zjistí to vubec jakej je jakej? :d

To zjisti prave podle toho CP_DIALOG:

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...