SetTimerEx funkzt nur für ein spieler?!

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,
    problem, wie müsste ich mein timer einstellen so das es für jeden einzelnen spieler funktioniert.
    Zur zeit funktioniert es so das es nur für einen speielr (der erste der connectetd) funktioniert.


    Beispiel 1

    Code
    public OnGameModeInit()
    {
    new playerid[MAX_PLAYERS];
    SetTimerEx("TimeOnServer", 1000, true, "i", playerid);
    ....



    Beispiel 2
    Ich habe es mal bei OnPlayerConnect
    player eingesetzt jedoch addiert sich immer die Zahle jeh nach wieviele leute draufjoinen.
    Wenn z.b. einer drauf ist zählt es 1,2,3,4
    Wenn 2 dann 2,4,6,8
    Wenn 3 dann 3,6,9
    u.s.w


    Ich müsste also KillTimer benutzen jedoch wie mache ich das das KillTimer nur für eine person benutzt wird?
    Kann mir das mal jemand an einem beispiel zeigen.
    So habe ich das jetzt jedoch stoppt er hier dne timer von jeden (ist ja eig. auch klar)


    Code
    public OnPlayerDisconnect(playerid, reason)
    {
    
    
    	KillTimer(PlayerTimer);
    	return 1;
    }


    Code
    public OnPlayerConnect(playerid)
    {
    	PlayerTimer = SetTimerEx("TimeOnServer", 1000, true, "i", playerid);


    Ich danke für jede hilfe :)

    mfg
    Ali ;)

    Einmal editiert, zuletzt von Cryptex ()

  • bei jedem connect machste neuen Timer.
    PlayerTimer = SetTimerEx("TimeOnServer", 1000, true, "i", playerid);


    dazu kannst du nicht einfach nen neuen 'playerid' definieren.


    ausserdem ist deine TimeOnServer funktion sinnfrei, gucks dir mal genauer an, du wirst dann wissen wieso^^

  • hallo,
    erstmal danke für die hilfe.


    Aber warum soll die Funktion sinnfrei sein?


    Das mitt der playerid habe ich jetzt nicht verstanden, wenn du so nett bist, kannst du mir bitte mal ein beispiel geben ? :)
    Mir brennt grad mein schädel, du willst nicht wissen wie lange ich dran sitzt um den mist hinzubekommen, immer klapt eine kleinigkeit nicht.


    Ich will nur das ich für jeden Gejointen Spieler ein Timer haben :)

    mfg
    Ali ;)


  • Du kannst playerid nicht neu definieren, da es schon "vordefiniert ist"
    erstell eine schleife, die alle Spieler durchläuft und nimm diese.
    Wie gesagt, meine Lösung würde auch funktionieren... Musst halt nur eine Schleife mit einbringen