/motor mit Tastenabfrage

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 Community,


    da ich nun einen funktionierenden /motor Befehl habe, wollte ich fragen wie das mit den Tastenabfragen funktioniert.
    Ich würde es gerne so machen, dass wenn ich Taste "N" drücke, der Motor startet.
    Wenn ich erneut Taste "N" drücke, soll der Motor wieder stoppen.
    Leider funktioniert das nicht genau so wie mit dem Gebäude betreten & verlassen.


    Wie kann ich das nun für den /motor Befehl machen?
    Danke im Voraus


    MfG Tobi_Wayne




    /motor Befehl


    cmd:motor(playerid,params[])
    {
    if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER)
    return 1;


    new vID=GetPlayerVehicleID(playerid),
    tmp_engine,
    tmp_lights,
    tmp_alarm,
    tmp_doors,
    tmp_bonnet,
    tmp_boot,
    tmp_objective;
    //Motor an/ausschalten
    GetVehicleParamsEx(vID, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective);
    if(tmp_engine==1){
    tmp_engine = 0;
    }else{
    tmp_engine = 1;
    }
    SetVehicleParamsEx(vID, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective);
    return 1;
    }

  • Unter OnPlayerKeyStateChange():

    if(newkeys && KEY_NO){
    if(IsPlayerInAnyVehicle(playerid)) && GetPlayerVehicleSeat(playerid) == 0){


    new vID=GetPlayerVehicleID(playerid),
    tmp_engine,
    tmp_lights,
    tmp_alarm,
    tmp_doors,
    tmp_bonnet,
    tmp_boot,
    tmp_objective;
    //Motor an/ausschalten
    GetVehicleParamsEx(vID, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective);
    if(tmp_engine==1){
    tmp_engine = VEHICLE_PARAMS_OFF;
    }else{
    tmp_engine = VEHICLE_PARAMS_ON;
    }
    SetVehicleParamsEx(vID, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective);
    return 1;
    }else{
    return 1;
    }
    }


    Aus dem Kopf geschrieben, ungetestet.

  • Danke dir!
    Leider kommen aber 4 Errors.


    C:\Users\Ralli\Desktop\Selfmade\gamemodes\SELFMADE.pwn(1187) : error 029: invalid expression, assumed zero
    C:\Users\Ralli\Desktop\Selfmade\gamemodes\SELFMADE.pwn(1187) : error 017: undefined symbol "GetPlayerSeat"
    C:\Users\Ralli\Desktop\Selfmade\gamemodes\SELFMADE.pwn(1187) : error 029: invalid expression, assumed zero
    C:\Users\Ralli\Desktop\Selfmade\gamemodes\SELFMADE.pwn(1187) : fatal error 107: too many error messages on one line