Перейти в начало страницы

Здравствуйте, гость ( Авторизация | Регистрация )

Gameru.net останавливает работу в связи с вторжением армии РФ в Украину. Следите за дальнейшими анонсами.
Support Gameru!

> Помощь по разделу

Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов

3 страниц V  < 1 2 3 >  
Ответить в данную темуНачать новую тему
> Пример рабочего смарттеррейна в ЧН
Trollz0r
сообщение 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
и так далее


А сталкир тупо не появляется. В чём может быть дело?


--------------------
Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
---------------
------------
----------
--------
------
----
--
Перейти в начало страницы
 
FL!NT
сообщение 29.08.2017, 19:51
Сообщение #22


Почти Мастер
***********

Репутация:   487  
Группа: Участник
Сообщений: 1165
Награды: 5
Регистрация: 18.12.2008




Вставить ник Цитировать выделенное в форуму быстрого ответа


RedPython,
А ты вообще какой то сквад на смарт спавнишь или ждешь, что он из воздуха возьмется?

Сообщение отредактировал FL!NT - 29.08.2017, 20:06
Перейти в начало страницы
 
Trollz0r
сообщение 29.08.2017, 21:09
Сообщение #23


Почти Мастер
***********

Репутация:   1357  
Группа: Участник
Сообщений: 1155
Награды: 5
Регистрация: 28.05.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Ну да, из воздуха. Эксклюзивный же нпц.
А если ставлю тушку, как в ТЧ, и прописываю ей в кастомдату ссылку на логику, то она стоит и тупит, не отыгрывая заданную схему (раненый).


--------------------
Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
---------------
------------
----------
--------
------
----
--
Перейти в начало страницы
 
Diesel
сообщение 29.08.2017, 21:24
Сообщение #24


Почти Мастер
***********

Репутация:   111  
Группа: Участник
Сообщений: 1158
Награды: 3
Регистрация: 07.08.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


RedPython, я не в теме ЧН, но я там есть.
Там же в ЧН есть пример "Кондуктора", как единственного эксклюзива на болотах
Перейти в начало страницы
 
FL!NT
сообщение 29.08.2017, 21:31
Сообщение #25


Почти Мастер
***********

Репутация:   487  
Группа: Участник
Сообщений: 1165
Награды: 5
Регистрация: 18.12.2008




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(RedPython @ 29.08.2017, 23:09) *
Ну да, из воздуха. Эксклюзивный же нпц.

Долго будешь ждать))
Код
[logic@stalkir]
active          = walker@main
suitable = {=npc_community(stalker)}
prior = 130

[walker@main]
on_death        = death
и так далее

что то вроде этого, спавнишь сквад, одного из них делаешь раненым

Ну и тушка должна в принципе работать, большой разницы не будет.
Перейти в начало страницы
 
Trollz0r
сообщение 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


--------------------
Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
---------------
------------
----------
--------
------
----
--
Перейти в начало страницы
 
FL!NT
сообщение 29.08.2017, 22:31
Сообщение #27


Почти Мастер
***********

Репутация:   487  
Группа: Участник
Сообщений: 1165
Награды: 5
Регистрация: 18.12.2008




Вставить ник Цитировать выделенное в форуму быстрого ответа


RedPython,
Прежде чем это все смотреть, вернемся к вопросу
Цитата(FL!NT @ 29.08.2017, 21:51) *
А ты вообще какой то сквад на смарт спавнишь

?smile.gif

А тушку похоже не ту в СДК выбираешь или настройки))

Сообщение отредактировал FL!NT - 29.08.2017, 22:36
Перейти в начало страницы
 
Trollz0r
сообщение 29.08.2017, 22:47
Сообщение #28


Почти Мастер
***********

Репутация:   1357  
Группа: Участник
Сообщений: 1155
Награды: 5
Регистрация: 28.05.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Чтобы ответить на этот вопрос, тебе придётся разъяснить мне, что понимается под выражением "заспавнить сквад на смарт". Я прописал группу в блабла_faction.ltx и squad.ltx, указав ей свой смарт. В итоге в смарте появились пятеро придурков, один из которых (на снимке ближе к объективу) должен отыгрывать схему раненого, но, как видишь, он сцуко просто стоит.


--------------------
Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
---------------
------------
----------
--------
------
----
--
Перейти в начало страницы
 
FL!NT
сообщение 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
Перейти в начало страницы
 
Trollz0r
сообщение 30.08.2017, 10:33
Сообщение #30


Почти Мастер
***********

