Hey, habe eine Frage.
Könnte mir jemand sagen was falsch ist?
Okay, folgendes: Der Code gibt keine Errors, die Funktionen funktionieren bis auf: /staatskasse soll "Derzeit sind $%d in der Staatskasse" anzeigen, in der .ini steht staatskasse=0, ingame steht auch, dass in der Kasse 0 sind.
Wenn ich nun aber ingame /staatskasse einzahlen 1 mache, steht dort auf einmal $1065353216, obwohl in der .ini steht staatskasse=1.
Das ist meine erste selbstgemachte Dini Funktion
Code
if(strcmp(cmd,"/staatskasse",true)==0)
{
new staatskassev, float:staatskasse;
staatskassev = dini_Float("Kassen.ini","staatskasse");
tmp = strtok(cmdtext,idx);
if(!strlen(tmp)) // wenn man nur /staatskasse gemacht hat
{
SendClientMessage(playerid,COLOR_SYNTAX,"/staatskasse [einzahlen/auszahlen] [Betrag]");
format(string,sizeof(string),"Derzeit sind {04B404}$%d{A4A4A4} in der Staatskasse",staatskassev);
SendClientMessage(playerid,COLOR_SYNTAX,string);
return 1;
}
if(strcmp(tmp,"einzahlen",true) == 0)
{
tmp = strtok(cmdtext,idx);
if(!strlen(tmp)) // Wenn man nur /staatskasse einzahlen gemacht hat
{
SendClientMessage(playerid,COLOR_SYNTAX,"/staatskasse einzahlen [Betrag]");
format(string,sizeof(string),"* Derzeit sind {04B404}$%d{A4A4A4} in der Staatskasse",staatskassev);
SendClientMessage(playerid,COLOR_SYNTAX,string);
return 1;
}
// Soll jetzt den eingezahlten wert nehmen und in der .ini speichern und im Text wiedergeben wie viel eingezahlt wurde
// Soll außerdem noch anzeigen wie viel Geld die Staatskasse jetzt hat
new amount = strval(tmp);
if(amount < 0 || amount > 1000000) return SendClientMessage(playerid,COLOR_ERROR,"* Bitte nur Beträge in Höhe von: $1 bis $1.000.000");
if(GetPlayerMoney(playerid) < amount) return SendClientMessage(playerid,COLOR_ERROR,"* Du hast nicht genug Geld!");
dini_FloatSet("Kassen.ini","staatskasse",amount);
GivePlayerMoney(playerid,-amount);
format(string,sizeof(string),"* Du hast {04B404}$%d{A4A4A4} in die Staatskasse eingezahlt",amount);
SendClientMessage(playerid,COLOR_SYNTAX,string);
format(string,sizeof(string),"Derzeit sind {04B404}$%d{A4A4A4} in der Staatskasse",staatskassev);
SendClientMessage(playerid,COLOR_SYNTAX,string);
}
return 1;
}
Alles anzeigen