aka_sektor 1 476 Опубликовано 18 Сентября 2016 Вопрос к скриптовикам: Что означет db.actor в коде функции? Например, в функции вывода сообщений. Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Поделиться этим сообщением Ссылка на сообщение
aka_sektor 1 476 Опубликовано 18 Сентября 2016 @Serge!, в db.script: actor = nil Выходит вместо db.actor можно писать просто nil ? Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Поделиться этим сообщением Ссылка на сообщение
aka_sektor 1 476 Опубликовано 18 Февраля 2017 (изменено) Пытаюсь заставить работать схему ph_target без мини-игры в Зове Припяти.1. На тестовом уровне, поставил мишень (spawn element -> dynamic_objects\armory_room\shooting_target_1)2. Прописал ей Custom Data: [logic] active=ph_target [ph_target] 3. Закинул в скрипты ph_target.script (из ЧН) и modules.script (в нём раскомментил схему).4. Изменил ph_target.script:- закомментил 2 строки начинающиеся на minigames_managerТаким образом на уровне мишень стоит, при попадании проигрывается соответствующий звук, но мишень не опускается.По подсказке @Charsi, в ph_target.script после: self.hit_update_time = time Написал: self:anim_down() А после: -- if animation ended then callback Написал: self:anim_up() Таким образом, на уровне мишень теперь лежит, и зациклен звук того, как она ложиться.При попадании она поднимается, и немного погодя снова ложиться. Но ведь, она должна стоять "молча", и только при попадании ложиться, и немного погодя вставать. В общем, непонятно куда дальше копать. Изменено 18 Февраля 2017 пользователем aka_sektor Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Поделиться этим сообщением Ссылка на сообщение
aka_sektor 1 476 Опубликовано 11 Июня 2017 (изменено) Кто шарит в логике, подскажите, как тут дописать правильно, чтобы в сообщении указывалось имя NPC, а не писалось "Сообщение". [sr_idle@20] on_game_timer = 10000 | sr_idle@30 %+sad_artefuck_ready =send_tip(sad_artefact_upgr_ready:sad_atr_trader) -sad_atr_trader_go_kitchen% send_tip - понятно, что это функция в xr_effects.script Есть даже такой комментарий: --[[ send_tip(news_id:sender:sender_id) 1. news_id 2. sender* 3. sender_id* * - not necessary --]] news_id - это текст сообщения, т.е. string id. В моей логике имя sad_artefact_upgr_readysender - это иконка в секции tips_icons news_manager.script. В моей логике имя sad_atr_trader sender_id - а это заголовок сообщения, story_id NPC. story_id моего персонажа прописан в файле по пути: gamedata\configs\creatures\spawn_sections_sad.ltx И выглядит так: [sad_atr_trader]:stalker $spawn = "respawn\sad_atr_trader" character_profile = sad_atr_trader story_id = sad_atr_trader Т.е. в логике я указал как: [sr_idle@20] on_game_timer = 10000 | sr_idle@30 %+sad_artefuck_ready =send_tip(sad_artefact_upgr_ready:sad_atr_trader:sad_atr_trader) -sad_atr_trader_go_kitchen% Дело в том, что хоть story_id и указан, заголовок все также остается как "Сообщение". UPD: Я все-таки думаю, что story_id читается, но не отображается. Потому что, если указать другое имя, не являющееся story_id - игра вылетит. Думаю, дело в функции send_tip в news_manager.script. Там не прописано отображение имени. Возможно, что-то со времен прошлых игр удалили из скриптов, т.к. я действительно не помню чтобы в ЗП игрок получал сообщения с подписанным именем NPC. UPD2: Проблема решена на форуме ap-pro: http://ap-pro.ru/forum/114-90122-1 Изменено 12 Июня 2017 пользователем aka_sektor Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Поделиться этим сообщением Ссылка на сообщение
aka_sektor 1 476 Опубликовано 17 Сентября 2017 Написали такую фразу: Цитата опасный объект заносится в дэнжер менеджер Я так понимаю, связано с xr_danger.script ? Как это в игре выглядит? Тут имеется ввиду реакция AI на звук. Предполагаю, что NPC начинает искать врага, пока не убьет. Так ли это? Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Поделиться этим сообщением Ссылка на сообщение
aka_sektor 1 476 Опубликовано 22 Сентября 2017 В 17.09.2017 в 13:19, KERABITE сказал: как отключить ограничение по переносимому обьему инвентаря Объём инвентаря это скриптовый мод. В скрипте очевидно будет выключатель вида: true/false Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Поделиться этим сообщением Ссылка на сообщение
aka_sektor 1 476 Опубликовано 29 Сентября 2017 (изменено) 4 минуты назад, BFG сказал: по поднятию итема Пишут такое: Цитата при загрузке уровня создаются клиентские объекты предметов , лежащих в инвентаре и они в нем регистрируются в сам факт регистрации в скриптах и отдается колбеком item_take то значит что этот код будет постоянно вызываться при загрузке уровня или просто сейв\лоад Изменено 29 Сентября 2017 пользователем aka_sektor 1 Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Поделиться этим сообщением Ссылка на сообщение
aka_sektor 1 476 Опубликовано 29 Сентября 2017 (изменено) 6 минут назад, BFG сказал: есть методы обхода Заглушка: if obj:section() == "имя_предмета" and not has_alife_info("фэйковый_инфопоршень") then give_info("фэйковый_инфопоршень") end И ещё: Цитата При взятии любого предмета (и после загрузки, да) выполняется весь код метода этого коллбека. Изменено 29 Сентября 2017 пользователем aka_sektor Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Поделиться этим сообщением Ссылка на сообщение
aka_sektor 1 476 Опубликовано 29 Сентября 2017 @Капрал Хикс в моде "Путь во мгле" на ЗП, вроде есть модель Сидоровича NPC. 1 Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Поделиться этим сообщением Ссылка на сообщение
aka_sektor 1 476 Опубликовано 4 Октября 2017 А чего это в ЗП нету функции actor_dont_has_item ? Думал по аналогии с actor_has_item должна быть. Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Поделиться этим сообщением Ссылка на сообщение
aka_sektor 1 476 Опубликовано 6 Октября 2017 (изменено) Можно ли получить задание после получения инфопорции? Например, в квесте задано: title = {+info_portion2} step_2, {+info_portion1} step_1 Если я получю в игре info_portion1, стартанет ли квест? Изменено 6 Октября 2017 пользователем aka_sektor Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Поделиться этим сообщением Ссылка на сообщение
aka_sektor 1 476 Опубликовано 6 Октября 2017 (изменено) @Jurok а только эти 2 способа? Нельзя ли как то выдать при обыске тела NPC? Хотя наверное думаю можно, если прописать в апдейт вызов функции при условии наличия инфопорции. А порцию выдать при обыске. Изменено 6 Октября 2017 пользователем aka_sektor Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Поделиться этим сообщением Ссылка на сообщение
aka_sektor 1 476 Опубликовано 6 Октября 2017 (изменено) @Jurok не совсем понял как эта функция работает? Это для всех тел? Или как указывается нужное? Рестриктор мне не надо, шейпы эти. 49 минут назад, Jurok сказал: function функция() task_manager.get_task_manager():give_task("название_квеста") end Предпочитаю укороченную: function task_funct_name(first_speaker, second_speaker) give_task("task_name") end Изменено 6 Октября 2017 пользователем aka_sektor Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Поделиться этим сообщением Ссылка на сообщение
aka_sektor 1 476 Опубликовано 7 Октября 2017 (изменено) 2 часа назад, antreg сказал: Windows 10 2 часа назад, antreg сказал: на семёрке и хр Может дело в версии игры? Почему ж тогда одни моды сделанные под 4 патч, не работают на 6 или работают неправильно. p.s. @antreg делаю вывод ещё не покинул моддинг, судя по слухам. Изменено 7 Октября 2017 пользователем aka_sektor Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Поделиться этим сообщением Ссылка на сообщение
aka_sektor 1 476 Опубликовано 8 Октября 2017 1 час назад, AndrewMor сказал: В теле поршня пишешь тег Проблема в том, что в ЗП чтение секции закомментировано. Эт вариант для ТЧ/ЧН. Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Поделиться этим сообщением Ссылка на сообщение
aka_sektor 1 476 Опубликовано 30 Октября 2017 (изменено) В 25.10.2017 в 20:37, Jekyll сказал: Invalid ogg-comment version В 25.10.2017 в 20:37, Jekyll сказал: отмечается в консоли красным цветом В 25.10.2017 в 20:37, Jekyll сказал: О чем в таких случаях говорит Комментарии в *.ogg файле отсутствуют или они неправильные. Как исправлять, смотри тут: https://modfaq.ru/Импорт_звука Изменено 27 Марта 2020 пользователем aka_sektor 1 Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Поделиться этим сообщением Ссылка на сообщение
aka_sektor 1 476 Опубликовано 24 Ноября 2017 (изменено) Тут вот писали: http://ap-pro.ru/forum/126-750-459608-16-1369681281 Цитата Если лога нет, нужно файл _g.script изменить. Тогда лог будет более чем подробным, но играть постоянно с такой настройкой не очень удобно. Подскажет кто, что изменить? А то ловлю безлоговый в ТЧ, может удасться определить в чем дело. Сейчас там: function abort(fmt, ...) local reason = string.format(fmt, ...) assert("ERROR: " .. reason) printf("ERROR: " .. reason) dbglog("%s", reason) printf("%s") end Изменено 24 Ноября 2017 пользователем aka_sektor Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Поделиться этим сообщением Ссылка на сообщение
aka_sektor 1 476 Опубликовано 24 Ноября 2017 (изменено) 1 час назад, Dennis_Chikin сказал: Более того, передав неправильные параметры, можно получить этот самый вылет без лога Интересно. Глянул как в оригинале, получается строчка в моде добавлена: dbglog("%s", reason) Из-за неё может быть проблема? UPD: Ещё сравнил вообще файлы, там добавлено такое: --[[function printf(fmt,...) local con = get_console() con:execute(string.gsub(string.format(fmt,...), " ", "_")) con:execute("flush") end]] function dbglog(fmt,...) local msg = string.format(fmt, ...) local msg_no_ws = string.gsub(msg, "%s", "_") get_console():execute("dbg:" .. msg_no_ws) end --function printf(fmt,...) -- local arg={...} -- if arg==nil or arg[0]==nil then -- mylog(fmt) -- else -- mylog(string.format(fmt,...)) -- end --end --local bufferedmessages={} --function mylog(msg) --[[ if msg==nil then return end if db and db.actor then if bufferedmessages then for k,v in ipairs(bufferedmessages) do db.actor:give_game_news(v, "ui\\ui_iconsTotal", Frect():set(0,0,200,200), 0, 15000) end bufferedmessages=nil end db.actor:give_game_news(msg, "ui\\ui_iconsTotal", Frect():set(0,0,200,200), 0, 15000) else if bufferedmessages then table.insert(bufferedmessages,msg) end end if get_console() then get_console():execute("load "..msg) get_console():execute("flush") end ]] --end Изменено 24 Ноября 2017 пользователем aka_sektor Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Поделиться этим сообщением Ссылка на сообщение
aka_sektor 1 476 Опубликовано 5 Декабря 2017 (изменено) Словил тут вылет, когда помер в ЗП: xr_conditions.script:2196: attempt to index field 'actor' (a nil value) Точнее при загрузке последнего сохранения. В кондишнс у меня добавлен код: function sad_predateli_pda() if (db.actor:object("sad_mudak_pda") ~= nil) and not (db.actor:has_info("sad_predateli_info")) then db.actor:give_info_portion("sad_predateli_info") end end 2196 это вторая строка, которая if В чем тут дело? Изначальная функция взята отсюда: http://www.amk-team.ru/forum/topic/8806-cop-kvesty/?page=2&tab=comments#comment-349951 Изменено 5 Декабря 2017 пользователем aka_sektor Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Поделиться этим сообщением Ссылка на сообщение
aka_sektor 1 476 Опубликовано 5 Декабря 2017 @dsh предложили добавить проверку актора на nil: function sad_predateli_pda() if db.actor ~= nil and db.actor:object("sad_mudak_pda") ~= nil and not db.actor:has_info("sad_predateli_info") then db.actor:give_info_portion("sad_predateli_info") end end Проверил, теперь не вылетает. Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Поделиться этим сообщением Ссылка на сообщение