Harndrang Problem

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
  • forward Harndrangg(playerid);
    forward HarndrangUpdate(playerid);


    new Text:Harndrang;



    //OnPlayerConnect
    SetTimer("Harndrangg",1000,1);
    SetTimer("HarndrangUpdate",30000,1);


    public HarndrangUpdate(playerid)
    {
    if(GetPVarInt(playerid,"Harndrang") > 98)
    {
    new Float:hp,Float:HPP;
    GetPlayerHealth(playerid,HPP);
    hp = HPP-5;
    SetPlayerHealth(playerid,hp);
    SetPVarInt(playerid,"Harndrang",GetPVarInt(playerid,"Harndrang")+1);
    SendClientMessage(playerid,ORANGE,"Du musst pissen, benutze /pissen.");
    return 1;
    }
    else
    {
    SetPVarInt(playerid,"Harndrang",GetPVarInt(playerid,"Harndrang")+1);
    return 1;
    }
    }
    public Harndrangg(playerid)
    {
    TextDrawDestroy(Text:Harndrang);
    new string[64],harn = GetPVarInt(playerid,"Harndrang");
    format(string,64,"Harndrang: %i%",harn);
    Harndrang = TextDrawCreate(500,108,string);
    TextDrawFont(Harndrang,2);
    TextDrawLetterSize(Harndrang,0.4,2.8);
    TextDrawColor(Harndrang,BLAU);
    TextDrawSetOutline(Harndrang,0);
    TextDrawSetProportional(Harndrang,1);
    TextDrawSetShadow(Harndrang,1);
    TextDrawShowForPlayer(playerid,Text:Harndrang);
    return 1;
    }
    //OCMD
    ocmd:pissen(playerid,params[])
    {
    return 1;
    }


    Soweit so gut nun fehlen mir noch 2 Sachen.


    1: Die Prozente (Harndrang 100) gegen weiter bis 101, 102, 103... usw. wie kann ich das machen dass das maximale 100 ist?
    2: Wie kann ich das machen dass wenn ein Spieler /pissen macht, das er alle Prozente verliert?

  • Problem 1:


    public HarndrangUpdate(playerid)
    {
    if(GetPVarInt(playerid,"Harndrang") > 98)
    {
    new Float:hp,Float:HPP;
    GetPlayerHealth(playerid,HPP);
    hp = HPP-5;
    SetPlayerHealth(playerid,hp);
    SetPVarInt(playerid,"Harndrang",GetPVarInt(playerid,"Harndrang")+1);
    SendClientMessage(playerid,ORANGE,"Du musst pissen, benutze /pissen.");
    return 1;
    }
    else if (GetPVarInt(playerid,"Harndrang") == 100)
    {
    //hier coden was passieren soll wenn der harndrang bei 100 ist und er nicht pissen geht
    }
    else
    {
    SetPVarInt(playerid,"Harndrang",GetPVarInt(playerid,"Harndrang")+1);
    return 1;
    }
    }


    Problem 2:
    ocmd:pissen(playerid,params[])
    {
    SetPVarInt(playerid,"Harndrang",0);
    SendClientMessage(playerid,ORANGE,"Du hast gepisst!");

    return 1;
    }

    Intel Xeon W3690 Hexacore @ 4.5 GHz - 48GB Triple Channel DDR3 - GeForce RTX 2070 Super - Asus P6T Deluxe V1 @ P6T WS Pro BIOS

    Mainboard 12 Jahre, CPU 10 Jahre alt - old but gold!

  • public HarndrangUpdate(playerid)
    {
    if(GetPVarInt(playerid,"Harndrang") > 98)
    {
    new Float:hp,Float:HPP;
    GetPlayerHealth(playerid,HPP);
    hp = HPP-5;
    SetPlayerHealth(playerid,hp);
    SetPVarInt(playerid,"Harndrang",GetPVarInt(playerid,"Harndrang")+1);
    SendClientMessage(playerid,ORANGE,"Du musst pissen, benutze /pissen.");
    return 1;
    }
    else if (GetPVarInt(playerid,"Harndrang") == 100)
    {
    SetPVarInt(playerid,"Harndrang",0);
    SetPlayerHealth(playerid,0);
    SendClientMessage(playerid,ORANGE,"Deine Blase ist geplatz und bist gestorben.");
    }
    else
    {
    SetPVarInt(playerid,"Harndrang",GetPVarInt(playerid,"Harndrang")+1);
    }
    return 1;
    }



    So habe ich das jetzt gemacht und es klappt nicht....
    Warum=?

    3 Mal editiert, zuletzt von _Deluxe_ () aus folgendem Grund: Noch ein Problem dazu