Offline |
|
|
Csatlakozott:2020.05.14. 11:32 Hozzászólások:149 Megköszönt másnak: 13 alkalommal Megköszönték neki: 59 alkalommal
|
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: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/cZsq7hmOhQ8Megjegyzé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
|
|
_________________ <<eb@>> Furien Hero 37.221.209.184:27004
<<eb@>> OnlyDust2 37.221.209.184:27002
--------------------------------
Zombie Mutation
A hozzászólást 4 alkalommal szerkesztették, utoljára DexoN 2022.10.11. 14:48-kor.
|
|