Szerző Téma: Felszólítás id hiba & dialog color hiba  (Megtekintve 769 alkalommal)

Felszólítás id hiba & dialog color hiba
« Dátum: 2012. augusztus 27. - 12:30:00 »
0 Show voters
Heló, az lenne az elsõ kérdésem, hogy mi lehet ebben a scriptben a hiba, mert hiába írom be, hogy /felsz 5 nem arra a játékosra írja ki, hanem id0-ra mindig.
 
    if(strcmp(cmd, \"/felsz\", true) == 0) {
    {
    IsPlayerAdmin(playerid == 1);
    }
    if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_WHITE, \"<HASZNÁLAT>:/a [játékosid]\");
    if (IsPlayerConnected(giveplayerid)) {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), \"%s(ID:%d)! Adja meg magát!\", giveplayer,giveplayerid);
    SendClientMessageToAll(COLOR_ORANGE, string);
}
    } else {
SendClientMessage(playerid, COLOR_RED,\"HIBA: A beírt azonosító(ID) nem található!\");
}
    return 1;
}

 
---------------------------------------------------------------------------------------------------------------------------------------------
A másik az, pedig, hogy be rakok egy radio dialogot, és egy színválasztó dialogot a szeróra, és ha ez a kettõ megy akkor a színválasztó nem jó, vagyis bejön a dialog de nem változtatja meg kattintásra a player színt. Ha kiveszem a radio filterscriptet a cfg-bõl, egybõl megjavul. Mi lehet e összeférhetetlenségnek az oka?
- Error-t vagy warn -t nem ír ki egyébként sem a felszólítás id hiba, sem a szín fs, sem a radio fs.

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Felszólítás id hiba & dialog color hiba
« Válasz #1 Dátum: 2012. augusztus 27. - 12:42:52 »
0 Show voters
1.
 
    if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_WHITE, \"<HASZNÁLAT>:/a [játékosid]\");

 
helyett így:
 
if(sscanf(params, \"u\", giveplayer)) return SendClientMessage(playerid, -1, \"Használat: /felsz [Playerid/Név]\");

 
2. szerintem ütköznek a dialog ID-k.

Felszólítás id hiba & dialog color hiba
« Válasz #2 Dátum: 2012. augusztus 27. - 12:45:00 »
0 Show voters
if(strcmp(cmd, \"/felsz\", true) == 0)
{
new tmp[256],
giveplayerid;
tmp = strtok(cmdtext, idx);
giveplayerid = strval(tmp);
if(!IsPlayerAdmin(playerid)) return SendclientMessage(playerid, COLOR_RED, \"Nem vagy RCON admin!\");;
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, \"<HASZNÁLAT>:/a [játékosid]\");
if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COLOR_RED,\"HIBA: A beírt azonosító(ID) nem található!\");
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), \"%s(ID:%d)! Adja meg magát!\", giveplayer,giveplayerid);
SendClientMessageToAll(COLOR_ORANGE, string);
return 1;
}
« Utoljára szerkesztve: 2012. augusztus 27. - 13:00:12 írta TengeriMalac »

Felszólítás id hiba & dialog color hiba
« Válasz #3 Dátum: 2012. augusztus 27. - 15:17:58 »
0 Show voters
TengeriMalac  -  nem jó, mert azt írja [függetlenül attól, hogy admin vagyok-e vagy sem] hogy \"nem vagy admin\" illetve még ha ezt ki is szedem [//-el] akkor meg felmegyek szeróra, beírom, hogy /felsz  vagy  /felsz 1  és ugyan azt írja ki mindig: \"<HASZNÁLAT: /felsz [id]\" fehérrel.
Ráadásként 2 warn-ot is kiír:
 
(60) : warning 219: local variable \"tmp\" shadows a variable at a preceding level
(61) : warning 219: local variable \"giveplayerid\" shadows a variable at a preceding level
« Utoljára szerkesztve: 2012. augusztus 27. - 19:57:49 írta Bloodest44 »

Felszólítás id hiba & dialog color hiba
« Válasz #4 Dátum: 2012. augusztus 27. - 15:21:15 »
0 Show voters
Tedd egybe a 2 fst.

Nem elérhető krisk

  • 2380
    • Profil megtekintése
Felszólítás id hiba & dialog color hiba
« Válasz #5 Dátum: 2012. augusztus 27. - 15:24:14 »
0 Show voters
Idézetet írta: Bloodest44 date=1346073478\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"26943\" data-ipsquote-contentclass=\"forums_Topic
[1.]
Flash - Átírtam a dialogidket, mégsem jó  :unsure:
Színek fs-nél:  #define DIALOG_SZINEK    9800
Radio fs-nél:  #define DIALOG_RADIO    5500
És mindkettõben ezenkívül még ugye 2 helyen van feltüntetve a dialogid, (ShowPlayerDialog és OnDialogResponse résznél) ami így itt is különbözik egymástól, nem tudom miért zavarja egymást a kettõ.
[2.]
TengeriMalac  -  nem jó, mert azt írja [függetlenül attól, hogy admin vagyok-e vagy sem] hogy \"nem vagy admin\" illetve még ha ezt ki is szedem [//-el] akkor meg felmegyek szeróra, beírom, hogy /felsz  vagy  /felsz 1  és ugyan azt írja ki mindig: \"<HASZNÁLAT: /felsz [id]\" fehérrel.
Ráadásként 2 warn-ot is kiír:
 
(60) : warning 219: local variable \"tmp\" shadows a variable at a preceding level
(61) : warning 219: local variable \"giveplayerid\" shadows a variable at a preceding level

 

A tmp és a giveplayerid változók magasabb szinteken (pl. globális változó, callback elején) már deklarálva vannak. Gondolom tengerimalac nem ismeri a gf-et. Itt a jó kód:
 

if(strcmp(cmd, \"/felsz\", true) == 0)
{
if(!IsPlayerAdmin(playerid)) return SendclientMessage(playerid, COLOR_RED, \"Nem vagy RCON admin!\");;
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, \"<HASZNÁLAT>:/a [játékosid]\");
if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COLOR_RED,\"HIBA: A beírt azonosító(ID) nem található!\");
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), \"%s(ID:%d)! Adja meg magát!\", giveplayer,giveplayerid);
SendClientMessageToAll(COLOR_ORANGE, string);
return 1;
}

Felszólítás id hiba & dialog color hiba
« Válasz #6 Dátum: 2012. augusztus 27. - 19:53:53 »
0 Show voters
N@rbirock - Valóban! Köszönöm szépen, mûködik egy fs alatt.  ++ ::|
Viszont a felszólítási id hiba még mindig fenn áll. Hiába vagyok ki-be jelentkezve adminnal a szerón, ugyanazt írja ki: \"Nem vagy RCON admin\"
Nem tudná valaki leírni a jó parancsot? Tehát, hogy /felsz [id]  - és kiírja mindenkinek, hogy pl. \"Laci ID1 álljon meg!\"
És ezt persze csak admin tudná használni a parancsot.   :cry3:

Felszólítás id hiba & dialog color hiba
« Válasz #7 Dátum: 2012. augusztus 27. - 20:07:26 »
0 Show voters
Ahogy nézem, kódilag nincs benne hiba.


zcmd + sscanf?
nem igazán bírom az strcmp + strtok párosítást.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal