Jeffry:
Mir war nicht bewusst das es so groß wäre, dachte das geht schnell.
Egal dann machen wir das halt so :>
Hallo, irgendwie geht mein Ban befehl nicht.
Das ist der Befehl:
if(strcmp(cmd, "/ban", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /ban [playerid] [grund]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if (PlayerInfo[playerid][pAdmin] >= 1)
{
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: /ban [playerid] [grund]");
return 1;
}
if(PlayerInfo[giveplayerid][pAdmin] > PlayerInfo[playerid][pAdmin] > PlayerInfo[playerid][pSupporter])
{
SendClientMessage(playerid, COLOR_GRAD2, "Du kannst diesen Spieler nicht bannen, da er ein höheres Adminlevel hat als du!");
return 1;
}
new year, month,day;
getdate(year, month, day);
KickTimer(giveplayerid);
format(string, sizeof(string), "AdmCmd: %s wurde von %s gebannt, Grund: %s (%d-%d-%d)", giveplayerid, sendername, (result),month,day,year);
BanLog(string);
format(string, sizeof(string), "AdmCmd: %s wurde von %s gebannt, Grund: %s", giveplayerid, sendername, (result));
SendClientMessageToAll(COLOR_LIGHTRED, string);
format(string, sizeof(string), "AdmCmd: Du wurdest von %s gebannt, Grund: %s", sendername, (result));
SendClientMessage(giveplayerid,COLOR_LIGHTRED, string);
PlayerInfo[giveplayerid][pGesperrt] = 1;
return 1;
}
}//not connected
}
else
{
format(string, sizeof(string), " %d ist kein aktiver Spieler.", giveplayerid);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
return 1;
}
Wenn er sich einloggt soll er gekickt werden :
Bei OnPlayerLogin:
if(PlayerInfo[playerid][pGesperrt] == 1)
{
format(string2,sizeof(string2)," %s versucht mit seinem gebannten Account online zu kommen und wurde gekickt!",playername2);
ABroadCast(COLOR_LIGHTRED,string2,1);
SendClientMessage(playerid,COLOR_ROT," Du bist hier gebannt. Schau im Forum für mehr Informationen");
Kick(playerid);
return 1;
}
So lese ich das aus bei OnPlayerLogin:
PlayerInfo[playerid][pGesperrt] = dini_Int(string2, "Gesperrt");
Aber ich kann mich trotzdem wieder einloggen.
Warum das ?