Erholungs-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
  • Hallo zusammen,


    Auf vielen Reallife-Servern sinkt ja die HP langsam mit der Zeit. Nun wollte ich sowas ähnliches für meinen DM-Server. Nur möchte ich, dass man langsam HP dazubekommt. Maximal ist aber 100.


    Wisst ihr wie ich das machen soll? I-wie mit Timern?


    Hoffe auf eine Antwort


    Mfg Vegeta


    PS: Das ist mein Server, für den brauch ich es --> 176.9.44.136:5555 <-- Hab mir echt Mühe damit gegeben. :D

  • Ganz oben ins Script:


    forward healthtimer(); //die Forwardfunktion für den Timer


    Unter OnGameModeInit


    SetTimer("healthtimer", 60000, true); //Die Funktion, die den Timer alle 60 sekunden wiederholt (60000 = 60 Sekunden, beliebig anpassen)


    Irgendwo ins Script, aber NICHT in ein Callback


    public healthtimer()
    {
    for(new i = 0; i < MAX_PLAYERS; i++) //Eine Schleife, die alle Spieler überprüft
    {
    new Float:health; //Variable um das Leben zu speichern
    GetPlayerHealth(i, health); //Wir überprüfen das Leben des Spielers
    if(health < 100) //Wenn weniger als 100 Leben
    {
    SetPlayerHealth(i, health+10); //Wir geben dem Spieler Leben (10 mit der Anzahl von Leben, die dazukommen soll, ersetzen)
    }
    GetPlayerHealth(i, health); //Wir holen uns das Leben nochmal (Das neue diesmal)
    if(health > 100) //Wenn dadurch die Leben größer als 100 geworden ist
    {
    SetPlayerHealth(i, 100); //Setzen wir das Leben auf 100
    }
    }
    return 1;
    }

  • Lässte sich aber eleganter lösen, so musst du nur einmal das Leben setzen:


    GetPlayerHealth(i, health);
    if (health < 90)
    {
    health = health + 10;
    } else {
    health = 100;
    }


    SetPlayerHealth(i, health);

    nanosMalte


    Zitat

    Zitat von Goldkiller




    Obwohl MiniYoda das Wörtchen "Dynamisch" in der Deutschen SA-MP szene mit durchaus fatalen Folgen verbreitete, so hat er dennoch bewiesen, dass er das Handwerk PAWN hervorragend beherrscht. Er gehört definitiv zu den kompetentesten Scriptern die man bei SA-MP.DE finden kann.