Hallo
Hab grad ein Level und Spielzeit System gemacht, bzw. mach es grad!
Mein Ziel ist es:
-Spielzeit wird gespeicher! Also von Anfang an ( Dies soll man in einem /stats Befehl sehen können)
-Aktivitätspunkte bekommt man nach 1 Stunde spielen(Im /stats soll stehen z.B 2/6 Aktivitätspunkte)
(Also muss der Timer ja pro Minute laufen)
-Wenn man z.B. 6 Aktivitätspunkte erreicht hat, kann man sich ein Levle mit /buylevel kaufen.
Dannach sollen die Aktivitätspunkte wieder auf 0 gehen
-Und das wichtigste überhaupt, damit ich nicht das ganze script voll sauen muss also mit /buylevel
wie kann ich machen ohne es so dort hin zu schreiben das, wenn man 6 aktivitätspunkte hat man level 1 wird?
also:
6 Punkte = Level 1
10 Punkte = Level 2
14 Punkte = Level 3
18 Punkte = Level 4
22 Punkte = Level 5
26 Punkte = Level 6
30 Punkte = Level 7
34 Punkte = Level 8
38 Punkte = Level 9
42 Punkte = Level 10
46 Punkte = Level 11
50 Punkte = Level 12
54 Punkte = Level 13
58 Punkte = Level 14
62 Punkte = Level 15
66 Punkte = Level 16
if(GetPVarInt(playerid, "Aktivitätspunkte") == 6)
{
SetPVarInt(playerid, "Level", GetPVarInt(playerid, "Level") == 1);
SetPVarInt(playerid, "Aktivitätspunkte", 0);
}
}
Geht das mit einer Schleife oder wie heißt das?
Das hab ich bis jetzt:
//Ganz Oben
forward Spielzeit(); //Spielminuten
OnGameModeInit //(soll ja pro minute speichern, also wenn 60 mins = 1 aktivitätspunkt)
SetTimer("Spielzeit", 60000, 1);
public Spielzeit()
{
for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i))
{
SetPVarInt(i,"Spielzeit",GetPVarInt(i,"Spielzeit") + 1);
{
if(GetPVarInt(i, "Spielzeit") == 60)
{
SetPVarInt(i, "Spielzeit", 0);
}
SetPVarInt(i, "Aktivitätspunkte", GetPVarInt(i, "Aktivitätspunkte") + 1);
}
}
return 1;
}
Vielen Dank im Vorraus