Taste drücken = Licht an/aus

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
  • Heii..


    Ich habe eine Frage..
    Wie kann ich es einstellen , dass wenn ich zumbeispiel F1 drücke das dann von meinem Fahrzeug das licht angeht?
    Kenne mich damit nicht aus und wollt ma fragen :D


    Bitte Anfängerfreundlich erklären



    Danke

  • Benutzt eigentlich nie jemand das Sa-Mp-Wiki? Da gibt es manchmal ziemlich nützliche Einträge, die die Anwendungsart ziemlich genau beschreiben.
    http://wiki.sa-mp.com/wiki/OnPlayerKeyStateChange - Abfrage ob die Taste gedrückt wurde
    http://wiki.sa-mp.com/wiki/SetVehicleParamsEx - Hiermit lassen sich unter anderem die Lichter an/aus schalten.


    PS: Es lassen sich nicht alle Keys abfragen. Hier eine kurze Liste, welche die Keys betrifft:
    http://wiki.sa-mp.com/wiki/GetPlayerKeys

  • hier: (gucke es dir aber an, sonst kannste es nächstesmal auch net)


    ganz oben:

    new bool:Licht[MAX_VEHICLES]=false;


    unter OnVehicleSpawn:

    Licht[vehicleid] = false;



    unter OnPlayerKey...

    if(newkeys == 65536)//Deine Taste | Jetzt machst du mit der Taste "Z" das lich an und aus
    {
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFF0000FF, "Du bist in keinem Fahrzeug");
    if(GetPlayerVehicleSeat(playerid) == 0) {
    new car = GetPlayerVehicleID(playerid);
    if(GetVehicleModel(car) == 0) {
    }
    else if (Licht[car] == false) {
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    { Licht[car] = true; SetVehicleParamsEx(car,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective); }
    else { Licht[car] = false; SetVehicleParamsEx(car,engine,VEHICLE_PARAMS_OFF,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,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
    Licht[car] = false;
    }
    }
    return 1;
    }


    So müsste es gehen!

    Scripter im Ruhestand.

  • Angenommen du hockst in einem Car


    und drückst dann Zb die ALT Taste


    dann soll der das Licht An/Aus machen


    ._______________________


    unter OnPlayerKeyStateChange()
    {
    //Abfragen welle Taste er gedrückt hat und Ob Player im Car auf Platz 0(fahrer) sitzt
    //dann wenn Licht schon an ist mach es aus mit
    //SetVehiclePara.....
    //wenn es schon aus ist dann mach es an mit
    // SetVehiclePara.....
    }


    Scripter4.0
    kannst du auch erklären ohne dinger die der TE vll nicht hat ?


    wenn ic hejtt deins nehmen würde würden mit 25errors kommen

  • genau das meinte ich denn sein script übereinstimmt nicht mit deinem


    @ Hellfire
    pass mal den code deinem script an


    un den einfach copy&PAste

  • mache es mal genau so:


    ganz oben:

    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vehicleid,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
    new bool:Licht[MAX_VEHICLES]=false;


    unter OnVehicleSpawn:

    Licht[vehicleid] = false;



    unter OnPlayerKey...

    if(newkeys == 65536)//Deine Taste | Jetzt machst du mit der Taste "Z" das lich an und aus
    {
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFF0000FF, "Du bist in keinem Fahrzeug");
    if(GetPlayerVehicleSeat(playerid) == 0) {
    new car = GetPlayerVehicleID(playerid);
    if(GetVehicleModel(car) == 0) {
    }
    else if (Licht[car] == false) {
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    { Licht[car] = true; SetVehicleParamsEx(car,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective); }
    else { Licht[car] = false; SetVehicleParamsEx(car,engine,VEHICLE_PARAMS_OFF,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,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
    Licht[car] = false;
    }
    }
    return 1;
    }


    So müsste es gehen!

    Scripter im Ruhestand.

  • ne das wird zu errors kommen


    quelltext überprüfen :thumbup:

  • warte kurz..


    ich mache es nochmal ganz neu, dann muss es gehen..



    probier mal das hier:


    oben:

    new engine,lights,alarm,doors,bonnet,boot,objective;
    new bool:Licht[MAX_VEHICLES]=false;


    unter OnVehicleSpawn:

    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vehicleid,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
    Licht[vehicleid] = false;



    dann unter OnPlayerKeyStateChange:

    if(newkeys == 65536)//Deine Taste | Jetzt machst du mit der Taste "Z" das lich an und aus
    {
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFF0000FF, "Du bist in keinem Fahrzeug");
    if(GetPlayerVehicleSeat(playerid) == 0)
    if(Licht[GetPlayerVehicleID(playerid)] == false)
    {
    new car = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
    }else{
    new car = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
    }
    return 1;
    }



    ich bekomme dann keine errors ist aber nicht getestet!!
    sag bescheid, ob es geht

    Scripter im Ruhestand.

    2 Mal editiert, zuletzt von Scripter4.0 ()

  • Versuch mal

    if(newkeys == KEY_WALK)//Deine Taste | Jetzt machst du mit der Taste "ALT" das lich an und aus
    {
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFF0000FF, "Du bist in keinem Fahrzeug");
    if(GetPlayerVehicleSeat(playerid) == 0)
    if(Licht[GetPlayerVehicleID(playerid)] == false)
    {
    new car = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
    }
    else
    {
    new car = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
    }
    return 1;
    }


    wenn das nicht geht, versuch



    if(newkeys == 1024)//Deine Taste | Jetzt machst du mit der Taste "ALT" das lich an und aus
    {
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFF0000FF, "Du bist in keinem Fahrzeug");
    if(GetPlayerVehicleSeat(playerid) == 0)
    if(Licht[GetPlayerVehicleID(playerid)] == false)
    {
    new car = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
    }
    else
    {
    new car = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
    }
    return 1;
    }

  • probier dies mal:
    ob herauszufinden, ob es überhaupt geht:

    if(strcmp(cmdtext,"/licht",true)==0)
    {
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFF0000FF, "Du bist in keinem Fahrzeug");
    if(GetPlayerVehicleSeat(playerid) == 0)
    if(Licht[GetPlayerVehicleID(playerid)] == false)
    {
    new car = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
    }
    else
    {
    new car = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
    }
    return 1;
    }

    Scripter im Ruhestand.

  • if (strcmp("/licht", cmdtext, true) == 0)
    {
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFF0000FF, "Du bist in keinem Fahrzeug");
    if(GetPlayerVehicleSeat(playerid) == 0)
    if(Licht[GetPlayerVehicleID(playerid)] == false)
    {
    new car = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
    }
    else
    {
    new car = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
    }
    }


    =


    Unknown Command

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen