Ist ein /entbannen Befehl auf DINI überhaupt möglich?
Mit ocmd z.B
Das wenn man den Namen eingibt er auf die Datei zugreift und mit dini_Set oder Int_Set die Datei dann umschreibt?
Gruß.
Ist ein /entbannen Befehl auf DINI überhaupt möglich?
Mit ocmd z.B
Das wenn man den Namen eingibt er auf die Datei zugreift und mit dini_Set oder Int_Set die Datei dann umschreibt?
Gruß.
Wieso nicht?
new path[256];
format(path, sizeof(path), "/accounts/%s.txt", name);
dini_IntSet(path, "banned", 0);
ocmd:unban(playerid,params[])
{
new name;
if(sscanf(params,"u",name)) return SendClientMessage(playerid,DUNKELGRAU,"Benutzung: /unban");
new path[256];
format(path, sizeof(path), "/Accounts/%s.txt", name);
dini_IntSet(path, "Baned", 0);
return 1;
}
Leider doch nicht möglich.
keeev.:
Der Command kann so nicht funktionieren. Richtig ist:
ocmd:unban(playerid,params[])
{
new name[MAX_PLAYER_NAME];
if(sscanf(params,"s",name)) return SendClientMessage(playerid,DUNKELGRAU,"Benutzung: /unban");
new path[20 + MAX_PLAYER_NAME];
format(path, sizeof(path), "/Accounts/%s.txt", name);
dini_IntSet(path, "Baned", 0);
return 1;
}
Da der Name ein String ist, muss er in sscanf mit "s" indiziert werden, und die Variable "name" muss als Array deklariert werden.
FUNKTIONIERT!
Danke!
Du solltest aber noch ne Abfrage reinhauen, die checkt ob der Benutzer / Name existiert und ob er ggf. schon entbannt / nie gebannt war.
if(dini_Exists(path))
{
dini_IntSet(path, "Baned", 0);
format(string,sizeof(string),"Adminbefehl: %s wurde von %s entbannt.",name,SpielerName(playerid));
SendAdminMessage(ORANGE,string);
AdminBefehllog(string);
}
Ja so kannst du das machen.