Licht ein/aus via [+] Taste

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 leuts....


    Ich glaube men hirn läuft heute auf Standby..
    an den einfachsten sachen scheiter ich heute 8|
    Ich muss es aber unbedingt fertig stellen,
    könnt ihr mir helfen? :D


    Allso es geht um folgendes


    Habe ein motorsystem und licht system...
    Der Motor Funktioniert... einwandfrei mit der rechten STRG taste
    Aber das licht... mhh es geht an! aber nicht wieder aus 8|


    Hier mein Komplettes
    OnPlayerKeyStateChange Callback


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if ( newkeys == (132) ) {
    if(GetPlayerVehicleSeat(playerid) == 0) {
    new car = GetPlayerVehicleID(playerid);
    if(GetVehicleModel(car) == 509 || GetVehicleModel(car) == 481 || GetVehicleModel(car) == 510) {
    SendClientMessage(playerid, error, "Ein Fahrrad hat kein Motor.");
    }
    else if (Motor[car] == false) {
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    if ( Tank[car] >= 1 ) { Motor[car] = true; SetVehicleParamsEx(car,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective); }
    else { Motor[car] = false; SetVehicleParamsEx(car,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective); GameTextForPlayer(playerid,"~w~~n~~n~~n~~n~~n~~n~~n~~n~Der Tank ist leer!",3000,3); }
    }
    else {
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    Motor[car] = false;
    }
    }
    }

    if ( newkeys == (512) ) {
    new status;
    new bool:licht[MAX_VEHICLES];
    //new engine,lights,alarm,doors,bonnet,boot,objective;
    if(IsPlayerInAnyVehicle(playerid))
    {
    new vid = GetPlayerVehicleID(playerid);
    if(status == 0)
    {
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
    licht[vid] = true;
    status = 1;
    }
    else if(status == 1)

    {
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
    licht[vid] = false;
    status = 0;
    }
    }
    return 1;
    }


    return 1;
    }


    Wie gesagt alles geht... nur das Licht geht nicht wieder aus!
    Ich denke mal dass da nur n dummer denkfeheler drinne ist



    MFG

  • if ( newkeys == (512) )
    {
    new bool:licht[MAX_VEHICLES]; // Diese Variable global definieren, anstatt lokal.
    //new engine,lights,alarm,doors,bonnet,boot,objective;
    if(IsPlayerInAnyVehicle(playerid)) {
    new vid = GetPlayerVehicleID(playerid);
    if(!licht[vid]) {
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
    licht[vid] = true;
    }
    else if(licht[vid]) {


    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
    licht[vid] = false;
    }
    }

    So sollte es gehen.


    Mit freundl. Grüßen
    Padarom

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

  • Laut Wiki haben KEY_SUBMISSION und KEY_LOOK_BEHIND den Wert 512. Wenn er eins von beiden auf + gelegt hat, stimmt das also.

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

  • Jop es get um KEY_SUBMISSION ^^
    Nunja, es geht immernoch an aber nicht wieder aus...
    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if ( newkeys == (132) ) {
    if(GetPlayerVehicleSeat(playerid) == 0) {
    new car = GetPlayerVehicleID(playerid);
    if(GetVehicleModel(car) == 509 || GetVehicleModel(car) == 481 || GetVehicleModel(car) == 510) {
    SendClientMessage(playerid, error, "Ein Fahrrad hat kein Motor.");
    }
    else if (Motor[car] == false) {
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    if ( Tank[car] >= 1 ) { Motor[car] = true; SetVehicleParamsEx(car,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective); }
    else { Motor[car] = false; SetVehicleParamsEx(car,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective); GameTextForPlayer(playerid,"~w~~n~~n~~n~~n~~n~~n~~n~~n~Der Tank ist leer!",3000,3); }
    }
    else {
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    Motor[car] = false;
    }
    }
    }

    if ( newkeys == (512) )
    {
    new bool:licht[MAX_VEHICLES]; // Diese Variable global definieren, anstatt lokal.
    //new engine,lights,alarm,doors,bonnet,boot,objective;
    if(IsPlayerInAnyVehicle(playerid)) {
    new vid = GetPlayerVehicleID(playerid);
    if(!licht[vid]) {
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
    licht[vid] = true;
    }
    else if(licht[vid]) {


    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
    licht[vid] = false;
    }
    }
    }
    return 1;
    }

  • Hast du auch das gemacht, was ich ins Kommentar geschrieben hab?
    new bool:licht[MAX_VEHICLES];
    Das muss da weg und global definiert werden. Ansonsten wird das ja auch nicht gespeichert.

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger