>>[SUCHE]Hungersystem <<

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
  • >>Was suchst du ?
    Hallo ich suche ein Hungersystem
    Da meine Script kenntnisse jedoch nicht dafür ausreichen,
    brauch ich hilfe, also ich möchte wissen wie man ein Hunger System macht.
    Also suche eher ein Tutorial oder halt Codes.




    >>Was soll in den Hungersystem vorhanden sein ?


    • Man verliert nach einer Zeit Healpoints
    • Sollten aber nicht viele sein.

    Danke fürs durchlesen.

  • mhhh



    ich würde dir empfehlen dich selbst dran zu setzen weil du so besser lernst


    Als erstes solltest du einen Timer setzen z.b. auf 600000 für 10 Min
    Anschließend soll nach ablauf des Timers bei jedem spieler die Heilpunkte -10 gesetzt werden

  • richtig :D



    //EDIt


    Ich würde dir allerdings empfehlen eine art anzeige zu machen die beim Connecten angezeigt wird und sich beim Timer mit ändert

  • Aber wie zeihe ich jemanden etwas ab, mit SetPlayerHealth setzt du das Leben ja.
    Ist das so richtig, wir dann nur 10 abgezogen ?


    stock GivePlayerHealth(playerid, Float:health)
    {
    new Float:Current;
    GetPlayerHealth(playerid, Current);
    if((Current)+(health) > 100) return SetPlayerHealth(playerid, 100);
    SetPlayerHealth(playerid, ((Current)+(health)));
    return 1;
    }


    Wenn ich GivePlayerHealth -10 mache ?

  • Ich würde warscheinlich den Hunger auch noch stärker als linear anwachsen lassen.
    Also etwa so:


    Zeiteinheit 1: 1 Hunger
    Zeiteinheit 2: 3 Hunger
    Zeiteinheit 3: 9 Hunger
    Zeiteinheit 4: 27 Hunger
    Zeiteinheit 5: 81 Hunger


    f(x)=2x+x


    Oder du lässt es einfach bei einem linearen Anstieg.


    Dann musst du dich fragen wie sich der Hunger auswirken soll.
    Soll man immer einen prozentualen Anteil des Hungers an Lebel verlieren oder immer einen abolouten Wert?


    So jetzt zum script:


    Jeder Spieler benötigt je nach dem wie du es machen willst eine Variable mit dem Hungerwert.
    Dazu kann man entweder eine Variable deklarieren oder man verwendet einfach die PVars von SAMP.


    Dann einen Timer erstellen, welcher in einem bestimmten Intervall alle Spieler durchgeht.


    In diesem Timer-Public überprüfst du den aktuellen Hungerwert und setzt diesen neu.
    Anschließend ziehst du ggf. Health ab.
    Dazu ließt du die Health aus und verringerst den Wert


    new Float:health;
    GetPlayerHealth(playerid,health);
    SetPlayerHealth(playerid,health-Wert[Float]);


    Dann brauchen wir noch die Kehrseite: Das Essen


    Wenn jemand isst o.Ä dann musst du den Hungerwert verringern.

  • SetPlayerHealth(playerid , -10)


    Nein
    GivePlayerHealth(i,-10);
    Wenn man keine Ahnung hat Leise sein, aber hier nicht so unsinn schreiben.


    -------------------------------------------------------------------------------------------------------
    Ich möchte es stärker als linear haben, aber dazu bräuchte ich genauere hilfe,
    ich glaube nicht das du mir jetzt Codes schickst, weil ich es ja sonst nicht lerne,
    aber ein paar sachen kannste schon hinschreiben.
    Weil ich es mit.
    Zeiteinheit 1: 1 Hunger


    Zeiteinheit 2: 3 Hunger


    Zeiteinheit 3: 9 Hunger


    Zeiteinheit 4: 27 Hunger


    Zeiteinheit 5: 81 Hunger
    Haben möchte.
    Sonst müsste ich das Leider lassen.

  • xD 2x + x = ( 1 + 2) * x = 3 * x , nur als zarter kleiner Hinweis.

    nanosMalte


    Zitat

    Zitat von Goldkiller




    Obwohl MiniYoda das Wörtchen "Dynamisch" in der Deutschen SA-MP szene mit durchaus fatalen Folgen verbreitete, so hat er dennoch bewiesen, dass er das Handwerk PAWN hervorragend beherrscht. Er gehört definitiv zu den kompetentesten Scriptern die man bei SA-MP.DE finden kann.

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