Пример рабочего смарттеррейна в ЧН |
Здравствуйте, гость ( Авторизация | Регистрация )
Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов
Пример рабочего смарттеррейна в ЧН |
29.08.2017, 18:10
Сообщение
#21
|
|
Почти Мастер Репутация: 1357 Группа: Участник Сообщений: 1155 Награды: 5 Регистрация: 28.05.2010 |
Никак не получается заставить работать эксклюзивных нпц.
В опциях смарта пишу: Код [exclusive] stalkir = escape\stalkir.ltx В stalkir.ltx пишу: Код [logic@stalkir] active = walker on_death = death и так далее А сталкир тупо не появляется. В чём может быть дело? -------------------- Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
--------------- ------------ ---------- -------- ------ ---- -- |
 
|
|
|
|
29.08.2017, 19:51
Сообщение
#22
|
|
Почти Мастер Репутация: 487 Группа: Участник Сообщений: 1165 Награды: 5 Регистрация: 18.12.2008 |
RedPython,
А ты вообще какой то сквад на смарт спавнишь или ждешь, что он из воздуха возьмется? Сообщение отредактировал FL!NT - 29.08.2017, 20:06 |
 
|
|
29.08.2017, 21:09
Сообщение
#23
|
|
Почти Мастер Репутация: 1357 Группа: Участник Сообщений: 1155 Награды: 5 Регистрация: 28.05.2010 |
Ну да, из воздуха. Эксклюзивный же нпц.
А если ставлю тушку, как в ТЧ, и прописываю ей в кастомдату ссылку на логику, то она стоит и тупит, не отыгрывая заданную схему (раненый). -------------------- Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
--------------- ------------ ---------- -------- ------ ---- -- |
 
|
|
29.08.2017, 21:24
Сообщение
#24
|
|
Почти Мастер Репутация: 111 Группа: Участник Сообщений: 1158 Награды: 3 Регистрация: 07.08.2015 |
RedPython, я не в теме ЧН, но я там есть.
Там же в ЧН есть пример "Кондуктора", как единственного эксклюзива на болотах |
 
|
|
29.08.2017, 21:31
Сообщение
#25
|
|
Почти Мастер Репутация: 487 Группа: Участник Сообщений: 1165 Награды: 5 Регистрация: 18.12.2008 |
Ну да, из воздуха. Эксклюзивный же нпц. Долго будешь ждать)) Код [logic@stalkir] active = walker@main suitable = {=npc_community(stalker)} prior = 130 [walker@main] on_death = death и так далее что то вроде этого, спавнишь сквад, одного из них делаешь раненым Ну и тушка должна в принципе работать, большой разницы не будет. |
 
|
|
29.08.2017, 22:22
Сообщение
#26
|
|
Почти Мастер Репутация: 1357 Группа: Участник Сообщений: 1155 Награды: 5 Регистрация: 28.05.2010 |
В принципе у меня так и сделано:
Код [smart_terrain] targets = esc_village_st, esc_granary_st, esc_atp_st sim_type = default squad_capacity = 1 squad_id = 9 sim_avail = true def_restr = esc_tutorial_wounded_st_def_sr att_restr = esc_tutorial_wounded_st_att_sr work1 = esc\tutorial_wounded.ltx tutorial_wounded.ltx: Код [logic@work1] active = walker@wait_help suitable = {=check_npc_name(esc_tutorial_wounded)} job_online = true prior = 130 on_death = death [walker@wait_help] combat_ignore_cond = true combat_ignore_keep_when_attacked = true path_walk = walk path_look = look wounded = wounded def_state_standing = wait [wounded] hp_state = 20|wounded_heavy_2@nil hp_state_see = 20|wounded_heavy_2@nil autoheal = false enable_talk = false В этом варианте чувак появляется, но тупо стоит, а не лежит не земле. Такое чувство, что схема раненого не отрабатывает. Никто не помнит, в 10 патче раненый в Лиманске лежал или стоял? А тушку вообще не получается взять под контроль, она в любом случае уходит гулять по локации (и в половине случаев отправляется прямиком к сидоровичу, намертво вешая игру). Сообщение отредактировал RedPython - 29.08.2017, 22:43 -------------------- Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
--------------- ------------ ---------- -------- ------ ---- -- |
 
|
|
29.08.2017, 22:31
Сообщение
#27
|
|
Почти Мастер Репутация: 487 Группа: Участник Сообщений: 1165 Награды: 5 Регистрация: 18.12.2008 |
|
 
|
|
29.08.2017, 22:47
Сообщение
#28
|
|
Почти Мастер Репутация: 1357 Группа: Участник Сообщений: 1155 Награды: 5 Регистрация: 28.05.2010 |
Чтобы ответить на этот вопрос, тебе придётся разъяснить мне, что понимается под выражением "заспавнить сквад на смарт". Я прописал группу в блабла_faction.ltx и squad.ltx, указав ей свой смарт. В итоге в смарте появились пятеро придурков, один из которых (на снимке ближе к объективу) должен отыгрывать схему раненого, но, как видишь, он сцуко просто стоит.
-------------------- Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
--------------- ------------ ---------- -------- ------ ---- -- |
 
|
|
29.08.2017, 23:12
Сообщение
#29
|
|
Почти Мастер Репутация: 487 Группа: Участник Сообщений: 1165 Награды: 5 Регистрация: 18.12.2008 |
Этого я и добивался, есть у тебя на смарте кто ни будь или нет))
Попробуй в [logic] добавить wounded = wounded вообще надо проверить докатывается ли он у тебя до секции wait_help или вообще ни кто не встал под логику, в скваде есть нпс с именем esc_tutorial_wounded? вот оно)) def_state_standing = wait стоит смотрит на точку))) На секцию wounded он перейдет только, когда получит реальный достаточный хит, на сколько помню.) Все сценки с раненым лишь имитация. Сообщение отредактировал FL!NT - 29.08.2017, 23:48 |
 
|
|
30.08.2017, 10:33
Сообщение
#30
|
|
Почти Мастер Репутация: 1357 Группа: Участник Сообщений: 1155 Награды: 5 Регистрация: 28.05.2010 |
Попробуй в [logic] добавить Это ничего не даёт, непись так же стоит и тупит.wounded = wounded вообще надо проверить докатывается ли он у тебя до секции wait_help Да, потому что непись стоит на пути walk. в скваде есть нпс с именем esc_tutorial_wounded? Есть, но это уже неважно сейчас бы любого нпц заставить отрабатывать логику раненого.Сократил до такого: CODE [logic@work1] И ничего не изменилось. Схема раненого не отрабатывает (или не включается из валкера), даже если я пытаюсь подстрелить нпц.
active = walker job_online = true prior = 130 [walker] path_walk = walk path_look = look wounded = wounded [wounded] hp_state = 20|wounded_heavy_2@nil hp_state_see = 20|wounded_heavy_2@nil autoheal = false enable_talk = false Сообщение отредактировал RedPython - 30.08.2017, 10:55 -------------------- Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
--------------- ------------ ---------- -------- ------ ---- -- |
 
|
|
30.08.2017, 13:14
Сообщение
#31
|
|
Почти Игроман Репутация: 187 Группа: Участник Сообщений: 647 Награды: 4 Регистрация: 05.05.2007 |
RedPython, а здоровье у непися какое? По этой логике должно быть 0.2 или меньше, чтоб он упал.
ПЫС раненых сталкеров ставили в LE, а не спавнили через смарты. Если надо через смарт, можно попробовать отдельную секцию сделать с health = 20 в spawn_sections, потом прописать в отряд. Но я не проверял. Вообще, логика в сталкере это нечто странное. Без поллитры не разобраться. |
 
|
|
30.08.2017, 13:37
Сообщение
#32
|
|
Почти Мастер Репутация: 487 Группа: Участник Сообщений: 1165 Награды: 5 Регистрация: 18.12.2008 |
RedPython,
Да все я понял.) wounded =wounded не делает нпс раненым и не заставляет его биться в конвульсиях)), а всего лишь перекрывает дефолтную схему раненого и к ней он перейдет только в случае действительно ранения вся твоя схема должна прописываться ручками на ремарках- анимки, стоны, диалоги и пр. |
 
