Hallo
ich habe das Problem das der Spieler mit wahrscheinlich kick(playerid); und nicht mit KickPlayer(playerid); gekickt wird
nur finde ich diesen fehler nicht
das bedeutet das der gebannte spieler keine Ban nachricht bekommt sondern nur server closed connection
hier mal der Befehl
ocmd:tban(playerid,params[])
{
if(sInfo[playerid][aduty]==0)return SendClientMessage(playerid,CL_ERROR,"ERROR: Du bist nicht Admin-OnDuty!");
new pID,pIdName[MAX_PLAYER_NAME],pName[MAX_PLAYER_NAME],banTime,reason[64],string[128];
if(sInfo[playerid][alevel]>=3)
{
if(sscanf(params,"uds",pID,banTime,reason)) { return SendClientMessage(playerid,CL_INFO_HBLAU,"Benutze: /tban [playerid] [time(min)] [reason]"); }
if(!IsPlayerConnected(pID)) { return SendClientMessage(playerid,CL_ERROR,"ERROR: Falsche ID oder ID die nicht Connectet ist!"); }
if(banTime < 1) { return SendClientMessage(playerid,CL_ERROR,"ERROR: Minimale Zeit: 1 Minute. "); }
GetPlayerName(pID,pIdName,sizeof(pIdName));
new a_level;
a_level = sInfo[playerid][alevel];
GetPlayerName(playerid,pName,sizeof(pName));
format(string,sizeof(string),"[ADMCMD][TIMEBAN]: %s : %s timebannte %s für %d Minuten. Grund: %s",a_rang[a_level],pName,pIdName,banTime,reason);
SendClientMessageToAll(CL_ADMCMD_KNALLROT,string);
printf("AdmCmd(TIMEBAN): Admin: %s(%i) - Timebanned Player: %s(%i) - Timeban Reason: %s",pName,playerid,pIdName,pID,reason);
pBanner[pID] = pName;
TBan(pID,banTime);
return 1;
}
SendClientMessage(playerid,CL_ERROR,"ERROR: Du darfst diesen Befehl nicht nutzen.");
return 1;
}
if(dialogid == DIALOG_TBANZEITINPUT)
{
//DIALOG_TBANZEITINPUT
if(!response) return 1;
if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_TBANZEITINPUT,DIALOG_STYLE_INPUT,"Gebe eine Zeit in Minuten an:","Um den Spieler Timebannen zu können, musst du zunächst die Zeit in Minuten angeben! Minimum: 1Minute","Begründen","Abbrechen");
new TBanZeit = strval(inputtext);
printf("Zeit %d", TBanZeit);
if(TBanZeit < 1)
{
SendClientMessage(playerid,CL_INFO_HBLAU,"INFO: Minimale Zeit: 1 Minute. ");
return ShowPlayerDialog(playerid,DIALOG_TBANZEITINPUT,DIALOG_STYLE_INPUT,"Gebe eine Zeit in Minuten an:","Um den Spieler Timebannen zu können, musst du zunächst die Zeit in Minuten angeben! Minimum: 1Minute","Begründen","Abbrechen");
}
SetPVarInt(playerid, "TBanZeit", TBanZeit);
ShowPlayerDialog(playerid,DIALOG_TBANGRUNDINPUT,DIALOG_STYLE_INPUT,"Timeban Grund für den Spieler.","Gebe den Timeban Grund ein.","Bestätigen","Abbrechen");//sInfo[clickedid[playerid]][spielername]);
return 1;
}
if(dialogid == DIALOG_TBANGRUNDINPUT)
{
if(!response) return 1;
if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_TBANGRUNDINPUT,DIALOG_STYLE_INPUT,"Timeban Grund für den Spieler.","Gebe den Timeban Grund ein.","Grund bestätigen","Abbrechen");//sInfo[clickedid[playerid]][spielername]);
new pIdName[MAX_PLAYER_NAME],pName[MAX_PLAYER_NAME],string[144];
GetPlayerName(clickedid[playerid],pIdName,sizeof(pIdName));
new TBanZeit = GetPVarInt(playerid, "TBanZeit");
new a_level;
a_level = sInfo[playerid][alevel];
GetPlayerName(playerid,pName,sizeof(pName));
format(string,sizeof(string),"ADMCMD: %s : %s timebannte %s für %d Minuten. Grund: %s",a_rang[a_level],pName,pIdName,TBanZeit,inputtext);
SendClientMessageToAll(CL_ADMCMD_KNALLROT,string);
pBanner[clickedid[playerid]] = pName;
TBan(clickedid[playerid],TBanZeit);
return 1;
}
einmal kann man per befehl bannen oder wenn man auf ihn drauf klickt
beides das selbe problem