Objekte die mit Objekten/Spielern Kollidieren

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
  • Hey,


    ich hatte ja vor einiger Zeit den Befehl erstellt mit dem RPG über dem Auto,
    und dass er Rackete abschießt (So wie Hunter und Hydra).
    Aber die Racketen fliegen durch Objekte, und wenn es ein Auto trifft, fliegt
    es einfach weiter und schleudert das Auto weg (Was manchmal lustig aussieht :D)

    Aber ich möchte, wenn es mit einem Objekt/Spieler/Auto kollidiert, dass es
    explodiert. Ist das vielleicht möglich?


    mfg

  • Ich glaube das ist nur auf umständliche Art und Weise möglich.
    Du müsstest jedem Objekt/Auto besonders erstellen und den Positionen eine Variable geben.
    Dann mühsam abfragen ob das gewünschte Objekt in einer Reichweite irgendeines Objektes liegt.


    Kann ich nicht empfehlen :D

  • Also wenn ich den richtigen gedanken habe (falls nicht verbessern pls) musst du jedes Object neu erstellen. Diese dann beispiels weise in ein array tuen. Dann einen Raketen Timer machen, der die ganze Zeit abfragt, ob die Rakete in der nähe eines punktes ist. Da IsPlayerInRangeOfPoint ja in diesem Falle nicht klappen wird. musst du halt die Koordinaten mit ner Formel vergleichen und gucken wie viel differenz ist. Wenn die differenz sehr klein ist, lässt du die Rakete explodieren.

  • #define MAX_OBJECTS 2000;
    new oPosX[MAX_OBJECTS];
    new oPosY[MAX_OBJECTS];
    new oPosZ[MAX_OBJECTS];
    forward CreateDynamicObjectEx(mID ,posX,posY,posZ,rX,rY,rZ);
    public CreateDynamicObjectEx(mID ,posX,posY,posZ,rX,rY,rZ)
    {
    new oID;
    oID = CreateDynamicObject(mID ,posX,posY,posZ,rX,rY,rZ);
    oPosX[oID] = posX;
    oPosY[oID] = posY;
    oPosZ[oID] = posZ;
    return oID;
    }
    so könntest du es erstellen (geht besser ;))
    dann müsstest du nur noch abfragen ob das Objekt(Rakete) in einer Reichweite von Objekt (Schleife) ist


    und ich kanns noch einmal sagen, NICHT zu empfehlen :P

  • Hmm.. Sehe es mir gerade an, aber ich glaube das geht nur am Spielern ;/



    Quelle: forum.sa-mp.com

  • Die verwenden aber eine Standart Waffe Möglichkeiten:


    Die FindPointZ oder wie es hieß Timer und wenn es unter dem Natürlichen Z
    Point ist Hat es getroffen auf ein gebäude und bei Spielern:


    Schleife --> Nahe Spieler vom Objekt mit GetObjectPos Arbeiten wenn keiner da ist die Reichweite erhöhen und nochmal checken und dazu nazürlich
    das PosFindZ das dann returnt und die Schleifen Unterbricht...

  • Eig. schon probiers einfach mal ich würde das ganze so machen: Kleiner Timer,Wenn er niedriger als die PosFindZ ist auflösen und exploadieren oder was die
    rakete machen soll wenn nicht dan checkst du ob ein Spieler in einer minimalen Reichweite zur Rakete ist und wenn Der Spieler Quassi in der Rakete ist oder direkt davor dan Killst du den Timer und machst das Problem: Unter Brücken/Gebäuden ist die PosFindZ natürlich das Dach...