Hind 29 Опубликовано 26 Ноября 2022 @imcrazyhoudiniуже всё сделал. Не надо больше 2 Hind Upgrade Mod Поделиться этим сообщением Ссылка на сообщение
Hind 29 Опубликовано 26 Ноября 2022 Сделал предмет (Документ) Скрытый текст [docs_t4]:identity_immunities GroupControlSection = spawn_group discovery_dependency= $spawn = "devices\pda" $prefetch = 16 class = II_ATTCH cform = skeleton visual = equipments\item_pda.ogf description = enc_equipment_devic_device-docs_t4 inv_name = docs_t4 inv_name_short = docs_t4 inv_weight = 0.3 ;0.2 inv_grid_width = 2 inv_grid_height = 1 inv_grid_x = 6 inv_grid_y = 19 cost = 0 attach_angle_offset = 3.080506,-1.493053,-1.202040 ;устанавливается в радианах Angle*PI/180 attach_position_offset = 0.080000,0.021273,0.100000 attach_bone_name = bip01_r_hand auto_attach = false Сделал скрипт на отбирание вещи у актора function bar_remove_docs4(first_speaker, second_speaker) dialogs.relocate_item_section(first_speaker, "docs_t4", "out") end Вставил в диалог - тыкаю реплику - сообщение о потере предмета есть, а предмет как лежал так и лежит в инвентаре. Как исправить? Hind Upgrade Mod Поделиться этим сообщением Ссылка на сообщение
Hind 29 Опубликовано 6 Декабря 2022 Есть какой то способ отключить автоперезарядку? И как отследить кол-во патронов, чтобы когда вышли патроны - выполнялась какая то функция (хочу сделать чтоб матерился, тип патроны кончились) ) 1 Hind Upgrade Mod Поделиться этим сообщением Ссылка на сообщение
Hind 29 Опубликовано 6 Декабря 2022 @mole venomousа как этот метод присобачить? Где он находится? Отбой. Разобрался.. Мож кому надо: if wpn:get_ammo_in_magazine() == 0 then Hind Upgrade Mod Поделиться этим сообщением Ссылка на сообщение
Hind 29 Опубликовано 6 Января 2023 Есть у кого сведения, как из HUD`а убрать арты, надетые на поясе? Hind Upgrade Mod Поделиться этим сообщением Ссылка на сообщение
Hind 29 Опубликовано 6 Января 2023 Подскажите, может кто знает оптмиальные значение eat_satiety, чтобы герой почаще голодал, но не через каждые 5 минут. Может, кто то имеет универсальные числа? Hind Upgrade Mod Поделиться этим сообщением Ссылка на сообщение
Hind 29 Опубликовано 8 Января 2023 Есть варианты, откуда украсть способность котэ-баюна к усыплению? Хочу прикрутить на OGSM. Hind Upgrade Mod Поделиться этим сообщением Ссылка на сообщение
Hind 29 Опубликовано 12 Января 2023 В общем, хочу сделать в моем моде (который на базе OGSM + FWR Lite Pack) чтобы в зоне постоянно была пасмурная, мрачная погода. Для этого в ванильном моде есть скрипт с настройкой, где от имени переменной (dark / defaukt) будет соотвественно мрачная или обычная погода. В этой сборке - кто то поковырялся, и вырезал эту мрачную погоду (sect_dark) из инклудов в environment.ltx. Я поправил - и вот что выходит: Изначально, при загрузке сохранения, погода такая же как и была - солнечная, без облаков, дождика, и прочей атрибутики. Стоить поспать, чтобы часы перевалили за 00:00 - как сразу становится та, мрачная погода. При сохранении, и загрузке сейва с "Мрачной" погодой, она автоматом ставиться на обычную, и так по кругу. Что делать? Прилагаю ниже папку weathers и скрипт level_weather, где записана "что будет, если переменная будет..." Большое пожалуйста, помогите Скрытый текст function WeatherManager:reset() --printf ("WeatherManager:WeatherManager():Reset()") -- Загрузить кондлист с погодой. local ini = ini_file("game.ltx") local weather if ogsm_options.weather == "dark" then weather = utils.cfg_get_string(ini, level.name(), "weathers2", db.actor, false, "", "dark") else weather = utils.cfg_get_string(ini, level.name(), "weathers", db.actor, false, "", "default") end local postprocess = utils.cfg_get_string(ini, level.name(), "postprocess", db.actor, false, "") if postprocess ~= nil then --printf("LEVEL POSTPROCESS: level: [%s], postprocess: [%s]", level.name(), postprocess) level.add_pp_effector(postprocess, 999, true) else --printf("LEVEL POSTPROCESS: level: [%s], postprocess: [none]", level.name()) level.remove_pp_effector(999) end if (level.name() == "l08_yantar" and has_alife_info("yan_controller_respawn_01")) or (level.name() == "l10_radar" and has_alife_info("bun_antenna_off")) or (level.name() == "l11_pripyat" and has_alife_info("freeplay")) or (level.name() == "l12_stancia" and has_alife_info("freeplay")) or (level.name() == "l12_stancia_2" and has_alife_info("freeplay")) then self.weather_list = xr_logic.parse_condlist(db.actor, level.name(), "weather", ogsm_options.weather) else self.weather_list = xr_logic.parse_condlist(db.actor, level.name(), "weather", weather) end self:select_weather(true) end Гугл Диск папки weathers Hind Upgrade Mod Поделиться этим сообщением Ссылка на сообщение
Hind 29 Опубликовано 12 Января 2023 @imcrazyhoudiniА всё равно, поменял - захожу на сейв (картинка кстати с мрачной погодой) - и ничё. Hind Upgrade Mod Поделиться этим сообщением Ссылка на сообщение
Hind 29 Опубликовано 13 Января 2023 @imcrazyhoudini поменял - не помогает. Разобрался. Проблема оказалась в enviorment.ltx, создатель сборки (rnm) поменял все погоды на свою секцию. Дёрнул из золотого шара функцию "усыпление" актора котами. cats() поставил на апдейт в бинд.сталкер. При загрузке - Скрытый текст [error]Expression : fatal error [error]Function : CScriptEngine::lua_error [error]File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp [error]Line : 73 [error]Description : <no expression> [error]Arguments : LUA error: ...d\s.t.a.l.k.e.r. hum 1.1\gamedata\scripts\hum.script:588: attempt to index global 'self' (a nil value) Скрытый текст function cats() local obj = self.object local id = get_clsid(obj) if (id == clsid.cat_s and self.object:alive() and self.object:see(db.actor)) then local posit = self.object:position() if posit:distance_to(db.actor:position()) < 10 then cat_sleep() end end end Скрытый текст function cat_sleep() rnd = math.random(1, 10) if rnd == 1 then level.add_pp_effector("agr_u_fade.ppe", 2007, false) level.add_pp_effector("total_recall.ppe", 2008, false) db.actor:stop_talk() db.actor.power =-0.05 end if rnd == 2 then --level.add_pp_effector("agr_u_fade.ppe", 2007, false) --level.add_pp_effector("total_recall.ppe", 2008, false) --db.actor:stop_talk() --db.actor.power =-0.05 end if rnd == 3 then --level.add_pp_effector("agr_u_fade.ppe", 2007, false) --level.add_pp_effector("total_recall.ppe", 2008, false) --db.actor:stop_talk() --db.actor.power =-0.05 --soundtrack.actor_need_sleep() end end Hind Upgrade Mod Поделиться этим сообщением Ссылка на сообщение
Hind 29 Опубликовано 14 Января 2023 @mole venomousне знаю, мне просто страшно было менять что то из исходника ... Сейчас попробуем. @mole venomousкуда вставлять ссылку на cats() в bind.monster? После какой строчки, имею ввиду? Hind Upgrade Mod Поделиться этим сообщением Ссылка на сообщение
Hind 29 Опубликовано 14 Января 2023 @mole venomous В HUM.script накалякал: Скрытый текст function cats(self_obj) local obj = self.object local id = get_clsid(obj) if (id == clsid.cat_s and self.object:alive() and self.object:see(db.actor)) then local posit = self.object:position() if posit:distance_to(db.actor:position()) < 10 then cat_sleep() end end end function cat_sleep() rnd = math.random(1, 10) if rnd == 1 then level.add_pp_effector("agr_u_fade.ppe", 2007, false) level.add_pp_effector("total_recall.ppe", 2008, false) db.actor:stop_talk() db.actor.power =-0.05 end if rnd == 2 then --level.add_pp_effector("agr_u_fade.ppe", 2007, false) --level.add_pp_effector("total_recall.ppe", 2008, false) --db.actor:stop_talk() --db.actor.power =-0.05 end if rnd == 3 then --level.add_pp_effector("agr_u_fade.ppe", 2007, false) --level.add_pp_effector("total_recall.ppe", 2008, false) --db.actor:stop_talk() --db.actor.power =-0.05 --soundtrack.actor_need_sleep() end end Скрытый текст if self.object:alive() then local self_obj = self.object HUM.cats(self_obj) if self.object:is_talk_enabled() then self.object:set_tip_text("character_use") else self.object:set_tip_text("") end Внизу ещё прочие апдейты, поэтому не достаёт энд, но там всё работает. Ошибка таже, правда уже не вылетает на загрузке, а просто выбивает лог - и мутанты просто стоят на местах. Hind Upgrade Mod Поделиться этим сообщением Ссылка на сообщение
Hind 29 Опубликовано 14 Января 2023 Решил. Просто впихнул функцию в bind_monster. Есть вариант как отследить убийство актором? Hind Upgrade Mod Поделиться этим сообщением Ссылка на сообщение
Hind 29 Опубликовано 14 Января 2023 (изменено) Как можно отследить обшаривание трупов? Изменено 14 Января 2023 пользователем Hind Hind Upgrade Mod Поделиться этим сообщением Ссылка на сообщение
Hind 29 Опубликовано 14 Января 2023 @mole venomousХочу сделать штучку, когда обшариваешь конкретно ТРУПЫ - гг говорит типо "подонок" и т.д. В xr_motivator, я походу слепой, но я не вижу зацепок - где можно впендюрить свою строчку кода.. И ещё вопрос.. Как отследить отношение мёртвого к ГГ? Hind Upgrade Mod Поделиться этим сообщением Ссылка на сообщение
Hind 29 Опубликовано 15 Января 2023 @mole venomousвсё прикрутил, всё работает, но есть проблема - гг не говорит когда лутаем нейтральных сталкеров. Скрытый текст function get_npc_relation(obj,target) local rel = obj:relation(target) local relation if rel==game_object.neutral then relation="neutral" elseif rel==game_object.friend then relation="friend" elseif rel==game_object.enemy then relation="enemy" else return false end return relation end function motivator_binder:use_callback(obj, who) if self.object:alive() then xr_use.notify_on_use(obj, who) if self.st.active_section then xr_logic.issue_event(self.object, self.st[self.st.active_scheme], "use_callback", obj, who) end else if self.treasure_processed == false then treasure_manager:get_treasure_manager():use(self.object) self.treasure_processed = true end if get_npc_relation(obj,db.actor)=="enemy" then -- моё HUM_marader.marader_enemy() elseif get_npc_relation(obj,db.actor)=="friend" then HUM_marader.marader_friend() elseif get_npc_relation(obj,db.actor)=="netural" then HUM_marader.marader_netural() end -- Затычка на всякий случай, чтоб Волкодав при обыске давал инфо о наемниках if self.object:name() == "bar_freedom_attacker_commander" then db.actor:give_info_portion("encyclopedy_social_stalker-clans_killers") end end end Разобрался. Hind Upgrade Mod Поделиться этим сообщением Ссылка на сообщение
Hind 29 Опубликовано 15 Января 2023 Как отследить ношение артефакта на поясе? И.. Как называется сытость актора в луа? Выносливость - db.actor.power Здоровье - db.actor.health Сытость - db.actor.????? Hind Upgrade Mod Поделиться этим сообщением Ссылка на сообщение
Hind 29 Опубликовано 15 Января 2023 Люди, помогите. Пропал сидорович. Просто взял, и пропал. Начал новую игру - а сидрыча на стуле нет. Кто знает, чем может быть вызвано? Лог чистый абсолютно. Hind Upgrade Mod Поделиться этим сообщением Ссылка на сообщение
Hind 29 Опубликовано 16 Января 2023 @shahvkit в том то и беда - игра модифицирована мною... Новую игру начинаю - а его реально нет! ну вот выше добрый человек подсказал, что в бинд монстер надо лазить. Я там добавил просто одну функцию для псевдопса, пойду смотреть. Интересно, на что разработчики намекали, ставя апдейт сидора в монстрах? Hind Upgrade Mod Поделиться этим сообщением Ссылка на сообщение
Hind 29 Опубликовано 19 Января 2023 Решил сделать коментарии гг когда он берет тухлую еду из инвентаря убитого. Скрытый текст function actor_binder:take_item_from_box(box, item) local bad_food = { -- моя таблица "bad_conserva", "bad_kolbasa", "bad_mre", "bad_olives", "bad_oreshki", "bad_syrok", "bad_bread" } local rnd = math.random(1, 10) -- моя переменная if box:section() == "taynik_sect" and box:is_inv_box_empty() then level.start_stop_menu(level.main_input_receiver(), true) alife():release(alife():object(box:id()), true) alife():create("rukzak_taynik",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) -- спавним рюкзак в инвентарь end if item:section() = bad_food and rnd >= 3 then -- моё условие, когда гг будет говорить фразу типо "отвратительно" HUM.bad_food_react() end if item:section() then local story_id = box:story_id() if story_id == nil then return end treasure_manager.take_item_from_box(box, story_id) --[[ local respawner = se_respawn.get_respawner_by_parent(story_id) if respawner == nil then return end --' Необходимо уменьшить счетчик в респавнере respawner:remove_spawned(item:id()) local smart_terrain = db.strn_by_respawn[respawner:name()] if smart_terrain == nil then return end local npc = smart_terrain.gulag:get_nearest_online_obj(db.actor:position()) if npc ~= nil then xr_sound.set_sound_play(npc, "reac_box") xr_gulag.setGulagEnemy(smart_terrain:name() , db.actor) end ]] end Скрытый текст function bad_food_react() local snd_list = { [[hum_badfood\starvation_2]], [[hum_badfood\starvation_3]], [[hum_badfood\starvation_4]], } local sound = snd_list[math.random(#snd_list)] xr_sound.get_safe_sound_object(sound):play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) end При загрузке - в логах постоянно выбивает: Скрытый текст ! Unknown command: ERROR:try_switch_to_another_section():_error_in_implementation_of_scheme_'mob_trader':_actor_is_nil ! Unknown command: ERROR:try_switch_to_another_section():_error_in_implementation_of_scheme_'mob_trader':_actor_is_nil ! Unknown command: ERROR:try_switch_to_another_section():_error_in_implementation_of_scheme_'mob_trader':_actor_is_nil ! Unknown command: ERROR:try_switch_to_another_section():_error_in_implementation_of_scheme_'mob_home':_actor_is_nil ! Unknown command: ERROR:try_switch_to_another_section():_error_in_implementation_of_scheme_'mob_home':_actor_is_nil ! Unknown command: ERROR:try_switch_to_another_section():_error_in_implementation_of_scheme_'mob_home':_actor_is_nil ! Unknown command: ERROR:try_switch_to_another_section():_error_in_implementation_of_scheme_'mob_home':_actor_is_nil ! Unknown command: ERROR:try_switch_to_another_section():_error_in_implementation_of_scheme_'mob_trader':_actor_is_nil ! Unknown command: ERROR:try_switch_to_another_section():_error_in_implementation_of_scheme_'mob_trader':_actor_is_nil ! Unknown command: ERROR:try_switch_to_another_section():_error_in_implementation_of_scheme_'mob_trader':_actor_is_nil ! Unknown command: ERROR:try_switch_to_another_section():_error_in_implementation_of_scheme_'mob_trader':_actor_is_nil ! Unknown command: ERROR:try_switch_to_another_section():_error_in_implementation_of_scheme_'mob_trader':_actor_is_nil ! Unknown command: ERROR:try_switch_to_another_section():_error_in_implementation_of_scheme_'mob_home':_actor_is_nil ! Unknown command: ERROR:try_switch_to_another_section():_error_in_implementation_of_scheme_'mob_home':_actor_is_nil ! Unknown command: ERROR:try_switch_to_another_section():_error_in_implementation_of_scheme_'mob_home':_actor_is_nil ! Unknown command: ERROR:try_switch_to_another_section():_error_in_implementation_of_scheme_'mob_home':_actor_is_nil ! Unknown command: ERROR:try_switch_to_another_section():_error_in_implementation_of_scheme_'mob_trader':_actor_is_nil ! Unknown command: ERROR:try_switch_to_another_section():_error_in_implementation_of_scheme_'mob_trader':_actor_is_nil ! Unknown command: ERROR:try_switch_to_another_section():_error_in_implementation_of_scheme_'mob_trader':_actor_is_nil ! Unknown command: ERROR:try_switch_to_another_section():_error_in_implementation_of_scheme_'mob_trader':_actor_is_nil При этом вылета не происходит, но и неписи ведут себя.... Странно. + у них появляется в инвентаре после смерти фонарик. Помогите. Разобрался. Hind Upgrade Mod Поделиться этим сообщением Ссылка на сообщение