Teste für 3 Sekunden gedrückt halten

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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 versuche derzeit den Motor über ein 3 Sekündiges Halten der Taste "W" zu starten, allerdings komme ich nicht ganz dahinter wie das funktionieren sollte.
    Nun meine Frage: Wäre jemand so freundlich und würde mir einen Denkanstoß geben?


    Mit freundlichen Grüßen! :)

  • #define HOLDING(%0) \
    ((newkeys & (%0)) == (%0))


    if (HOLDING( KEY_SPRINT ))



    new time = 0;
    if (HOLDING( KEY_SPRINT ))
    {
    time++;
    if(time >= 3)
    {
    //Motorstarten
    time = 0;
    } else time = 0;
    }


    Habe sowas noch nicht gemacht, aber so "sollte" es gehen.


    Wenn nicht startest du da einfach einen Timer der 3 Sekunden geht und stoppst diesen sofern die Taste losgelassen wird. "released"
    http://wiki.sa-mp.com/wiki/OnP…_for_a_key_being_released


    Lg


    /edit

    Alternative mit 'Key Released'

    new motorTimer[MAX_PLAYERS];
    if((newkeys & KEY_FIRE))
    {
    motorTimer[playerid] = SetTimerEx("MotorStarten", 3000, false, "i", playerid);
    }
    if ((oldkeys & KEY_SPRINT) && !(newkeys & KEY_SPRINT))
    {
    KillTimer(motorTimer[playerid]);
    }