"Unsterblichkeit"

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
  • Ich habe gelesen, dass bei dem TakeDamage Callback, die Health nicht aktuell sind, also noch die vor dem Schuss.
    Meint ihr, das würde so einwandfrei funktionieren oder gibt es noch saubere Methoden?


    Aktuelle Idee:

    if(AdminDuty(playerid) == 1)
    {
    new Float:myhealth;
    GetPlayerHealth(playerid, myhealth);
    return SetTimerEx("SchutzLeben", 50, false, "df", playerid, myhealth);
    }


    public SchutzLeben(playerid, Float:oldhealth)
    {
    SetPlayerHealth(playerid, oldhealth);
    return 1;
    }

  • Das funktioniert zwar, ist aber keine richtige Unsterblichkeit, da du zum Beispiel bei einem hohen Fall so viel Schaden erhalten kannst dass deine Leben trotzdem auf 0 sinken bevor sie wieder hochgesetzt werden. Stattdessen würde ich dir empfehlen die Leben auf 999999 zu setzen, und auf die alten Leben erst zu setzen wenn der Spieler wieder den Admin Modus verlässt. (Die Leben musst du dann in deinem Spieler Enum z.b. zwischenspeichern)

  • Alternativ kannste auch das hier nutzen. Sieht im Code im nachhinein besser aus.

    #if !defined INFINITY
    #define INFINITY (Float:0x7F800000)
    #endif


    Dann einfach bei SetPlayerHealth(playerid, INFINITY);