Heyho allerseits
Ich habe ein kleines Script Problem und zwar folgendes:
Damit ich ich auf dem Server spielen kann muss ich mein passwort 2x eingeben.
Nach jedem relog verdoppelt sich mein geld.
(ist eig. eine schöne sache doch nicht gerade etwas was in ein reallife script gehört^^)
Ich habe euch hier mein Script hingelegt und hoffe ihr könnt mir helfen
P.S Wenn etwas fehlen sollte oder wenn ihr etwas anderes braucht bitte bescheid sagen.
mit freundlichen Grüßen Ping
public OnPlayerConnect(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
if(dini_Exists(Spielerdatei))
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
}
else
{
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
if(GetPVarInt(playerid,"loggedin")==1)
{
SpielerSpeichern(playerid);
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid==DIALOG_LOGIN)
{
if(response==0)
{
SendClientMessage(playerid,BLAU,"Du hast den Vorgang abgebrochen.");
Kick(playerid);
return 1;
}
if(response==1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,BLAU,"Das Passwort war nicht lang genug.");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
return 1;
}
else
{
Login(playerid,inputtext);
return 1;
}
}
}
if(dialogid==DIALOG_REGISTER)
{
if(response==0)
{
SendClientMessage(playerid,BLAU,"Du hast den Vorgang abgebrochen.");
Kick(playerid);
return 1;
}
if(response==1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,BLAU,"Das Passwort war nicht lang genug.");
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
return 1;
}
else
{
Register(playerid,inputtext);
return 1;
}
}
}
}
stock SpielerName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
return name;
}
stock Register(playerid,key[])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_Create(Spielerdatei);
dini_Set(Spielerdatei,"Passwort",key);
SendClientMessage(playerid,ROT,"Erfolgreich registriert.");
SetPlayerScore(playerid,1);
SetPVarInt(playerid,"loggedin",1);
new string[128];
format(string,sizeof(string),"Wir begrüßen unseren neuen Spieler %s",SpielerName(playerid));
SendClientMessageToAll(ROT,string);
return 1;
}
stock Login(playerid,key[])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
{
LoadAccount(playerid);
SendClientMessage(playerid,BLAU,"Erfolgreich eingeloggt.");
return 1;
}
else
{
SendClientMessage(playerid,BLAU,"Falsches Passwort.");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
return 1;
}
}
stock LoadAccount(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
SetPVarInt(playerid,"Fraktlevel",dini_Int(Spielerdatei,"Fraktlevel"));
SetPlayerWantedLevel(playerid,dini_Int(Spielerdatei,"Wlevel"));
SetPVarInt(playerid,"Wlevel",dini_Int(Spielerdatei,"Wlevel"));
SetPVarInt(playerid,"Jail",dini_Int(Spielerdatei,"Jail"));
SetPVarInt(playerid,"pFreezed",dini_Int(Spielerdatei,"pFreezed"));
SetPVarInt(playerid,"Bankkonto",dini_Int(Spielerdatei,"Bankkonto"));
SetPVarInt(playerid,"Kontostand",dini_Int(Spielerdatei,"Kontostand"));
SetPVarInt(playerid,"Job",dini_Int(Spielerdatei,"Job"));
SetPVarInt(playerid,"Position",dini_Int(Spielerdatei,"Position"));
SetPVarInt(playerid,"PaydayZeit",dini_Int(Spielerdatei,"PaydayZeit"));
SetPVarInt(playerid,"Respektpunkte",dini_Int(Spielerdatei,"Respektpunkte"));
SetPVarInt(playerid,"AutoF",dini_Int(Spielerdatei,"AutoF"));
SetPVarInt(playerid,"FlugF",dini_Int(Spielerdatei,"FlugF"));
SetPVarInt(playerid,"MotorradF",dini_Int(Spielerdatei,"MotorradF"));
SetPVarInt(playerid,"BootF",dini_Int(Spielerdatei,"BootF"));
SetPVarInt(playerid,"LKWF",dini_Int(Spielerdatei,"LKWF"));
if(GetPVarInt(playerid,"Baned")==1)
{
SendClientMessage(playerid,ROT,"Du bist vom Server gebannt.");
Kick(playerid);
}
SetPVarInt(playerid,"loggedin",1);
return 1;
}
stock SpielerSpeichern(playerid)
{
if(GetPVarInt(playerid,"loggedin")==1)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
dini_IntSet(Spielerdatei,"Fraktlevel",GetPVarInt(playerid,"Fraktlevel"));
dini_IntSet(Spielerdatei,"Wlevel",GetPlayerWantedLevel(playerid));
dini_IntSet(Spielerdatei,"Wlevel",GetPVarInt(playerid,"Wlevel"));
dini_IntSet(Spielerdatei,"Jail",GetPVarInt(playerid,"Jail"));
dini_IntSet(Spielerdatei,"pFreezed",GetPVarInt(playerid,"pFreezed"));
dini_IntSet(Spielerdatei,"Bankkonto",GetPVarInt(playerid,"Bankkonto"));
dini_IntSet(Spielerdatei,"Kontostand",GetPVarInt(playerid,"Kontostand"));
dini_IntSet(Spielerdatei,"Job",GetPVarInt(playerid,"Job"));
dini_IntSet(Spielerdatei,"Position",GetPVarInt(playerid,"Position"));
dini_IntSet(Spielerdatei,"PaydayZeit",GetPVarInt(playerid,"PaydayZeit"));
dini_IntSet(Spielerdatei,"Respektpunkte",GetPVarInt(playerid,"Respektpunkte"));
dini_IntSet(Spielerdatei,"AutoF",GetPVarInt(playerid,"AutoF"));
dini_IntSet(Spielerdatei,"FlugF",GetPVarInt(playerid,"FlugF"));
dini_IntSet(Spielerdatei,"MotorradF",GetPVarInt(playerid,"MotorradF"));
dini_IntSet(Spielerdatei,"LKWF",GetPVarInt(playerid,"LKWF"));
}
return 1;
}