Hallo, immer wenn ich /ban SPIELER GRUND eingebe, wird der Spieler nicht gebannt und er returnt ab den sscanf Code.
ocmd:ban(playerid,params[])
{
if(GetPVarInt(playerid,"Online") == 0)return SendClientMessage(playerid,COLOR_GRAU,"Du bist nicht eingeloggt und kannst diesen Befehl nicht verwenden.");
new pID,string[256],reason[31];
if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,COLOR_GRAU,"Du hast nicht die benötigten Rechte für diesen Befehl.");
if(GetPVarInt(playerid,"Adminduty") == 0)return SendClientMessage(playerid,COLOR_GRAU,"Du bist nicht im Admindienst.");
if(sscanf(params,"us[31]",pID,reason))return SendClientMessage(playerid,COLOR_GRAU,"Benutzung: /ban [ID/Name][Grund]");
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,COLOR_GRAU,"Der angegebene Spieler ist nicht online.");
if(playerid != pID)
{
if(GetPVarInt(pID,"Adminrang") > GetPVarInt(playerid,"Adminrang"))return SendClientMessage(playerid,COLOR_GRAU,"Du kannst kein ranghöheres Teammitglieder bannen.");
}
format(string,sizeof(string),"Teammitglied %s hat den Spieler %s gebannt, Grund: %s",SpielerName(playerid),SpielerName(pID),reason);
SendClientMessageToAll(COLOR_ROT,string);
TogglePlayerControllable(playerid,0);
SetPVarInt(pID,"Gebannt",1);
Kick(pID);
return 1;
}
Gruß