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 )