Перейти к контенту

[CoP] Ковыряемся в файлах


Halford

Рекомендуемые сообщения

В ЗП на подключёной локации создал смарт для сквада

 

[smart_terrain];mar_squad_terrain

squad_id = 1

respawn_params = respawn@mar_stalker_base_smart

max_population = 2

arrive_dist = 25

 

[respawn@mar_stalker_base_smart]

spawn_nebo@novice

 

[spawn_nebo@novice]

spawn_squads = nebo_sim_squad_novice

spawn_num = 2, 0

 

[exclusive]

;;mar_guarder_one = marsh\mar_squad_logic.ltx

 

 

 

 

Если раскоментировать последнюю строчку(работу), вылет без лога!(Если поставить уже существующую работу допустим из zat_stalker_base_smart, всё равно вылет без лога!)

Это моя работа для заселяющего смарт сквада

 

;Guards

[logic@mar_guarder_one]

active = walker@guarder_one

suitable = true

prior = 120

 

[walker@guarder_one]

path_walk = mar_squad_one_walk

path_look = mar_squad_one_look

combat_ignore_cond = false

use_camp = false

gather_items_enabled = false

help_wounded_enabled = false

corpse_detection_enabled = false

 

 

 

Пожалуйста, подскажите как в обсолютно новом смарте(в смысле его логике) написать работу, которую будут выбирать с нуля созданные сквады?!!!(В туторе "смарттерейны и гулаги" из stalker inside написано что можно выдать работу тремя способами! Буду рад узнать их всех)

На всём форуме находил примеры спавна сквада либо в уже существующий смарт, либо знаменитый esc_1(по моему так его звали) в котором ни малейшего намёка не было на существование в нём ссылок для работы.

Если кто-нибудь знает где норм. тутор, тыкните пожалуйста!(На сталкер инсайд тутор "смарттерейны и гулаги" уже десять раз перечитал, и там нет способа решения проблеммы)

Зарание огромное СПС!!!

Изменено пользователем sashablr

Поделиться этим сообщением


Ссылка на сообщение

Полтергейст, _Призрак_, большое человеческое спс, заработало, но пошёл к way поинту только глава сквада, 2й непись побежал сидеть на корточках в комноту к лебедеву.

Получается для каждого непися из сквада нужно писать работу, или можно работу выдать сразу всему скваду???

А как + в репу ставить?

Изменено пользователем sashablr

Поделиться этим сообщением


Ссылка на сообщение

Вот пишу логику сквадам, и возникли вопросы:

1 У меня в скваде если один непись тупанул, остальные не ждут, и сквад ходит в разнобой, можно ли в логике прописать чтоб ждали друг друга?

 

2 А если у меня в смарте два дефолтовых сквада по три человека, и шесть работ, т.к. работа выдаётся случайная, может ли быть, что они перемешаются, и в одну точку будут ходить командиры и непись, а остальные в другую, и если да, то можно ли этого избежать, или для каждого сквада нужен отдельный смарт?

 

3 И последнее, есть ли возможность отправить каждого из сквада в один смарткавер, а после простоя энного количества времени, на другой(смарткавер), и т.д, если конечно можно их расставить вокруг его, сделать его сферой, и запретить входить в его? (это с целью экономии времени на way поинтах, чтоб не писать одному 174.0.282, второму по иксу левее, а трейтему по игрику, да ещё и копировать, перейменовывать, лучше пусть вокруг кавера тусят) :wacko2:

P.S. Если кто-нибудь знает как проще с way-ями для сквадов, отзовитесь плиз, и если не затруднит, скажите какие виды логики лучше для сквадов с работами от простого патрульного, до снайпера, и чем они отличаются!

 

Премного благодарен!

Изменено пользователем sashablr

Поделиться этим сообщением


Ссылка на сообщение

Не подскажете как заставить сквад ходить вместе, и ждать друг друга?

Вот три работы из смарта:

[logic@mar_a2_guarder_1]

active = walker@guarder_1

suitable = {=check_npc_name(mar_intro_oxrannik_smart) !surge_started} true - если mar_intro_oxrannik_smart, принимаем на работу и делаем лидером свада. Я прав?

prior = 120

 

[walker@guarder_1]

path_walk = mar_squad_one_walk

path_look = mar_squad_one_look

on_info = {!actor_enemy =see_actor =actor_has_weapon =dist_to_actor_le(35)} remark@guarder_1

combat_ignore_cond = {=npc_in_zone(zat_a2_sr_light)} true, {=check_enemy_name(bandit)} true, false

;;out_restr = zat_a2_sr_noweap

;;in_restr = zat_a2_sr_light

use_camp = false

gather_items_enabled = false

help_wounded_enabled = false

corpse_detection_enabled = false

 

[remark@guarder_1]

anim = threat

target = story | actor

;;on_info = {-zat_a2_base_guard} %+zat_a2_base_guard =play_sound(zat_a2_base_guard)%

on_game_timer = 75 | walker@guarder_1

;;combat_ignore_cond = {=npc_in_zone(zat_a2_sr_light)} true, {=check_enemy_name(bandit)} true, false

;;out_restr = zat_a2_sr_noweap

;;in_restr = zat_a2_sr_light

 

 

 

[logic@mar_a2_guarder_2]

active = walker@guarder_2

suitable = true

prior = 100

 

[walker@guarder_2]:walker@guarder_1

path_walk = mar_squad_one_walk2

path_look = mar_squad_one_look2

on_info = {!actor_enemy =see_actor =actor_has_weapon =dist_to_actor_le(35)} remark@guarder_2

 

[remark@guarder_2]:remark@guarder_1

anim = threat

target = story | actor

on_game_timer = 75 | walker@guarder_2

 

 

 

[logic@mar_a2_guarder_3]

active = walker@guarder_3

suitable = true

prior = 100

 

[walker@guarder_3]:walker@guarder_1

path_walk = mar_squad_one_walk3

path_look = mar_squad_one_look3

on_info = {!actor_enemy =see_actor =actor_has_weapon =dist_to_actor_le(35)} remark@guarder_3

 

[remark@guarder_3]:remark@guarder_1

anim = threat

target = story | actor

on_game_timer = 75 | walker@guarder_3

 

 

 

Глава сквада на актора реагирует, и ждёт разговора, а два остальных, выполняют свою логику (walker), и без разницы им, что в логике прописанна реакция на актора, после чего глава всегда отстаёт :ny_sad:

[walker@guarder_3]:walker@guarder_1

[remark@guarder_3]:remark@guarder_1 - ссылки на логику главного(я так понимаю все недописанные секции берутся от туда, поправте если ошибаюсь)

P.S. если бы вернуть follower!

team = XXX - не синхронизирует

 

Зареагировали все, но всё равно не подходит для сквада, т.к. для каждого НПЦ дистанция своя, и если актор попадает в сферу одного. осталые всё равно идут по схеме! :lazy3:

Изменено пользователем sashablr

Поделиться этим сообщением


Ссылка на сообщение

Вопрос для магистров гулагов (ЗП)

--'------------------------------------------------------------------------

--' GUARD

--'------------------------------------------------------------------------

-- Проверяем наличие часовых в лагере.

local stalker_guard = {_prior = 25, jobs = {}}

it = 1

while level.patrol_path_exists(gname.."_guard_"..it.."_walk") do

-- Необходимо вычитать количество работ из названия точки пути.

local way_name = gname.."_guard_"..it.."_walk"

--local guard_timeout = tostring(math.random(180,300))*1000

local guard_timeout = tostring(math.random(20,21))*1000

 

-- добавляем должность

t = { _prior = 25,

job_id = { section = "logic@"..way_name,

job_type = "path_job" },

_precondition_params = { },

_precondition_function = function(se_obj, smart, precond_params)

if smart.smart_alarm_time == nil then

return true

end

if smart.safe_restr == nil then

return true

end

if precond_params.is_safe_job == nil then

precond_params.is_safe_job = xr_gulag.job_in_restrictor(smart, smart.safe_restr, way_name)

end

return precond_params.is_safe_job ~= false

end}

table.insert(stalker_guard.jobs, t)

 

-- добавляем описание должности в лтх.

