Leben automatisch weniger [help]

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
  • Gute Nacht allerseits,


    habe ein Problem:
    Ich möchte es so haben, dass das Leben automatisch weniger wird, sodass man etwas essen muss.


    so habe ich es momentan:
    ganz oben:

    forward lebensverlust(playerid);


    bei OnPlayerSpawn

    SetTimerEx("lebensverlust",60*1000,1,"i",playerid);


    und ganz unten ein neues Public

    public lebensverlust(playerid)
    {
    new oldhealth = GetPlayerHealth(playerid);//Hier kommt der Error
    SetPlayerHealth(playerid,oldhealth-2);
    return 1;
    }



    jetzt bekomme ich diesen error beim Public:

    C:\Users\Frank\Desktop\GTA Server GoodFeels [Project 1]\gamemodes\SicherKopie.pwn(3) : warning 202: number of arguments does not match definition
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Warning.


    Bitte um hilfe



    Danke
    Scripter4.0

    Scripter im Ruhestand.

  • Du brauchst das "new oldhealth =" nicht.
    Das leben wird in der Variable health gespeichert.
    Dadurch kannst du dann auch einfach auf das Leben zugreifen.
    Die Funktioniert funktioniert gleich wie GetPlayerPos.


    #Brotfischbaron


    In schā'a llāh

  • So einen Schwachsinn habe ich seit Langem nicht mehr gesehen.
    Der 2. Parameter bei GetPlayerHealth ist eine dereferenzierte Float-Variable, und du übergibst einen Unsigned Integer!?
    Lern bitte erst richtig scripten, bevor du falsches "Wissen" vermittelst.


    #Brotfischbaron


    In schā'a llāh

  • Als "Scripter" muss man das doch können!



    public lebensverlust(playerid)
    {
    SetPlayerHealth(playerid,GetPlayerHealth(playerid),-2);
    return 1;
    //ist ziemlicher Blödsinn , du willst es aber...
    }

    Hmm, nagut , Man gib einen Spieler "HP" , befor man welches gibt sollte man erst wissen wie viel HP er hat , wenn man nur -2 schreiben würde , würde er doch -2 HP haben , man man man , ich kann es mal testen.
    //das alles ist kompletter schwachsinn , wenn du bedenkst dass new Health GetPlayerHealth ersetzt , dann kommt genau dieser Ablauf vor.

  • Hmm, nagut , Man gib einen Spieler "HP" , befor man welches gibt sollte man erst wissen wie viel HP er hat , wenn man nur -2 schreiben würde , würde er doch -2 HP haben , man man man , ich kann es mal testen.

    Und nochmal totaler Mist.
    Du verwendest in deinem "Beispiel" GetPlayerHealth, als ob es einen Wert zurückgeben würde.
    Hättest du aber Ahnung, wüsstest du, das dem nicht so ist.

    Zitat

    The function itself doesn't return a specific value. The player's health is stored in the specified variable.

    Wie also kommst du auf so einen Unsinn?


    Edit:


    Scripter4.0: So wäre es korrekt:



    public lebensverlust(playerid)
    {
    new Float:health;


    GetPlayerHealth(playerid, health); // Spieler-Health wird in der Variable 'health' gespeichert
    SetPlayerHealth(playerid, health - 2); // Spieler Health wird um 2 reduziert


    return 1;
    }


    #Brotfischbaron


    In schā'a llāh


  • specified variable

    Sprich new Health , indem Fall Float wegen Kommarzahl
    So wenn man aber GetPlayerHealth dadurch "ersetzt" kommt der glaube schwachsinn herraus.
    Dann mach es doch besser.


    //nene er meint mich.

  • Forbidden, drück dich doch mal etwas verständlicher aus.
    Mit welcher meiner Argumentation gegen deinen Unsinn bist du nun nicht einverstanden?
    GetPlayerHealth gibt einfach keinen Wert zurück, deswegen kann man die Funktion auch nicht als solche verwenden.
    Man muss eine dereferenzierte Variable übergeben, in der der Wert dann gespeichert wird.
    Das selbe wie mit GetPlayerPos.


    Ein funktionierendes Beispiel steht über dir.


    Edit: Rechtschreibfehler.


    #Brotfischbaron


    In schā'a llāh

  • Ja, indem Fall ist es new Float:Health
    Meine Güte...
    Und einem Mal um diese Uhrzeit zu helfen , und "Mal" ein Fehler zu machen ist garnicht schlimm.
    Ich meine wenn es jedem so geht, dass er einen "Mal" helfen will und sofort Stress gibt , wo werden wir dann landen.