Heeyo ich habe in meinen script schon seit langem den befehl /pban wollte den jetzt mal in ein anderes übertragen aber wen ich dann /pban mache dann kann ich mit nem neuen account wieder drauf
Früher stand dan das du hast einen PERM ban Bye!
Igend wie funkt das nicht mehr ich habs auf hamachi server getest also noch nicht hochgeladen kann das daran liegen oder warum
Hier ein paar zeilen
if(strcmp(cmd, "/pban", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /pban [playerid] [grund]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if (PlayerInfo[playerid][pAdmin] >= 1339)
{
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: /pban [playerid] [grund]");
return 1;
}
if(PlayerInfo[giveplayerid][pAdmin] > PlayerInfo[playerid][pAdmin])
{
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);
format(string, sizeof(string), "AdmCmd: %s wurde von %s gebannt, Grund: %s (%d-%d-%d)", giveplayer, sendername, (result),month,day,year);
BanLog(string);
format(string, sizeof(string), "AdmCmd: %s wurde von %s gebannt, Grund: %s", giveplayer, sendername, (result));
SendClientMessageToAll(COLOR_LIGHTRED, string);
M_Log(string);
//PlayerInfo[giveplayerid][pAdmin] = PlayerInfo[giveplayerid][pLevel];
PlayerInfo[giveplayerid][pGesperrt] = 1;
new ip[16];
GetPlayerIp(giveplayerid,ip,sizeof(ip));
M_WriteIPToBlacklist(ip); // wie kann man ihn jetzt entbannen ? moment ... muss was kucken
//Ban(giveplayerid);
Kick(giveplayerid);
return 1;
}
}//not connected
}
else
{
format(string, sizeof(string), " %d ist kein aktiver Spieler.", giveplayerid);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
return 1;
}
Problem mit pban
- Sean_PauL
- Geschlossen
- Erledigt
-
-
Es liegt weniger an deinem befehl sondern an der funktion
M_WriteIPToBlacklist(ip);wird dort ihrgend wo etwas in einer Datei(.ini, .txt, .cfg, etc..) etwas rein geschrieben ?
Wenn es dem so sei dann lässt du das ganze auch mit den einträgen vergleichen, also wenn der spieler zum Server verbindet?Sollte dies nicht so sein dan poste bitte die jeweiligen codeteile.
-
ja das wird unter scriptfiles M_Bot M_Black gespeichert trozdem kann ich wieder drauf-.-
Mir geht es dadrum das wen ich normal ban mache dann können die router neustart dann sind sie wieder drauf
mit pban wird die ganze range gebannt wie kriege ich das wieder hin? -
Ich hatte es dir ja schon in der Pn geschrieben , falls noch weitere sowas ähnliches suchen sollte poste ich einfach mal noch zwei beispiele.
Zum einen ist es ja fraglich ob bei connecten die ips verglichen werden die in dem file stehen .
Du kannst es auch umschreiben heir sind zwei stocks und testen :stock banwrite(string[])
{
new File:file = fopen("ban.txt", io_append);
if(file){
fwrite(file, string);
fclose(file);
}else print("Die Datei existiert nicht im scriptfileordner");
return 1;
}
stock checkban(string[])
{
new File:file = fopen("ban.txt", io_read ), ips[20];
while(fread(file, ips)){
if(!strcmp(ips, string, false,strlen(string)))return 1;
}
return 0;
}
und wenn der spieler connectet einfach das ganze abfragen.
new ip[16];
GetPlayerIp(playerid,ip,16);
if(checkban(ip))return Kick(playerid);und zum zweiten geht es auch über das rcon per SendRconCommand
new ip[16],string[25];
GetPlayerIp(playerid,ip,16);
format(string,25,"banip %s",ip);
SendRconCommand(string); -
breadfish.de
Hat das Thema geschlossen.