Advanced Vehicles

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
  • Ich habe aus Langeweile eine kleine Include geschrieben, welche einige neue Funktionen für Fahrzeuge bietet. Bei weiteren Ideen einfach drunter posten ;)


    Funktionen:

    native GetVehiclePaintjob(vehicleid);
    native GetVehicleSpawn(vehicleid, &Float:x, &Float:y, &Float:z, &Float:a);
    native GetVehicleColor(vehicleid, &color1, &color2);
    native GetVehicleRespawnDelay(vehicleid);

    native ToggleEngine(vehicleid);
    native ToggleLights(vehicleid);
    native ToggleAlarm(vehicleid);
    native ToggleDoors(vehicleid);
    native ToggleBonnet(vehicleid);
    native ToggleBoot(vehicleid);
    native ToggleObjective(vehicleid);
    native ToggleStatus(vehicleid, param[])


    Für Vorschläge bin ich jederzeit offen :D
    Falls ihr Bugs oder Fehler findet, einfach Posten ;)


    Pastebin (v1.3) http://pastebin.com/98hem6tU (Vielen Dank Kaliber: )
    Pastebin (v1.2) http://pastebin.com/G06xxrKY
    Pastebin (v1.1) http://pastebin.com/PeSRqbha
    Pastebin (v1.0): http://pastebin.com/jwFJmQXT

  • Ist für Anfänger ganz nützlich, fortgeschrittene würden sich diese Funktion denke mal selber machen.


    Verbesserungsvorschlag.
    Mach aus:
    stock ToggleEngine(vehicleid){
    new bool:engine, bool:lights, bool:alarm, bool:doors, bool:bonnet, bool:boot, bool:objective;
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    return SetVehicleParamsEx(vehicleid, VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
    }

    stock ToggleLights(vehicleid){
    new bool:engine, bool:lights, bool:alarm, bool:doors, bool:bonnet, bool:boot, bool:objective;
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    return SetVehicleParamsEx(vehicleid, engine, VEHICLE_PARAMS_ON, alarm, doors, bonnet, boot, objective);
    }

    stock ToggleAlarm(vehicleid){
    new bool:engine, bool:lights, bool:alarm, bool:doors, bool:bonnet, bool:boot, bool:objective;
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    return SetVehicleParamsEx(vehicleid, engine, lights, VEHICLE_PARAMS_ON, doors, bonnet, boot, objective);
    }

    STOCK ToggleDoors(vehicleid){
    new bool:engine, bool:lights, bool:alarm, bool:doors, bool:bonnet, bool:boot, bool:objective;
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    return SetVehicleParamsEx(vehicleid, engine, lights, alarm, VEHICLE_PARAMS_ON, bonnet, boot, objective);
    }

    STOCK ToggleBonnet(vehicleid){
    new bool:engine, bool:lights, bool:alarm, bool:doors, bool:bonnet, bool:boot, bool:objective;
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    return SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, VEHICLE_PARAMS_ON, boot, objective);
    }

    STOCK ToggleBoot(vehicleid){
    new bool:engine, bool:lights, bool:alarm, bool:doors, bool:bonnet, bool:boot, bool:objective;
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    return SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, VEHICLE_PARAMS_ON, objective);
    }

    STOCK ToggleObjective(vehicleid){
    new bool:engine, bool:lights, bool:alarm, bool:doors, bool:bonnet, bool:boot, bool:objective;
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    return SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, VEHICLE_PARAMS_ON);
    }


    Nur eine Funktion.
    Halt noch mit einem 2.ten Parameter.
    z.B
    stock ToggleStatus(vehicleid, param[]){}

    Einmal editiert, zuletzt von Kasakow ()

  • [DT]Sniper: Könntest du mir vllt ein paar Beispiele nennen? Ich wollte evtl noch eine Kilometerabfrage rein machen, wie findest du die Idee? ^^


    gibts ja auch schon.



    es gibt möglichkeiten genaustens abzufragen was wie wo am Fahrzeug kaputt ist, doch dies ist nicht mal eben in 3 min gemacht.
    Genauso kann man machen, dass man genau die rechte Tür vom Script aus verbeult haben will.

  • es gibt möglichkeiten genaustens abzufragen was wie wo am Fahrzeug kaputt ist, doch dies ist nicht mal eben in 3 min gemacht.


    Die Funktionen auf die du anspielst sind GetVehicleDamageStatus und UpdateVehicleDamageStatus


    Und doch eigentlich ist es relativ einfach damit zu arbeiten, einfach mit format die nummer in eine binär Zahl umwandeln und schwupp kann man im String damit super arbeiten ^^


    Ist jetzt nicht allzuschwer, zudem da noch eine genaue Erklärung steht:


    http://wiki.sa-mp.com/wiki/DoorStates


    Also Exod_Martinez: Kannste dir ja mal anschauen und gucken ob du es umsetzen willst ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Wie schön, dass niemand gemerkt hat, dass ToggleEngine (und die anderen) gar nicht funktioniert


    Ich geb dir mal einen Tipp, mach es einfach so:


    stock ToggleEngine(vehicleid){
    static tmp[7];
    GetVehicleParamsEx(vehicleid, tmp[0],tmp[1],tmp[2],tmp[3],tmp[4],tmp[5],tmp[6]);
    return SetVehicleParamsEx(vehicleid,!tmp[0],tmp[1],tmp[2],tmp[3],tmp[4],tmp[5],tmp[6]);
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • Sehr gute idee, danke, habe nicht dran gedacht, dass VEHICLE_PARAMS_OFF im Endeffekt einfach nur "null" (0) ist :D
    Wird direkt gemacht ;)


    Neue Version ist da, danke Kaliber:


  • Ach echt...? :huh:


    Bei mir macht das nur die Stoßstange kaputt :D


    Kannst ja mal schauen, hab mal was kleines geschrieben: [ INCLUDE ] Vehicle Damage Control


    Ja? Was ist mit nem flugzeug? Dort kannst du einzelne Ruder etc kaputt machen und so extrem aufs Flugverhalten einfluss nehmen.