local job_ltx = "[logic@"..way_name.."]\n"..

"active = walker@"..way_name.."\n"..

"[walker@"..way_name.."]\n"..

"meet = meet@generic_lager\n"..

"path_walk = guard_"..it.."_walk\n"..

"path_look = guard_"..it.."_look\n"

if smart.safe_restr ~= nil and xr_gulag.job_in_restrictor(smart, smart.safe_restr, way_name) then

job_ltx = job_ltx .. "invulnerable = {=npc_in_zone(smart.safe_restr)} true\n"

end

 

if smart.def_restr ~= nil then

job_ltx = job_ltx .."out_restr = "..smart.def_restr.."\n"

end

 

local job1_ltx ="[walker1@"..way_name.."]\n"..

"meet = meet@generic_lager\n"..

"path_walk = guard_"..it.."_walk\n"..

"path_look = guard_"..it.."_look\n"..

"def_state_standing = wait_na\n"..

"on_info = {!is_obj_on_job(logic@follower_"..way_name..":3)} walker@"..way_name.."\n"..

"on_info2 = {=distance_to_obj_on_job_le(logic@follower_"..way_name..":3)} remark@"..way_name.."\n"

if smart.safe_restr ~= nil and xr_gulag.job_in_restrictor(smart, smart.safe_restr, way_name) then

job1_ltx = job1_ltx .. "invulnerable = {=npc_in_zone(smart.safe_restr)} true\n"

end

 

if smart.def_restr ~= nil then

job1_ltx = job1_ltx .."out_restr = "..smart.def_restr.."\n"

end

job1_ltx = job1_ltx .. "[remark@"..way_name.."]\n"..

"anim = wait_na\n"..

"target = logic@follower_"..way_name.."\n"

if smart.def_restr ~= nil then

job1_ltx = job1_ltx .."out_restr = "..smart.def_restr.."\n"

end

 

--' настройки фоловера для каждого гварда!!!!!!!!!!!!!!!!! - можно ли на основе этой схемы создать уникального followera?

t = { _prior = 24,

job_id = { section = "logic@follower_"..way_name,

job_type = "path_job" },

_precondition_params = { changing_job = "logic@"..way_name },

_precondition_function = function(se_obj, smart, precond_params, npc_info)

return npc_info.need_job == precond_params.changing_job

end }

table.insert(stalker_guard.jobs, t)

local follower_ltx = "[logic@follower_"..way_name.."]\n"..

"active = walker@follow_"..way_name.."\n"..

"[walker@follow_"..way_name.."]\n"..

"meet = meet@generic_lager\n"..

"path_walk = guard_"..it.."_walk\n"..

"path_look = guard_"..it.."_look\n"..

"on_info = {=distance_to_obj_on_job_le(logic@"..way_name..":3)} remark@follower_"..way_name.."\n"

if smart.def_restr ~= nil then

follower_ltx = follower_ltx .."out_restr = "..smart.def_restr.."\n"

end

 

follower_ltx = follower_ltx .. "[remark@follower_"..way_name.."]\n"..

"anim = wait_na\n"..

"target = logic@"..way_name.."\n"..

"on_timer = 2000 | %=switch_to_desired_job%\n"

 

if smart.def_restr ~= nil then

follower_ltx = follower_ltx .."out_restr = "..smart.def_restr.."\n"

end

 

ltx = ltx..job_ltx..job1_ltx..follower_ltx

it = it + 1

end

if it > 1 then table.insert(stalker_jobs.jobs, stalker_guard) end

 

 

Не подскажете как правильно вырвать кусок, и создать отдельную схему followera?

 

И ещё, кто-нибудь знает как в зп сделать подключённые болота всегда без дождя! B)

Зарание СПС

Изменено пользователем sashablr

Поделиться этим сообщением


Ссылка на сообщение

Помогите!!!

Дайте тутор как перенести анимпоинты посиделок у костра из ЧН в ЗП, а то у меня все сидят на воздухе!!

В теме Перенос и создание карт nuklia заливал анимки на файлообменник, но их уже удалили.

Огромное СПС, и с НАСТУПАЮЩИМ ВСЕХ!

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...