|
|
30.08.2017, 13:55
Сообщение
#33
|
|
Почти Мастер Репутация: 1357 Группа: Участник Сообщений: 1155 Награды: 5 Регистрация: 28.05.2010 |
а здоровье у непися какое? По этой логике должно быть 0.2 или меньше, чтоб он упал. ставил и 0.01, ничего не изменилось.Флинт, ну ведь в любом случае схема раненого должны была сработать. Отвлечёмся на время от эксклюзивных работ и посмотрим, как сделан раненый бандит у пыс. Профиль обычного симуляционного перса, уникальный SID, здоровье 0.2, в кастомдате ссылка на LTX следующего вида: Код [logic] В чистом ЧН этот бандит лежал на земле. У меня же он почему-то стоит active = walker@wait_help on_death = death on_hit = hit relation = neutral meet = no_meet [hit] on_info = %+lim_bandit_away% [death] on_info = %+lim_bandit_wonded_1_out +lim_bandit_away% [walker@go_point] combat_ignore_cond = true combat_ignore_keep_when_attacked = true path_walk = lim_bandit_wonded_1_walk path_look = lim_bandit_wonded_1_look def_state_moving1 = run def_state_moving2 = run def_state_moving3 = run def_state_standing = wait on_signal = action | remark@wait_help [walker@wait_help] combat_ignore_cond = true combat_ignore_keep_when_attacked = true path_walk = lim_bandit_wonded_1_walk path_look = lim_bandit_wonded_1_look wounded = wounded ;meet = no_meet def_state_moving1 = walk def_state_moving2 = walk def_state_moving3 = walk def_state_standing = wait on_info = {+lim_bandit_health_restore} walker@wait2 %=restore_health% on_info2 = {=hit_by_actor} %+lim_bandit_away% on_info3 = {!health_le(0.3)} walker@wait2 %+lim_bandit_health_restore% [walker@wait2] combat_ignore_cond = true path_walk = lim_bandit_sanks_1_walk path_look = lim_bandit_sanks_1_look ;meet = no_meet def_state_moving1 = walk def_state_moving2 = walk def_state_moving3 = walk def_state_standing = wait on_info = {+lim_bandit_wounded_go} patrol@go on_info2 = {=hit_by_actor} %+lim_bandit_away% ;*** уходят из Лиманска [patrol@go] ;meet = no_meet combat_ignore_cond = true path_walk = lim_bandit_go_walk move_type = walk def_state_moving = walk on_signal = action | %=destroy_object% on_info = {=hit_by_actor} %+lim_bandit_away% [wounded] hp_state = 20|wounded_heavy_2@nil hp_state_see = 20|wounded_heavy_2@nil autoheal = false enable_talk = false Что-то сломалось, но вот что? -------------------- Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
--------------- ------------ ---------- -------- ------ ---- -- |
 
|
|
30.08.2017, 15:03
Сообщение
#34
|
|
Почти Игроман Репутация: 187 Группа: Участник Сообщений: 647 Награды: 4 Регистрация: 05.05.2007 |
|
 
|
|
30.08.2017, 15:53
Сообщение
#35
|
|
Почти Игроман Репутация: 106 Группа: Забанен Сообщений: 611 Награды: 3 Регистрация: 23.08.2010 |
Посмотри path_walk = lim_bandit_sanks_1_walk в all.spawn, возможно там на точке присвоена принудительная анимация с флажком a = wounded
-------------------- |
 
|
|
30.08.2017, 17:28
Сообщение
#36
|
|
Почти Мастер Репутация: 487 Группа: Участник Сообщений: 1165 Награды: 5 Регистрация: 18.12.2008 |
RedPython,
wounded срабатывает не на количество здоровья, а на получение хита, т.е. от выстрела. Твоя схема может сработать в случае стремящимся к бесконечности и то не факт, все будет зависеть от того, какое событие обрабатывается в первую очередь wounded или combat. Если combat срабатывает вперед, то вообще ни когда. НПС просто срывается в универсальный комбат и на твой wounded кладет большой и толстый)) т.к. уходит с секции и вообще с твоего скрипта до завершения боевки. А там может прийти и другой НПС на эту работу и так по кругу. Что касается второго случая, то тут анимка скорее всего действительно закинута на вайпоинт. |
 
|
|
30.08.2017, 17:46
Сообщение
#37
|
|
Почти Игроман Репутация: 187 Группа: Участник Сообщений: 647 Награды: 4 Регистрация: 05.05.2007 |
Не, это всё фигня. Если спаунить как бандита в Лиманске, никаких флагов на пути ставить не надо. И даже если он пойдёт с кем-то воевать, когда он всех убьет он ляжет лежать обратно.
Кинцо |
 
