Купер 2 730 Опубликовано 23 Июля 2022 Поделиться Опубликовано 23 Июля 2022 (изменено) @mole venomous , db.actor:get_inventory_weight(). По идее. Пример использования. Скрытый текст Кто-нибудь многострадальный R1 к OGSR всё-таки прикручивал/ет? Никто не в курсе? Изменено 23 Июля 2022 пользователем Купер 1 Ссылка на комментарий
aromatizer 4 414 Опубликовано 24 Июля 2022 Поделиться Опубликовано 24 Июля 2022 6 часов назад, Купер сказал: R1 к OGSR Это отрицательное развитие. 1 Отношения между людьми- главная ценность в человеческом обществе.Любая полученная информация- это только повод для размышлений, а не побуждение к действию.Это должен знать каждый: уроки боевой подготовки Дяди Саши https://yadi.sk/d/60Ec2B06goLAEНакопано и накнопано:https://yadi.sk/d/mzVY5jQEspwpt Ссылка на комментарий
Купер 2 730 Опубликовано 24 Июля 2022 Поделиться Опубликовано 24 Июля 2022 Это гнилая сущность идеологии новоМайков. 1 1 Ссылка на комментарий
ziken 0 Опубликовано 27 Июля 2022 Поделиться Опубликовано 27 Июля 2022 Здравствуйте. Есть мод Call of Misery и дополнение на миникарту. Хочу сделать итем на пояс, который тратит энергию и включает эту миникарту. Хоть примерно скрипт накидайте или наводку на пример похожего функционала из других модов. Звучит максимально просто, но без примера и знания языка не могу реализовать сам. Ссылка на комментарий
Colder 12 Опубликовано 27 Июля 2022 Поделиться Опубликовано 27 Июля 2022 (изменено) Можно ли в GUI окне вывести Fillist с иконками итемов а не имя как это видно на скрине. Где можно подсмотреть? https://disk.yandex.ru/i/RrPaSNJ4OCr7Eg Изменено 27 Июля 2022 пользователем Colder Ссылка на комментарий
AndreySol 215 Опубликовано 27 Июля 2022 Поделиться Опубликовано 27 Июля 2022 @Colder Можно, CUIListWnd в руки. Если нужно пример реализации - стучи в ЛС. Ссылка на комментарий
Colder 12 Опубликовано 20 Августа 2022 Поделиться Опубликовано 20 Августа 2022 (изменено) Есть функция которая выдает все тайники Скрытый текст function CTreasure:create_random_stash() for k,v in pairs(self.treasure_info) do self:give_treasure(k) end end Помогите сделать что бы она выдавала 1 тайник. Изменено 20 Августа 2022 пользователем Colder Ссылка на комментарий
Manool 145 Опубликовано 20 Августа 2022 Поделиться Опубликовано 20 Августа 2022 @Colder Скрытый текст function CTreasure:create_random_stash() for k, v in pairs(self.treasure_info) do self:give_treasure(k) break end end Объединённый Пак OGSR Engine Ссылка на комментарий
Colder 12 Опубликовано 20 Августа 2022 Поделиться Опубликовано 20 Августа 2022 @Manool Выдаёться один и тот же тайник Ссылка на комментарий
Manool 145 Опубликовано 20 Августа 2022 Поделиться Опубликовано 20 Августа 2022 (изменено) @Colder Выдаст рандомный тайник - Скрытый текст function CTreasure:create_random_stash() local t = {} for k, v in pairs(self.treasure_info) do table.insert(t, k) end self:give_treasure(t[math.random(#t)]) end Изменено 20 Августа 2022 пользователем Manool 1 Объединённый Пак OGSR Engine Ссылка на комментарий
Norman Eisenherz 282 Опубликовано 24 Августа 2022 Поделиться Опубликовано 24 Августа 2022 Здрасьте. [ТЧ/ЧН] Изменение подсказки при взаимодействии с объектом через метод set_tip_text(string): при тесте на трупе мутанта подсказка меняется на один апдейт, после чего возвращается к исходному виду "Обыскать труп". Как заставить игру сохранить изменение? Spoiler [scripts\bind_monster.script] function generic_object_binder:use_callback(obj) if not obj:alive() then self.object:set_nonscript_usable(false) self.object:set_tip_text("test") end end Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
mole venomous 3 272 Опубликовано 24 Августа 2022 Поделиться Опубликовано 24 Августа 2022 (изменено) Не хватает костного мозга в холодце, как добавить в исключения предмет на поясе по id, что бы размер этого предмета не учитывался в ограниченном объёме рюкзака? По типу такого: Скрытый текст local OutfitSlot = db.actor:item_in_slot(6) if OutfitSlot ~= nil then IdOutfit = OutfitSlot:id() end Всё, распихиваемое по слотам, места не занимает. С предметами на поясе же у меня постоянно вопросы, которые оставляю здесь... Движок ОГСР. Изменено 24 Августа 2022 пользователем mole venomous Здесь могла быть ваша реклама. Ссылка на комментарий
Manool 145 Опубликовано 24 Августа 2022 Поделиться Опубликовано 24 Августа 2022 @mole venomous Скрытый текст local excluded_ids = {} for i = 0, db.actor:belt_count() - 1 do -- цикл всех предметов на поясе local item = db.actor:item_on_belt(i) if item then excluded_ids[item:id()] = true end end -- проверка на исключение: if excluded_ids[id] then -- id здесь предмета, который нужно проверить end 1 1 Объединённый Пак OGSR Engine Ссылка на комментарий
dsh 3 823 Опубликовано 24 Августа 2022 Поделиться Опубликовано 24 Августа 2022 6 hours ago, Norman Eisenherz said: подсказка меняется на один апдейт Вот это вот мне подсказывает, что что-то ещё меняет подсказку. Может скрипт какой, или движок, тебе должно быть виднее. dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
Norman Eisenherz 282 Опубликовано 24 Августа 2022 Поделиться Опубликовано 24 Августа 2022 Кто-нибудь кто применял метод set_text_tip на чистой версии ТЧ/ЧН может ответить? Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
AndreySol 215 Опубликовано 25 Августа 2022 Поделиться Опубликовано 25 Августа 2022 @Norman Eisenherz generic_object_binder:update(delta) там несколько упоминаний set_tip_text, соответственно, на апдейте постоянно корректируется подсказка. Об этом, кстати, dsh намекнул... Копай туда. Ссылка на комментарий
Hind 29 Опубликовано 25 Августа 2022 Поделиться Опубликовано 25 Августа 2022 Привет всем! Решил намутить рабочую гитару, чтобы после 43 секунд игры мелодии, она возвращалась обратно в инвентарь. Забацал 2 файла, один dmb.script, второй dmb2.script. Скрытый текст local tSound ={ dmb_pleer = "interface\\inv_guitar", } function muzika() alife():create("dmb_pleer", db.actor:position(), 1, db.actor:game_vertex_id(), db.actor:id()) end function use_item(obj) local obj = obj:section() if obj then if obj == "dmb_pleer" then dmb2.start_timer() end end if obj and tSound[obj:section()] then local snd = xr_sound.get_safe_sound_object(tSound[obj:section()]) if snd then snd:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 2.0) end end end А вот второй скрипт, куда я запихнул таймер Скрытый текст function action_timer() alife():create("dmb_pleer", db.actor:position(), 1, db.actor:game_vertex_id(), db.actor:id()) end function start_timer() local iTimer = time_global() + 43000 local function check_timer() return time_global() > iTimer end level.add_call(check_timer, action_timer) end И при попытке юзануть ту самую гитару, вылазит ЭТО: [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: ....l.k.e.r. Тень Чернобыля\gamedata\scripts\dmb.script:22: attempt to call method 'section' (a nil value) Помогите пожалуйста) Hind Upgrade Mod Ссылка на комментарий
Norman Eisenherz 282 Опубликовано 25 Августа 2022 Поделиться Опубликовано 25 Августа 2022 (изменено) @Hind Путаница в типе и значениях переменных: сначала obj – объект, потом obj – секция, то есть строка, и для этой строки ты еще раз пытаешься прочитать секцию. @AndreySol Получается решение вида "заново менять уже измененную подсказку каждый апдейт". Кроме проверки по таблице id уже обработанных мутантов, как можно добиться варианта "смерть, 1 апдейт и остановка + запоминание при перезагрузке"? Изменено 25 Августа 2022 пользователем Norman Eisenherz Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
AndreySol 215 Опубликовано 27 Августа 2022 Поделиться Опубликовано 27 Августа 2022 (изменено) 25.08.2022 в 22:19, Norman Eisenherz сказал: Получается решение вида "заново менять уже измененную подсказку каждый апдейт". Ну так оно единственно верное. У тебя для монстров и нпс есть апдейт(generic_object_binder:update(delta)), в нем постоянно корректируется подсказка, в зависимости от состояния объекта. Вот тебе пример из модика(мод "Мясник" (CoP) от Singapur22), который меняет логику обыска трупов монстров, тебя интересует выделенный фрагмент: Скрытый текст if self.object:alive() then if self.object:is_talk_enabled() then self.object:set_tip_text("character_use") else self.object:set_tip_text("") end else if self.used then self.object:set_tip_text("") else local character_use = read_if_exist("s",nil,self.object:section(),"character_use","dead_monster_use") self.object:set_tip_text(character_use) end end Для дохлого монстра подсказка меняется сразу по факту его помирания, а в методе use_callback она возвращается в исходное значение. Изменено 27 Августа 2022 пользователем AndreySol 1 Ссылка на комментарий
gam 116 Опубликовано 27 Августа 2022 Поделиться Опубликовано 27 Августа 2022 @AndreySol Если речь об определенных НПС, то в логики схемы Ремарк - есть работа параметра snd = ** Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти