S.T.A.L.K.E.R|Модостроение

Объявление

Здесь может быть ваш баннер. Закажи рекламу. Заработай на сайте
Добавь в закладки
Заработай на сайте
Здесь может быть ваш баннер. Закажи рекламу.
БАННЕР САЙТА
Новички и бывалые найдут здесь себе пристанище


Все писатели могут выложить свой рассказ в этой теме: Проза Хорошее чувство юмора? Прошу, докажите это: Юмор FM

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » S.T.A.L.K.E.R|Модостроение » Уроки по модостроению [ЗП] » По мелочам [Cпавн [Spawn]]


По мелочам [Cпавн [Spawn]]

Сообщений 1 страница 10 из 35

1

Как можно изменить поведение квестовых NPC?

Через логику. Каждый боец (однотипная группа бойцов) имеет свою "кастом дату". Именно в ней прописывается логика действий. Собственно - последовательность реакций на условия, определяемые инфопоршнями или прекондишенами. А последовательность реакций - это вызовы функций, собранных в скриптах с префиксом xr_ . Вот простейшая логика перса, которую мы разбирали в школе в соседней теме:

[logic]
active = move@trader
[move@trader]
invulnerable = true
on_combat = combat
meet = meet_sgm
[combat]
combat_type = camper
[meet_sgm]
abuse = false
use = true
allow_break = false
meet_on_talking = false

Активная секция одна, может воевать как кемпер, говорить при юзе, бессмертен. Всё.

0

2

Как сделать так, чтобы NPC сам начинал говорить?

В секцию [meet] логики NPC добавляем строчку
meet_on_talking = true

0

3

Враг не нападает на ГГ (а-ля военные под мостом на Кордоне (ТЧ))

[logic]
active = remark

[remark]
combat_ignore = {=actor_enemy, !hit_npc_from_actor} combat_ignore
[combat_ignore]

0

4

Уменьшаем количество ворон на локации

На примере Юпитера:
Заменяем все содержимое файла jup_crow_spawner.ltx на это

[logic]
active = sr_crow_spawner

[sr_crow_spawner]
max_crows_on_level = 2
spawn_path = jup_crow_spawn_1

Также можно поудалять все Spawn_path из way_локация.ltx

0

5

Заставляем NPC здороваться и прощаться голосом

Отредактировать секцию meet в логике:

[meet_guide]
close_snd_hello = rolan_hello_snd
close_snd_bye = rolan_hello_snd_bye
abuse = false
use = true
allow_break = false
meet_on_talking = false

В файле configs\misc\script_sound_xxx.ltx создать секции Rolan_hello_snd и
rolan_hello_snd_bye по аналогии с др.(разобраться легко)

0

6

Спавн и Респавн NPC

Дописываем в нужном нам смарт-террейне респавн-параметры:
Например файл gamedata\configs\scripts\zaton\smart\zat_a1.ltx

[smart_terrain];zat_a1
squad_id = 54
max_population = 3
respawn_params = respawn@zat_sim_13
arrive_dist = 15

[respawn@zat_sim_13]
spawn_bandit@novice
spawn_stalker@advanced
spawn_monster@master

[spawn_bandit@novice]
spawn_squads = bandit_sim_squad_novice, bandit_sim_squad_advanced
spawn_num = {+zat_a1_game_start} 2, 0

[spawn_stalker@advanced]
spawn_squads = stalker_sim_squad_veteran
spawn_num = {+zat_a1_game_start} 2, 0

[spawn_monster@master]
spawn_squads = simulation_boar, simulation_flesh, simulation_snork
spawn_num = {+zat_a1_game_start} 2, 0

0

7

Вылет с эксклюзивом на смарте

Если спавнил эксклюзива через смарт-террейн, то в логике точки пути надо писать сокращенно
Т.е. если в way_локация.ltx вейпоинт называется marsh_base_stalker_trader_walker_1_walk (look), а имя смарт-террейна marsh_base,
В логике надо писать path_walk = stalker_trader_walker_1_walk (без имени смарта).
Если-же спавнил через All.spawn - тогда полное имя пути нужно.

0

8

NPC ночью спит - Днем бодрствует (кусок логики)

[logic]
active = walker

[walker]
path_walk = bar_bar_visitor_dolg_walk
path_look = bar_bar_visitor_dolg_look
def_state_standing = scaner_stand
on_game_timer = 150 | walker@1
meet = meet
danger = danger_ignore
on_info = {!is_day} walker@sleep_night ;условие -!(отрицание) если день - переход ко сну

[walker@sleep_night] ;спать
path_walk = bar_bar_visitor_dolg_walk
path_look = bar_bar_visitor_dolg_look
def_state_standing = sleep
on_info = {=is_day} walker ; =(соответствует) если день
meet = no_meet ;чтобы не будили

0

9

Спавн металлического ящика с предметами

[ХХХХ] ; уникальный ID секции
; cse_abstract properties
section_name = physic_destroyable_object
name = mar_physic_destroyable_object_0016 ;имя должно быть уникальным
position = 114.354415893555,2.27533888816834,-151.578521728516
direction = -0.00769999995827675,-0.000303999986499548,-0.0395170003175735
; cse_alife_object properties
game_vertex_id = 0
distance = 0
level_vertex_id = 171487
object_flags = 0xffffff3a
custom_data = <<END
[logic]
active = nil
[drop_box]
items = medkit,1,bandage,2,ammo_12x70_buck,3,ammo_vog-25,5,wpn_fort,1
END
; cse_visual properties
visual_name = dynamics\box\box_metall_01
; cse_ph_skeleton properties
; cse_alife_object_physic properties
physic_type = 0x3
mass = 10
upd:num_items = 0

0

10

Проиграть звук при приближении ГГ к NPC 

[active logic]

....

on_actor_dist_le_nvis = 5| remark@esc_lager_volk1

....

[remark@esc_lager_volk1]
anim = hello_wpn
snd = esc_wolf_thanks
target = story | actor

....

configs\misc\script_sound_xxx.ltx

[esc_wolf_thanks]
type = npc
path = scenario\escape\wolf_to_dialog
shuffle = seq
idle = 1,1,100

в snd пишешь путь к секции звука в script_sound

0


Вы здесь » S.T.A.L.K.E.R|Модостроение » Уроки по модостроению [ЗП] » По мелочам [Cпавн [Spawn]]


Создать форум © iboard.ws