|
|
30.08.2017, 20:19
Сообщение
#38
|
|
Почти Мастер Репутация: 1357 Группа: Участник Сообщений: 1155 Награды: 5 Регистрация: 28.05.2010 |
В скриптах что-то менялось, но ничего кардинального и уж тем более связанного с логикой.
Буду откатывать все правки подряд, мб найду косяк. Нет мыслей, что смотреть в первую очередь? У лиманских бандитов есть флаги sig=action, но это тоже не относится к делу. --------------------- Если стрельнуть в заспавненного "как бы раненого", то игра вообще валится CODE HIT_CALLBACK: esc_tutorial_wounded amount=34.791263580322 bone=6
* loading script sr_territory.script ! [LUA] SCRIPT RUNTIME ERROR ! [LUA] 0 : [C] [C](-1) : ! [LUA] 1 : [Lua] x:\gamedata\scripts\xr_wounded.script(495) : hit_callback ! [LUA] 2 : [Lua] x:\gamedata\scripts\xr_motivator.script(215) : ! [LUA] 3 : [C ] set_relation ! [LUA] 4 : [Lua] x:\gamedata\scripts\xr_logic.script(1474) : initialize_obj ! [LUA] 5 : [Lua] x:\gamedata\scripts\smart_terrain.script(1026) : setup_gulag_and_logic_on_spawn ! [LUA] 6 : [Lua] x:\gamedata\scripts\xr_motivator.script(152) : ! [LUA] x:\gamedata\scripts\xr_wounded.script:495: attempt to index field '?' (a nil value) ! [LUA] 0 : [C] [C](-1) : ! [LUA] 1 : [Lua] x:\gamedata\scripts\xr_wounded.script(495) : hit_callback ! [LUA] 2 : [Lua] x:\gamedata\scripts\xr_motivator.script(215) : ! [LUA] 3 : [C ] set_relation ! [LUA] 4 : [Lua] x:\gamedata\scripts\xr_logic.script(1474) : initialize_obj ! [LUA] 5 : [Lua] x:\gamedata\scripts\smart_terrain.script(1026) : setup_gulag_and_logic_on_spawn ! [LUA] 6 : [Lua] x:\gamedata\scripts\xr_motivator.script(152) : FATAL ERROR [error]Expression : fatal error [error]Function : CScriptEngine::lua_pcall_failed [error]File : ..\xrServerEntities\script_engine.cpp [error]Line : 192 [error]Description : <no expression> [error]Arguments : LUA error: x:\gamedata\scripts\xr_wounded.script:495: attempt to index field '?' (a nil value) stack trace: 0023:63AD2FA1 xrCore.dll, xrDebug::fatal(97) 0023:6472BA60 lua.JIT.1.1.4.dll, lua_getinfo(5168) 0023:6472B041 lua.JIT.1.1.4.dll, lua_getinfo(2577) 0023:6472AEF8 lua.JIT.1.1.4.dll, lua_getinfo(2248) 0023:6474773B lua.JIT.1.1.4.dll, luaopen_table(3771) 0023:64736BCD lua.JIT.1.1.4.dll, luaopen_jit(20749) 0023:6472B6E1 lua.JIT.1.1.4.dll, lua_getinfo(4273) 0023:6472BA60 lua.JIT.1.1.4.dll, lua_getinfo(5168) 0023:64722112 lua.JIT.1.1.4.dll, lua_call(82) 0023:6472BCB5 lua.JIT.1.1.4.dll, lua_yield(149) 0023:64722172 lua.JIT.1.1.4.dll, lua_pcall(82) 0023:670BBF55 luabind.beta7-devel.rc4.dll, luabind::detail::pcall(69) 0023:5D676D21 xrGame.dll, CDialogHolder::shedule_Name(2772849) 0023:5D8CA62A xrGame.dll, CDialogHolder::OnFrame(720986) 0023:5D545629 xrGame.dll, CDialogHolder::shedule_Name(1521785) 0023:5D54536C xrGame.dll, CDialogHolder::shedule_Name(1521084) -------------------- Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
--------------- ------------ ---------- -------- ------ ---- -- |
 
|
|
31.08.2017, 15:29
Сообщение
#39
|
||
Почти Мастер Репутация: 1357 Группа: Участник Сообщений: 1155 Награды: 5 Регистрация: 28.05.2010 |
Посоны, кто догадается, что не давало сталкиру прилечь под чутким контролем схемы?
Конфиг аналогичный вышеприведённым — схема wounded, скрипты не поломаны и даже user.ltx не при чём! Причина настолько тупая, насколько и странная. Попробуйте догадаться, это что-то уровня 2007 года и санёк а-лайф мода -------------------- Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
--------------- ------------ ---------- -------- ------ ---- -- |
|
 
|
||
02.09.2017, 11:52
Сообщение
#40
|
|
Опытный Геймер Репутация: 50 Группа: Участник Сообщений: 157 Награды: 2 Регистрация: 20.03.2014 |
Ну не томи, выкладывай )
Раз не скрипты, то конфиги. Когда возникают такие баги, сравниваю свою геймдату с оригиналом с помощью программ (Beyond Compare или Araxis Merge), пару раз находил опечатки, лишние точки и т.п. - при исправлении оных, всё приходило в норму. |
 
|
|
Текстовая версия | Сейчас: 19.04.2024, 16:47 |