Motor anschalten auf Tastendruck will nicht wie ich will o0

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


    Ich scripte gerade an meinem GM rum aber irgendwie will ein befehl nicht wie ich will.
    ich habe gescriptet das mein Motor auf der Taste Shift an bzw ausgehen soll


    bekomme keine errors , gut. Nur wenn ich das im Server teste will der net wie ich will entweder passiert nichts oder nach einiger zeit geht der an . sobald ich dann wieder drücke geht der iwann auch aus. aber wenn ich aus dem veh raus bin und shift drücke zeigt der mir DIREKT(!) an das ich nicht im Auto bin ! oô


    hier der pawn ausschnitt:
    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    new vid;
    vid = GetPlayerVehicleID(playerid);
    if(newkeys == (KEY_JUMP))
    {
    if(!IsPlayerInAnyVehicle(playerid) || GetPlayerState(playerid) != PLAYER_STATE_DRIVER) //Wenn er in keinem Auto ist oder ...
    {
    SendClientMessage(playerid,ROT,"* Du must in einem Auto sein.");
    return 1;
    }
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective); //Als erstes lesen wir mal alles aus.
    if(motor[vid] == true) //Und schon brauchen wir die bool die wir oben definiert haben. Damit speichern wir den Status des Motors um zu erkennen ob er an oder aus ist.
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective); //Hier kommt dann VEHICLE_PARAMS_ON zum einsatz. Das haben wir oben auch definiert.
    SendClientMessage(playerid,GRUEN,"Du hast den Motor ausgeschaltet.");
    motor[vid] = false; //Hier müssen wir die Variable (bool) wieder ändern, damit alles klappt.
    }
    else if(motor[vid] == false) //Und wenn der Motor aus ist, wird VEHICLE_PARAMS_OFF benutzt um den Motor wieder auszuschalten.
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid,GRUEN,"Du hast den Motor gestartet.");
    motor[vid] = true;
    }
    return 1;
    }
    return 0;
    }


    MfG SuperQueckSilber

    Arbeite an meinem eigenen Projekt :)


    Pure RealLife [PRL]


    Release:2011
    Erster Buchstabe im Script aufgetreten:26.7.2011



  • du prüfst die Keys auch falsch


    das musst newkey & KEY_JUMP machen nicht newkeys == KEY_JUMP
    wenn man aufmerksam die wiki liest weiß man das auch

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski