public per Punkte +1 aufrufen Statt Timer ?

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
  • huhu frage ich Möchte ein Paar Timer Los Werden..sie auf eine Andere Weise Aufrufen mir fällt da nur ein punkte system ein.. also 1 Timer der alle 1000 ausgelöst wird ..die public AllRountTimer() ..und da die Früheren Timer alle unterschiedlich aufgerufen wurden also von der Zeit her .. habe ich das so Gemacht :


    public AllRountTimer(playerid) // Wird Alle 1000 Aufgerufen
    {
    OtherTimer();
    OnPlayerUpdate(playerid);
    CustomPickups();
    StreamPickups();
    SyncUppunkt += 1;
    FoodTimerpunkt +=1;
    if(SyncUppunkt == 60 || SyncUppunkt > 60)
    {
    SendClientMessage(playerid, COLOR_YELLOW,"Test SyncUp Geht");
    SyncUp();
    SyncUppunkt =0;
    }
    else if(FoodTimerpunkt == 6 || FoodTimerpunkt > 6)
    {
    SendClientMessage(playerid, COLOR_YELLOW," test FoodTimer Geht");
    FoodTimer();
    FoodTimerpunkt = 0;
    }
    }


    So da FoodTimer nur alle 6000 Aufgerufen wird habe ich pro aufruf punkt +1 gemacht und bei 6 soll das dann ausgelöst werden Aber Irgendwie Funct das nicht ?? garnichts davon... jetz habe ich ne Frage ist das überhaupt möglich ? geht es Leichter ? oder auch Anderst die Functionen zu den Zeiten aufzurufen ?...da ja zu viele Timer LAg aufbringt .. hoffe Versteht was ich meine :)

    „Auge um Auge - und die ganze Welt wird blind sein.“
    - Mahatma Gandhi

  • if(SyncUppunkt == 60 || SyncUppunkt > 60)

    Das kannst du auch anders schreiben.
    if(SyncUppunkt <= 60)

    Das "else if" kannst du dir auch sparen.Denn es gibt ja den Fall das beide gleichzeit aufgerufen werden sollten.Nämlich jede Minute.


    Zitat

    garnichts davon... jetz habe ich ne Frage ist das überhaupt möglich ? geht es Leichter ?


    Das geht natürlich.Ist auch vom Grundgerüst her richtig wie du es hast.


    //Edit: Kannst mal sagen wieso es AllRountdTimer(playerid) ist,mich interessiert wieso du playerid brauchst.

    Einmal editiert, zuletzt von Goldkiller ()

  • Würde nämlich sagen du brauchst gar keine playerid für so etwas.Denn dieser AllRountTimer (es wird mit d geschrieben,AllRound) soll für alle Spieler gleichzeit etwas aufrufen.CustomPickups(),SteamPickups(), etc. sind bestimmt dazu gedacht für jeden Spieler die Pickups zu streamen,nicht für einen bestimmten.
    Versuch es mal so.
    SetTimer("AllRountTimer",1000,1);


    public AllRountTimer() // Wird Alle 1000 Aufgerufen
    {
    OtherTimer();
    // OnPlayerUpdate(playerid); <-- völliger blödsinn
    CustomPickups();
    StreamPickups();
    SyncUppunkt += 1;
    FoodTimerpunkt +=1;
    if(SyncUppunkt <= 60)
    {
    //SendClientMessage(playerid, COLOR_YELLOW,"Test SyncUp Geht");
    print("Test SynchUp geht");
    SyncUp();
    SyncUppunkt =0;
    }
    if(FoodTimerpunkt <= 6)
    {
    //SendClientMessage(playerid, COLOR_YELLOW," test FoodTimer Geht");
    print("Test FoodTimer geht");
    FoodTimer();
    FoodTimerpunkt = 0;
    }
    }

  • ja bei mir steht auch AllRound ..aber OnplayerUpdate(playerid); wird doch auch per Timer aufgerufen .. also kann das doch auch darein oder ?



    Edit : Gold eine Frage habe grad bei showroom ProTimer Gefunden ..und auch getestet also das mit punkte geht das mit den pro timer auch jetz eine Frage welches würdest du eher Empfehlen ProTimer oder das mit den PunkteSystem ?

    „Auge um Auge - und die ganze Welt wird blind sein.“
    - Mahatma Gandhi

    2 Mal editiert, zuletzt von Dog ()