Hey,
ich habe sehr viele Foren durchsucht nach einem funktionierendem /unbanip-Befehl um die IP zu entbannen.
Leider hat keins davon funktioniert, deshalb suche ich einen Code womit auch der IP-Unban-Befehl funktioniert.
Gruß,
weyauu
Hey,
ich habe sehr viele Foren durchsucht nach einem funktionierendem /unbanip-Befehl um die IP zu entbannen.
Leider hat keins davon funktioniert, deshalb suche ich einen Code womit auch der IP-Unban-Befehl funktioniert.
Gruß,
weyauu
Wie bannst du denn die IPs?
ocmd:banip(playerid,params[])
{
new pid;
if(!IsAdmin(playerid,2))return noaccess
if(strcmp(PlayerName(pid), "Test", true))return SendClientMessage(playerid,GRAU,"Nein... Versuchs erst garnicht...");
if(sscanf(params,"u",pid))return SendClientMessage(playerid,WEIß,"Verwendung: /banip (SpielerID/Name)");
if(!IsPlayerConnected(pid))return SendClientMessage(playerid,GRAU,"Der Spieler ist nicht online.");
new ip[18];
GetPlayerIp(pid,ip,sizeof(ip));
new cmd[128];
format(cmd,sizeof(cmd),"banip %s",ip);
new str[168+20];
format(str,sizeof(str),"Die IP %s (von %s) wurde vom %s %s gebannt.",PlayerName(pid),ip,RangName(playerid),PlayerName(playerid));
for(new i=0; i<GetMaxPlayers(); i++)
{
if(!PlayerOnline(i))continue;
if(!IsAdmin(i,1))continue;
if(AdminDuty[i]!=1)continue;
SendClientMessage(i,GELB,str);
}
new logstr[128];
format(logstr,sizeof(logstr),"%s hat versucht Projektleiter %s zu IP-Bannen!",PlayerName(playerid),PlayerName(pid));
AddLog("log_bantry.txt",logstr);
print(str);
Kick(pid);
SendRconCommand(cmd);
return 1;
}
Alles anzeigen
Du musst einen Befehl schreiben, mit dem du die IP mit "/unbanip [IP-Adresse]" entbannen kannst.
Dann kannst du die RCON-Befehle "unbanip [IP-Adresse]" und danach "reloadbans" senden.
Das ist mir teilweise bewusst, leider weiß ich nicht wie ich das mit dem sscanf etc. anstellen soll also die Parameter mit den Punkten für die IP etc etc.
Bin komplett verwirrt und kein Plan wie ich die parameter-zeile machen soll.
Du musst die IP-Adresse einfach als String angeben.
Kannst ja gerne deinen Code hier posten, dann schau ich mal drüber.
CMD:unbanip(playerid,params[])
{
new SpielerIP[32], str[64];
if(sscanf(params,"s[32]",SpielerIP)) return SendClientMessage(playerid,-1,"/unbanip <IP>");
format(str,sizeof str,"unbanip %s",SpielerIP);
SendRconCommand(str);
SendRconCommand("reloadbans");
return 1;
}
Habe das mal eingefügt und etwas ausgebessert :
Hier der Code :
ocmd:unbanip(playerid,params[])
{
new SpielerIP[32], str[64];
new adminstr[128];
if(!IsAdmin(playerid,2))return noaccess
if(sscanf(params,"s[32]",SpielerIP)) return SendClientMessage(playerid,-1,"/unbanip <IP>");
format(str,sizeof str,"unbanip %s",SpielerIP);
format(adminstr,sizeof(adminstr),"%s hat die IP % erfolgreich entbannt!",PlayerName(playerid));
for(new i=0; i<GetMaxPlayers(); i++)
{
if(!PlayerOnline(i))continue;
if(!IsAdmin(i,2))continue;
SendClientMessage(i,GELB,adminstr);
}
new logstr[128];
format(logstr,sizeof(logstr),"%s hat die IP-Adresse : %s erfolgreich entbannt!",PlayerName(playerid),SpielerIP);
AddLog("log_unbanip.txt",logstr);
SendRconCommand(str);
SendRconCommand("reloadbans");
return 1;
}
Alles anzeigen
Dennoch klappt es nicht so ganz, also ich benutze GEOIP /getip -> und dann /unban [Tippe die IP mit Punkten normal ein] , dann kommt immer wieder die ClientMessage :
/unbanip <IP>
Wie schaut's hiermit aus? (Kann es gerade leider nicht InGame austesten):
ocmd:unbanip(playerid,params[])
{
new SpielerIP[32], str[64];
new adminstr[128];
if(!IsAdmin(playerid,2)) return noaccess
if(sscanf(params,"s[32]",SpielerIP)) return SendClientMessage(playerid,-1,"/unbanip <IP>");
{
format(str,sizeof str,"unbanip %s",SpielerIP);
format(adminstr,sizeof(adminstr),"%s hat die IP % erfolgreich entbannt!",PlayerName(playerid));
for(new i=0; i<GetMaxPlayers(); i++)
{
if(!PlayerOnline(i))continue;
if(!IsAdmin(i,2))continue;
SendClientMessage(i,GELB,adminstr);
}
new logstr[128];
format(logstr,sizeof(logstr),"%s hat die IP-Adresse : %s erfolgreich entbannt!",PlayerName(playerid),SpielerIP);
AddLog("log_unbanip.txt",logstr);
SendRconCommand(str);
SendRconCommand("reloadbans");
}
return 1;
}
Was genau hast du jetzt eigentlich verändert?
Editiere gleich rein obs funktioniert oder nicht.
// klappt nicht.
Wo liegt denn aktuell konkret das Problem?
Wenn ich /unban [IP] benutze, also z.b /unban 46.1.2.3.40 kommt immer wieder die ClientMessage wie man den Befehl verwendet also immer :
´´/unban <IP>´´ obwohl die Eingabe der IP richtig ist.
Verwendest du das sscanf Plugin oder den Code, den du ins Script einfügen musst?