Projektile bouncen lassen

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Projektile bouncen lassen

      Hey zusammen,
      ich würde gerne Projektile(Gun, Shotgun, Grenade) für meine mod bouncen lassen.
      ich habe schon ein wenig herumprobiert und denke zumindest, man muss
      rausbekommen, ob das Projektil an der X oder Y Achse kollidiert.


      Hätte jemand einen Denkanstoß oder falls es nicht der richtige Weg ist, kann
      man mich gerne auch auf den richtigen weisen :P


      Gruß Zylox
    • Hi,
      Bouncing bei Projektilen ist ziemlich lustig und auch gar nicht so schwierig. Arbeitest du schon in 'game/server/entities/projectiles.cpp'?
      Dort findet sich die Entitiy::Tick Funktion die von der CProjectile Klasse überschrieben wird.
      Dort findet sich die Kollisionsüberprüfung durch die Funktion IntersectLine aus CCollision (' game/collision'). Diese besitzt als Parameter die Möglichkeit, die Kollisionsposition zu bekommen.
      Diese kannst du für genau deinen beschriebenen Fall nehmen.
      Eventuell findest du auch noch einen Sourcecode von einer anderen Mod.
      Gruß Pata

      Ps: vlt. Ist es aufgrund der Client prediction sinnvoll ein neues Projektil zu erstellen, bin mir aber gerade nicht sicher ::P:
    • Pata schrieb:

      Hi,
      Bouncing bei Projektilen ist ziemlich lustig und auch gar nicht so schwierig. Arbeitest du schon in 'game/server/entities/projectiles.cpp'?
      Dort findet sich die Entitiy::Tick Funktion die von der CProjectile Klasse überschrieben wird.
      Dort findet sich die Kollisionsüberprüfung durch die Funktion IntersectLine aus CCollision (' game/collision'). Diese besitzt als Parameter die Möglichkeit, die Kollisionsposition zu bekommen.
      Diese kannst du für genau deinen beschriebenen Fall nehmen.
      Eventuell findest du auch noch einen Sourcecode von einer anderen Mod.
      Gruß Pata

      Ps: vlt. Ist es aufgrund der Client prediction sinnvoll ein neues Projektil zu erstellen, bin mir aber gerade nicht sicher ::P:
      Ja ich teste schon ein paar Sachen in der Tick funktion der projectiles.cpp und lasse bei kollision das Projectile explodieren
      und erstelle ein neues. Allerdings ist die neue direction noch falsch :D


      Vielen Dank ich werde mal ausprobieren ob ich das mit der Funktion hinbekomme :)
      Und hättest du vielleicht ein paar Namen von mods, die projektile bouncen lassen :D


      Gruß Zylox
    • Funktioniert jetzt.

      Quellcode

      1. if(GameServer()->Collision()->IsTileSolid((int)prevPos.x, (int)curPos.y)){m_Direction.y = -m_Direction.y;}
      2. if(GameServer()->Collision()->IsTileSolid((int)curPos.x, (int)prevPos.y)){m_Direction.x = -m_Direction.x;}


      mit den zwei if-Anweisungen setze ich die neue Direction und dann erstelle ich einfach ein neues Projektil. (welches die Direction übergeben bekommt)