Forrás belül

Földi NPC kezelése

Földi NPC kezelése. Ebben a leckében kapsz egy alapvető ismereteket a menedzsment szárazföldi NPC: Azt hiszem, nem okoz nehézséget, hogy egy szobában vagy egy szobában, hogy nem fogom leírni, hogyan kell ezt csinálni.
Tettem egy lecke kártya az összes NPC, triggerek, és így tovább. N. I különösen azok számára, akik túl lusták, hogy tegyen meg mindent magad. (A beállítások csak bámult, és megtanulják, mit csinálnak =)).
És így ...
Ebben a videóban bemutatjuk a kiváltó NPC rendszer és elhaladását követően a dobozban:
- Szoba 1: Rendeljen NPC útjukba mozgása révén scripted_sequence
- Szoba 2: Rendeljen NPC útjukba mozgása révén path_corner
- Szoba 3: Animáld NPC
- Szoba 4: Respawn NPC, majd azonnal adja meg, hová megy
- 5-ös szoba: Respawn szörnyeteg véletlen vagy véletlenszám-generátor.
- 6-os szoba: Force NPC lőni bárhol / megtámadni senkit / határozza meg, hogy ki az ellenség, és aki nem /
Ahogy talán már észre a térképen van osztva kis szoba. Megcsináltam a célból, hogy külön a altéma a leckét.
Minden szobában tettem a kart (ahol a gombok helyezni valahol törékeny tárgyak) megkezdheti a ravaszt.
PS: nem figyel a lila kocka nekem a képernyőn. Ez light_spot.

Az első szoba:
Itt a legegyszerűbb szkript „Levél» NPC egy ponton a scripted_sequence.
Ehhez az alábbiak szükségesek:
1) npc_alyx // estesstvenno magát NPC
beállításokat:
Név: Alyx_room1 // Kéri a nevét, hogy akkor nézze meg ezt a szervezet másoktól.
2) scripted_sequence // Imeeno ehhez a szervhez megy Alex
beállításokat:
Név: Alyx_target_room1
Cél NPC: Alyx_room1 // itt meghatározza, hogy melyik NPC fog működni a scripted_sequence
Egyéni Move animáció: s_walk_N // Ez a mező lehetővé teszi számunkra, hogy válasszon a fajta animációs elvégzi NPC utazás közben. Azért választottam egy egyszerű séta.
Áthelyezés Posotion: Séta // Ez lesz a cél NPC. Úgy döntöttem, hogy gyalog.
4) func_button
A kimenő ravaszt (fül «kimenetek») hozzá a következő:
Saját kiadási Nevezett: préselt
Tagets entitások Nevezett: alyx_target_room1
Via Ez Input: a Start Sequence
Tegyük most fel Alyx az egyik végén a terem, és Alex_target a másikra.
Meg kell szereznie valami ehhez hasonló


Most fordítsd le és nézd meg mi lett.
És kell fordulni a következő:
Ha megnyomja a gombot, Alex meg kell érkeznie a terem végében.


A második szobában:
Ebben a példában, úgy az NPC mozgás egy adott útvonalon.
Ez a példa hasonló az előzőhöz, de itt most fogja használni helyette scripted_sequence path_corner.
Path_Corner NPC is egy pont a mozgás, és az általában használt egyszerű mozdulatok, ellentétben scripted_sequence. Hogyan kell használni path_corner látni fogja ezt a példát.
Szükségünk van a következő objektumokat:
1) 4 db path_corner // Path.
beállításokat:
Név: alyx_path1_room2; alyx_path2_room2; alyx_path3_room2; alyx_path4_room2 // így az egyes pálya neve
Next Stop Cél: alyx_path2,3,4,1_room2 // Itt adja meg a nevét a következő pálya ami megy NPC. Azaz, ha megnevezzük alyx_path2_room2, a következő megálló Cél lesz alyx_path3_room2. NPC fixated a szempontból szükség van az utóbbi módon, Next Stop Cél, hogy meghatározza az első út. Ebben az esetben, Alex fog futni a köröket.

Beállítás nem szükséges
2) aiscripted_shedule // vezérli NPC
beállításokat:
Név: Alyx_shedule_room2
Cél NPC: Alyx_room2 // Adja meg, melyik NPC fogja kezelni
Munkarend To Run: Fuss célútvonal // Mi lesz az NPC induláskor. (Ebben az esetben fut a cél)
Cél egység: alyx_path1_room2 // izhodya felülről beállítást adja meg, hol az NPC fog futni
3) func_button
A kimenő ravaszt (fül «kimenetek») hozzá a következő:
Saját kiadási Nevezett: préselt
Tagets entitások Nevezett: alyx_shedule_room2
Via Ez Input: StartShedule
4) npc_alyx // mi Alex
beállításokat:
Név: Alyx_room2
Most osstalos hogy az egész dolog a helyére.
Én annyira

Most fordítsd le és teszt. Az ötlet Alex kell futni a köröket :)

A harmadik terem:
Ebben a teremben látható egy példa arra, hogyan animált NPC.
És így, itt van egy sor szükséges Egyed:
1) npc_alyx
beállításokat:
Név: alyx_room3
2) scripted_sequence
beállításokat:
Név: alyx_start-run_room3
Cél NPC: alyx_room3
Akció Animáció: Open_door_away // Itt adja meg a nevét az animáció, amely elvész, ha az NPC jön ehhez a szervhez.
Egyéni Move animáció: run2
Lépjen vissza: Run

Kimenetek lapra:
Saját kiadási Nevezett: OnBeginSequence // Alex, amikor eléri a szervezet, rendezvény ssleduyuschee ...
Tagets entitások Nevezett: door_room3 // ... az ajtót ...
Via Ez Input: Open // ... lesz ...
Késleltetési idő után másodpercben: 2,30 // ... után 2,30 perc (miért 2,30 2,30 - Alex a hossza az animáció, amikor kinyitja az ajtót, ha nebylo 2,30, akkor mi lenne az, hogy amikor Alex jön a futás az ajtót, az ajtó is megnyílik ?. és akkor is csak a munka animáció.)
3) func_door // Az ajtó már a szobában, akkor nem kell tenni.
beállításokat:
Név: door_room3
Előtti késleltetés Close: -1
Partager FLAGS, jelölje meg a reverz DIR (az ajtó kinyitásakor az ellenkező irányba).
4) func_button
Kimenetek lapra:
Saját kiadási Nevezett: préselt
Tagets entitások Nevezett: alyx_start-run_room3
Via Ez Input: BeginSequence
Van egy elrendezés

Ha lehetne csinálni, akkor a gomb megnyomása Alex kell futtatni, hogy az ajtót, és nyissa meg.

A negyedik terem
Ez a lecke segít létrehozni (spawn) NPC, majd azonnal, hogy bármilyen intézkedés.


