Jump to content
  • 0

Problema ce tine de functia format din pawn...


Question

Posted

Salutare SA:MP Romania!Am o mica problema si tot odata,foarte neobisniuta...Am facut o comanda cu ZCMD si SSCANF cu un mesaj care ar trebui sa se transmita la tot serverul,dar nu se intampla asta...

Defapt,asa mi se intampla la toate comenzile care tin de Admin Systemul,care este integrat in GM!Mai jos aveti comanda "goto":

[pawn]CMD:goto(playerid,params[])

{

new toplayerid,Float:Pos[3],interior,vw,rogoto[512],enggoto[512];

if(sscanf(params,"u",toplayerid))

{

if(limba[playerid] == 0) return SendClientMessage(playerid,0xFF0000FF,"Utilizare comanda:/goto <Playerid|Name>");

if(limba[playerid] == 1) return SendClientMessage(playerid,0xFF0000FF,"Command Syntax:/goto <Playerid|Name>");

}

if(PInfo[playerid][Admin] < 2)

{

if(limba[playerid] == 0) return SendClientMessage(playerid,0xFF0000FF,"Trebuie sa ai minim level 2 pentru a utiliza aceasta comanda!");

if(limba[playerid] == 1) return SendClientMessage(playerid,0xFF0000FF,"You must to be admin level 2 to use this command!");

}

if(!IsPlayerConnected(toplayerid))

{

if(limba[playerid] == 0) return SendClientMessage(playerid,0xFF0000FF,"Acest player nu este conectat!");

if(limba[playerid] == 1) return SendClientMessage(playerid,0xFF0000FF,"This player isn't connected!");

}

GetPlayerPos(toplayerid,Pos[0],Pos[1],Pos[2]);

SetPlayerPos(playerid,Pos[0]+1,Pos[1],Pos[2]);

interior = GetPlayerInterior(toplayerid);

vw = GetPlayerVirtualWorld(toplayerid);

SetPlayerInterior(playerid,interior);

SetPlayerVirtualWorld(playerid,vw);

if(limba[playerid] == 0)

{

format(rogoto,sizeof(rogoto),"{FF0000}Royal {FF8800}Stunt {00FF00}Gaming {FFFFFF}AdmCmd:Adminul {FF0000}%s{FFFFFF}[iD:%d] s-a teleportat la playerul {FF0000}%s{FFFFFF}[iD:%d]!",GetName(playerid),playerid,GetName(toplayerid),toplayerid);

SendClientMessageToAll(-1,rogoto);

}

if(limba[playerid] == 1)

{

format(enggoto,sizeof(enggoto),"{FF0000}Royal {FF8800}Stunt {00FF00}Gaming {FFFFFF}AdmCmd:Admininstrator {FF0000}%s{FFFFFF}[iD:%d] has go to player {FF0000}%s{FFFFFF}[iD:%d]!",GetName(playerid),playerid,GetName(toplayerid),toplayerid);

SendClientMessageToAll(-1,enggoto);

}

return 1;

}[/pawn]

Problema este ca mesajul nu se transmite deloc...Am uitat sa precizez ca aceasta comanda este bilingva,adica daca playerul este roman,mesajul va fi trimis in romana,iar daca este in engleza,mesajul v-a fi trimis in engleza!Astept ajutorul vostru! :)

17 answers to this question

Recommended Posts

Posted

PRIMA CE MI-A VENIT IN MINTE :)) :

[pawn]

CMD:goto(playerid,params[])

{

new toplayerid,Float:Pos[3],interior,vw,rogoto[512],enggoto[512];

if(sscanf(params,"u",toplayerid))

{

if(limba[playerid] == 0) return SendClientMessage(playerid,0xFF0000FF,"Utilizare comanda:/goto <Playerid|Name>");

if(limba[playerid] == 1) return SendClientMessage(playerid,0xFF0000FF,"Command Syntax:/goto <Playerid|Name>");

}

if(PInfo[playerid][Admin] < 2)

{

if(limba[playerid] == 0) return SendClientMessage(playerid,0xFF0000FF,"Trebuie sa ai minim level 2 pentru a utiliza aceasta comanda!");

if(limba[playerid] == 1) return SendClientMessage(playerid,0xFF0000FF,"You must to be admin level 2 to use this command!");

}

if(!IsPlayerConnected(toplayerid))

{

if(limba[playerid] == 0) return SendClientMessage(playerid,0xFF0000FF,"Acest player nu este conectat!");

if(limba[playerid] == 1) return SendClientMessage(playerid,0xFF0000FF,"This player isn't connected!");

}

GetPlayerPos(toplayerid,Pos[0],Pos[1],Pos[2]);

SetPlayerPos(playerid,Pos[0]+1,Pos[1],Pos[2]);

interior = GetPlayerInterior(toplayerid);

vw = GetPlayerVirtualWorld(toplayerid);

SetPlayerInterior(playerid,interior);

SetPlayerVirtualWorld(playerid,vw);

if(limba[playerid] == 0)

{

format(rogoto,sizeof(rogoto),"{FF0000}Royal {FF8800}Stunt {00FF00}Gaming {FFFFFF}AdmCmd:Adminul {FF0000}%s{FFFFFF}[iD:%d] s-a teleportat la playerul {FF0000}%s{FFFFFF}[iD:%d]!",GetName(playerid),playerid,GetName(toplayerid),toplayerid);

SendClientMessageToAll(-1,rogoto);

        print ( rogoto );

}

if(limba[playerid] == 1)

{

format(enggoto,sizeof(enggoto),"{FF0000}Royal {FF8800}Stunt {00FF00}Gaming {FFFFFF}AdmCmd:Admininstrator {FF0000}%s{FFFFFF}[iD:%d] has go to player {FF0000}%s{FFFFFF}[iD:%d]!",GetName(playerid),playerid,GetName(toplayerid),toplayerid);

SendClientMessageToAll(-1,enggoto);

        print ( enggoto );

}

return 1;

}

Posted

Ai incercat cu else if sau case?

Uite sa dau exemplu cu else if

Cum ai tu aici..

if(limba[playerid] == 0)
{
format(rogoto,sizeof(rogoto),"{FF0000}Royal {FF8800}Stunt {00FF00}Gaming {FFFFFF}AdmCmd:Adminul {FF0000}%s{FFFFFF}[ID:%d] s-a teleportat la playerul {FF0000}%s{FFFFFF}[ID:%d]!",GetName(playerid),playerid,GetName(toplayerid),toplayerid);
SendClientMessageToAll(-1,rogoto);
}
if(limba[playerid] == 1)
{
format(enggoto,sizeof(enggoto),"{FF0000}Royal {FF8800}Stunt {00FF00}Gaming {FFFFFF}AdmCmd:Admininstrator {FF0000}%s{FFFFFF}[ID:%d] has go to player {FF0000}%s{FFFFFF}[ID:%d]!",GetName(playerid),playerid,GetName(toplayerid),toplayerid);
SendClientMessageToAll(-1,enggoto);
}
  schimba cu
if(limba[playerid] == 0)
{
format(rogoto,sizeof(rogoto),"{FF0000}Royal {FF8800}Stunt {00FF00}Gaming {FFFFFF}AdmCmd:Adminul {FF0000}%s{FFFFFF}[ID:%d] s-a teleportat la playerul {FF0000}%s{FFFFFF}[ID:%d]!",GetName(playerid),playerid,GetName(toplayerid),toplayerid);
SendClientMessageToAll(-1,rogoto);
}
else if(limba[playerid] == 1)
{
format(enggoto,sizeof(enggoto),"{FF0000}Royal {FF8800}Stunt {00FF00}Gaming {FFFFFF}AdmCmd:Admininstrator {FF0000}%s{FFFFFF}[ID:%d] has go to player {FF0000}%s{FFFFFF}[ID:%d]!",GetName(playerid),playerid,GetName(toplayerid),toplayerid);
SendClientMessageToAll(-1,enggoto);
}
sau cu switch
switch ( limba [ playerid ] )
{
case 0:
{
format(rogoto,sizeof(rogoto),"{FF0000}Royal {FF8800}Stunt {00FF00}Gaming {FFFFFF}AdmCmd:Adminul {FF0000}%s{FFFFFF}[ID:%d] s-a teleportat la playerul {FF0000}%s{FFFFFF}[ID:%d]!",GetName(playerid),playerid,GetName(toplayerid),toplayerid);
SendClientMessageToAll(-1,rogoto);
}
case 1:
{
format(enggoto,sizeof(enggoto),"{FF0000}Royal {FF8800}Stunt {00FF00}Gaming {FFFFFF}AdmCmd:Admininstrator {FF0000}%s{FFFFFF}[ID:%d] has go to player {FF0000}%s{FFFFFF}[ID:%d]!",GetName(playerid),playerid,GetName(toplayerid),toplayerid);
SendClientMessageToAll(-1,enggoto);
}
}

PS:Am facut in graba

Massari e curva mea

Posted

La else if tot nu merge,am facut un topic si pe .com....

Cu codul luo Spirite_,imi arata mesajul doar in consola...

Tin sa precizez ca la comenzile la care am folosit mai putin de 3 culori hex (de genu FFFFFF) mesajul s-a afisat pe tot serverul...Ce este de facut?

Posted

Ai incercat sa schimbi culoarea din -1 in 0xFFFFFFFF.

Daca nu merge nici asa fa o tu functie

 

1859311972_BANNER-GIREADAcopy-min.thumb.png.48e5e420ae2185dce5b244965a1d2601.png

 

Posted

[pawn]CMD:goto(playerid,params[])

{

new toplayerid,Float:Pos[3],interior,vw,rogoto[512],enggoto[512];

if(sscanf(params,"u",toplayerid))

{

if(limba[playerid] == 0) return SendClientMessage(playerid,0xFF0000FF,"Utilizare comanda:/goto <Playerid|Name>");

elseif(limba[playerid] == 1) return SendClientMessage(playerid,0xFF0000FF,"Command Syntax:/goto <Playerid|Name>");

}

if(PInfo[playerid][Admin] < 2)

{

if(limba[playerid] == 0) return SendClientMessage(playerid,0xFF0000FF,"Trebuie sa ai minim level 2 pentru a utiliza aceasta comanda!");

elseif(limba[playerid] == 1) return SendClientMessage(playerid,0xFF0000FF,"You must to be admin level 2 to use this command!");

}

if(!IsPlayerConnected(toplayerid))

{

if(limba[playerid] == 0) return SendClientMessage(playerid,0xFF0000FF,"Acest player nu este conectat!");

elseif(limba[playerid] == 1) return SendClientMessage(playerid,0xFF0000FF,"This player isn't connected!");

}

GetPlayerPos(toplayerid,Pos[0],Pos[1],Pos[2]);

SetPlayerPos(playerid,Pos[0]+1,Pos[1],Pos[2]);

interior = GetPlayerInterior(toplayerid);

vw = GetPlayerVirtualWorld(toplayerid);

SetPlayerInterior(playerid,interior);

SetPlayerVirtualWorld(playerid,vw);

if(limba[playerid] == 0)

{

format(rogoto,sizeof(rogoto),"{FF0000}Royal {FF8800}Stunt {00FF00}Gaming {FFFFFF}AdmCmd:Adminul {FF0000}%s{FFFFFF}[iD:%d] s-a teleportat la playerul {FF0000}%s{FFFFFF}[iD:%d]!",GetName(playerid),playerid,GetName(toplayerid),toplayerid);

SendClientMessageToAll(-1,rogoto);

}

if(limba[playerid] == 1)

{

format(enggoto,sizeof(enggoto),"{FF0000}Royal {FF8800}Stunt {00FF00}Gaming {FFFFFF}AdmCmd:Admininstrator {FF0000}%s{FFFFFF}[iD:%d] has go to player {FF0000}%s{FFFFFF}[iD:%d]!",GetName(playerid),playerid,GetName(toplayerid),toplayerid);

SendClientMessageToAll(-1,enggoto);

}

return 1;[/pawn]

Nu prea ajut la categoria RP/GF.

Posted

Nu are cum,am pus un timer care,daca nu ai selectat o limba,sa iti trimita un mesaj din 10 in 10 secunde ;)Nu is chiar asa de incepator

Pai ii trimite mesaj..dar poate nu i se seteaza o valoare

Pune sa i se seteze automat pe eng daca nu alege ( eng pentru ca e limba cunoscuta aproape de toti )

Massari e curva mea

Posted

Poi daca vroiam sa ii setez engleza,ii setam de la OnPlayerConnect...dar vroiam sa stie ce limba are...

Am pus pe Romana inainte sa testez comanda,deci :P

Posted

1.O.K.Mesajul este trimis pe limba Engleza sau Romana, dar tu ai limba setata?

2.Ai incercat sa pui partea care contine "format"-urile inainte de GetPlayerPos(toplayerid,Pos[0],Pos[1],Pos[2]);?

Posted

Nu vi se pare si voua ca ii mesajul prea mare ?

Stringul este ok . Incearca in loc de Romania Gaming Super sau ce ai tu acolo sa pui doar initialele sau sa mai scurtezi .

Daca il vei pune intr-un dialog iti va merge 100% . Incearca sa pui intr-un dialog si o sa iti mearga . Daca nu vrei in dialog incearca ce ti-am scris eu xD

idiots.png
Posted

1.O.K.Mesajul este trimis pe limba Engleza sau Romana, dar tu ai limba setata?

2.Ai incercat sa pui partea care contine "format"-urile inainte de GetPlayerPos(toplayerid,Pos[0],Pos[1],Pos[2]);?

1.Da

2.Da :))

Anakin link=topic=27682.msg146760#msg146760 date=1372088099]

Nu vi se pare si voua ca ii mesajul prea mare ?

Stringul este ok . Incearca in loc de Romania Gaming Super sau ce ai tu acolo sa pui doar initialele sau sa mai scurtezi .

Daca il vei pune intr-un dialog iti va merge 100% . Incearca sa pui intr-un dialog si o sa iti mearga . Daca nu vrei in dialog incearca ce ti-am scris eu xD

Revin cu edit ;)

LOOOOL Mersi Anakin ;)Chiar merge acum!In ambele limbi!!!!!!!!!Mersi muuuult!Dati TC!Ai +1

Guest
This topic is now closed to further replies.
×
×
  • 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. For more details you can also review our Terms of Use and Privacy Policy.