Problem mit Timer, Public wird nicht ausgeführt?!?

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 habe mir ein Bedürfniss/Alkoholsucht System erstellt. das sieht nun so aus:


    forward Beduerfnisse();
    Bei OnGameModeInit:
    SetTimer("Beduerfnisse",120000, 1);


    public Beduerfnisse()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(Alkoholsucht[i] <= 25)
    {
    Alkoholsucht[i] = Alkoholsucht[i] - 1;
    }
    if(Alkoholsucht[i] >= 25 && Alkoholsucht[i] <= 75)
    {
    Alkoholsucht[i] = Alkoholsucht[i] + 1;
    SendClientMessage(i, COLOR_RED, "Achtung, deine Alkoholsucht steigt!");
    }
    if(Alkoholsucht[i] >= 75)
    {
    Alkoholsucht[i] = Alkoholsucht[i] + 2;
    SendClientMessage(i, COLOR_RED, "ACHTUNG, deine Alkoholsucht steigt gefährlich!");
    }
    if(Alkoholsucht[i] >= 99)
    {
    Alkoholsucht[i] = Alkoholsucht[i] + 2;
    SendClientMessage(i, COLOR_RED, "Deine Alkoholsucht erreicht einen gefährlichen Level.");
    SendClientMessage(i, COLOR_RED, "Solltest du nicht schnellstens deine Alkoholsucht heilen, stirbst du!");
    }
    if(Hygiene[i] != 0)
    {
    Hygiene[i] = Hygiene[i]-1;
    }
    Harndrang[i] = Harndrang[i]+1;
    if(Harndrang[i] == 0)
    {
    Hygiene[i] = 0;
    SendClientMessage(i, COLOR_RED, "Du hast dir in die Hosen gemacht!");
    SendClientMessage(i, COLOR_RED, "Du solltest dich schnell waschen!");
    Harndrang[i] = 100;
    }
    return 1;
    }
    }
    return 1;
    }


    Leider werden die Werte nicht geändert, kann mir wer helfen?



  • forward Beduerfnisse(playerid);


    public Beduerfnisse(playerid)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(Alkoholsucht[i] <= 25)
    {
    Alkoholsucht[i] = Alkoholsucht[i] - 1;
    }
    if(Alkoholsucht[i] >= 25 && Alkoholsucht[i] <= 75)
    {
    Alkoholsucht[i] = Alkoholsucht[i] + 1;
    SendClientMessage(i, COLOR_RED, "Achtung, deine Alkoholsucht steigt!");
    }
    if(Alkoholsucht[i] >= 75)
    {
    Alkoholsucht[i] = Alkoholsucht[i] + 2;
    SendClientMessage(i, COLOR_RED, "ACHTUNG, deine Alkoholsucht steigt gefährlich!");
    }
    if(Alkoholsucht[i] >= 99)
    {
    Alkoholsucht[i] = Alkoholsucht[i] + 2;
    SendClientMessage(i, COLOR_RED, "Deine Alkoholsucht erreicht einen gefährlichen Level.");
    SendClientMessage(i, COLOR_RED, "Solltest du nicht schnellstens deine Alkoholsucht heilen, stirbst du!");
    }
    if(Hygiene[i] != 0)
    {
    Hygiene[i] = Hygiene[i]-1;
    }
    Harndrang[i] = Harndrang[i]+1;
    if(Harndrang[i] == 0)
    {
    Hygiene[i] = 0;
    SendClientMessage(i, COLOR_RED, "Du hast dir in die Hosen gemacht!");
    SendClientMessage(i, COLOR_RED, "Du solltest dich schnell waschen!");
    Harndrang[i] = 100;
    }
    return 1;
    }
    }
    return 1;
    }

  • Und was bitte sollte das playerid bringen, wenn du es sowieso nicht nutzt?

  • Bitte vorher überlegen bevor ihr Postet^^

  • Und dann SetTimerEx bei OnPlayerConnect, oder?
    Sorry ich kenn mich mit SetTimerEx nicht aus, könntest du mir das erklären?

  • Danke funktioniert^^
    Jez wird zwar mein Textdraw nimmer angezeigt aber des krieg ich schon hin^^