Mistaken 0 Опубликовано 30 Января 2018 Поделиться Опубликовано 30 Января 2018 Пытаюсь разобраться в работе логики NPC. Написал новый биндер и тестовую схему, но сталкер стоит на месте как вкопаный. В чем, собственно, может быть причина? В родных скриптах игры каких-то особых манипуляций со сталкерами при добавлении им логики я не нашел. Скрытый текст class "CSchemeEval" (property_evaluator) function CSchemeEval:__init(storage) super(nil, "CSchemeEval") self.st = storage; end function CSchemeEval:evaluate() return self.st.enabled; end class "CSchemeAction" (action_base); function CSchemeAction:__init(storage) super(nil, "CSchemeAction") self.st = storage; end function CSchemeAction:initialize() action_base.initialize(self); self.object:set_dest_level_vertex_id(db.actor:level_vertex_id()); end function CSchemeAction:execute() action_base.execute(self); end function CSchemeAction:finalize() action_base.finalize(self); end local ACTION_BASE = 5000; local EVAL_BASE = 10000; function addToBinder(npc, storage) local manager = npc:motivation_action_manager(); manager:add_evaluator(EVAL_BASE + 1, CSchemeEval(storage)); local action = CSchemeAction(storage); action:add_precondition(world_property(stalker_ids.property_alive, true)); action:add_precondition(world_property(stalker_ids.property_danger, false)); action:add_precondition(world_property(stalker_ids.property_enemy, false)); action:add_precondition(world_property(stalker_ids.property_anomaly, false)); action:add_precondition(world_property(EVAL_BASE + 1, true)); action:add_effect(world_property(EVAL_BASE + 1, false)); manager:add_action(ACTION_BASE + 1, action); action = manager:action(xr_actions_id.alife); action:add_precondition(world_property(EVAL_BASE + 1, false)); end Скрытый текст function bind(object) object:bind_object(CNpcBinder(object)); end class "CNpcBinder" (object_binder) function CNpcBinder:__init(object) super(object) end function CNpcBinder:net_spawn(sobject) self.st = { enabled = true; }; local manager = self.object:motivation_action_manager() manager:remove_evaluator (stalker_ids.property_anomaly) manager:add_evaluator (stalker_ids.property_anomaly, property_evaluator_const(false)); scheme.addToBinder(self.object, self.st); return true; end function CNpcBinder:reinit() self.state_mgr = state_mgr.bind_manager(self.object) self.move_mgr = move_mgr.move_mgr(self.object) self.move_mgr:initialize() end function CNpcBinder:update(delta) if self.state_mgr then if self.object:alive() then self.state_mgr:update() else self.state_mgr = nil; end end end Ссылка на комментарий
alexsimm 373 Опубликовано 1 Февраля 2018 Поделиться Опубликовано 1 Февраля 2018 Подскажите, как из консоли включить один погодный цикл или не из консоли, если из консоли невозможно "Народная солянка 2016 в UHD" - мод глобального ретекстура мира СТАЛКЕР ТЧ (мод вышел, качайте) Ссылка на комментарий
scala 1 Опубликовано 1 Февраля 2018 Поделиться Опубликовано 1 Февраля 2018 Как сделать чтобы ассортимент торговца не обновлялся при загрузке сейва или смене локации? Очень давно выкладывалась отдельная правка, но не могу найти. Ссылка на комментарий
dsh 3 824 Опубликовано 1 Февраля 2018 Поделиться Опубликовано 1 Февраля 2018 @alexsimm что-то смутно припоминаю, какая-то консольная команда sv_weather_что-то_там 1 dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
TIGER_VLAD 361 Опубликовано 1 Февраля 2018 Поделиться Опубликовано 1 Февраля 2018 @alexsimm Через sv_setweather Список погод: Скрытый текст default indoor map mp pripyat radar rain sarkofag stancia test yantar Пример: sv_setweather pripyat Ссылка на комментарий
TIGER_VLAD 361 Опубликовано 1 Февраля 2018 Поделиться Опубликовано 1 Февраля 2018 @scala Поправь вероятность появления товара в конфигах торговцев в секциях [supplies_start], [supplies_after...]. Пример: Скрытый текст [supplies_start] ;Название предмета = количество, вероятность появления stalker_outfit = 3, 0.7 Ссылка на комментарий
scala 1 Опубликовано 1 Февраля 2018 Поделиться Опубликовано 1 Февраля 2018 (изменено) 8 минут назад, TIGER_VLAD сказал: Поправь вероятность Нули поставить? Он тогда вообще не будет меняться? Как сделать чтобы он менялся по таймеру или переходу на другую локацию? Изменено 1 Февраля 2018 пользователем scala Ссылка на комментарий
TIGER_VLAD 361 Опубликовано 1 Февраля 2018 Поделиться Опубликовано 1 Февраля 2018 @scala 1 поставь. В секции [supplies_after_квест_торговца] указано количество предметов и вероятность появления, после выполнения квеста торговца. Ссылка на комментарий
scala 1 Опубликовано 1 Февраля 2018 Поделиться Опубликовано 1 Февраля 2018 Мне нужно не после квеста. А вообще. Чтобы ассортимент менялся не после перезагрузки, а был привязан к какомуто другому условию. Была какаято старая правка очень давно. Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 1 Февраля 2018 Поделиться Опубликовано 1 Февраля 2018 Суть проблемы расписана здесь: https://www.amk-team.ru/forum/topic/13078-prozektorskaya/?do=findComment&comment=899422 Стол заказов закрыт в связи с отправкой всех телепатов на переаттестацию. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
scala 1 Опубликовано 1 Февраля 2018 Поделиться Опубликовано 1 Февраля 2018 (изменено) 12 минут назад, Dennis_Chikin сказал: Суть проблемы рас Спасибо. Полезная инфа. Можешь на правку ссылку кинуть? Изменено 1 Февраля 2018 пользователем scala Ссылка на комментарий
Graff46 598 Опубликовано 2 Февраля 2018 Поделиться Опубликовано 2 Февраля 2018 (изменено) [ТЧ] Подскажите как можно НПС перевести в онлайн, а как загрузится его логика включить "свободный полёт" (когда НПС сам выбирает где ему быть, в онлайне или нет). При условии, что НПС заспавнился за пределами радиуса алайфа? "свободный полёт": local sim = alife() sim:set_switch_online (id, true) sim:set_switch_offline (id, true) Изменено 2 Февраля 2018 пользователем Graff46 Ссылка на комментарий
qwertyuiop 16 Опубликовано 2 Февраля 2018 Поделиться Опубликовано 2 Февраля 2018 Солянка-2016.У меня убили Киценко, главного кормильца и грозу собак.Также ушли 2 часовых и оставили блокпост назащищенным.Я хочу написать скрипт, чтобы они заспавнивались через некоторое время,если Киценко убит.Заспавнить непись несложно, но как узнать имя секции Киценко? Как узнать, жив ли данный НПС? Прошел Солянку, иду в NLC Ссылка на комментарий
Graff46 598 Опубликовано 2 Февраля 2018 Поделиться Опубликовано 2 Февраля 2018 Только что, qwertyuiop сказал: Как узнать, жив ли данный НПС? if npc:alive() then -- жив ... end Только что, qwertyuiop сказал: но как узнать имя секции Киценко? В файлах надо искать, ищите "Криценко" ctrl+f Ссылка на комментарий
Graff46 598 Опубликовано 2 Февраля 2018 Поделиться Опубликовано 2 Февраля 2018 Навеяно аватаркой @qwertyuiop... В ТЧ свободовцам монстры друзья... Есть ли лечение? Ссылка на комментарий
qwertyuiop 16 Опубликовано 2 Февраля 2018 Поделиться Опубликовано 2 Февраля 2018 (изменено) Quote <specific_character id="bar_zastava_commander_1" team_default = "1"> <name>bar_kicenko_name</name> <icon>ui_npc_u_stalker_do_balon_1</icon> <map_icon x="0" y="0"></map_icon> <bio>sim_dolg_veteran_bio</bio> <class>bar_zastava_commander</class> Кого спавнить? alife():create(name,p,lv,gv).Пробовал: bar_zastava_commander_1, bar_kicenko_name, bar_zastava_commander - вылет с "Can't open section". Изменено 2 Февраля 2018 пользователем qwertyuiop Прошел Солянку, иду в NLC Ссылка на комментарий
Graff46 598 Опубликовано 2 Февраля 2018 Поделиться Опубликовано 2 Февраля 2018 Только что, qwertyuiop сказал: Пробовал: bar_zastava_commander_1 Нет, это чарактер, а нужна секция, поищите "bar_zastava_commander_1" в spawn_sections.ltx и в распакованном олл.спавне Ссылка на комментарий
qwertyuiop 16 Опубликовано 2 Февраля 2018 Поделиться Опубликовано 2 Февраля 2018 Он у меня не распакован.Где взять распаковщик Солянки-2016? Прошел Солянку, иду в NLC Ссылка на комментарий
Graff46 598 Опубликовано 2 Февраля 2018 Поделиться Опубликовано 2 Февраля 2018 (изменено) отсюда из шапки, универсал, должен жрать все, главное настрой правильно. " - Народная солянка 2010 от 19.04 (с ключом -nofatal) " Изменено 2 Февраля 2018 пользователем Graff46 Ссылка на комментарий
qwertyuiop 16 Опубликовано 2 Февраля 2018 Поделиться Опубликовано 2 Февраля 2018 Он не проверен на этой версии, не распаковывает. Quote FATAL ERROR! Function: stkutils::scan::get_class Line: 1919 Description: cannot find clsid for class buddy_psevdopup Прошел Солянку, иду в NLC Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти