[INC][BFX] Vehicle Streamer 1.0

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
  • Hallo Leute,


    ich habe gestern eine Map erstellt die über 3k Fahrzeuge enthielt, nun war mein Problem sa-mp unterstützt die ja gar nicht, da hab ich mir einfach einen Fahrzeug Streamer gebaut,
    er beinhaltet alle nötigen Funktionen aber bevor ich euch diese zeige möchte ich euch eine kleine Erklärung zur Installation des Streamers abliefern.


    Installation


    • bfx_vstream.pwn in den Filterscript Ordner & kompilieren, vorher eventuell die Menge der Maximalen Fahrzeuge bestimmen
    • Nun nehmt ihr die die Datei bfx_vStream.inc und packt sie in den Include Ordner damit ihr auch die Verknüpfungen zu den Funktionen habt.
    • packt die bfx_vstream als FS dazu in eure Server Konfiguration
    • Nun könnt ihr euer Skript fügt bfx_vStream als Include File hinzu und nun könnt ihr euer Skript mit folgenden Funktionen schmücken ;)


    Funktionen


    b_CreateVehicle(model,Float:x,Float:y,Float:z,Float:a,Color1,Color2,Interior = 0,virtualworld = 0,Float:StreamDistance = (MAX_STREAM_DIS));

    • Fahrzeug erstellen mit gewünschten Angaben
    • Die Parameter ab Interior sind Optional ( Für die, die nicht wissen was damit gemeint ist sie haben einen Standardwert & müssen nicht extra angegeben werden )

    b_DestroyVehicle(id);

    • Fahrzeug zerstören/löschen

    b_GetVehiclePos(id,&Float:x,&Float:y,&Float:z);

    • Fahrzeug Position ermitteln


    b_GetVehicleZAngle(id,&Float:a);

    • Fahrzeug Ausrichtung ermitteln

    b_SetVehicleToRespawn(id);

    • Fahrzeug erneuern (Respawn)

    b_LinkVehicleToInterior(id,interiorid);

    • Fahrzeug in einen Innenraum setzen


    b_AddVehicleComponent(id,componentid);

    • Fahrzeugkomponenten hinzufügen

    b_RemoveVehicleComponent(id,componentid);

    • Fahrzeugkomponenten löschen

    b_ChangeVehicleColor(id,color1,color2);

    • Fahrzeug Farben setzen

    b_ChangeVehiclePaintjob(id,paintjobid);

    • Fahrzeug Lackierung setzen

    b_SetVehicleHealth(id,Float:health);

    • Fahrzeug Energie setzen

    b_GetVehicleHealth(id,&Float:health);

    • Fahrzeug Energie ermitteln

    b_AttachTrailerToVehicle(id,stream_trailer);

    • Fahrzeuganhänger an ein Fahrzeug hängen ( Hänger muss auch ein Stream Fahrzeug sein )

    b_DetachTrailerFromVehicle(id);

    • Anhänger vom Fahrzeug entfernen

    b_IsTrailerAttachedToVehicle(id);

    • Abfragen ob das Fahrzeug einen Hänger hat

    b_GetVehicleModel(id);

    • Fahrzeug Modell ermitteln

    b_GetVehicleComponentInSlot(id,slot);

    • Fahrzeugkomponenten ermitteln

    b_RepairVehicle(id);

    • Fahrzeug reparieren

    b_GetVehicleStreamID(vehicleid);

    • Fahrzeug Stream ID ermitteln

    b_SetVehicleVirtualWorld(vehicleid,virtualworld);

    • Setzt das Fahrzeug in eine Virtuelle Welt

    b_SetVehiclePos(vehicleid,Float:x,Float:y,Float:z);

    • Fahrzeug Position setzen

    b_SetVehicleZAngle(vehicleid,Float:a);

    • Fahrzeug Ausrichtung setzen


    So das war es zu den Funktionen, der Streamer selber unterstützt soweit so viel Fahrzeug wie ihr möchtet, ich habe ihn Persönlich ja mit 3000 Fahrzeugen getestet,
    er läuft bisher Stabil & Crash Gefahr ist auch gleich 0 sprich der Streamer ist abgesichert.


    So zum Schluss noch die neuen Callbacks & das Hauptskript.


    (( Callbacks Funktionieren wie die Standards nur das sie nur die Stream Fahrzeuge unterstützen sprich normale Fahrzeuge werden nicht beachtet ))
    public OnBFXVehicleStreamerStreamIn(vehicleid)
    public OnBFXVehicleStreamerStreamOut(vehicleid)
    public OnBFXVehicleSpawn(vehicleid)
    public OnBFXPlayerEnterVehicle(playerid,vehicleid,ispassenger)
    public OnBFXPlayerExitVehicle(playerid,vehicleid)
    public OnBFXVehicleMod(playerid,vehicleid,componentid)
    public OnBFXVehiclePaintjob(playerid,vehicleid,paintjobid)
    public OnBFXVehicleRespray(playerid,vehicleid,color1,color2)
    public OnBFXVehicleStreamIn(vehicleid,forplayerid)
    public OnBFXVehicleStreamOut(vehicleid,forplayerid)

    Immer darauf achten das vehicleid != vehicleid sondern die Stream ID benötigt ! dazu verwendet ihr in Kommandos oder so
    wo es nicht vorhanden ist ,,b_GetVehicleStreamID´´ ( !! Die Callbacks geben bereits die StreamID wieder !! )


    So und nun Viel Spaß

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


    5 Mal editiert, zuletzt von BlackFoX ()

  • Nette Sache!
    Dass man gleich in der CreateVehicle-Funktion das Interior festlegen kann, is auch geil....Das erspart einem das LinkVehicleToInterior :D


    Ich scripte NICHT mehr, ich möchte mit NIEMANDEM einen Server aufmachen habe auch NICHTS mehr mit LoH zu tun, also lasst es mit den PNs!

  • Ich mache momentan mein eigenen Streamer. Ich kann aber auch SetVehicleModel machen - Geschieht auch sofort.
    Es wird noch nicht mit Distanz gerabeitet, aber das führe ich nun auch ein.
    Ich kann per Befehl zu jeden Auto teleportieren - aktuelle Position.
    Es kann geparkt werden, jedoch benutze ich grade diese Position nicht.


    P.S Wo ist der Download ? - OK

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Schon längst drin


    Ich zitiere mich selber

    Zitat

    Hab noch was am Kern verbessert so sollte keine unnötigen Ressourcen verbraucht werden bezüglich des Zwischenwelt Features ...

    //é : nun auch Funktion vorhanden um die Fahrzeug Ausrichtung & Position zu bestimmen & eine Info für Leute die damit arbeiten ganz unten im Mainpost , Bitte Lesen! danke

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


    Einmal editiert, zuletzt von BlackFoX ()