Hilfe beim /heal Befehl -> Leben werden nicht erkannt?

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! :)
    Ich hab mir einen Befehl gemacht, welcher es erlaubt User zu heilen. Er funktioniert fast perfekt, aber das System erkennt nicht´ wann der Spieler über 99 HP hat. Er heilt einfach weiter (was eigentlich bei über 99 Leben stoppen sollte).


    Wie kann ich das beheben? Untenstehend findet ihr die Betreffenden Zeilen.


    Dieser Bereich genau klappt nicht:


    if (health > 99.0)
    {
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"* Du wurdest vollständig geheilt.");
    KillTimer(HealStep1(playerid));
    KillTimer(HealStep2(playerid));
    return 1;
    }


    Der rest klappt einwandfrei.


    public HealStep1(playerid)
    {
    if(GetDistanceBetweenPlayers(playerid,HealOffer[playerid]) < 5.0)
    {
    new Float:health;
    GetPlayerHealth(playerid,health);
    if (health > 99.0)
    {
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"* Du wurdest vollständig geheilt.");
    KillTimer(HealStep1(playerid));
    KillTimer(HealStep2(playerid));
    return 1;
    }
    if (health < 100.0)
    {
    GivePlayerHealth(playerid, 10.0);
    SetTimerEx("HealStep2",1999,0,"d",playerid);
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_GREY,"Die Heilung wurde abgebrochen, weil du zu weit vom Notarzt entfernt bist.");
    KillTimer(HealStep1(playerid));
    KillTimer(HealStep2(playerid));
    return 1;
    }
    return 1;
    }


    public HealStep2(playerid)
    {
    if(GetDistanceBetweenPlayers(playerid,HealOffer[playerid]) < 5.0)
    {
    new Float:health;
    GetPlayerHealth(playerid,health);
    if (health > 99.0)
    {
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"* Du wurdest vollständig geheilt.");
    KillTimer(HealStep1(playerid));
    KillTimer(HealStep2(playerid));
    return 1;
    }
    if (health < 100.0)
    {
    GivePlayerHealth(playerid, 10.0);
    SetTimerEx("HealStep1",1999,0,"d",playerid);
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_GREY,"Die Heilung wurde abgebrochen, weil du zu weit vom Notarzt entfernt bist.");
    KillTimer(HealStep1(playerid));
    KillTimer(HealStep2(playerid));
    return 1;
    }
    return 1;
    }


    Danke für eure eventuelle Hilfe! :)

  • Also wird der Spieler praktisch unendlich weitergehealt wenn er wieder Leben verliert? 8|


    Oder wie meinst du das?`