Jump to content

Problema comanda pentru owner


Yamamyyy
 Share

Recommended Posts

As vrea sa fac o comanda sa monitorizeze activitatea membrilor staff , am facut ceva , dar imi da erori , ma puteti ajuta sa imi mearga fara erori ? , tin sa precizez ca folosesc gamemode fara mysql

Scriptul incercat de mine :

if(strcmp(cmd, "/showstaffactivity", true) == 0 || strcmp(cmd,"/sfa", true) == 0)

{
if(IsPlayerConnected(playerid))
GetPlayerName(playerid, sendername, sizeof(sendername));
{
ShowPlayerDialog(playerid, 9, DIALOG_STYLE_MSGBOX, "{FFFFFF}Acitivitatea lui %s", "
/opr 0 ori
/goto 0 ori
/unfreeze 0 ori
/setint 0 ori
/setvw 0 ori
/mute 0 ori
/mutereport 0 ori
/cc 0 ori
/respawn 0 ori
/slap 0 ori
/spec 0 ori
/setjob 0 ori
/kick 0 ori
/ban 0 ori
/banvip 0 ori
/jail 0 ori", sendername, "Close" ,"");
}
return 1;
}

Erori :

D:UsersJimmiDesktop1gamemodesRunStrike.pwn(56150) : error 037: invalid string (possibly non-terminated string)

D:UsersJimmiDesktop1gamemodesRunStrike.pwn(56151) : warning 215: expression has no effect
D:UsersJimmiDesktop1gamemodesRunStrike.pwn(56151) : error 001: expected token: ";", but found "-identifier-"
D:UsersJimmiDesktop1gamemodesRunStrike.pwn(56151) : error 017: undefined symbol "ori"
D:UsersJimmiDesktop1gamemodesRunStrike.pwn(56151 -- 56152) : error 029: invalid expression, assumed zero
D:UsersJimmiDesktop1gamemodesRunStrike.pwn(56151 -- 56152) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


5 Errors.

Asa vroiam sa arate comanda: http://i.imgur.com/Zz61iED.jpg

Link to comment
Share on other sites

 

 if(strcmp(cmd, "/showstaffactivity", true) == 0 || strcmp(cmd,"/sfa", true) == 0)
{
if(IsPlayerConnected(playerid))
GetPlayerName(playerid, sendername, sizeof(sendername));
{
ShowPlayerDialog(playerid, 9, DIALOG_STYLE_MSGBOX, "{FFFFFF}Acitivitatea lui %s", "
/opr 0 ori
/goto 0 ori
/unfreeze 0 ori
/setint                 0 ori
/setvw                 0 ori
/mute 0 ori
/mutereport 0 ori
/cc 0 ori
/respawn 0 ori
/slap 0 ori
/spec                  0 ori
/setjob                 0 ori
/kick                  0 ori
/ban                  0 ori
/banvip                 0 ori
/jail                 0 ori", sendername, "Close" ,"");
}
return 1;
}

 

Acest cod este total gresit.

 

1. Ca sa afisezi in titlul dialogului "Activitatea lui X", trebuie sa formatezi un string

 

new gString[32], sendername[32];
GetPlayerName(playerid, sendername, sizeof(sendername));
format(gString, sizeof gString, "Acitivitatea lui %s", sendername);

Si sa-l aplici in dialogul tau:

 

ShowPlayerDialog(playerid, 9, DIALOG_STYLE_MSGBOX, gString, ..);

 

2. Ca sa afisezi activitatea, trebuie sa o treci in log-uri pentru a putea sa o folosesti altundeva.

Trebuie sa adaugi in enum-ul cu informatiile despre jucator cate o variabila ce semnifica fiecare actiune administrativa, de exemplu: pFreezedPlayers se incrementeaza de fiecare data cand actionezi comanda /freeze asupra altui jucator. Dupa ce faci ce am sugerat anterior, codul tau va arata cam asa:

 

 

new rString[512];
format(rString, sizeof rString, "Freeze-uri: %d\nKick-uri: %d", PlayerInfo[id][pFreezedPlayers], PlayerInfo[id][pKickedPlayers]);
ShowPlayerDialog(playerid, 9, DIALOG_STYLE_MSGBOX, gString, rString, "Exit");

id este variabila prin care declaram tinta noastra.

Link to comment
Share on other sites

Pai iti sugerez ca la fiecare comanda sa pui o variabila iar la final sa fa i comanda cu ZCMD, momentan sunt plecat in vacanta asa ca acest topic ramane deschis inca 2 zile.

Ai nevoie de vaste cunostinte in a_mysql o sa vad ce pot face

Link to comment
Share on other sites

Ce ai creat tu acolo e ceva banal. Sistemul este mult mai complex si nu cred ca sta nimeni sa munceasca pentru nimic.

Din cate observ acel gamemode ruleaza pe scaff. Ti-as recomand asa folosesti un alt procesor de comenzi, de preferat ZCMD.

Pentru mai mult sprijin in PAWNO deschide un topic pe forumurile dedicate scripturiilor.

Edited by Jomes
Link to comment
Share on other sites

Da-mi un PM cu ce .inc folosesti ca sa stiu daca luxrezi cu dini/y_ini sau a_mysql, pana atunci nu am cu ce sa te ajut, PS: .inc le gasesti in pawno>include si sa mi-le dai.

Ce ai creat tu acolo e ceva banal. Sistemul este mult mai complex si nu cred ca sta nimeni sa munceasca pentru nimic.

Din cate observ acel gamemode ruleaza pe scaff. Ti-as recomand asa folosesti un alt procesor de comenzi, de preferat ZCMD.

Pentru mai mult sprijin in PAWNO deschide un topic pe forumurile dedicate scripturiilor.

Eh nici chiar asa
Link to comment
Share on other sites

Ce ai creat tu acolo e ceva banal. Sistemul este mult mai complex si nu cred ca sta nimeni sa munceasca pentru nimic.

Din cate observ acel gamemode ruleaza pe scaff. Ti-as recomand asa folosesti un alt procesor de comenzi, de preferat ZCMD.

Pentru mai mult sprijin in PAWNO deschide un topic pe forumurile dedicate scripturiilor.

 

scaff nu exista. Daca te referi la sscanf, nu este procesor de comenzi, nici strcmp nu este procesor. Procesorul nu are treaba cu aceasta comanda, daca nu stii, nu te baga.

Link to comment
Share on other sites

 

scaff nu exista. Daca te referi la sscanf, nu este procesor de comenzi, nici strcmp nu este procesor. Procesorul nu are treaba cu aceasta comanda, daca nu stii, nu te baga.

I-am sugerat sa bage ZCMD pentru ca este mai rapid. Nu m-a interesat deloc de sscanf pentru ca este destul de vechi si nu-l mai foloseste nimeni. Macar l-ai intrebat pe ce ruleaza acel server? Tot ce ai facut tu acolo este sa afiseze dialogul, orice incepator o poate face. In acel cod ai mici greseli unde pot aparea buguri.

Link to comment
Share on other sites

I-am sugerat sa bage ZCMD pentru ca este mai rapid. Nu m-a interesat deloc de sscanf pentru ca este destul de vechi si nu-l mai foloseste nimeni. Macar l-ai intrebat pe ce ruleaza acel server? Tot ce ai facut tu acolo este sa afiseze dialogul, orice incepator o poate face. In acel cod ai mici greseli unde pot aparea buguri.

Cred ca nu ai inteles ce am facut eu. Nu am facut niciun cod, am facut doar o structura de baza ca sa inteleaga ce are de facut. Mai bine zis, i-am explicat cum trebuie sa functioneze. Si revin la ceea ce am zis anterior, daca nu stii.. zcmd isi atinge potentialul maxim folosit cu sscanf. Confunzi sscanf cu strcmp, niciunul dintre ele nefiind un procesor de comenzi.

 

if(strcmp(cmd, "/showstaffactivity", true)
asta e strcmp

if(sscanf(params, "u", id)) return SCM...
asta e sscanf si este folosit in locul codului ce urmeaza:

tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid,0xFF0000FF,"USAGE: /kick [id]");
id = strval(tmp);

 

Btw, n-am facut niciun cod ca sa am greseli si in consecinta, sa apara erori. ;)

Link to comment
Share on other sites

Cred ca nu ai inteles ce am facut eu. Nu am facut niciun cod, am facut doar o structura de baza ca sa inteleaga ce are de facut. Mai bine zis, i-am explicat cum trebuie sa functioneze. Si revin la ceea ce am zis anterior, daca nu stii.. zcmd isi atinge potentialul maxim folosit cu sscanf. Confunzi sscanf cu strcmp, niciunul dintre ele nefiind un procesor de comenzi.

if(strcmp(cmd, "/showstaffactivity", true)
asta e strcmp
if(sscanf(params, "u", id)) return SCM...
asta e sscanf si este folosit in locul codului ce urmeaza:
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid,0xFF0000FF,"USAGE: /kick [id]");
id = strval(tmp);

Btw, n-am facut niciun cod ca sa am greseli si in consecinta, sa apara erori. ;)

Eu nu cred ca in tot gamemod-ul acela are doar 8 dialoguri. Trebuie definit ca sa nu se incurce intre ele.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.