Взрываем двери HL2:EP1
Сейчас я научу вас делать взрывающиеся двери как в Half-Life 2: Episode one.

Для начала, создадим 2 комнаты соединенные дверью.

Дверь
prop_physics

Name: exdoor
World model: models/props_c17/door01_left.mdl
Skin: 2 ///можно выбрать любой (от 0 до 13)
Disable shadows: Yes

Flags:
Motion disabled
Теперь создаем замок Альянса
prop_dynamic

Name: doorlock
World model: models/props_combine/combine_lock01.mdl

установим его на дверь как в игре.
Продолжаем создание двери. Делаем "рабочий" замок Альянса
Рисуем браш размерами 8w 20l 40h и текстурой nodraw , ставим ее в центр замка

И превращаем его в
func_door

Name: doorlockb
Locked sound: combine.door_lock

Flags:
Passable
Use opens
Starts locked
Рисуем красную вспышку
env_sprite

Name: boomsprite
Render mode: World space glow
FX Color (R G B): 255 0 0 ///цвет вспышки (красный)

и расположим ее на кнопке замка


Создаем звук <пип>
ambient_generic

Name: sboomspr
Sound name: Streetwar.d3_C17_13_beep ///для HL2 < lostcoast.bomb_beep ///для HL2: Episode one>

Flags:
Start silent
Is NOT looped

расположим перед дверью

Управление звуком и вспышкой.
logic_timer

Name: timerboom
Start disabled: Yes
Refire interval: 2

Outputs:
OnTimer > sboomspr > PlaySound > 0.00
OnTimer > boomsprite > ShowSprite > 0.00
OnTimer > boomsprite > HideSprite > 0.15

Рисуем осколки двери 1
Создадим браш небольших размеров (8w 20l 40h) , расположим за дверью (чтоб игрок не видел)

func_breakable

Name: breakdoor
Pop data: Wooden.Small
Material type: Wood
Gibs direction: Use Precise Gib Dir
Precise gib direction: <куда полетят осколки>///узнать можно на 2D view top(x/y) через дверь

Flags: Only break on tigger

Рисуем осколки двери 2
Создаем некое подобие куска двери из брашей

func_physbox

Name: kysokdoor
Strength: 150
Material type: wood

Flags:
Motion disable

Создаем тряску во время взрыва
env_shake

Name: shake
Amplitude (0-16): 10
Effect radius: 1500
Duration (seconds): 1
Frequency: 6.5


env_ar2explosion

Name: ar2explo
Particle material: particle/particle_noisesphere
располагается рядом за дверью

Создаем взрыв 1
env_physexplosion

Name: explore
Magnitude: 35000
Clamp radius (0 = auto): 300
Limit to entity: kysokdoor

Flags: No Damage - Only Force
располагается чуть выше и дальше от kysokdoor

Создаем взрыв 2
env_explosion

Name: explore
Magnitude: 1

Flags: No damage
располагается в центре doorlockb

Активируем все
logic_relay

Name: activator
Start disabled: No

Outputs:
OnTrigger > timerboom > Enable > 0.00
OnTrigger > doorlockb > Kill > 0.00
OnTrigger > timerboom > RefireTime > 0.2 > 8.00
OnTrigger > timerboom > Disable > 9.00
OnTrigger > sboomspr > Kill > 9.00
OnTrigger > doorlock > Kill > 9.00
OnTrigger > exdoor > Kill > 9.00
OnTrigger > ar2explo > Explode > 9.01
OnTrigger > kysokdoor > EnableMotion > 9.01
OnTrigger > shake > StartShake > 9.02
OnTrigger > breakdoor > Break > 9.03
OnTrigger > explore > Explode > 9.06

Создаем кнопку-активатор
func_button

Outputs: OnPressed > activator > Trigger > 0.00

Ну как же так - взрыв, а без солдат.
Рисуем солдат(сильно расписывать не буду, т.к. это уже другой тутор, который можно легко найти "Управление наземными NPC")
path_corner

Name: soldat_path_<1-5>
Next stop target: soldat_path_<1-5> ///pic6

npc_combine_s

Name: soldat<1-3>
Target path corner: soldat_path_<1-3>

aiscripted_schedule

Name: soldatactive
Target NPC: soldat<1-3>
Shedule To Run: Run Goal Path
Goal entity: soldat_path_5

Ну вот кажись и все. Так выглядит сторона игрока:

А так солдат:


Вот пример: DoorBoom.rar
Источник: CS-Mapping.com.ua

Автор: K54@bk.ru

CMT (CS Mapping Tutorials) - © 2006-2011+. Created by VM
[ Script Execution time: 0.0008 ]