EDIT: u ist eine zahl man kann aber auchd en namen eingeben
ändert nix dadran das sscanf den namen in eine zahl umwandelt... weil er mit dem namen nach der ID sucht <.<
benutz einen string, dort muss der name genau so sein wie die datei heißt und wieso hast du oben zwei mal ocmd:unban(playerid, params[]) ??
EDIT: Hier der Code der funktionieren sollte
ocmd:unban(playerid,params[])
{
new pname, string[256], path[128], console[256], Spielerdatei[256];
if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Du hast nich den benötigten Adminrang!");
if(sscanf(params,"s[24]",pname))return SendClientMessage(playerid,ROT,"Benutzung: /unban [Playername]");
format(path,sizeof(path),"/accounts/%s.acc",pname);
if(dini_Exists(path))
{
if(dini_Int(Spielerdatei,"Ban")==0)
{
SendClientMessage(playerid,ROT,"Dieser Spieler ist nicht gebannt.");
}
else
{
format(string,sizeof(string),"AdmCmd: %s wurde von %s entbannt.",SpielerName(pname),SpielerName(playerid));
format(console,sizeof(console),"AdmCmd: %s wurde von %s entbannt.\n",SpielerName(pname),SpielerName(playerid));
SendClientMessageToAll(ROT,string);
dini_IntSet(Spielerdatei,"Ban",0);
new File:AdmLog=fopen("AdmLog.txt", io_append);
fwrite(AdmLog, console);
fclose(AdmLog);
}
}
else
{
SendClientMessage(playerid,ROT,"Diesen Spieler gibt es nicht.");
}
return 1;
}