Zeit auslesen und wiedergeben

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
  • Mahlzeit!


    Ich wollte mal fragen ob mir jemand schreiben kann wie ich Zeit auslese?
    Also das wenn man z.b ein Fahrzeug verlässt,ein Gametext oder so kommt und da steht: Du hast %d Skeunden zeit um in das Fahrzeug zurueck zu kehren!
    Ich hoffe mir kann jemand weiter helfen bzw. es mir schreiben.


    Mfg
    Hardcore


    P.s Vielen Dank im Vorraus!

  • bei OnPlayerExitVehicle musste ein gametext machen. dann musst du ein timer starten:

    SetTimerEx("NAME",ZEIT,0,"i",playerid);


    hier ein bsp:


    forward name(playerid);


    public OnPlayerExitVehicle(...)
    {
    GameTextForPlayer(playerid,"TEXT",ZEIT,STYLE);
    SetTimerEx("name",ZEIT,0,"i",playerid); //zeit in millisekunden (1sekunde = 1000 milisekunden
    return 1;
    }


    public name(playerid)
    {
    //was passieren soll
    return 1;
    }

  • >>>SA!MN<<< er möchte so einen Countdown wie bei GTA SanAndreas Singleplayer..


    #define MAX_TIME (5) //Ab welcher Zahl er herunterzählen soll!


    new gVehicleCheck[MAX_PLAYERS];


    forward CheckVehicle();


    public OnPlayerConnect(playerid)
    {
    gVehicleCheck[playerid] = 0;
    return 1;
    }


    public OnGameModeInit()
    {
    SetTimer("CheckVehicle", 1000, 1);
    return 1;
    }


    public CheckVehicle()
    {
    new playerid = 0, str[128];
    for(; playerid < MAX_PLAYERS; playerid++)
    {
    if(!IsPlayerConnected(playerid) || !IsPlayerInAnyVehicle(playerid)) continue;
    if(gVehicleCheck[playerid] == MAX_TIME)
    {
    //Aktion wenn Zeit vorbei
    }
    else
    {
    format(str, sizeof(str), "~w~Du bist in keinem ~b~Fahrzeug! Du hast noch~n~%d Sekunden Zeit um in ein ~b~Fahrzeug~n~~w~zurueckzukehren!", MAX_TIME-gVehicleCheck[playerid]);
    gVehicleCheck[playerid]++;
    }
    }
    return true;
    }

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Nein mein Timer bleibt global und überprüft ob Spieler in Fahrzeug oder Nicht, so wie es der andere gemacht hat, war eigentlich richtig, nur wäre dann für seine Variante ein normales GameTextForPlayer ausreichend ohne Countdown ^^

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Trooper das ist Falsch! SetTimerEx verbraucht mehr Ressourcen, wenn es öfter aufgerufen wird, als ein globaler Timer! Selbst ausgetestet mit einem globalen Timer, der einen loop durchführt durch alle 500 Slots und mit einem SetTimerEx der playerid 0 ausführt. Das Ergebnis ist, dass bei SetTimerEx überreste gibt die nicht richtig weggeräumt wurden.. Somit wird dann mehr Speicher benützt, je länger der Server läuft.

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Trooper, drück mal in einem GTA Fahrzeug was ca 10km/h fährt so oft wie möglich die aussteige Taste, dann haste dein OnPlayerExitVehicle und wenn jetzt sagen wir in einer Stunde 1000 mal ein Auto verlassen wurde (und per PlayerState abgefragt wird), so häuft sich das ein bisschen zusammen... Was wirklich schonend wäre ein globaler Timer der nur die verbundenen Spieler durchgeht!

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!