[INC]BFX Fahrzeug Klasse

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 hab wieder Langeweile gehabt da hab ich mir gedacht ich bau eine Hilfsdatei die sich Speziell auf
    das Speichern & verändern der Fahrzeuge bezieht sprich ein vereinfachung damit andere Leute sich leichter ein
    Kleines Fahrzeug System erstellen können es verfügt über folgende Funktionen


    INFO: Das System arbeitet über Cache System also keine unnötigen Zugriffe auf die Datei sondern Direkt im Skript,
    es werden keine externen Speicher Methoden genutzt also eine Rohe Datei.


    createFlagVehicle(fmodel,Float:fx,Float:fy,Float:fz,Float:fa,fowner[],fteam,fcolor0 = -1,fcolor1 = -1,price = 0,fpaint = 0,flocked = 0);

    • Erstellt ein Fahrzeug, muss aber einmalig angewandt werden so dass das Fahrzeug in die Cache geschrieben wird


    killFlagVehicle(vehicleid);

    • Löscht ein Fahrzeug aus der Cache sprich wenn die Fahrzeug ID eines der Speziellen Fahrzeuge ist


    isVehicleLocked(vehicleid);

    • Fragt ab ob das Fahrzeug verschlossen ist


    setVehicleLock(vehicleid,lock);

    • Setzt den Status Verschlossen/nicht Verschlossen ( 1/0 )


    getVehicleColors(vehicleid,color0,color1);

    • Gibt die Fahrzeugfarben in die angegebenen Variablen wieder


    setVehicleColors(vehicleid,color0,color1);

    • Setzt die Fahrzeug Farben in der Cache nicht Visuell


    getVehiclePaint(vehicleid);

    • Gibt die Lackierung wieder


    setVehiclePaint(vehicleid,paintjob);

    • Setzt die Lackierung in der Cache nicht Visuell


    setVehicleOwner(vehicleid,const nname[]);

    • Legt den Besitzer fest


    getVehicleOwner(vehicleid);

    • Gibt den Besitzer zurück


    setVehicleTeam(vehicleid,teamnum)

    • Setzt das Team


    getVehicleTeam(vehicleid);

    • Gibt das Team wieder in Form einer Nummer


    setVehiclePosition(vehicleid,Float:achseX,Float:achseY,Float:achseZ,Float:achseA);

    • Setzt die Park Position in der Cache


    getVehiclePosition(vehicleid,&Float:achseX,&Float:achseY,&Float:achseZ,&Float:achseA);

    • Gibt die Park Position aus der Cache wieder


    getVehicleFlagID(vehicleid);

    • Gibt die Virtuelle ID wieder sprich nicht die echte sondern den Cache Slot


    isFlagVehicle(vehicleid);

    • Fragt ab ob es ein Spezielles Fahrzeug ist


    doLoadVehicles(const byfile[]);

    • Lädt Fahrzeuge aus der gewünschten Datei


    doSaveVehicles(const byfile[]);

    • Speichert alle Daten aus der Cache


    setVehiclePrice(vehicleid,price);

    • Setzt den Preis des Fahrzeugs


    getVehiclePrice(vehicleid);

    • Gibt den Preis wieder


    renewVehicle(vehicleid);

    • Lädt das Fahrzeug neu aus der Cache


    Die Makros...


    #define MAX_TEAM_NAME 32

    • Maximale Länge für Team Namen

    #define MAX_OWNER_NAME MAX_PLAYER_NAME

    • Maximale Länge für Namen der Besitzer

    #define MAX_FLAG_VEHICLE 270

    • Maximale Cache Slots für die jeweilige Anzahl der Fahrzeuge

    #define gSTR_MAX 128

    • Globale Maximale Länge der Texte

    #define INVALID_FLAG_ID (MAX_FLAG_VEHICLE+1)

    • Ungültige Slot ID

    #define VALID_FORMAT 24

    • Klammern die Minimal in einer Linie vorhanden sein müssen um Fehler zu vermeiden

    #define CHECK_FORMAT

    • Schaltet die Funktion ein die zum überprüfen des Formats dient damit geschaut werden kann ob auch alle Werte für das Fahrzeug vorhanden sind, kann beliebig ein & ausgeschaltet werden dazu einfach dieses Makro Auskommentieren oder Löschen


    So, wie man sieht sind alle Funktionen schon mal vordefiniert, nun könnt ihr sie so verbauen wie ihr sie braucht, ich habe mal ein Beispiel dabei gelegt damit man das ganze besser versteht & sieht, Achtung ich hab kein Autosave eingebaut sprich ihr müsstest /saveit nutzen da aus welchen Gründen auch immer OnFSExit nicht aufgerufen wird :| naja nichts für ungut im Gamemode sollte aber alles laufen bzw. Funktionieren im Bezug auf OnGameModeExit ^^


    Ich werde bei Bedarf noch ein paar Funktionen dazubauen bzw. verbessern also wenn ihr noch Wünsche habt einfach Posten, ich kann Ideen immer gut gebrauchen


    * Wichtige Fehler wurden behoben
    * Beispiel Skript wurde erweitert
    * Neue Funktionen


    Das Beispiel hat folgende Funktionen bzw. zeigt einen folgende Funktionen


    • Setzen der Position ( /parken )
    • Neues Fahrzeug Direkt im Spiel erstellen ( /newcar model farbe 1 farbe 2 Preis Besitzer )
    • Tuning wird neu geladen bzw. Daten werden neu geladen sobald das Auto zerstört wird
    • Nach dem erneuten Parken wird das Auto dort erst auftauchen sobald es einmal zerstört wurde ( Zeigt im Grunde wie man aus der Cache neu Laden kann )

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


    3 Mal editiert, zuletzt von BlackFoX ()