Репутация:   1357  
Группа: Участник
Сообщений: 1155
Награды: 5
Регистрация: 28.05.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(FL!NT @ 29.08.2017, 21:12) *
Попробуй в [logic] добавить
wounded = wounded
Это ничего не даёт, непись так же стоит и тупит.
Цитата(FL!NT @ 29.08.2017, 21:12) *
вообще надо проверить докатывается ли он у тебя до секции wait_help
Да, потому что непись стоит на пути walk.
Цитата(FL!NT @ 29.08.2017, 21:12) *
в скваде есть нпс с именем esc_tutorial_wounded?
Есть, но это уже неважно smile.gif сейчас бы любого нпц заставить отрабатывать логику раненого.
Сократил до такого:
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, потом прописать в отряд. Но я не проверял.

Вообще, логика в сталкере это нечто странное. Без поллитры не разобраться. drunk.gif
Перейти в начало страницы
 
FL!NT
сообщение 30.08.2017, 13:37
Сообщение #32


Почти Мастер
***********

Репутация:   487  
Группа: Участник
Сообщений: 1165
Награды: 5
Регистрация: 18.12.2008




Вставить ник Цитировать выделенное в форуму быстрого ответа


RedPython,
Да все я понял.)
wounded =wounded
не делает нпс раненым и не заставляет его биться в конвульсиях)), а всего лишь перекрывает дефолтную схему раненого и к ней он перейдет только в случае действительно ранения
вся твоя схема должна прописываться ручками на ремарках- анимки, стоны, диалоги и пр.
Перейти в начало страницы
 
Trollz0r
сообщение 30.08.2017, 13:55
Сообщение #33


Почти Мастер
***********

Репутация:   1357  
Группа: Участник
Сообщений: 1155
Награды: 5
Регистрация: 28.05.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(saas @ 30.08.2017, 11:14) *
а здоровье у непися какое? По этой логике должно быть 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
В чистом ЧН этот бандит лежал на земле. У меня же он почему-то стоит death.gif

Что-то сломалось, но вот что?


--------------------
Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
---------------
------------
----------
--------
------
----
--
Перейти в начало страницы
 
Молния в вакууме
сообщение 30.08.2017, 15:03
Сообщение #34


Почти Игроман
*********

Репутация:   187  
Группа: Участник
Сообщений: 647
Награды: 4
Регистрация: 05.05.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(RedPython @ 30.08.2017, 13:55) *
Что-то сломалось, но вот что?

Хороший вопрос. В скриптах что-то менялось?
Перейти в начало страницы
 
ZeeK
сообщение 30.08.2017, 15:53
Сообщение #35


Почти Игроман
*********

Репутация:   106  
Группа: Забанен
Сообщений: 611
Награды: 3
Регистрация: 23.08.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Посмотри path_walk = lim_bandit_sanks_1_walk в all.spawn, возможно там на точке присвоена принудительная анимация с флажком a = wounded


--------------------
Перейти в начало страницы
 
FL!NT
сообщение 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




Вставить ник Цитировать выделенное в форуму быстрого ответа


Не, это всё фигня. Если спаунить как бандита в Лиманске, никаких флагов на пути ставить не надо. И даже если он пойдёт с кем-то воевать, когда он всех убьет он ляжет лежать обратно.

Кинцо
Перейти в начало страницы
 
Trollz0r
сообщение 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)


--------------------
Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
---------------
------------
----------
--------
------
----
--
Перейти в начало страницы
 
Trollz0r
сообщение 31.08.2017, 15:29
Сообщение #39


Почти Мастер
***********

Репутация:   1357  
Группа: Участник
Сообщений: 1155
Награды: 5
Регистрация: 28.05.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


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

Конфиг аналогичный вышеприведённым — схема wounded, скрипты не поломаны и даже user.ltx не при чём! Причина настолько тупая, насколько и странная. Попробуйте догадаться, это что-то уровня 2007 года и санёк а-лайф мода bash.gif


--------------------
Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
---------------
------------
----------
--------
------
----
--
Перейти в начало страницы
 
Yara
сообщение 02.09.2017, 11:52
Сообщение #40


Опытный Геймер
*******

Репутация:   50  
Группа: Участник
Сообщений: 157
Награды: 2
Регистрация: 20.03.2014




Вставить ник Цитировать выделенное в форуму быстрого ответа


Ну не томи, выкладывай )
Раз не скрипты, то конфиги. Когда возникают такие баги, сравниваю свою геймдату с оригиналом с помощью программ (Beyond Compare или Araxis Merge), пару раз находил опечатки, лишние точки и т.п. - при исправлении оных, всё приходило в норму.
Перейти в начало страницы
 

3 страниц V  < 1 2 3 >
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 19.04.2024, 16:47