Motor geht aus, doch startet nicht..

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
  • Hi ich bins wieder :D


    Ich habe mir grad ein kleines Enginesystem erbastelt, in welchem man LEERTASTE+N gedrückt halten muss, um den Motor zu starten/stoppen.
    Ich kann den Motor stoppen. Starten tut er nicht, warum?
    Code:
    public motortimerON(playerid,vehicleid) {
    if(gettime()-pMotorTime[0][playerid]==2) {
    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    Motor[vehicleid] = true;
    KillTimer(motortimer[0][playerid]);
    pMotorTime[0][playerid] = 0;
    } else {
    pMotorTime[0][playerid] = 0;
    }
    return 1;
    }


    public motortimerOFF(playerid,vehicleid) {
    if(gettime()-pMotorTime[1][playerid]==1) {
    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    Motor[vehicleid] = false;
    KillTimer(motortimer[1][playerid]);
    pMotorTime[1][playerid] = 0;
    } else {
    pMotorTime[1][playerid] = 0;
    }
    return 1;
    }


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(IsPlayerInAnyVehicle(playerid) && GetPlayerVehicleSeat(playerid) == 0) {
    if(HOLDING(KEY_HANDBRAKE) && HOLDING(KEY_NO)) {
    if(Motor[GetPlayerVehicleID(playerid)] == false) {
    pMotorTime[0][playerid] = gettime();
    motortimer[0][playerid]=SetTimerEx("motortimerON",1000,1,"dv",playerid,GetPlayerVehicleID(playerid));
    } else {
    pMotorTime[1][playerid] = gettime();
    motortimer[1][playerid]=SetTimerEx("motortimerOFF",1000,1,"dv",playerid,GetPlayerVehicleID(playerid));
    }
    }
    }
    Der Wagen wird mit gestartetem Motor gespawnt.


    lg

  • Darf ich fragen wieso du überhaupt die Zeit abfragst?
    Der Timer wird erst dann ausgeführt, wenn die angegebene Zeit abgelaufen ist.


    Ja da hast du Recht. In diesem Fall würde es sogar reichen, einfach den Timer zu starten wenn die Taste gedrückt wird, und zu beenden falls sie losgelassen wird.
    Der Timer wird auf die gewünschte Zeit gesetzt, und darf sich nicht wiederholen.


    Wäre hier sicher die schönere Variante.