Guten Tag,
ich habe mir folgende Code zusammengeschustert:
ocmd:kick(playerid,params[])
{
new pID,string[256],reason[31],name[MAX_PLAYER_NAME],kickmsg[256];
if(!isAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist kein Teammitglied./Du hast nicht den jeweiligen Adminrang.");
if(sscanf(params,"us[31]",pID,reason))return SendClientMessage(playerid, ROT,"BENUTZE: /kick [playerid/Name][Grund]");
if(strlen(reason) > 30)return SendClientMessage(playerid,ROT,"BENUTZE: /kick [playerid/Name][Grund darf maximal 30 Zeichen beinhalten]");
if(playerid != pID)
{
if(sInfo[pID][alevel] > sInfo[playerid][alevel])return SendClientMessage(playerid,GRAU,"Du kannst keine Ranghöherern Admins kicken!");
}
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"AdminBefehl: Der Admin %s (ID:%i) hat den Spieler %s (ID:%i) gekickt. Grund: %s",name,playerid,getPlayerName(pID),pID,reason);
format(kickmsg,sizeof(kickmsg),"Kick: Du wurdest von %s gekickt. Grund: %s",name,reason);
SendClientMessage(pID, ROT, kickmsg);
SendClientMessageToAll(ROT,string);
Kick(pID);
return 1;
}
Der Rest funktioniert einwandfrei, allerdings kommt die Kickmsg beim gekickten nicht an, sondern es wird direkt die Verbindung getrennt.