Level System

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Guten Tag, ich arbeite gerade an mein Level System von meinem Server.
    Nun möchte ich das man mit Level 1 8 Respektpunkte brauch um Level ab zu kommen, dann mit Level 2 12 Respektpunkte. Also immer 4 Respektpunkte mehr pro Level. Ich habe nur keine Ahnung wie ich das anstellen soll, ich bekomme es nur mit einer bestimmt maximalen Respektpunktzahl hin, nur das ist nicht wirklich das wahre.
    Ich zeige euch meinen derzeitigen Code...
    public Payday()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    SetPVarInt(i, "Payday", GetPVarInt(i, "Payday") + 1);
    if(GetPVarInt(i,"Payday") == 60)
    {
    SetPVarInt(i, "Respektpunkte", GetPVarInt(i, "Respektpunkte") + 1);
    }
    }
    }
    return 1;
    }


    OnGameModeInIt
    SetTimer("Payday",1000*60,true);


    Jemand eine Idee, das Levelsystem ist mir sehr wichtig oder kann man es auch anders bauen als in meiner Variante?


    MfG

  • Ich schrieb doch schon das ich weiß wie das Levelsystem aus dem Tutorial geht.
    Ich möchte aber so ein Levelsystem haben z.B


    Level 1: 8 Respektpunkte für Level UP
    Level 2: 12 Respektpunkte für Level UP
    Level 3: 16 Respektpunkte für Level UP
    Level 4: 20 Respektpunkte für Level UP


    Also immer 4 mehr pro Level.

  • Probier mal diese Abfrage:

    Code
    if(GetPVarInt(playerid,"Respektpunkte")>=GetPlayerScore(playerid)*4)


    Schaut ob der Spiele Respektpunkte mal dem Level hat.


    Sprich:
    Für LV1 braucht er 4 Respektpunkte
    Für LV2 8, usw.


    Du könntest auch

    Code
    SetPVarInt(playerid,"NeededRespektpunkte",8); //Bei Registrierung


    Und bei LV Up:

    Code
    SetPVarInt(playerid,"NeededRespektpunkte",GetPVarInt(playerid,"NeededRespektpunkte")+4);

    Spoiler anzeigen
    10 Beiträge [X]
    50 Beiträge [X]
    100 Beiträge [X]
    150 Beiträge [X]
    200 Beiträge [X]
    250 Beiträge [X]
    300 Beiträge [X]
    350 Beiträge [X]
    400 Beiträge [X]
    450 Beiträge [X]
    500 Beiträge [X]
    550 Beiträge []
    600 Beiträge []
    650 Beiträge []
    700 Beiträge []
    750 Beiträge []

    3 Mal editiert, zuletzt von FreshDiddi ()

  • du frägst einfach ab welcher Level der Spieler ist und ob er genug Respektpunkte hat
    Beispiel:
    switch(DeineLevelVariable) //Bei "DeineLevelVariable" einfügen wie du das Level abfrägst z.B. switch(SpielerLevel[playerid]).
    {
    case 1: //Hier wird abgefragt ob er Level 1 ist.
    {
    switch(DeineRespektpunkteVaribale) //Bei "DeineRespektpunkteVariable" einfügen wie du die Respektpunkte abfrägst z.B. switch(Respektpunkte[playerid]) oder switch(GetPVarInt(playerid, "Respektpunkte"))
    {
    case 8: //Hier wird abgefragt ob er 8 Respektpunkte hat.
    {
    //Hier soll er dann auf Level 2 hochgestellt werden.
    }
    }
    }
    case 2: //Hier wird abgefragt ob er Level 2 ist.
    {
    switch(DeineRespektpunkteVaribale) //Bei "DeineRespektpunkteVariable" einfügen wie du die Respektpunkte abfrägst z.B. switch(Respektpunkte[playerid]) oder switch(GetPVarInt(playerid, "Respektpunkte"))
    {
    case 12: //Hier wird abgefragt ob er 12 Respektpunkte hat.
    {
    //Hier soll er dann auf Level 3 oder so hochgestellt werden.
    }
    }
    }
    }


    Grüße,
    Viper


  • Bis Level 99 wird das sehr aufwendig :D


    Aber so kann man's auch tun ;)

    Spoiler anzeigen
    10 Beiträge [X]
    50 Beiträge [X]
    100 Beiträge [X]
    150 Beiträge [X]
    200 Beiträge [X]
    250 Beiträge [X]
    300 Beiträge [X]
    350 Beiträge [X]
    400 Beiträge [X]
    450 Beiträge [X]
    500 Beiträge [X]
    550 Beiträge []
    600 Beiträge []
    650 Beiträge []
    700 Beiträge []
    750 Beiträge []

  • Hab ich grad etwas total falsch verstanden oder geht das so nicht ?


    Code
    Level 1 = 8 
    Level 2 = 8 + 4
    Level 3 = 8 + 4 + 4


    und so weiter...


    Code:
    new levelpoints = level * 4; // Zusätzliche Punkte pro Level
    new points = 8 + levelpoints; // Für Level 1 braucht man 8, jedes Level darüber wird durch levelpoints behandelt


    Edit:


    Hier noch eine andere Möglichkeit:



    // Und wenn Du für jedes Level die Punkte individuell möchtest, dann mach es so:


    new points;
    switch(level)
    {
    case 1: points = 8;
    case 2: points = 12;
    case 3: points = 15;
    case 4: points = 17;
    }


    Gruss


  • wtf? oO
    Er bekommt also jede "Minute" einen Payday? ^^