Eh. Ez zavart, Alex,), és a gomb is ... mondjuk ka ... Nuu ... Zombies! és összeomlik fém cserép, mint a kar, például ...
Itt van egy lista yuzaemyh egység tulajdonságai
1) npc_maker // Ez az entitás kialakulásáért felelős NPC. Esetünkben lesz Zombika.
beállításokat:
Név: zombie_maker_room4
Osztály neve szült NPC: npc_zombie
Gyermekvasúttal neve: zombie_room4
2) aiscripted_schedule // említik mint már említettük, ez a szervezet működik NPC.
Beállítások: // settings leírás aiscripted_schedule írtam le, a második szoba
Név: zombie_shedule_room4
Cél NPC: zombie_room4
Munkarend To Run: Fuss célútvonal
Cél Egyed: zombie_path1_room4
3) két path_corner`a
beállításokat:
- Az első:
Név: zombie_path1_room4
Next Stop Cél: zombie_path2_room4
- A második:
Név: zombie_path2_room4
Next Stop Cél: zombie_path1_room4
4) func_breakable // mi egész billentyűkar formájában egy acéllemez.
beállításokat:
Erő: 1
Anyagtípus: Fém
-- Eredmények: // itt lesz néhány kiváltó
1) -A kiadási Nevezett: OnBreak // Mikor fog törni ...
-Tagets entitások Nevezett: zombie_maker_room4 // ... felelős egység létrehozását zombik ...
-Via Ez Input: Spawn // ... létre zombik
2) - A kiadási Nevezett: OnBreak // Mikor fog törni ...
-Tagets entitások Nevezett: zombie_room4 //. Zombi ...
-Via Ez Input: SetRelationship //.budet barátságos ...
-A paraméter felülbírálása. játékos D_LI 9999 // player ...
-Késleltetési idő után másodpercben: 0,20 //. 0,20 másodperc
3) -A kiadási Nevezett: OnBreak // Mikor fog törni ...
-Tagets entitások Nevezett: zombie_shedule_room4 // ... „a felügyelő az NPC» ...
-Via Ez Input: StartSchedule // ... indít a forgatókönyvet adott neki ... (Ebben az esetben fel kell tüntetni, hová menjen zombi) ...
-Késleltetési idő után másodpercben: 0,40 // ... után 0,40 másodperc.
Most mindent a helyére.
Én megállapított, így:

Mit kéne?
Ha törött Adataink zombik után respawn fusson m \ kétféleképpen és nem kellene harapni =))
PS: stobnye hangzik ő mond, amikor sétál :))

ötödik szoba
A fő elem van ebben a szobában logic_case. Látjuk az egyik jellemzőjét a választás egy véletlen értéket.
Ezzel a szervezet, megmutatom, hogyan kapsz egy random szörny.
Szükségünk van:
1) 5 darab npc_maker
beállításokat:
Osztály neve Származtatott NPC: // itt választhat 5 különböző npc
Minden NPC hozzá a nevét (lubickoló neve), így hivatkoznak rá. Például én rendelt npc_alex alex_maker_room5 nevet npc_zombie - zombie_maker_room5 stb ...

2) logic_case
beállításokat:
név: npc_case
Case 01: 1
Case 02: 2
Case 03: 3
Case 04: 4
Case 05: 5 // mintha azt kérték az 5 számot, melyek közül csak az egyik lesz a véletlenszerűen kiválasztott
Kimenetek lapra: // itt meg kell adni 5 kiváltó
1) -A kiadási Nevezett: OnCase01
-Tagets entitások Nevezett: alyx_maker_room5
-Via Ez Input: Spawn
2) -A kiadási Nevezett: OnCase02
-Tagets entitások Nevezett: zombie_maker_room5
-Via Ez Input: Spawn
Tehát amíg további tegye kiváltó minden NPC.

És most azt magyarázza meg, hogyan működik:
Miután rámutatott arra, hogy a kiváltó fogják használni 5. logic_case generál, és csak egyet választhat, amelyet azután futni.
Ennek megfelelően, mi ez (logic_case) fogja választani, amely a npc_maker'ov létre az egységet.
És persze ne felejtsük el, hogy futtatni a logic_case, összeomlik a csempe.
Azaz a tulajdonságokat func_breakable a kimenetek lapon adja meg az alábbiakat:
OnBreak -> npc_case -> PickRandom
Ez hogyan rakták az egészet a térképen:

hatodik szoba
Majd én megmutatom, hogyan lehet az NPC lő, ahol meg kell adni.

Ne feledje, a film E3, ahol befut a házba, bezárta az ajtót maga mögött íróasztal. Észrevehetetlen, amikor össze elkezd lövöldözni az ablakon? Megmondom: elkezd lőni, ha már nem volt ideje, hogy üljön le egy mosógép (vagy valami Tipo tetszik =)).
Nos kedvesem, ez tiszta script (és a Valve azt mondta, hogy nem ... hogy a következtetéseket ...), és megmutatom, hogyan valósítható meg ...
Általában szükség van egy vagy több npc_combine_s (lehet bármilyen szörny, én választottam a katonák). // A beállítás csak meg kell hívni a Név mezőben (I Combine_room6)
Következő szüksége lesz egy cél tobish amely lőni magát NPC. Ehhez segítünk npc_bullseye szervezetek az alábbi beállításokkal:
Név: // I target1_room6
- A zászlók lapon be kell jelölnie a nem szilárd és nem vehet fel Damage
Most arra van szükség az aktivátorok, azaz gombokkal vagy kiváltja, hogy az NPC «Azt mondják,” az ő első számú ellensége 1. ez a mi npc_bullseye.
Tettem a kulcsot az alábbi beállításokkal:
Kimenetek lapra:
1) -A kiadási Nevezett: Onin // ha a gomb ...
-Tagets entitások Nevezett: combine_room6
-Via Ez Input: SetRelationShip
- A paraméter ovverride az: target_room6 D_HT 9999 // Itt adja meg, hogy target_room6 Enemy
2) -A kiadási Nevezett: OnOut // amikor kikapcsolja ásni
-Tagets entitások Nevezett: combine_room6
-Via Ez Input: SetRelationShip
- A paraméter ovverride az: target_room6 D_LI 9999 // Itt adja meg, hogy az ő target_room6 / szövetségese
Ez minden. A gomb megnyomásával, az NPC lő a cél, ha ásni leküzdeni, hogy megszűnik lőni.
Ha az NPC alapértelmezett az ellenség azt tanácsolom, hogy tegye entitások logic_auto és kimenetek, hogy meghatározza a következőket:
-Saját kiadási Nevezett: OnMapSpawn
-Tagets entitások Nevezett: combine_room6
-Via Ez Input: SetRelationShip
- A paraméter ovverride az. játékos D_LI 9999
Azt is, hogy az NPC támadni egy mozgó célpont. Ebből a célból a gazdálkodó egység a szülő mezei npc_bullseye szükséges ukozat objektum neve, ami mozog, ezért npc_bullseye hajt / légy / úszni a szüleivel (szülő)
Itt van a megállapodás a szobában:

Ez arra a következtetésre jutott a mi kis képzés a Hivatal az NPC.

Töltse le a forráskódot kártyát.
Letöltés kész verzió itt.

Kapcsolódó cikkek