CRAZY_STALKER666 36 Опубликовано 11 Ноября 2016 @TIGER_VLAD, не изменилось ничего... Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 14 Ноября 2016 По проблеме из поста #8024. На бессмертных НПЦ не срабатывала схема xr_hit. Вот полный скрипт нового xr_hit. Вдруг кто еще с такой проблемой столкнется... class "action_process_hit"function action_process_hit:__init(obj, storage)self.object = objself.st = storageendfunction action_process_hit:hit_callback(obj, amount, local_direction, who, bone_index)--if amount == 0 then-- FIXME if_then_else-- --printf("[%s] hit by [%s]: 0 damage, ignoring", obj:name(), if_then_else(who, who:name(), ""))---db.storage[obj:id()].hit.who = who:id()--return--endif who or amount == 0 thenprintf("[%s] hit by [%s]", obj:name(), who:name())news_manager.send_tip(db.actor, "!!"..obj:name().." hit by "..who:name().."!!", 0, "default", 10000)db.storage[obj:id()].hit.who = who:id()elseprintf("[%s] hit by [unknown]", victim:name())db.storage[obj:id()].hit.who = -1endif db.storage[self.object:id()].active_scheme thenif xr_logic.try_switch_to_another_section(obj, self.st, db.actor) thenreturnendendend------------------------------------------------------------------------------------------------------------------------ binder----------------------------------------------------------------------------------------------------------------------function add_to_binder(npc, ini, scheme, section, storage)local new_action = this.action_process_hit(npc, storage)storage.action = new_actionendfunction set_hit_checker(npc, ini, scheme, section)local st = xr_logic.assign_storage_and_bind(npc, ini, scheme, section)st.logic = xr_logic.cfg_get_switch_conditions(ini, section, npc)-- НЕ СТАВИТЬ hit callback напрямую - получаем его из motivator-а через-- event в подписанном на него action-е:--npc:set_callback(callback.hit, st.action.hit_callback, st.action)xr_logic.subscribe_action_for_events(npc, st, st.action)endfunction disable_scheme(npc, scheme)-- При отключении схемы, нужно снять подписку, чтобы hit callback перестал-- передаваться:--npc:set_callback(callback.hit, nil)local st = db.storage[npc:id()][scheme]if st thenxr_logic.unsubscribe_action_from_events(npc, st, st.action)endend Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 15 Ноября 2016 Такие вопросы: 1. Каков номер слота под артефакты в ТЧ. Пробовал 0, -1. В system.ltx вообще упоминания не нашел, да и там пояснения к слотам какие-то неверные... 2. Как соранить набор вещей ГГ, а потом выдать их ему в ящике? Знаю, что так работает Арена, но я немного не разобрался... Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 15 Ноября 2016 Тогда перефразирую вопрос - как отследить появление определенного артефакта на поясе у ГГ? Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 15 Ноября 2016 Большое спасибо! Но увы, такие дикие костыли использовать не могу в моде, народ обидеться) Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 16 Ноября 2016 (изменено) Разумеется в приведёном примере надо выкинуть98% кода, но такой подход активно используется в модах. Вы же не думаете, что являетесь единственным, кто сталкивался с такой задачей? Ладно, объясню. Любому методу можно найти замену. И я нашел, в моем случае артефакт просто работает из рюкзака(что вполне реалистично), а скрипты лишний раз не грузят апдейт актора. И да, знаю что не я 1 с этим сталкивался. Но раз суть проблемы такова - подойдем к ней с другой стороны. Не в обиду автора сего кода, но костыли использовать не очень хочется. Ну понятно дело без них никак, но чем меньше тем лучше. Изменено 16 Ноября 2016 пользователем CRAZY_STALKER666 Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 17 Ноября 2016 Я только не понял, - ты хочешь узнать почему так? Или уже знаешь? Ну или, как вариант, не хочешь знать? Эмм... Отвечу: Почему так получилось - не знаю. Узнать хочу. Вы мне не объясните, что такое "костыли"? Костыль - метод-затычка, который помогает дойти до цели не самым умным\оптимальным\разумным\глюченым путём. В данном случае, лично мне, не очень понравилось то что игре придется каждую итерацию цикла инвертарь ГГ перебирать. А вдруг там гора всего лежит? Была бы возможность использовать X-Ray Extentions - было бы замечательно, но увы, такой возможности нет... Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 18 Ноября 2016 Народ, помогите обьяснить магию Lua-кода. Имеем такую штучку: function bar_bandit_death_cut() if db.actor:has_info("bar_cutbandit_death_l") and db.actor:has_info("bar_cutbandit_death_1") and db.actor:has_info("bar_cutbandit_death_2") then return true and db.actor:give_info_portion("bar_bandit_death_all") end end Она рабочая, задачу свою выполняет. НО На сколько я вижу, тут у нас лишний END. Мы закрываем функцию и условие if, но почему должно быть их 2, а их 3? Далее, если засунуть после строки "return true and" допустим: news_manager.send_tip(db.actor, "relation 0", nil, nil, 20000) То получим код, который уже не работает! По крайней мере чекер синтаксиса ругаеться непонятно на что... Может я просто слепой, и не вижу очевидной вещи? Подскажите, пожалуйста. Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 18 Ноября 2016 @Kirgudu, всё, вижу) Глаз просто на автомате заменил AND на END) Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 19 Ноября 2016 без каких-либо загвоздок адаптировать к Зову Чернобыля? Без загвоздок не прокатит. watcher_act.script Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 25 Ноября 2016 @evg, что-то я не понял. Предпологается использовать разные снаряды для одной пушки? Тогда без ковыряний движка не обойтись, а это геморрой... Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 31 Мая 2017 Забежал на форум спустя пол года - вдруг интересно стало.Один и тот же НПЦ, при неизменяемых параметрах спавна (т.е прописал спавн непися и больше файлы игры не трогал) появляется то в одном месте, то в другом. Причем такая "аномальщина" замечена только для тех, у кого точки walk\look находятся на территории бара(именно подвал). Быть может, у кого догадки есть? Просто спустя пол года от релиза Эпилога мне вдруг интересно стало, где я накосячил( Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 31 Мая 2017 Попробуй поменять координаты walk и look, Менял, переносил. Толку нет) Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 2 Июля 2017 Такой вопрос. Работаю с ТЧ 1.0007 rc1. В логе наблюдаю такое. Цитата [06/27/17 15:36:16] FATAL ERROR [06/27/17 15:36:16] [06/27/17 15:36:16] [error]Expression : xml_doc.NavigateToNode(path,index) [06/27/17 15:36:16] [error]Function : CUIXmlInit::InitWindow [06/27/17 15:36:16] [error]File : ui\UIXmlInit.cpp [06/27/17 15:36:16] [error]Line : 87 [06/27/17 15:36:16] [error]Description : XML node not found [06/27/17 15:36:16] [error]Arguments : newspaper_video Как бы тут всё ясно, по строке я проблему проверил. Но вопрос в другом. Игра не вылетает. А в логи еррор. Есть ли смысл фиксить, заплаточки пилить? Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 2 Июля 2017 3 часа назад, UnLoaded сказал: У меня к примеру эта секция присутствует в двух конфигах. И что фиксить ? Да, отсутствует. Но игра не вылетает. На кто знает этот втулкер, у меня на тестах "эпилога" на калькуляторе всё хорошо было, а после релиза началось... Ну, если не сложно - скинь, пожалуйста, саму секцию. Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 16 Июля 2017 Цитата [logic] active = remark@1 [remark@1] no_move = true target = actor on_info = {+start_pas} remark@p [remark@p] anim = guard_rac snd = esc_pash ;target = nil on_signal = sound_end| remark@vodka [remark@vodka] anim = eat_vodka no_move = true target = nil Вылетает при переходе на remark@p с логом: Цитата ! Unknown command: dbg:!-!-!-_Принудительный_Вылет_-!-!-! [07/16/17 13:09:31] ! Unknown command: ERROR:_ERROR:_ILLEGAL_PLAY_SOUND!!!_esc_pash_for_esc_pashal_stalker [07/16/17 13:09:31] * Log file has been saved successfully! [07/16/17 13:09:31] [07/16/17 13:09:31] FATAL ERROR [07/16/17 13:09:31] [07/16/17 13:09:31] [error]Expression : fatal error [07/16/17 13:09:31] [error]Function : CScriptEngine::lua_error [07/16/17 13:09:31] [error]File : script_engine.cpp [07/16/17 13:09:31] [error]Line : 73 [07/16/17 13:09:31] [error]Description : <no expression> [07/16/17 13:09:31] [error]Arguments : LUA error: e:\monolith_core\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (no value) Вижу, что ругается на трек проигруемый. Но я без понятий, что с ним не так. Звуковую тему esc_pash прописал в sound_theme как положено. Так в чем трабл? Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 16 Июля 2017 @Fagot. знаю, что не предназначен. Но это абсолютно не критично в моём случае. Проблему пофиксил - не так работал с sound_theme(забыл что, да как). Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 17 Июля 2017 Как в ТЧ форсировать начало диалога от лица НПЦ? Тоесть НПЦ подходит, и диалоговое окно открывается по его воле. В ЗП такую фишку помню, а вот для SoC не припоминаю. Но вдруг есть "костыли"? Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 21 Июля 2017 Привет, народ. Напомните, пожалуйста, как удалить все вещи из инвертаря ГГ, не трогая ПДА, Нож, Бинокль(в общем не трогая определенные item-ы). Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 21 Июля 2017 @KURT2013 В диалог, например. А вообще - куда хочешь... Не забудь границы функции определить. 1 Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение