Hey.
Ich habe grad ein Freeroam Script bis in die Alpha Version gescriptet.
Nur gerade weiß ich leider nicht wie ich admin systeme erstellen kann.
Ich frage mich nur wie ich diese if[PlayerInfo] bla bla wisse.
Hier mein Code:
stock Register(playerid,key[])//Wir benötigen die Parameter Playerid, sowie key, wobei key das passwort des Users sein soll.....)
{
new Spielerdatei[64];//Wir erstelllen uns eine neue Spielerdatei, in der die Daten des Spielers gespeichert werden sollen
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",SpielerName(playerid)); //Wir formatieren die Spielerdatei um, und sagen so dem Script , dass die Daten in dem Scriptfiles Ordner unseres Servers im Ordner "Accounts" gespeichert werden sollen....(Man kann auch /Accounts/%s.txt nehmen,wobei ich .ini jedoch schöner finde..%s ist der String zum Abfragen des Spielernamens...
dini_Create(Spielerdatei); //Hier wird die Dini-datei erstellt
dini_Set(Spielerdatei,"Passwort",key); //In die Spielerdatei soll das Passwort gesetzt werden
SendClientMessage(playerid,0xFFFFFFFF,"Du hast dich erfolgreich registriert."); //Die Message die kommt ,wenn man sich erfolgreich registriert hat.....
dini_IntSet(Spielerdatei,"Score",0); //Wir setzen in die Datei das Score 0
dini_IntSet(Spielerdatei,"Banned",0); //Wir setzen Banned auf 0 = Nicht gebannt 1=Gebannt
dini_IntSet(Spielerdatei,"Adminlevel",0); //Wir setzen das Adminlevel auf 0
dini_IntSet(Spielerdatei,"Points",0); //Wir setzen die Fraktion auf 0 = Zivilisten bzw. keine Fraktion
dini_IntSet(Spielerdatei,"Geld",0); //Wir setzen das Geld auf 0
SetPVarInt(playerid,"loggedin",1); //Hier setzen wir die Variable, ob der Spieler eingeloggt ist auf 1, um Sie später wieder abfragenzukönnen...
return 1;
}
stock SpielerLaden(playerid)
{
new Spielerdatei[128]; //Wie immer
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",SpielerName(playerid));
SetPlayerScore(playerid,dini_Int(Spielerdatei,"Score")); //Level wird aus der Userdatei abgefragt und ihm dann gegeben
GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld")); //Genauso das Geld
SetPVarInt(playerid,"Points",dini_Int(Spielerdatei,"Points")); //Genauso die Fraktion
SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel")); //Genauso das Admin-Level
SetPVarInt(playerid,"loggedin",1); //Loggedin wird wieder auf 1 gesetzt ...
SetPVarInt(playerid,"Banned",dini_Int(Spielerdatei,"Banned")); //Genauso mit Banned
if(GetPVarInt(playerid,"Banned")==1) //Falls der User gebannt ist
{
SendClientMessage(playerid,ROT,"Du kannst mit diesem Account nicht spielen, da du gebannt bist.\nBei Fragen oder Einwänden melde dich bei einem Admin"); //Nachricht an User
Kick(playerid); //wird er beim Login vom Server gekickt...
return 1;
}
return 1;
}
stock SpielerSpeichern(playerid)
{
if(GetPVarInt(playerid,"loggedin")==1) //Falls er eingeloggt war, um nicht unnötig Ressourcen zu verbrauchen....
{
new Spielerdatei[128]; //Spielerdatei
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",SpielerName(playerid));
dini_IntSet(Spielerdatei,"Score",GetPlayerScore(playerid)); //In die Userdatei wird das abgefrage Level gespeichert
dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel")); //Das Adminlevel
dini_IntSet(Spielerdatei,"Points",GetPVarInt(playerid,"Points")); //Die Points
dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid)); //das Geld
dini_IntSet(Spielerdatei,"Banned",GetPVarInt(playerid||playerid,"Banned"));
return 1;
}
return 1;
}
Was muss ich ganz oben bei /kick einstellen dass nur ein Admin /kick benutzen kann?? :?
Danke im vorraus.
MfG