Hallo zusammen
in diesem Tutorial stelle ich euch das Fraktionsfahrzeugsystem vor.
in dieser V.1.0 werde ich die Fahrzeuge im Script definieren
in der kommenden V.1.1 werde ich das ganze auf MYSQL umschreiben was ggf einfacher ist
beide Tutorials werde ich auch aufnehmen damit, wenn fragen aufkommen diese dort ggf gelöst werden
Ihr benötigt folgende Dinge!
- ein Fraktionssystem -> Ränge und Leader definiert
Also wir fangen an!
Inhaltsverzeichnis
1. Autos speichern
1.1 Fahrzeuge speichern
1.2 Daten abrufen
1.3 Fahrzeuge im Script festlegen
2. Fahrzeuge unzugänglich machen
1. Ihr geht ingame und erstellt ein Fahhrzeug
ihr fahrt mit diesem an die Position wo das Fahrzeug stehen soll
dann speichert ihr es mit /save
bsp: /save PDcar1
damit ist das Fahrzeug gespeichert und ihr könnt es nun auslesen
1.2
Ihr geht in Dokumente -> GTA San Andreas User Files -> SAMP -> savedpositions
Dort müsste dann (bei ggf mehreren gespeicherten Positionen ganz unten) eine so aussehende Zeile stehen
AddStaticVehicle(407,1724.4451,-1122.1180,24.3219,184.6226,3,1); // Firetruck 2
Diese Zeile gibt die genaue Poistion, die Fahrzeug iD, die Virtuelle Welt und die Farben an
ihr kopiert sie erstmal mit STRG + C und braucht sie erst gleich
1.3 Im Script
Ihr öffnet euer Script,
anschließend legt ihr bei euren news die Fahrzeuge fest
bsp : new firecars[20];
die 20 gibt die maximale Anzahl der Fahrzeuge an
es ist immer 1 mehr als in der Klammer angegeben
also 20 =21
30 = 31
usw
dann geht ihr zu public Ongamemodeinit
dort definiert ihr das Fahrzeug und erstellt es zugleich beim Server start
z.B.
firecars[0] = AddStaticVehicle(407,1733.4854,-1118.9666,24.3227,181.7693,3,1); // Firetruck 1
dabei erhöht ihr die Zahl in der Klammer immer um 1 (bei jedem Fahrzeug!)
nun ist das Fahrzeug definiert und erstellt
3. Fahrzeug unzugägnlich machen!
Geht in das Public OnPlayerStateChange
Dort habt ihr if(newstate == PLAYER_STATE_DRIVER)
oder
if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
wo ihr das einfügt ist eig egal, ich habe es bei
if(newstate == PLAYER_STATE_DRIVER)
anschließend erstellt ihr dort eine Schleife
for(new i=0; i<sizeof(firecars); i++)
{
//die schleife fragt die maximale zahl der definierten Fahrzeuge ab
if(GetPlayerVehicleID(playerid) == firecars[i])
{
if(isPlayerInFrak(playerid,1)) //Hier fragt ihr ab in welcher Fraktion der Spieler sein soll , 1 ist bei mir die Feuerwehr
{
return 1;
}
else //Spieler ist nicht in feuerwehr Frak //sollte er nicht in der Fraktion sein schmeißt ihr ihn aus dem Fahrzeug
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,RED,"Du bist kein Member/Leader der Feuerwehr");
return 1;
}
}
}
Nun habt ihr eine Schleife die abfragt ob er das Fahrzeug betreten darf
dies könnt ihr nun mit allen Fraktionen machen
Natürlich könnt ihr hier noch ein Einbruchsystem und allem drum und dran einbauen was ich ggf auch noch machen werde
Ich freue mich über jede Bewertung
MFG
Ultimatrum