Cpavn egy script

A script egyetlen egyedi funkcióval, amely felelős az ívási tárgyak:

Az első lehetőség - szakasz konfigurációk tárgy leírását, például „csavar”, „med_kit” - egy egyszerű rész, egyszerű tárgyak és vannak olyan tárgyak, amelyek mozognak az online / offline, akkor az NPC-k, szörnyek, és így tovább, például mil_killer_respawn_2 - elindítja a mesterlövész csoportok gyilkosok.

A szám úgy gondolja, nem kell magyarázni, vannak egyetlen megkötés - ez a magasság Y és Z. nem lehetséges, hogy meghatározza a helyzetét egy ilyen konstrukció vektor (): set (x, y, z), ahol x, y és z - koordináta pontjában amely elindítja a tárgyat.

Nehezebb, mert tényleg nem lehet kifejezni.

Kezdjük az egyszerűtől a bonyolult. Minden szinten, sok tárgy, minden tárgy állnak sokszög, minden sokszög csúcsai - csúcsot.

Hogy itt vannak, hogy jelezze, hogy miért - nem különösebben értem, valószínűleg a pontos helymeghatározás a tárgyat. Például, lehet kapni a vertex legközelebb a színész - db.actor:level_vertex ()

Következő van egy sokkal érdekesebb lehetőség game_vertex, ez szinte ugyanaz, mint a level_vertex, de (!) Van egy globális méretű! Ha level_vertex figyelembe szinten game_vertex - az egész játék, és szüksége volt, hogy pont olyan térkép tárgy spawn (érthetőbb magyarázatot találtam).

Ennek megfelelően a zaspavnen valamit egy másik térképet, elegendő game_vertex a negyedik paramétert, például:

Így például, hogy zaspavnen csavar lába alatt a színész, az írás:

1. Miért helyett level_vertex? Kockás - nincs külön különbség, hogy mi level_vertex, bár egyes esetekben szükséges előírni a vertex érvényes, és hogy az alany egyszerűen zaspavnen nem a várt helyen. De a legtöbb esetben minden jól megy és az egység. (Figyelmen kívül hagyva level_vertex vezethet átszakadt gyártott tárgyak / karakterek a földbe.) De game_vertex mindent - azt jelzi, hogy milyen szinten kapsz tárgyat, ezért meg kell határozni. Elméletileg, akkor egyszerűen megtalálja minden szinten egy game_vertex'u és használja őket a szkripteket. Valójában game_vertex mutatja a töredéke a használt térkép (a teljes térképet van osztva darabokra folyamatos számozással minden szinten, és kiválasztja a megfelelő game_vertex) rendre való visszaélés cherevato.

Szintén - van egy másik lehetőség - azonosítója, ha adja meg azonosítóját NPC vagy színész - zaspavnen egy tárgyat a leltár.

Példa (spawn műtermék Medusa leltár színész):

spawn függvény a szerver objektum, vagyis sem az NPC vagy szörny, vagy bármi más.

Server objektum lehetővé frissen létrehozott egy NPC vagy cache zatarilis különböző rulezy / leletek. Például ilyen módon jön létre a bejárat Sidorovich dolgovtsev és piszkálni egy csomag patron:

Csak a legszükségesebb - helyét, az ID szakaszig, és ez (szerver objektum) általában csak azonosító, mert az azonosító lehet beszerezni ezt ugyanazon a szerveren objektum:

Ezt fel lehet használni, hogy egy címke, például, de én személy használhatja fel más célra - ivadéka összetett objektumok, különösen - az NPC.

Például meg kell oldani a következő probléma - meg kell hozzon létre egy zsoldos csoport a helyére, és módosítsa a leltározás, valamint a rakomány - tette minden játékos.

Egy bizonyos ponton zaspavneny tárgy megy az interneten, abban a pillanatban is okozott visszahívás - net_spawn.

Mit csináljunk? Ellenőrzi az ID a tárgy a mentett online azonosítóját!

Ha egyezik, mint ez:

Ami fontos, hogy a szerver objektum ID - ezt az opciót, és az online azonosító az objektum kapott a funkciót. Ez azért fontos, mert éget.

Tehát, mi fogott a gyilkos az azonosítót.

Továbbá, minden nagyon egyszerű - hívja fel a parancsot kapsz gauss és lőszerek az NPC leltár (lásd fent.) Módosítása csoportosítását speciális funkció, és ez más.

Miért olyan nehéz? Csak offline NPC, mivel nem létezik, csak közvetett utalás, és plusz, mindezen funkciók dolgozni egy objektum típusú „NPC”, és nem a szerver tárgyakat.

Practice (1. rész)

1. ismétlések elkerülése leírásában egy új küldetés, a Tanulmány létrehozásáról szóló küldetések Fr3nzy - a legjobb cikkek ebben a témában, csak még nem láttam :) Egyszerűen kösse össze az egészet, és megtanulják, hogy kapsz tárgyakat a forgatókönyvet.

Miért előnyös, hogy nem ívik script keresztül, hanem az azonos xrSpawner? xrSpawner program minden erényeit, van egy hátránya - azaz ez kapsz keresztül all.spawn fájlt, ami:

  • Lehetetlen, hogy összekapcsolják a két divat ilyen spawn segítségével
  • Meg kell minden egyes alkalommal, hogy egy új játék

Ha kapsz egy script a helyzet más: a legtöbb esetben a korábban mentett játékokat fog működni, ez jó hír :)

Tehát határozza meg a küldetést.

Probléma: miután beszélt Sidorovich ívik zombik a gyár az első helyen. Annak érdekében, hogy ne sértse meg az eredeti telek a játék, a feladat kerül kiadásra, miután a folyosón a küldetés a botot gyorsan, mint voltak ugyanabban az időben van egy zombi gengszterek és gyors. Azt hiszem, az eredmény a csata előre eldöntött ügy :)

Megvalósítás: Megpróbálom leírni az összes intézkedés a lehető legrészletesebben, szó szerint lépésről lépésre. Először indul a játék :)

A konzolon adja ki a következő parancsot:

Így viszont a kijelzőn megjelenő információkat a képernyőn. Ezután adja másik parancs:

És a „repülni” a gyári. Meg kell választani egy helyet kapsz tárgyakat és ez az üzemmód kiválóan alkalmas a megvalósításra. Azt hogy a leendő kamra szaporodásához és írási koordináták - fordultam 115, -6, -16.

A kilépéshez nyomja meg az Esc demo_record, a konzol írási rs_stats ki vagy rs_stats 0 (eltávolítás kimenet információ).

Egy másik módja, hogy ugyanazt az információt -, hogy jöjjön a megfelelő helyre, és futtassa a szkript, amely megadja az összes szükséges koordinátákat. Én a következő script (hívja a szokásos módon keresztül main_menu):

Ki a játék, keresse meg a mappát a játékot, és hozzon létre gamedata könyvtárat (feltételezve, hogy a „farag” saját „események”, hogy „tiszta” a játék nélkül mod van telepítve, és kicsomagolt játék források egy mappában mondjuk gamedata forrás).

A gamedata config mappa mappa létrehozása, és ez - egy mappában lények. Másolata az eredeti mappa m_zombie.ltx fájlt, és nyissa meg szerkesztésre.

A fájlokat a játék van 5 modell polgári zombik:

Hoz játékba őket :)

Vannak már részből áll:

Az utolsó két típust használja ugyanazt a modellt zombi_trup.ogf, hmm. rendellenesség, fix. Az utolsó részben most így néz ki:

Egy ötödik modell szerint.

Ehhez hozzon létre egy fájlt a végén a következő részt:

Ez azt jelenti, hogy az ötödik zombi örökli az összes paramétert zombie_strong, akkor adjunk hozzá egy vizuális ábrázolás.

Minden. A módosítások mentéséhez és zárja be a fájlt.

2. Az írás egy script spawn. A gamedata mappában hozzon létre egy új mappát szkripteket, hogy hozzon létre egy új szöveges dokumentumot, és nevezd el esc_zombie.script.

Így nyit az üres fájlt szerkesztésre, az első sor deklarálja a változó, amely tárolja a zombik:

Ezután levelet funkció:

Minden. Mentse és zárja be a fájlt.

Annak érdekében, hogy a játék nem omlik össze, amikor mi adunk egy új típusú szörny, meg kell adni a xr_statistic.script fájlt. Tehát, másolja a fájlt a mappából a játék szkripteket mi mappát esc_zombie.script fájlt, és nyissa meg szerkesztésre.

Add a helyi killCountProps szörnyeket sor:

A helyi sect_alias sor:

És később monster_classes sor:

A funkció getNpcType (NPC) hozzá struktúra:

A módosítások mentéséhez és zárja be a fájlt.

Minden együtt fog működni a lelkesedés, ahogy igyekszünk nem keresni a megölt zombik. Amint ezt tesszük, a játék összeomolhat a hibát.

Ez így van - a játék nem tudja, hogy melyik ikon megjelenítéséhez a mi zombik. Ikonok szörnyek ui_npc_monster.dds a fájlban tárolt. Két lehetőség van:

Visszatérve m_zombie.ltx fájlt, és a [m_zombie_e]: monster_base paraméter beírását

Minden. Indulás nem.

3. A téma ez a cikk nem tartalmaz részletes leírást, hogyan lehet egy új párbeszéd. A cikk elején már említettem a forrást, ahol megtalálható átfogó tájékoztatást a párbeszéd kialakítása, én is idézni példáját egy cikket, hogy hozzon létre egy párbeszéd BAC9-FLCL.

Csak meg kell tesztelni a funkcionalitás a script ívik, úgyhogy most tényleg megváltoztatta a párbeszéd dialogs_escape.xml file:

És azt is társult stable_dialogs_escape.xml fájlt. A fájl elején, írja be a következő:

Minden. Meg lehet futtatni a játékot, menj a Cordon után razgovoroa a Sidorovich függően Jelzett megoldások, mi fut a gyár és nézd meg magad ... :)

Házi feladat - vissza a játék második típusú civil zombik :)

Practice (2. rész)

4. Ma befejezni a zombik teljes - hozzá leírásokat az enciklopédiában, add ikonok, és foglalkozik a „házi feladatát” :) Úgy gondolom, hogy miután alaposan tanulmányozta ezt a cikket, akkor képes lesz arra, hogy visszaszerezze keresztül a forgatókönyvet funkcióit bármilyen karakter nem szerepel a a végleges kiadás a játék. Ha, akik az időt és a vágy, akkor is írni valamit, mint a „Night of the Living Dead” :) - egy sor küldetés járó saját története. Így a „házi feladatát” - egészíti ki egy hatodik zombik.

modell fájlt szerkesztése előtt

modell fájlt szerkesztése után

5. Most írják az új zombik az összes fájlt, amit korábban létrehozott. A m_zombie.ltx fájl végéhez hozzáadja a rész:

A esc_zombie.script fájlt módosítja a tömbben az első sorban:

A funkció spawn_zombies megváltoztatni a spawn sorban:

zombie_story_1 változása függvényében az objektumok száma a többszöröse 6 (opcionális):

Mindent. Mentés és bezárás.

6. Másolja a mappát gamedata \ config \ gameplay \ fájl encyclopedia_mutants.xml, adjunk hozzá egy leírást a zombik az enciklopédiában:

És az ehhez kapcsolódó mappába string_table_enc_mutants.xml gamedata \ config \ text \ hun \ add:

Másolás ide a stable_statistic_caption.xml fájlt, és változtassa meg a 3 sor:

Mentés és bezárás.

7. És végül - add ikonok. Mondja azonnal elveszi kész fájl már tartalmazza a zombik és egyéb „visszanyert szörnyek” (köszönet Fr3nzy) ikonokat. Tehát csak másolja a fájlt ui_npc_monster.dds az archívumból egy mappába gamedata \ textúrák \ ui \ és ui_npc_monster.xml fájl - mappa gamedata \ config \ ui \. Ha azt szeretnénk, hogy a saját - olvasható a leckét a textúra változás.

Röviden leírja ui_npc_monster.xml fájl benne koordinátáit ikonok elrendezése ui_npc_monster.dds fájl minden típusú szörnyek a játékban.

Az utolsó érintés. M_zombie.ltx Nyissa meg a fájlt, és cserélje ki az első részben a sor

Szakaszban [zombie_ghost] adjuk hozzá a sort:

Tartsa meg a visszajárót. Mindent.

Ez a része a cikk íródott Arhet, és létrehozott egy példa arra, hogy az SRP Mod NPC frakció jött létre „Sin”.

  • gamedata \ config \ gameplay \ character_desc_escape.xml
  • gamedata \ config \ gameplay \ npc_profile.ltx
  • gamedata \ config \ lények \ spawn_sections.ltx

Kezdjük character_desc_escape.xml. Leírása, hogy mit jelent minden sort nem írok, mert minden megtörtént velem.

Ezután hozzon létre egy új karakter:

Finomítjuk a kódot miután néhány

Most menj be, és npc_profile.xml meghajtók:

Most meg kell tennie spawn_sections.ltx. A szkript „veszi NPC» csak a fájlból. Írjon:

Most, hogy minden NPC kapsz egy script, hogy hajt a nevét részén spawn_sections.ltx és woo-a-la.

Jelenlegi felejtsük el, hogy ez az NPC lesz rendelve Default Logic elfelejtette megemlíteni a (xxx - Loka) (azaz bután menni, ahol nem tudom):

xxx gulag.script (! akció NPS Hol: hol lehet rendelni egy állapotot Camper, Volker; i.d.t)

xxx gulag.ltx (azaz logikai doubler páros akció röviden LES)

Kapcsolódó cikkek