No na tut už bylo odkázáno, ale zkusím ti ten příkaz napsat.
Zapiš si definici jestli ji nemáš :
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
A definuj sscanf, já si to uložil do .inc souboru.
#include
Do OnPlayerCommandText (nad return 0;):
dcmd(setnick,7,cmdtext);//nový dcmd příkaz o 7 znacích
Pod OnPlayerCommandText nebo kam chceš (ne do publice):
dcmd_setnick(playerid,params[])
{
new id, nick[100],string[256];//definujeme nové proměnné
if(sscanf(params,"ds",id,nick)) SendClientMessage(playerid, barva, "Použití: /setnick [iD] [novy nick]");//Pokud hráč zadá příkaz špatně
else if(!IsPlayerConnected(id)) SendClientMessage(playerid, barva, "Hráč není připojen!");//Pokud není připojen
else//pokud ho zadá správně
{
SetPlayerName(id,nick);//Nastaví hráči nick
format(string,sizeof(string),"Změnil jsi hráči nick na %s",nick);//Definujeme si zprávu
SendClientMessage(playerid,barva,string);//Odešleme zprávu
}
return 1;
}
Pak už jen přidáš podmínky třeba jestli je hráč admin, jestli je hráč kterému měníme nick adminatd...
Funguje, odzkoušeno