Hallöle,
hier ein kleines Skript, womit man ein Projektil in den Himmel feuern kann und es dann wieder runterkommt.
Angestoßen durch den Thread: SA:MP Mörser 1 & 2 WK.
Nur kurz als Information:
Das Include dient eher als Prototyp für Skripter und nicht direkt für Endnutzer.
Primär ging es mir nur darum, dass das Projektil einen Bogen fliegt und nicht straight einfach wie von einem Raketenwerfer gefeuert fliegt.
Habe mal mit ein paar schönen Bällchen die Flugbahn simuliert:
Funktionen im Include:
/*
Erstellt eine Route mit den Bällchen von Punkt A nach Punkt B.
(Dient nur zur Demonstration ist für die eig Missile nicht notwendig)
*/
ShowRoute(Float:x,Float:y,Float:z, Float:x2,Float:y2,Float:z2);
DestroyRoute(); //Löscht die Route eben wieder
/*
Rakete fliegt von Punkt A nach Punkt B.
In dem Bogen, der per ShowRoute angezeigt werden kann.
*/
StartMissile(Float:x,Float:y,Float:z, Float:x2,Float:y2,Float:z2);
Es gibt einen Callback:
public OnMissileFinished(Float:x,Float:y,Float:z)
{
CreateExplosion(x,y,z,2,20); //Damit es bumms macht
return 1;
}
Das erstellt am Zielort eine Explosion, wenn die Rakete eben da ist (Rakete wird automatisch zerstört).
Wenn die Rakete höher fliegen soll, kann man einfach mit dem Define MAX_MISSILE_HEIGHT ein wenig rumspielen
BUGs:
Also die Ziel und End Höhe (Z-Koordinate) sollte ca gleich sein, ansonsten kommt es zu Fehlern.
Dann bleibt die Rakete über dem Ziel oder unter dem Ziel hängen. Allerdings sind die End-Koordinaten bei OnMissileFinished, immer die des Ziels!
Downlaod: PasteBin
Related Work:
https://forum.sa-mp.com/showthread.php?t=630602
https://forum.sa-mp.com/showthread.php?t=446286
https://forum.sa-mp.com/showthread.php?t=591010
Mit freundlichen Grüßen,
Euer Kalle