motor 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
  • Guten Tag Community,


    habe ein Motor befehl zusammen gebastelt aber es funktioniert irgendwie nicht.


    Hier mein Befehl:


    if(newkeys & KEY_YES)
    {
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return SendClientMessage(playerid,COLOR_GRAU,"Du bist kein Fahrer eines Fahrzeuges");
    new vehicleid;
    vehicleid = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    if(engine == 1)
    {
    engine = 1;
    SendClientMessage(playerid,COLOR_WHITE,"Info: Der Motor wurde ausgeschaltet.");
    }
    else if(engine == 0)
    {
    engine = 0;
    SendClientMessage(playerid,COLOR_WHITE,"Info: Der Motor wurde eingeschaltet.");
    }
    SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    }

  • if(newkeys & KEY_YES)
    {
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return SendClientMessage(playerid,COLOR_GRAU,"Du bist kein Fahrer eines Fahrzeuges");
    new vehicleid;
    vehicleid = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    if(engine == 1)
    {
    engine = 0;
    SendClientMessage(playerid,COLOR_WHITE,"Info: Der Motor wurde ausgeschaltet.");
    }
    else if(engine == 0)
    {
    engine = 1;
    SendClientMessage(playerid,COLOR_WHITE,"Info: Der Motor wurde eingeschaltet.");
    }
    SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    }


    Du hattest die Zahlen vertauscht.


    EDIT:
    Siehe auch hier: http://forum.sa-mp.de/gta-mult…lock-befehl-2#post2012021

  • public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(newkeys & KEY_YES)
    {
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return SendClientMessage(playerid,COLOR_GRAU,"Du bist kein Fahrer eines Fahrzeuges");
    new vehicleid;
    vehicleid = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    if(engine == 1)
    {
    engine = 0;
    SendClientMessage(playerid,COLOR_WHITE,"Info: Der Motor wurde ausgeschaltet.");
    }
    else if(engine == 0)
    {
    engine = 1;
    SendClientMessage(playerid,COLOR_WHITE,"Info: Der Motor wurde eingeschaltet.");
    }
    SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    }
    return 1;
    }

  • Was steht im Server Log, wenn du die Taste drückst und das hier einfügst?
    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    printf("playerid: %d, newkeys: %d | %d", playerid, newkeys, newkeys & KEY_YES);
    if(newkeys & KEY_YES)
    {
    printf("Key erkannt, state: %d", GetPlayerState(playerid));
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return SendClientMessage(playerid,COLOR_GRAU,"Du bist kein Fahrer eines Fahrzeuges");
    new vehicleid;
    vehicleid = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    printf("vehicleid: %d, engine: %d", vehicleid, engine);
    if(engine == 1)
    {
    printf("Aus");
    engine = 0;
    SendClientMessage(playerid,COLOR_WHITE,"Info: Der Motor wurde ausgeschaltet.");
    }
    else if(engine == 0)
    {
    printf("Ein");
    engine = 1;
    SendClientMessage(playerid,COLOR_WHITE,"Info: Der Motor wurde eingeschaltet.");
    }
    printf("Fertig");
    SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    }
    printf("Ende");
    return 1;
    }

  • Habe es nochmal versucht jetzt kam das raus


    [19:27:27] playerid: 0, newkeys: 8 | 0
    [19:27:27] Ende
    [19:27:31] playerid: 0, newkeys: 0 | 0
    [19:27:31] Ende
    [19:27:32] playerid: 0, newkeys: 8 | 0
    [19:27:32] Ende
    [19:27:33] playerid: 0, newkeys: 0 | 0
    [19:27:33] Ende
    [19:27:35] playerid: 0, newkeys: 8 | 0
    [19:27:35] Ende
    [19:27:35] playerid: 0, newkeys: 0 | 0
    [19:27:35] Ende
    [19:27:35] playerid: 0, newkeys: 16 | 0
    [19:27:35] Ende
    [19:27:35] playerid: 0, newkeys: 0 | 0
    [19:27:35] Ende
    [19:27:39] playerid: 0, newkeys: 65536 | 65536
    [19:27:39] Key erkannt, state: 2
    [19:27:39] vehicleid: 1, engine: -1
    [19:27:39] Fertig
    [19:27:39] Ende
    [19:27:39] playerid: 0, newkeys: 0 | 0
    [19:27:39] Ende
    [19:27:40] playerid: 0, newkeys: 8 | 0
    [19:27:40] Ende
    [19:27:40] playerid: 0, newkeys: 0 | 0
    [19:27:40] Ende
    [19:27:40] playerid: 0, newkeys: 65536 | 65536
    [19:27:40] Key erkannt, state: 2
    [19:27:40] vehicleid: 1, engine: -1
    [19:27:40] Fertig
    [19:27:40] Ende
    [19:27:41] playerid: 0, newkeys: 0 | 0
    [19:27:41] Ende
    [19:27:41] playerid: 0, newkeys: 65536 | 65536
    [19:27:41] Key erkannt, state: 2
    [19:27:41] vehicleid: 1, engine: -1
    [19:27:41] Fertig
    [19:27:41] Ende
    [19:27:41] playerid: 0, newkeys: 0 | 0
    [19:27:41] Ende

  • Am besten du änderst den Code:
    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    printf("playerid: %d, newkeys: %d | %d", playerid, newkeys, newkeys & KEY_YES);
    if(newkeys & KEY_YES)
    {
    printf("Key erkannt, state: %d", GetPlayerState(playerid));
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return SendClientMessage(playerid,COLOR_GRAU,"Du bist kein Fahrer eines Fahrzeuges");
    new vehicleid;
    vehicleid = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    printf("vehicleid: %d, engine: %d", vehicleid, engine);
    if(engine != 0)
    {
    printf("Aus");
    engine = 0;
    SendClientMessage(playerid,COLOR_WHITE,"Info: Der Motor wurde ausgeschaltet.");
    }
    else
    {
    printf("Ein");
    engine = 1;
    SendClientMessage(playerid,COLOR_WHITE,"Info: Der Motor wurde eingeschaltet.");
    }
    printf("Fertig");
    SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    }
    printf("Ende");
    return 1;
    }


    Dann geht es.