[align=center][b][align=center]Liebe Community,
heute möchte ich euch ein einfaches Torsystem beibringen.
Ich benutze in diesem Tutorial das LSPD Tor, es geht jedoch mit jedem Tor. Ihr müsst nur die
Koordinaten ändern!
________________________________________________________________
Ihr benötigt:
- die Geschlossene Position des Tores (z.B. mit MTA gemappt)
- die Geöffnete Position des Tores
________________________________________________________________
Schritt 1:
________________________________________________________
Ganz nach oben zu den new's forward's und define's erstellen wir eine neue Variable und einen forward.
new LSPDTor = 0;
forward LSPDClose();
Mit new wird eine neue Variable festgelegt,
mit forward erstellen wir einen neuen puclic.
________________________________________________________________
Schritt 2:
________________________________________________________
nun müssen wir die Koordinaten des Tores in unser Script einfügen, so das das Tor erstellt wird!
!WICHTIG!
nur die Koordinaten des Geschlossenen Tor!
---
Ein neues Objeckt erstellt man mit der Funktion:
CreateObject
Folgende Daten verden für CreateObject benötigt:
modelid = Die model-ID die das Objeckt besitzt (nicht die objecktid im script)
Float:X = Die Position auf der X - Achse
Float:Y = Die Position auf der Y - Achse
Float:Z = Die Position auf der Z - Achse
Float:rX = Die Rotation auf der X - Achse
Float:rY = Die Rotation auf der Y - Achse
Float:rZ = Die Rotation auf der Z - Achse
___________________________________________________________________________
hier gillt es zu wissen:
Es gibt verschiedene Arten von Variablen. 3 Der wichtigsten:
-Strings: Strings sind Variablen, die einen Text Speichern
-Integer(Int): Ganzzahlen, sie können keine kommastellen speichern
-Float: Floats sind wie Integer, nur das sie Zahlen mit kommastellen speichern können!
___________________________________________________________________________
Fertig sähe dies so aus (für das LSPD Tor):
CreateObject(972, 1584, -1642, 9.5, 0, 0, 90); //CreateObject(Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ);
Das wird einfach unter dem public OnGameModeInit eingefügt!
________________________________________________________________
Schritt 3:
________________________________________________________
jetzt dem Objeckt eine "neue ID" im Script zuweisen, damit wir ihn besser "steuern" können. Täten wir dies nicht,
müssten wir immer wenn wir ein Objeckt erstellen, nachzählen, an welcher stelle es in das Spiel erstellt wird,
da dies dann die Objeckt ID ist!
Dies machen wir ganz leicht, indem wir unsere Variable LSPDTor vor das CreateObjeckt schreiben.
LSPDTor = CreateObject(972, 1584, -1642, 9.5, 0, 0, 90);
________________________________________________________________
Schritt 4:
________________________________________________________
Nun müssen wir den public:
OnPlayerKeyStateChange
finden!
Wer diesen public nicht in seinem Script drinne hat, der füngt einfach außerhalb eines pulics folgendes ein:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys){ return 1;}
Dort wird abgefragt, welche Taste der Spieler grade drückt.
hier fügen wir folgendes ein:
if(newkeys == 2)
{
}
damit fragen wir ab, ob der Spieler die Taste mit der ID 2 drückt.
Die ID's der Tasten findet ihr hier.
_____________
Nun fragen wir ab, ob der Spieler in der nähe des Tores ist, das wir erstellt haben.
Dies fragen wir wieder mit einem if-Befehl ab.:
if(IsPlayerInRangeOfPoint(playerid,20,1584, -1642, 9.5)
Erklärung:
Die playerid steht dafür, dass er es nur für den spieler abfragt, der die Taste gedrückt hat.
Die 20 stehen für den Radius um die Koordinaten in dem sich der Spieler befinden muss.
Die 1584 ist die X-Koordinate des Tores
Die -1642 ist die Y-Koordinate des Tores
Die 9.5 ist die Z-Koordinate des Tores