SetPlayerHealth Problemm

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 ein problemm ich mache einen dönner laden


    z.B der player hat 100heal und ich scripte SetPlayerHealth(playerid,25); das geht net danach hat der player nur 25 heal mehr wie kann ich das machen ? das er +bekommt SetPlayerHealth(playerid,+25);


    geht net

  • new Float:health;
    health = GetPlayerHealth(playerid);
    health += 25;
    SetPlayerHealth(playerid, health);


    so glaube ich könnte es funktionieren ^^


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • C:\Users\Justin\Desktop\Mein Selfmade Server\gamemodes\tutorial.pwn(1104) : warning 202: number of arguments does not match definition

  • if(dialogid == DIALOG_HOTDOG)
    {
    if(response)
    {
    if(listitem == 0)
    {
    new Float:health;
    health = GetPlayerHealth(playerid);
    health += 25;
    SetPlayerHealth(playerid, health);
    GivePlayerMoney(playerid,-100);
    return 1;
    }
    if(GetPlayerMoney(playerid) <100)
    {
    SendClientMessage(playerid,BLAU,"Du hast nicht genug Geld!");
    return 1;
    }
    }
    }




    Das ist der komplette code und das ist der fehler



    health = GetPlayerHealth(playerid);

  • if(dialogid == DIALOG_HOTDOG)
    {
    if(response)
    {
    if(listitem == 0)
    {
    new Float:health;
    health = GetPlayerHealth(playerid, health);
    health += 25;
    SetPlayerHealth(playerid, health);
    GivePlayerMoney(playerid,-100);
    return 1;
    }
    if(GetPlayerMoney(playerid) <100)
    {
    SendClientMessage(playerid,BLAU,"Du hast nicht genug Geld!");
    return 1;
    }
    }
    if(response)
    {
    if(listitem == 1)
    {
    new Float:health2;
    health2 = GetPlayerHealth(playerid, health2);
    health2 +=45;
    SetPlayerHealth(playerid, health2);
    GivePlayerMoney(playerid,-120);
    return 1;
    }
    if(GetPlayerMoney(playerid) <120)
    {
    SendClientMessage(playerid,BLAU,"Du hast nicht genug Geld!");
    return 1;
    }
    }
    }






    SO das ist der komplette teil 2 hotdogs mit ketchup und mit mayo :)


    wenn ich den ingame kaufe bekomme ich heal abgezogen und bei den anderen drauf

  • ^^ kein Wunder, schreib das so, komplett:



    if(dialogid == DIALOG_HOTDOG)
    {
    if(response)
    {
    if(listitem == 0)
    {
    new Float:health;
    GetPlayerHealth(playerid, health);
    health += 25;
    SetPlayerHealth(playerid, health);
    GivePlayerMoney(playerid,-100);
    return 1;
    }
    if(GetPlayerMoney(playerid) <100)
    {
    SendClientMessage(playerid,BLAU,"Du hast nicht genug Geld!");
    return 1;
    }
    }
    if(response)
    {
    if(listitem == 1)
    {
    new Float:health2;
    GetPlayerHealth(playerid, health2);
    health2 +=45;
    SetPlayerHealth(playerid, health2);
    GivePlayerMoney(playerid,-120);
    return 1;
    }
    if(GetPlayerMoney(playerid) <120)
    {
    SendClientMessage(playerid,BLAU,"Du hast nicht genug Geld!");
    return 1;
    }
    }
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Lest ihr euch eigentlich durch was ihr da Postet? Das ergibt 0 sinn...


    Erst fragst du das listitem ab, dann gibst du hp und ziehst das Geld ab und dann erst fragst du ab ob das Geld reicht. Wobei es dazu nichtmal kommen würde, weil du vorher schon returnst...


    Erstmal kannste es dir einfacher machen wenn du dir ne extra funktion dafür erstellst:
    stock AddPlayerHealth(playerid, Float:health)
    {
    new Float: oldHealth;
    GetPlayerHealth(playerid, oldHealth);
    return SetPlayerHealth(playerid, oldHealth+health);
    }Und dann veruchste es mal so:if(dialogid == DIALOG_HOTDOG)
    {
    if(response)
    {
    if(listitem == 0) //es wurde das erste listitem ausgewählt
    {
    if(GetPlayerMoney(playerid) < 100) //überprüfen ob der Spieler weniger als 100$ auf der Hand hat
    {
    //wenn ja, Nachricht schicken unr returnen
    SendClientMessage(playerid,BLAU,"Du hast nicht genug Geld!");
    return 1;
    }
    else
    {
    //wenn nein, Health dazu geben und Geld abziehen
    AddPlayerHealth(playerid, 25.0);
    GivePlayerMoney(playerid, -100);
    return 1;
    }
    }
    else if(listitem == 1) //es wurde das zweite listitem ausgewählt
    {
    if(GetPlayerMoney(playerid) <120) //überprüfen ob der Spieler weniger als 100$ auf der Hand hat
    {
    //wenn ja, Nachricht schicken unr returnen
    SendClientMessage(playerid,BLAU,"Du hast nicht genug Geld!");
    return 1;
    }
    else
    {
    //wenn nein, Health dazu geben und Geld abziehen
    AddPlayerHealth(playerid, 45.0);
    GivePlayerMoney(playerid, -120);
    return 1;
    }
    }
    }
    }


    Ist frei ausm Kopf, also ka ob das mit den Floats so klappt. Einfach ma ausprobieren.

    The fact is, I am right. And if you think I'm wrong, you are wrong.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen