hlmod.hu
https://hlmod.hu/

Útvonalkeresés [Node + AStar]
https://hlmod.hu/viewtopic.php?f=101&t=31362
Oldal: 1 / 1

Szerző:  DexoN [ 2022.10.09. 23:14 ]
Hozzászólás témája:  Útvonalkeresés [Node + AStar]

Plugin Neve:
Útvonalkeresés [Node + AStar]
Plugint készitette:
DexoN
Játék:
Counter-Strike
Kategória:
Technikai/Fejlesztő
Eredeti link:
Jóváhagyó:


Leírás:
    A plugin segítségével eltudunk helyezni úgynevezett node-okat (téglatesteket) egy adott pálya különböző pontjain, melyeket felhasználva az A* algoritmus kiszámol egy útvonalat A pontból B pontba.

Tudnivalók:
  • /nodes parancs beírásával előugrik a node menü ha definiálva van a pluginban a DEVMODE. Itt hozzáférünk mindenhez, ami a kis nodejainkat érinti.
  • Plugin elején található 2 beállítás:
    • #define DEVMODE: Ezt akkor használjuk, ha babráljuk a nodejainkat. Ha nem, akkor rakjunk "//" jelet elé.
    • #define MAX_NODES: Alapvetően ez az érték 256, mely értelemszerűen a maximum node számért felelős.
  • Létrehozott nodeokat illetve annak információt az addons/amxmodx/configs/NodeSystem mappába menti az adott pálya nevén. (pl. de_dust2.cfg)
  • DEVMODE-ban egy konzol paranccsal (path x y) lehetőségünk van tesztelni az útvonaltalálást.
  • Rossz útvonal / argumentumok (pl. #-1 node) esetén a plugin logol a Bad_Path.log fájlba.

Node létrehozása:
  • 2 node összekapcsolásához az egyiknek valamely pontjának benne kell lennie a másikban.
  • NPC használata esetében ügyelni kell arra, hogy a faltól mért távolságot tiszteletben tartsuk mikor elhelyezzük a nodeot, tehát férjen el az a szegény entity.
  • Létrehozáskor egy átló két pontját határozzuk meg, ez alapján fog kirajzolódni a téglatestünk.
  • Mivel alapvetően NPC navigálására lett tervezve, ezért betudjuk állítani a nodeon belüli cselekvést. Ez többféle is lehet:
      NORMAL, //Piros
      DUCK, //Sárga
      JUMP, //Lila
      LADDER, //Rózsaszín
      SPECIAL //Világoskék
    (a színek a téglatest színét jelentik)

Használat:
    NPC Példa:
      Kód:
      static Array:g_aPath[256]; //Ez a szám CSAK egy példa. Általánosságban ezt az értéket érdemes megadni, de figyelnünk kell az adott mapon lévő entityk számára, melyek együttese meghaladhatja a 256-ot.
      g_aPath[iEnt] = zm_npc_find_path(zm_get_user_node(iEnt), zm_get_user_node(Player))

      Ebben a dinamikus array-ban elérhető az összes pont, amit meg kell tennie az NPC-nek hogy az adott játékos nodejába érkezzen.
      Habár letudjuk kérni native-val is, de a dinamikus array-ban található array 4 elemet tartalmaz, abból három a 3 dimenziós pozíció, és egy a node cselekvéséért felelős szám.

      Ezen felül természetesen le kell vezetnünk azt is, amikor nincs node-ban az adott játékos, vagy az npc, vagy egyik sem.

Videó:
https://youtu.be/cZsq7hmOhQ8

Megjegyzés:
    Én nem veszem hasznát, és ha már megcsináltam nem akarom hogy ott porosodjon a mappámban.
    Van eredeti link.

Virustotal


SMA
AMXX
Tömörített fájl
*A fordítás a aghl.ru oldalon történik.

    Szerző:  kovakovi2000 [ 2022.10.11. 13:47 ]
    Hozzászólás témája:  Re: Útvonalkeresés [Node + AStar]

    Le a kalappal előtted, hogy ilyet megcsináltál. Egy éve volt, hogy az egész internet-et átbújtam egy használható pathfind pluginért de nem találtam (amivel lehet 30-50 enity-t futtatni egy időben).

    Kép

    Szerző:  ✪ BeNiCh' [ 2023.04.14. 16:06 ]
    Hozzászólás témája:  Re: Útvonalkeresés [Node + AStar]

    Megfogom próbálni! GG Ügyes munka.

    Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
    Powered by phpBB® Forum Software © phpBB Limited
    https://www.phpbb.com/