Motor Befehl buggt ein wenig

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
  • Guten Abend.
    Wenn ich den Server starte, mich in ein Fahrzeug setze und /motor eingebe, startet der Motor erst nachdem ich das zweite mal /motor eingegeben habe.
    Das könnte eventuell an meiner Variable liegen, die prüfen soll ober der Motor an ist oder aus.
    Da diese ja beim ersten besteigen des Fahrzeuges ja noch keinen Wert hat, deswegen denke ich muss ich den Befehl zweimal eingeben.


    Könnte mir jemand helfen, dass ich den Befehl nur einmal eingeben muss?


    Danke


    if(strcmp("/motor", cmdtext, true, 10) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(motorstatus[playerid]==0)
    {
    new engine, lights, alarm, doors, bonnet, boot, objective;
    motorstatus[playerid] = 1;
    GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(GetPlayerVehicleID(playerid),1,lights,alarm,doors,bonnet,boot,objective);
    return 1;
    }
    else if(motorstatus[playerid]==1)
    {
    new engine, lights, alarm, doors, bonnet, boot, objective;
    motorstatus[playerid] = 0;
    GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(GetPlayerVehicleID(playerid),0,lights,alarm,doors,bonnet,boot,objective);
    return 1;
    }
    }
    return 1;
    }

  • Du kannst dir die Spieler-Variable sparen, da du es direkt über die Funktion abfragen kannst:
    if(strcmp("/motor", cmdtext, true) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new engine, lights, alarm, doors, bonnet, boot, objective;
    GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
    if(engine == 0) engine = 1;
    else engine = 0;
    SetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
    }
    return 1;
    }