Szerző Téma: zcmd kód bug  (Megtekintve 471 alkalommal)

zcmd kód bug
« Dátum: 2012. Augusztus 29. - 15:17:43 »
0 Show voters
Hy, van ez a viszonylag egyszerû script, de nem akar helyesen mûködni:
1:. ha beírom, hogy /fel 5 és nincs a szerveren id5 akkor nem is írja ki, hogy \"hibás id\" hanem kiírja az \'álljon félre\' szöveget saját magamra...
2:. ha csak simán /fel  -t írok be akkor is úgyszint beadja az \"álljon félre\" szöveget de saját nevemet és id-met. -.-
Az egész parancssor valamiért úgy rossz ahogy van. Egyedül csak a \'nem vagy rendõr\' mûködik normálisan...
Ha valaki át tudná írni normálisan, hogy minden mûködjön azt megköszönném.
 
CMD:fel(playerid, params[])
{
new giveplayerid;
if(sscanf(params, \"u\", giveplayerid)) return SendClientMessage(playerid, 0xFF0000AA, \"Használat: /fel [playerid]\");
        if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFF0000AA, \"Hiba: Nincs ilyen játékos!\");
   if(IsPlayerLAdmin(playerid))
{
new name[MAX_PLAYER_NAME],string[200];
GetPlayerName(playerid, name, sizeof(name));
new illeto[MAX_PLAYER_NAME];
GetPlayerName(giveplayerid, illeto, sizeof(illeto));
format(string, sizeof string, \"{00bbff} Álljon félre azonnal {b22222}%s [iD:%s], {00bbff}igazoltatás következik!\", illeto, giveplayerid);
SendClientMessageToAll(0x00ff1eAA,string);
}
else {
SendClientMessage(playerid, hiba, \"Nem vagy rendõr!\");
}
   return 1;
}

 
Egyébként nincs sehol error vagy warn a scriptben, de még is bugosan müxik.

zcmd kód bug
« Válasz #1 Dátum: 2012. Augusztus 29. - 15:27:23 »
0 Show voters
Nem bug, csak gondolom egyedül tesztelted..
 
if(giveplayerid == INVALID_PLAYER_ID)

 
magyarul ha 65536 (vagy menni, nem értek a számrendszerekhez)
Mivel egy változó alapértéke létrehozás után 0, és ha egyedül teszteled, akkor te vagy az ID 0, ezért adta ki a te neved.
Neked pedig az kell, hogy ha nincs csatlakoztatva, akkor írja ki, ami
 
if(!IsPlayerConnected(giveplayerid))

 


Szoval a helyes kód
 
CMD:fel(playerid, params[])
{
new giveplayerid,
string[200],
illeto[MAX_PLAYER_NAME];
if(sscanf(params, \"u\", giveplayerid)) return SendClientMessage(playerid, 0xFF0000AA, \"Használat: /fel [playerid]\");
if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, 0xFF0000AA, \"Hiba: Nincs ilyen játékos!\");
if(!IsPlayerLAdmin(playerid)) return SendClientMessage(playerid, hiba, \"Nem vagy rendõr!\");
GetPlayerName(giveplayerid, illeto, sizeof(illeto));
format(string, sizeof string, \"{00bbff} Álljon félre azonnal {b22222}%s [iD:%s], {00bbff}igazoltatás következik!\", illeto, giveplayerid);
SendClientMessageToAll(0x00ff1eAA,string);
return 1;
}

zcmd kód bug
« Válasz #2 Dátum: 2012. Augusztus 29. - 19:53:25 »
0 Show voters
Na, egy fokkal jobb köszi, már nem az én nevemet hanem a teszt partnerem [id1] nevét írja, DE MINDIG...
Tehát ha csak annyit írok, hogy  /fel  vagy ha  /fel 2  vagy  /fel 8   õt írja folyton.
Tehát még mindig nem id szerint szólít nem értem mi lehet a baj, lehet filterscript-be akad össze valamivel?

Nem elérhető Rupert

  • 2301
    • Profil megtekintése
zcmd kód bug
« Válasz #3 Dátum: 2012. Augusztus 29. - 20:34:27 »
0 Show voters
Csak én vettem észre, hogy ezt
 
[iD:%s]

 
le kellene cserélni
 
[iD:%i]

 
erre?

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal