Skripta koju koristim: od 0
Detaljan opis problema: Ako bi mi neko mogao objasniti kako da napravim komandu /pm bio bih zahvalan.
Dio skripte: /pm
Neke slike/video za lakse dobivanje pomoci(neobavezno)://
probaj ovo. (ovo moze svako koristit, ako zelis namjestit da mogu samo admini napravis provjeru)
[pawn]YCMD:pm(playerid, params[],help)
{
new id, poruka[128];
if(sscanf(params, "us[128]", id, poruka)) return SCM(playerid,-1,""BELA"/pm [id/name] [text]");
new string[156];
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, ""CRVENA"(ERROR) "SIVA"Wrong id.");
format(string,sizeof string, ""SPLAVA"(( PM to %s (%d): "BELA"%s ))", GetName(id) , id, poruka);
SendClientMessage(playerid, -1,string);
format(string,sizeof string ,""SPLAVA"(( PM from %s (%d): "BELA"%s ))", GetName(playerid),playerid,poruka);
SendClientMessage(id, -1,string);
return 1;
}[/pawn]
Nazlost mi ne radi, izbacuje mi Warning http://prntscr.com/g5cgyf, a u igri ne radi komanda :( http://prntscr.com/g5chto, takodje da kazem mozda nije do tebe, nego do mene jer sam pocetnik u skriptanju.
Tesko je ako si skroz novi da se objasni, koji ti je procesor komandi, posalji jednu od svojih komandi ovdje, tj zaljepi ih , pa cemo prilagoditi
[pawn] if (strcmp("/help", cmdtext, true, 10) == 0)
{
SendClientMessage(playerid,grey,"(Otvoren vam je dialog s komandama)");// Salje igacu poruku
ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Lista Komandi"," Komande\n /pm,/dm 1,/dm 2,/dm 3,/dm 4","OK","");//pokazuje playeru dialog s komandama
return 1;
}[/pawn]
Obrisi tu gore YCMD komandu i nakon svoje dodaj:
[pawn]if(strcmp(cmd, "/pm", true) == 0)
{
if(IgracLogovan[playerid] == 1)
{
if(PI[playerid][pAdmin] > 0 ) //Provjera dal je admin - ubaci svoju
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, -1, "/pm [ID Igraca] [Text]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if (IsPlayerConnected(giveplayerid) == 1)
{
if(giveplayerid != INVALID_PLAYER_ID)
{
imeigraca(playerid, sendername);
imeigraca(giveplayerid, giveplayer);
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[256];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SCM(playerid, -1, "/pm [ID Igraca] [Text]");
return 1;
}
if(strlen(result) > 60) { return 1; }
format(string, sizeof(string), "{FFFFCC}PM | {00C0FF}%s{FFFFCC} (%d): %s", sendername, playerid, (result));
SendClientMessage(giveplayerid, -1, string);
format(string, sizeof(string), "{FFFFCC}PM {FFFFFF}| {00C0FF}Poslano %s (%d): {FFFFCC}%s", GetName(giveplayerid),giveplayerid, (result));
SendClientMessage(playerid, -1, string);
return 1;
}
}
}
}
return 1;
}[/pawn]
Nemoj koristiti strcmp koristi zcmd ili ysi, brzi su
Brzi su, ali ne znam kako koristiti????
Ako mi neko moze ovdje objasniti ili preko PM
Rijeseno hvala
@SejnurHD ,
@Slade ,
@anDro_ na pomoci i strpljenju :D
LOCK