Hallo,
Sobald ich mich einlogge wird das Geld +1 gegeben. Warum
Gruß - Gamer
Hallo,
Sobald ich mich einlogge wird das Geld +1 gegeben. Warum
Gruß - Gamer
Woher sollen wir das jetzt wissen?
Ohne Code kann man dir nicht helfen.
Ich weiß ja net welchen Code ihr haben wollt
Ich weiß ja net welchen Code ihr haben wollt
Zeig mal OnPlayerConnect.
public OnPlayerConnect(playerid)
{
if(IsPlayerNPC(playerid))return 1;
new Spielerdatei[128],string[128],string2[128];
format(Spielerdatei,sizeof(Spielerdatei),"/User/%s.ini", SpielerName(playerid)); //Ist klar
if(dini_Exists(Spielerdatei))
{
format(string,sizeof(string),"{FFFFFF}Herzlich Willkommen zurück :) {FFFA00}%s.\n{FFFFFF}Gib unten bitte dein Passwort ein!",SpielerName(playerid)); //String1......
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login Vorgang",string,"Einloggen","Abbrechen"); //Login Dialog mit der Info string
}
else
{
format(string2,sizeof(string2),"{FFFFFF}Herzlich Willkommen {FFFA00}%s.\n{FFFFFF}Bitte gib unten dein gewünschtes Passwort ein!",SpielerName(playerid)); //String 2
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierungs Vorgang",string2,"Register","Abbrechen"); //Register-Dialog mit der Info string2
}
return 1;
}
Wo werden die Sachen vom Spieler geladen?
Hier haste mal was:
Wo gibst du dem Spieler sein Geld?
Überprüf mal überall wo was mit:
GiveMoney
oder
SetMoney
ist.
Nur 1 Mal im ganzem Script. Also.
Liegt es daran??
sInfo[playerid][sMoney] = GiveMoney(playerid,dini_Int(Spielerdatei,"Geld"));
zu:
sInfo[playerid][sMoney] = dini_Int(Spielerdatei,"Geld");
GiveMoney(playerid,sInfo[playerid][sMoney]);
Jetzt bekomme ich jeden Login +1000 mehr
Oh, du zählst das in der Funktion auch hoch.
Dann so:
sInfo[playerid][sMoney] = 0;
GiveMoney(playerid,dini_Int(Spielerdatei,"Geld"));
In der SpielerLaden-Funktion die Zeile
sInfo[playerid][sMoney] = GiveMoney(playerid,dini_Int(Spielerdatei,"Geld"));
damit ersetzen.
Jetzt bekomme ich nach dem Relog nur 1 Dollar
Wie sieht deine SpielerLaden Funktion jetzt aus?
Hier
stock SpielerLaden(playerid)
{
new Spielerdatei[128];
format(Spielerdatei,sizeof(Spielerdatei),"/User/%s.ini",SpielerName(playerid));
sInfo[playerid][sLevel] = SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
sInfo[playerid][sMoney] = 0;
sInfo[playerid][sLevel] = GiveMoney(playerid,dini_Int(Spielerdatei,"Geld"));
sInfo[playerid][sBankKonto] = dini_Int(Spielerdatei,"BankKonto");
sInfo[playerid][sBankMoney] = dini_Int(Spielerdatei,"BankKontoGeld");
sInfo[playerid][sALevel] = dini_Int(Spielerdatei,"Adminlevel");
sInfo[playerid][sFraktion] = dini_Int(Spielerdatei,"Fraktion");
sInfo[playerid][sFRang] = dini_Int(Spielerdatei,"FraktionRang");
return 1;
}
Was hast denn du gemacht? Das Level passt ja jetzt auch nicht mehr.
stock SpielerLaden(playerid)
{
new Spielerdatei[128];
format(Spielerdatei,sizeof(Spielerdatei),"/User/%s.ini",SpielerName(playerid));
sInfo[playerid][sLevel] = SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
sInfo[playerid][sMoney] = 0;
GiveMoney(playerid,dini_Int(Spielerdatei,"Geld"));
sInfo[playerid][sBankKonto] = dini_Int(Spielerdatei,"BankKonto");
sInfo[playerid][sBankMoney] = dini_Int(Spielerdatei,"BankKontoGeld");
sInfo[playerid][sALevel] = dini_Int(Spielerdatei,"Adminlevel");
sInfo[playerid][sFraktion] = dini_Int(Spielerdatei,"Fraktion");
sInfo[playerid][sFRang] = dini_Int(Spielerdatei,"FraktionRang");
return 1;
}
So.
Ich will es aber auch noch in das Enum laden
Das machst du doch hier schon:
stock GiveMoney(playerid, value)
{
if(!IsPlayerConnected(playerid))return 0;
sInfo[playerid][sMoney] += value;
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, sInfo[playerid][sMoney]);
return 1;
}
Deshalb hatte es es ja zuvor doppelt (+1000) geladen.