hey ich habe mal wieder ein problem und Zwar er sagt bei dem befehl das ich nicht genügend exp habe obwohl ich ausreichend exp nei mir habe if(strcmp("/buylevel", cmdtext, true, 10)== 0)
{
new Spielerdatei[64];
new expneed;
expneed = 1500*GetPlayerScore(playerid);
new exphave;
exphave = SpielerInfo[playerid][pexp]=dini_Int(Spielerdatei,"EXP");
exphave++;
if(expneed >= exphave) { return SendClientMessage(playerid,0xBEBEBEFF,"Du hast nicht genug EXP!");}
SpielerInfo[playerid][pLevel]++;
SetPlayerScore(playerid, GetPlayerScore(playerid)+1);
SpielerInfo[playerid][pexp] -= expneed;
new Textstring[500];
format(Textstring,sizeof(Textstring),"Herzlichen Glückwunsch du hast dir ein Level gekauft und bist nun Level {00FF0A}%d {BEBEBE}und du hast {00FF0A}2 FFLPoints {BEBEBE}bekommen!",GetPlayerScore(playerid));
SendClientMessage(playerid,0xBEBEBEFF,Textstring);
SpielerInfo[playerid][pPoints] +=2;
return 1;
}

Problem mit /buylevel
- _Flex_
- Geschlossen
- Erledigt
-
-
kein Wunder
if(expneed >= exphave)
wenn mehr oder = exphave verlangt wird kein wunder das es nicht geht
mach daraus mal nur ein > größer als -
new expneed;
expneed = 1500*GetPlayerScore(playerid);in
new expneed = 1500*GetPlayerScore(playerid);
Deine Scores mal 1500 ?? Hast du den so viel? eXP
-
funzt immer noch net
-
Deine Scores mal 1500 ?? Hast du den so viel? eXP
Wäre dann die erste Frage und wieso lädst du deine Spieler Exp erst im Befehl werden die nicht vorher geladen wenn der Spieler sich einloggt bzw. den Server betritt,
etwas Ressourcen lastig jedes mal Daten zu laden -
icb hab den befehl mal auf 100 geändert und ich in auch nur lvl 1
-
auf 100 ?
1500 * 1 gibt schon 1500wie sollen 100 exp da reichen bei der Bedingung ?
expneed = 1500*GetPlayerScore(playerid); -
nein hab es pro level auf 100 geändert
-
und wie sieht es damit aus
SpielerInfo[playerid][pexp]=dini_Int(Spielerdatei,"EXP");
hat dein Spieler so viel EXP ? schau mal was in der Ini Datei steht bzw. auf welchem Wert EXP ist
btw...new Spielerdatei[64];
new expneed;
expneed = 1500*GetPlayerScore(playerid);
new exphave;
exphave = SpielerInfo[playerid][pexp]=dini_Int(Spielerdatei,"EXP");sieht so aus als wäre gar kein Pfad zur Datei vorhanden ...
die Variable "Spielerdatei" ist leer somit gibt dini_Int auch 0 zurück -
und wie ändere ich das
-
den Pfad zur Spieler Datei angeben
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,sizeof pname);
format(Spielerdatei,sizeof Spielerdatei,"%s.ini",pname);nach dem definieren der Variable natürlich , nur als Beispiel keine Ahnung wo der Pfad für deine Spieler ist
btw. erinnert mich an mein Login/Register Skript ich könnte schwören das eine Variable den selben Namen hatte
-
jetzt sieht mein befehl so aus if(strcmp("/buylevel", cmdtext, true, 10)== 0)//joa hier der befehl
{
new Spielerdatei[64];
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,sizeof pname);
format(Spielerdatei,sizeof Spielerdatei,"/Accounts/%s.ini",pname);
new expneed = 100*GetPlayerScore(playerid);
new exphave;
exphave = SpielerInfo[playerid][pexp]=dini_Int(Spielerdatei,"EXP");
exphave++;
if(expneed > exphave) { return SendClientMessage(playerid,0xBEBEBEFF,"Du hast nicht genug Geld!");}
SpielerInfo[playerid][pLevel]++;
SetPlayerScore(playerid, GetPlayerScore(playerid)+1);
SpielerInfo[playerid][pexp] -= expneed;
new Textstring[500];
format(Textstring,sizeof(Textstring),"Herzlichen Glückwunsch du hast dir ein Level gekauft und bist nun Level {00FF0A}%d {BEBEBE}und du hast {00FF0A}2 FFLPoints {BEBEBE}bekommen!",GetPlayerScore(playerid));
SendClientMessage(playerid,0xBEBEBEFF,Textstring);
SpielerInfo[playerid][pPoints] +=2;
return 1;
}abr er sagt immer noch zu wenig geld also das ich das nich habe
-
bist du Registriert ? hast du einen Ordner der Accounts heißt in "scriptfiles" ?
steht in der Datei der richtige Score bzw. hast du die nötigen exp ? -
hab mich nochmal regestriert und alle gegeben aber funktioniert leider immer noch net
-
Was soll "hm"
heißen?
Hast du es vielleicht nicht verstanden?
-
breadfish.de
Hat das Thema geschlossen.