Also ein Warn Befehl hab ich hier schonmal:
if(strcmp(cmd, "/warn", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Fehler: /warn [playerid] [grund].");
return true;
}
new giveplayerid;
new sendername[MAX_PLAYER_NAME];
new giveplayer[MAX_PLAYER_NAME];
giveplayerid = ReturnUser(tmp);
if(SpielerInfo[playerid][Adminlevel] >= 2)
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /warn [playerid] [grund].");
return true;
}
if(SpielerInfo[giveplayerid][Adminlevel] > SpielerInfo[playerid][Adminlevel])
{
SendClientMessage(playerid, COLOR_GRAD2, "Du kannst diesen Spieler nicht verwarnen, da er ein höheres Adminlevel hat als du!");
return true;
}
SpielerInfo[giveplayerid][pWarns] += 1;
if(SpielerInfo[giveplayerid][pWarns] >= 3)
{
new year, month,day;
getdate(year, month, day);
format(string, sizeof(string), "AdmCmd: %s wurde von %s gebannt, Grund: %s (%d-%d-%d).", giveplayer, sendername, (result),month,day,year);
format(string, sizeof(string), "AdmCmd: %s wurde von %s gebannt(hat 3 Warnungen), Grund: %s.", giveplayer, sendername, (result));
SendClientMessageToAll(COLOR_LIGHTRED, string);
SpielerInfo[giveplayerid][pLevel] = 999;
Ban(giveplayerid);
return true;
}
format(string, sizeof(string), "Du hast %s gewarnt, Grund: %s.", giveplayer, (result));
SendClientMessage(playerid, COLOR_LIGHTRED, string);
format(string, sizeof(string), "Du wurdest von %s verwarnt, Grund: %s.", sendername, (result));
SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
return true;
}
}//not connected
}
else
{
format(string, sizeof(string), " %d ist kein aktiver Spieler.", giveplayerid);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
return true;
}