Jump to content
  • 0

pomoc Problém s textom + Warning 202


Dexter1906

Dotaz

Dobrý deň, mám problém s textom ktorý sa ma zobraziť hráčom. Mal by sa zobraziť text Administrátor XXXX respawnol vozidlo s ID XXXX a namiesto toho sa mi zobrazuje len Administrátor XXXXX respawnol vozi

 

Snažil som sa to opraviť, lenže vyvolal som len Warning pri kompilácii: warning 202: number of arguments does not match definition

 

Kód:

dcmd_respawn(playerid,params[])
{
    new id = strval(params);
    new Name[26];
if(Player[playerid][AdminLevel]==0) return SendClientMessage(playerid,COLOR_WARNING,"[  !  ] {FFFFFF}Nie si Administrátor !");
    if(id > MAX_VEHICLES || id < 1) return SendClientMessage(playerid,COLOR_WARNING,"[  !  ] {FFFFFF}Použi: /respawn [ ID Vozidla ] ");
else if(Player[playerid][AdminLevel]==1) return SendClientMessage(playerid,COLOR_WARNING,"[  !  ] {FFFFFF}Na použitie tohto príkazu potrebuješ Admin Level 2 !");
else if(!strlen(params) || !strlen(params[chrfind(' ',params)+1]) || !params[2]) return SendClientMessage(playerid,0xFF0000FF,"[  !  ] {FFFFFF}Chybné ID vozidla!");
    SetVehicleToRespawn(id);
    GetPlayerName(playerid,Name);
    new string[40];
    format(string,sizeof(string),"Administrátor %s respawnol vozidlo s ID %s",Name,id);
    SendClientMessageToAll(COLOR_ADMIN,string);
    return 1;
}

 

Link to comment
Share on other sites

6 odpovědí na tuto otázku

Recommended Posts

  • 0

Nezjišťuješ hráčovo jméno, pouze dosadíš prázdnou neznámou

//Edit: zjišťuješ, nevšiml jsem si, mrknu se na to

///

new Name[MAX_PLAYER_NAME];
 GetPlayerName(playerid,Name,MAX_PLAYER_NAME);
Link to comment
Share on other sites

  • 0

new string[40];

 

moc krátkej string.. dej větší

Jméno může mít maximálně 20 znaků. Takže string dostačující.. chyba je spíš v tom, jak jsem psal, že tam nezadal délku stringu do zjištění jména

Link to comment
Share on other sites

  • 0

Jméno může mít maximálně 20 znaků. Takže string dostačující.. chyba je spíš v tom, jak jsem psal, že tam nezadal délku stringu do zjištění jména

Ne, string opravdu dostačující není, protože na jméno má jiný :)

 

Podívej se trošku výš - new Name[26];

Link to comment
Share on other sites

  • 0

dcmd_respawn(playerid,params[])
{
    new id = strval(params);
    new Name[26];
if(Player[playerid][AdminLevel]==0) return SendClientMessage(playerid,COLOR_WARNING,"[  !  ] {FFFFFF}Nie si Administrátor !");
    if(id > MAX_VEHICLES || id < 1) return SendClientMessage(playerid,COLOR_WARNING,"[  !  ] {FFFFFF}Použi: /respawn [ ID Vozidla ] ");
else if(Player[playerid][AdminLevel]==1) return SendClientMessage(playerid,COLOR_WARNING,"[  !  ] {FFFFFF}Na použitie tohto príkazu potrebuješ Admin Level 2 !");
else if(!strlen(params) || !strlen(params[chrfind(' ',params)+1]) || !params[2]) return SendClientMessage(playerid,0xFF0000FF,"[  !  ] {FFFFFF}Chybné ID vozidla!");
    SetVehicleToRespawn(id);
    GetPlayerName(playerid,Name);
    new string[81];
    format(string,sizeof(string),"Administrátor %s respawnol vozidlo s ID %s",Name,id);
    SendClientMessageToAll(COLOR_ADMIN,string);
    return 1;
}

Malo by ti to fungovať. *String je príliš krátky na 40znakov keď len "Administrátor %s respawnol vozidlo s ID %s" to má 42 znakov... + meno a ID... to je cca na 81znakov viac ne.

 

 

Deejva, on 28 Apr 2014 - 22:50, said:

 

Jméno může mít maximálně 20 znaků. Takže string dostačující.. chyba je spíš v tom, jak jsem psal, že tam nezadal délku stringu do zjištění jména

 

 

 

*Meno má nastavené na 26 znakov, String nieje dostačujúci pretoźe veta  **Administrátor %s respawnol vozidlo s ID %s** má 42 znakov + keď ktomu ešte pripočítaš meno a id vozidla tak to je više uvedených 40.. a ..

GetPlayerName(playerid,Name,MAX_PLAYER_NAME);

.. to MAX_PLAYER_NAME tam vôbec nemusí byť *stačí že tam je **playerid**

.. v Name to nemusí byť ... MAX_PLAYERS_NAME keď tam má [26] <--- To je určenie kolko bude mať hráč maximálne znakov...

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...