Jo und das will ich einfacher haben, denn ab Level 10 ist in meinem Script Schluss. Geht das nicht so, dass man pro Level bestimmt viel mehr Geld kriegt und bestimmt viel mehr Rangpunkte braucht?
Edit: Auf Pastebin gepackt.
Edit: Link gefixxt.
Jo und das will ich einfacher haben, denn ab Level 10 ist in meinem Script Schluss. Geht das nicht so, dass man pro Level bestimmt viel mehr Geld kriegt und bestimmt viel mehr Rangpunkte braucht?
Edit: Auf Pastebin gepackt.
Edit: Link gefixxt.
new geld = level*deingeldprolvl;
new rangp = level*deinrangpprolvl;
??
Danke. Nun weiß ich wie, aber nicht inwiefern ich das anwenden kann.
deinen ganzen if kram weg
dann neue variablen siehe oben
dann giveplayermoney(playerid,geld);
und eben wie du deine rangpunkte gibst mit
bladeinevariabledafür += rangp;
Es soll ja so sein, dass man mehr braucht. Deshalb müssen Teile der Abfragen auf jeden Fall da bleiben.
Würdest du mir dies bitte in Code zeigen. Nicht komplett, aber momentan versteh ich nichts.
Edit:Niemand der der mir helfen kann?
mach doch statt
if(Spieler[playerid][pLevel] == 1)
else if(Spieler[playerid][pLevel] == 2)
einfach switch
sonst siehts eig ganz ok aus
Ich brauche eine einfachere Methode pro Level mehr Rangpunkte zu verlangen und mehr Geld zu vergeben.
nimm nen faktor x der für jedes level anders ist?
Sorry ich bin noch nicht soweit. Ich verstehe die Logik dahinter, verstehe aber nicht wie ich diese umsetzen kann. Ein kleiner Code als Anregung wäre gut. Muss nicht der komplette sein.
new paydayLevel[11][2] =
{
// Gehalt | notwendige Punkte um aufzusteigen
{0, 0}, //anfangswert, damit lvl 1 im array auch 1 ist ;)
{500, 4},
{500, 10},
{600, 16},
{700, 20},
{800, 28},
{950, 32},
{1000, 36},
{1100, 40},
{1300, 20},
{1500, 70} // letzte zeile hat KEIN , !!!
};
forward PlusPayDayTime(playerid);
public PlusPayDayTime(playerid)
{
PayDayTime[playerid] += 1;
if(PayDayTime[playerid] >= 30)
{
new string[176];
if(Spieler[playerid][pRangpunkte] == paydayLevel[Spieler[playerid][pLevel]][1]) //1 = level
{
Spieler[playerid][pLevel] = ++; //einfach ein level höher
format(string,sizeof(string),"Herzlichen Glückwunsch! Du bist soeben ein Level nach oben gerutscht! Aktuelles Level: %d", Spieler[playerid][pLevel]);
SendClientMessage(playerid,COLOR_WHITE,string);
}
Spieler[playerid][pRangpunkte] = ++; // einen rangpunkt vergeben
format(string,sizeof(string),"Es ist PayDay Zeit. Du bekommst %d$ und 1 Rangpunkt.",paydayLevel[Spieler[playerid][pLevel]][0]);
SendClientMessage(playerid,COLOR_WHITE,string);
GivePlayerMoney(playerid,paydayLevel[Spieler[playerid][pLevel]][0]); // 0 = gehalt
PayDayTime[playerid] = 0;
}
ka obs funzt, müsste aber
Vielen Dank, aber das ist doch auch kompliziert. Ich möchte, dass pro Level ein bestimmter Betrag, der jedes Level gleich ist, dazu kommt.
meinst jetzt geld oder punkte?
Beides. Für jedes Level plus Betrag 250 addieren und für jedes Level 5 Rangpunkte mehr verlangen.
also wenn ich level 9 bin bekomme ich 9*250$ und um level 10 werden zu können brauche ich 9*5 punkte?
Genauso meine ich das.
new geld = level*deingeldprolvl;
new rangp = level*deinrangpprolvl;
??
und genau das bewirkt das
Ich weiß, ich brauche dies aber in Verbindung mit Code damit ich weiß wie ich dies umsetzen kann.
forward PlusPayDayTime(playerid);
public PlusPayDayTime(playerid)
{
PayDayTime[playerid] += 1;
if(PayDayTime[playerid] >= 30)
{
new string[95];
Spieler[playerid][pRangpunkte] = ++;
if(Spieler[playerid][pRangpunkte] == Spieler[playerid][pLevel]*5)
{
Spieler[playerid][pLevel] = ++;
format(string,sizeof(string),"Herzlichen Glückwunsch! Du bist soeben ein Level nach oben gerutscht! Aktuelles Level: %d", Spieler[playerid][pLevel]);
SendClientMessage(playerid,COLOR_WHITE,string);
Spieler[playerid][pRangpunkte] = 0; // ausklammern, wenn man nicht jedes mal von neu anfangen soll.
}
new gehalt = Spieler[playerid][pLevel]*250;
format(string,sizeof(string),"Es ist PayDay Zeit. Du bekommst %d$ und 1 Rangpunkt.",gehalt);
SendClientMessage(playerid,COLOR_WHITE,string);
GivePlayerMoney(playerid,gehalt);
PayDayTime[playerid] = 0;
}
}
ich setzte noch die rangpunkte jedes mal zurück, da man sonst nach 5 paydays direkt nen lvl weiter ist und das ist ja langweilig
kannst aber einfach löschen oder auskommentieren wenn dus net haben willst