Also mein Login/register System speichert irgendwie nicht richtig.
Ich habe es erst von Dini in HSA Multi umgeschrieben.
Am Anfang funktionierte noch alles aber nachdem ich noch ein bisschen rumprobiert hab speichert er die Daten nicht mehr
Hier mal alles was mit dem Login/Register zutun hat
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.hsa",name);
if(fexist(Spielerdatei))
{
RemoveBuildingForPlayer(playerid, 1231, -2805.4063, -333.7969, 8.9219, 0.25);
RemoveBuildingForPlayer(playerid, 1231, -2804.5156, -325.9688, 8.9219, 0.25);
RemoveBuildingForPlayer(playerid, 10402, -2778.6719, -414.2500, 7.7422, 0.25);
ShowPlayerDialog(playerid,DIALOG_Login,DIALOG_STYLE_PASSWORD,"Login"," Dein Account wurde gefunden, bitte gib dein Passwort ein.","Login","Abbrechen");
}
else
{
ShowPlayerDialog(playerid,DIALOG_Register,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte dein gewünschtes Passwort ein","Registrieren","Abbrechen");
}
//Register
if(dialogid==DIALOG_Register)
{
if(response==0)
{
SendClientMessage(playerid,rot,"Du hast den Vorgang abgebrochen");
Kick(playerid);
return 1;
}
if(response==1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,blau,"Das Passwort war icht lang genug");
ShowPlayerDialog(playerid,DIALOG_Register,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte dein gewünschtes Passwort ein","Registrieren","Abbrechen");
return 1;
}
else
{
Register(playerid,inputtext);
return 1;
}
}
}
//Für Login
if(dialogid==DIALOG_Login)
{
if(response==0)
{
SendClientMessage(playerid,rot,"Du hast den Vorgang abgebrochen");
Kick(playerid);
}
if(response==1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,blau,"Das Passwort war nicht lang genug");
ShowPlayerDialog(playerid,DIALOG_Login,DIALOG_STYLE_PASSWORD,"Login"," Dein Account wurde gefunden, bitte gib dein Passwort ein.","Login","Abbrechen");
return 1;
}
else
{
Login(playerid,inputtext);
return 1;
}
}
}
stock Register(playerid,key[])
{
new Spielerdatei[64];
new Inventar[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s",name);
format(Inventar,sizeof(Inventar),"/Inventar/%s",name);
//dini_Create(Spielerdatei);
//dini_Create(Inventar);
setString:Spielerdatei("Passwort",key);
SendClientMessage(playerid,grün,"Herzlichen Glückwunsch, du hast dich erfolgreich registriert");
GiveStartVars(playerid);
GiveStartInventar(playerid);
//SpielerSpeichern(playerid);
setInt:Spielerdatei("Erfahrung",pInfo[playerid][Erfahrung]);
setInt:Spielerdatei("Warns",pInfo[playerid][Warns]);
setInt:Spielerdatei("Bargeld",GetPlayerMoney(playerid));
setInt:Spielerdatei("Bankguthaben",pInfo[playerid][Bankguthaben]);
setInt:Spielerdatei("Adminlevel",pInfo[playerid][Adminlevel]);
setInt:Spielerdatei("Level",GetPlayerScore(playerid));
setInt:Spielerdatei("Wanteds",pInfo[playerid][Wanteds]);
setInt:Spielerdatei("Banned",pInfo[playerid][Banned]);
setInt:Spielerdatei("Hunger",pInfo[playerid][Hunger]);
setInt:Spielerdatei("Durst",pInfo[playerid][Durst]);
setInt:Spielerdatei("Viren",pInfo[playerid][Viren]);
setInt:Spielerdatei("Fraktion",pInfo[playerid][Fraktion]);
setInt:Spielerdatei("Nebenjob",pInfo[playerid][Nebenjob]);
setInt:Spielerdatei("Fraktionsrang",pInfo[playerid][Fraktionsrang]);
setInt:Spielerdatei("Zeit bis Payday",pInfo[playerid][ZbP]);
setInt:Spielerdatei("LeaderRechte",pInfo[playerid][Leader]);
setInt:Spielerdatei("Spielzeitinsgesamt",pInfo[playerid][SzI]);
setInt:Spielerdatei("Coins",pInfo[playerid][Coins]);
setInt:Spielerdatei("FarmerCP",pInfo[playerid][FarmerCP]);
setInt:Spielerdatei("TruckerCP",pInfo[playerid][TruckerCP]);
setInt:Spielerdatei("Benötigtes Geld",pInfo[playerid][BenGeld]);
setInt:Spielerdatei("Benötigte Erfahrung",pInfo[playerid][BenErfahrung]);
setInt:Spielerdatei("Bonus Erfahrung",pInfo[playerid][PlusErfahrung]);
Save(Spielerdatei);
//InventarSpeichern(playerid);
setInt:Inventar("Medikamente",iInfo[playerid][Medikamente]);
setInt:Inventar("Hamburger",iInfo[playerid][Hamburger]);
setInt:Inventar("Wasser",iInfo[playerid][Wasser]);
setInt:Inventar("Alkohol",iInfo[playerid][Alkohol]);
setInt:Inventar("Eisen",iInfo[playerid][Eisen]);
setInt:Inventar("Holz",iInfo[playerid][Holz]);
setInt:Inventar("Schwarzpulver",iInfo[playerid][Schwarzpulver]);
Save(Inventar);
//AccountLaden(playerid);
//InventarLaden(playerid);
pInfo[playerid][Eingeloggt] = 1;
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",name);
if(!strcmp(key,getString:Spielerdatei("Passwort"),false))
{
AccountLaden(playerid);
InventarLaden(playerid);
pInfo[playerid][Eingeloggt] = 1;
pInfo[playerid][ZsL]=0;
Anfrage[playerid] = 0;
Zielfrak[playerid] = 0;
AdminDuty[playerid] = 0;
TVDuty[playerid] = 0;
gemuted[playerid] = 0;
AnfrageID[playerid] = 0;
Tognews[playerid] = 0;
Tazer[playerid] = 0;
PingWarnungen[playerid] = 0;
FarmCP[playerid] = 0;
TruckCP[playerid] = 0;
KeinCP[playerid] = 0;
BauerAnnahme[playerid] = 0;
TruckerAnnahme[playerid] = 0;
Ueberweiser[playerid] = 0;
RemoveBuildingForPlayer(playerid, 10402, -2778.6719, -414.2500, 7.7422, 0.25);
SendClientMessage(playerid,grün,"Du hast dich erfolgreich eingeloggt");
return 1;
}
else
{
SendClientMessage(playerid,rot,"Falsches Passwort");
ShowPlayerDialog(playerid,DIALOG_Login,DIALOG_STYLE_PASSWORD,"Login"," Dein Account wurde gefunden, bitte gib dein Passwort ein.","Login","Abbrechen");
return 1;
}
}
stock SpielerSpeichern(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s",name);
if(fexist(Spielerdatei))
{
setInt:Spielerdatei("Erfahrung",pInfo[playerid][Erfahrung]);
setInt:Spielerdatei("Warns",pInfo[playerid][Warns]);
setInt:Spielerdatei("Bargeld",GetPlayerMoney(playerid));
setInt:Spielerdatei("Bankguthaben",pInfo[playerid][Bankguthaben]);
setInt:Spielerdatei("Adminlevel",pInfo[playerid][Adminlevel]);
setInt:Spielerdatei("Level",GetPlayerScore(playerid));
setInt:Spielerdatei("Wanteds",pInfo[playerid][Wanteds]);
setInt:Spielerdatei("Banned",pInfo[playerid][Banned]);
setInt:Spielerdatei("Hunger",pInfo[playerid][Hunger]);
setInt:Spielerdatei("Durst",pInfo[playerid][Durst]);
setInt:Spielerdatei("Viren",pInfo[playerid][Viren]);
setInt:Spielerdatei("Fraktion",pInfo[playerid][Fraktion]);
setInt:Spielerdatei("Nebenjob",pInfo[playerid][Nebenjob]);
setInt:Spielerdatei("Fraktionsrang",pInfo[playerid][Fraktionsrang]);
setInt:Spielerdatei("Zeit bis Payday",pInfo[playerid][ZbP]);
setInt:Spielerdatei("LeaderRechte",pInfo[playerid][Leader]);
setInt:Spielerdatei("Spielzeitinsgesamt",pInfo[playerid][SzI]);
setInt:Spielerdatei("Coins",pInfo[playerid][Coins]);
setInt:Spielerdatei("FarmerCP",pInfo[playerid][FarmerCP]);
setInt:Spielerdatei("TruckerCP",pInfo[playerid][TruckerCP]);
setInt:Spielerdatei("Benötigtes Geld",pInfo[playerid][BenGeld]);
setInt:Spielerdatei("Benötigte Erfahrung",pInfo[playerid][BenErfahrung]);
setInt:Spielerdatei("Bonus Erfahrung",pInfo[playerid][PlusErfahrung]);
Save(Spielerdatei);
/* dini_IntSet(Spielerdatei,"Erfahrung",pInfo[playerid][Erfahrung]);
dini_IntSet(Spielerdatei,"Warns",pInfo[playerid][Warns]);
dini_IntSet(Spielerdatei,"Bargeld",GetPlayerMoney(playerid));
dini_IntSet(Spielerdatei,"Bankguthaben",pInfo[playerid][Bankguthaben]);
dini_IntSet(Spielerdatei,"Adminlevel",pInfo[playerid][Adminlevel]);
dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
dini_IntSet(Spielerdatei,"Wanteds",pInfo[playerid][Wanteds]);
dini_IntSet(Spielerdatei,"Banned",pInfo[playerid][Banned]);
dini_IntSet(Spielerdatei,"Hunger",pInfo[playerid][Hunger]);
dini_IntSet(Spielerdatei,"Durst",pInfo[playerid][Durst]);
dini_IntSet(Spielerdatei,"Viren",pInfo[playerid][Viren]);
dini_IntSet(Spielerdatei,"Fraktion",pInfo[playerid][Fraktion]);
dini_IntSet(Spielerdatei,"Nebenjob",pInfo[playerid][Nebenjob]);
dini_IntSet(Spielerdatei,"Fraktionsrang",pInfo[playerid][Fraktionsrang]);
dini_IntSet(Spielerdatei,"Zeit bis Payday",pInfo[playerid][ZbP]);
dini_IntSet(Spielerdatei,"Hat Uhr",pInfo[playerid][HatUhr]);
dini_IntSet(Spielerdatei,"LeaderRechte",pInfo[playerid][Leader]);
dini_IntSet(Spielerdatei,"Spielzeitinsgesamt",pInfo[playerid][SzI]);
dini_IntSet(Spielerdatei,"Coins",pInfo[playerid][Coins]);
dini_IntSet(Spielerdatei,"FarmerCP",pInfo[playerid][FarmerCP]);
dini_IntSet(Spielerdatei,"TruckerCP",pInfo[playerid][TruckerCP]);
dini_IntSet(Spielerdatei,"BenErfahrung",pInfo[playerid][BenErfahrung]);
dini_IntSet(Spielerdatei,"BenGeld",pInfo[playerid][BenGeld]);
dini_IntSet(Spielerdatei,"PlusErfahrung",pInfo[playerid][PlusErfahrung]);
dini_IntSet(Spielerdatei,"Autos",pInfo[playerid][AnzAutos]);
*/
}
return 1;
}
stock InventarSpeichern(playerid)
{
new Inventar[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Inventar,sizeof(Inventar),"/Inventar/%s",name);
if(fexist(Inventar))
{
setInt:Inventar("Medikamente",iInfo[playerid][Medikamente]);
setInt:Inventar("Hamburger",iInfo[playerid][Hamburger]);
setInt:Inventar("Wasser",iInfo[playerid][Wasser]);
setInt:Inventar("Alkohol",iInfo[playerid][Alkohol]);
setInt:Inventar("Eisen",iInfo[playerid][Eisen]);
setInt:Inventar("Holz",iInfo[playerid][Holz]);
setInt:Inventar("Schwarzpulver",iInfo[playerid][Schwarzpulver]);
Save(Inventar);
/* dini_IntSet(Inventar,"Medikamente",iInfo[playerid][Medikamente]);
dini_IntSet(Inventar,"Hamburger",iInfo[playerid][Hamburger]);
dini_IntSet(Inventar,"Wasser",iInfo[playerid][Wasser]);
dini_IntSet(Inventar,"Alkohol",iInfo[playerid][Alkohol]);
dini_IntSet(Inventar,"Eisen",iInfo[playerid][Eisen]);
dini_IntSet(Inventar,"Holz",iInfo[playerid][Holz]);
dini_IntSet(Inventar,"Schwarzpulver",iInfo[playerid][Schwarzpulver]);
*/
}
return 1;
}
stock AccountLaden(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.hsa",name);
if(fexist(Spielerdatei))
{
SetPlayerScore(playerid,getInt:Spielerdatei("Level"));
GivePlayerMoney(playerid,getInt:Spielerdatei("Bargeld"));
pInfo[playerid][Wanteds] = getInt:Spielerdatei("Wanteds");
pInfo[playerid][Bankguthaben] = getInt:Spielerdatei("Bankguthaben");
pInfo[playerid][Erfahrung] = getInt:Spielerdatei("Erfahrung");
pInfo[playerid][Adminlevel] = getInt:Spielerdatei("Adminlevel");
pInfo[playerid][Banned] = getInt:Spielerdatei("Banned");
pInfo[playerid][Warns] = getInt:Spielerdatei("Warns");
pInfo[playerid][Hunger] = getInt:Spielerdatei("Hunger");
pInfo[playerid][Durst] = getInt:Spielerdatei("Durst");
pInfo[playerid][Viren] = getInt:Spielerdatei("Viren");
pInfo[playerid][Fraktion] = getInt:Spielerdatei("Fraktion");
pInfo[playerid][Nebenjob] = getInt:Spielerdatei("Nebenjob");
pInfo[playerid][Fraktionsrang] = getInt:Spielerdatei("Fraktionsrang");
pInfo[playerid][ZbP] = getInt:Spielerdatei("Zeit bis Payday");
pInfo[playerid][Leader] = getInt:Spielerdatei("LeaderRechte");
pInfo[playerid][SzI] = getInt:Spielerdatei("Spielzeitinsgesamt");
pInfo[playerid][Coins] = getInt:Spielerdatei("Coins");
pInfo[playerid][FarmerCP] = getInt:Spielerdatei("FarmerCP");
pInfo[playerid][TruckerCP] = getInt:Spielerdatei("TruckerCP");
pInfo[playerid][BenErfahrung] = getInt:Spielerdatei("Benötigte Erfahrung");
pInfo[playerid][BenGeld] = getInt:Spielerdatei("Benötigtes Geld");
pInfo[playerid][PlusErfahrung] = getInt:Spielerdatei("Bonus Erfahrung");
/* SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Bargeld"));
pInfo[playerid][Wanteds] = dini_Int(Spielerdatei,"Wanteds");
pInfo[playerid][Bankguthaben] = dini_Int(Spielerdatei,"Bankguthaben");
pInfo[playerid][Erfahrung] = dini_Int(Spielerdatei,"Erfahrung");
pInfo[playerid][Adminlevel] = dini_Int(Spielerdatei,"Adminlevel");
pInfo[playerid][Banned] = dini_Int(Spielerdatei,"Banned");
pInfo[playerid][Warns] = dini_Int(Spielerdatei,"Warns");
pInfo[playerid][Hunger] = dini_Int(Spielerdatei,"Hunger");
pInfo[playerid][Durst] = dini_Int(Spielerdatei,"Durst");
pInfo[playerid][Viren] = dini_Int(Spielerdatei,"Viren");
pInfo[playerid][Fraktion] = dini_Int(Spielerdatei,"Fraktion");
pInfo[playerid][Nebenjob] = dini_Int(Spielerdatei,"Nebenjob");
pInfo[playerid][Fraktionsrang] = dini_Int(Spielerdatei,"Fraktionsrang");
pInfo[playerid][ZbP] = dini_Int(Spielerdatei,"Zeit bis Payday");
pInfo[playerid][HatUhr] = dini_Int(Spielerdatei,"Hat Uhr");
pInfo[playerid][Leader] = dini_Int(Spielerdatei,"LeaderRechte");
pInfo[playerid][SzI] = dini_Int(Spielerdatei,"Spielzeitinsgesamt");
pInfo[playerid][Coins] = dini_Int(Spielerdatei,"Coins");
pInfo[playerid][FarmerCP] = dini_Int(Spielerdatei,"FarmerCP");
pInfo[playerid][TruckerCP] = dini_Int(Spielerdatei,"TruckerCP");
pInfo[playerid][BenErfahrung] = dini_Int(Spielerdatei,"BenErfahrung");
pInfo[playerid][BenGeld] = dini_Int(Spielerdatei,"BenGeld");
pInfo[playerid][PlusErfahrung] = dini_Int(Spielerdatei,"PlusErfahrung");
pInfo[playerid][AnzAutos] = dini_Int(Spielerdatei,"Autos");
*/
}
if(pInfo[playerid][Banned]==1)
{
SendClientMessage(playerid,rot,"Du wurdest gebannt. Wenn es ein Failban ist,");
SendClientMessage(playerid,rot,"dann kontaktiere einen Admin");
Kick(playerid);
Ban(playerid);
}
if(pInfo[playerid][Warns]==3)
{
SendClientMessage(playerid,rot,"Du hast 3 Spielerverwarnungen");
SendClientMessage(playerid,rot,"das bedeutet du wirst vom Server ausgeschlossen");
Kick(playerid);
Ban(playerid);
}
return 1;
}
stock InventarLaden(playerid)
{
new Inventar[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Inventar,sizeof(Inventar),"/Inventar/%s.hsa",name);
if(fexist(Inventar))
{
iInfo[playerid][Medikamente] = getInt:Inventar("Medikamente");
iInfo[playerid][Hamburger] = getInt:Inventar("Hamburger");
iInfo[playerid][Wasser] = getInt:Inventar("Wasser");
iInfo[playerid][Alkohol] = getInt:Inventar("Alkohol");
iInfo[playerid][Eisen] = getInt:Inventar("Eisen");
iInfo[playerid][Holz] = getInt:Inventar("Holz");
iInfo[playerid][Schwarzpulver] = getInt:Inventar("Schwarzpulver");
/* iInfo[playerid][Medikamente] = dini_Int(Inventar,"Medikamente");
iInfo[playerid][Hamburger] = dini_Int(Inventar,"Hamburger");
iInfo[playerid][Wasser] = dini_Int(Inventar,"Wasser");
iInfo[playerid][Alkohol] = dini_Int(Inventar,"Alkohol");
iInfo[playerid][Eisen] = dini_Int(Inventar,"Eisen");
iInfo[playerid][Holz] = dini_Int(Inventar,"Holz");
iInfo[playerid][Schwarzpulver] = dini_Int(Inventar,"Schwarzpulver");
*/
}
return 1;
}
stock GiveStartVars(playerid)
{
SetPlayerHealth(playerid,50);
pInfo[playerid][Erfahrung] = 0;
GivePlayerMoney(playerid,5000);
pInfo[playerid][Adminlevel] = 0;
pInfo[playerid][Bankguthaben] = 0;
SetPlayerScore(playerid,GetPlayerScore(playerid)+1);
pInfo[playerid][Banned] =0;
pInfo[playerid][Hunger] = 0;
pInfo[playerid][Durst] = 0;
pInfo[playerid][Viren] = 1;
pInfo[playerid][Fraktion] = 0;
pInfo[playerid][Nebenjob] = 0;
pInfo[playerid][Fraktionsrang] = 0;
pInfo[playerid][ZbP] = 60;
pInfo[playerid][ZsL] = 0;
pInfo[playerid][BenErfahrung] = 1000;
pInfo[playerid][BenGeld] = 20000;
return 1;
}
stock GiveStartInventar(playerid)
{
iInfo[playerid][Medikamente] = 1;
iInfo[playerid][Hamburger] = 1;
iInfo[playerid][Wasser] = 1;
iInfo[playerid][Alkohol] = 2;
iInfo[playerid][Eisen] = 3;
iInfo[playerid][Holz] = 3;
iInfo[playerid][Schwarzpulver] = 3;
return 1;
}
So Ich hab mittlerweile soviel rumprobiert, dass manches etwas doppelt gemoppelt ist^^ aber wie gesagt ich war am verzweifeln
So und jetzt nochmal ne genaue Fehlerbeschreibung
Wenn man sich registriert wird einem das StartInventar und die Startvars ordentlich gegeben wie es sein soll aber egal was man dann Ingame macht es werden auch die StartVars gespeichert z.B Ich registriere mich -> gebe von den 5000€ Startbudget 2000€ auf mein Bankkonto so werden trotzdem die 5000€ BarGeld in die Datei gesaved
Ich hoffe mir kann jmd helfen