Eugen81 1 008 Опубликовано 25 Мая 2016 Поделиться Опубликовано 25 Мая 2016 (изменено) Есть конструкция проверки валидности версии игры Вот конструкция: if tonumber(_G.main_menu.get_main_menu():GetGSVer()) <= 1.0004 then ... elseif tonumber(_G.main_menu.get_main_menu():GetGSVer()) == 1.0005 then ... elseif tonumber(_G.main_menu.get_main_menu():GetGSVer()) == 1.0006 then ... end А, может я неверно понял? Проверка не версии движка, а патче-фиксов мода? Тогда ищи в этой теме примеры использования pstor_store / pstor_retrieve . Изменено 25 Мая 2016 пользователем Eugen81 Ссылка на комментарий
abramcumner 1 141 Опубликовано 25 Мая 2016 Поделиться Опубликовано 25 Мая 2016 @Zander_driver, на чистом ТЧ 1.0006 smart_terrain.check_script нормально работает. Но printf из первой строчки скрипта не вызывался, компиляция не выполнялась, и даже не пыталась начаться.Совсем не очевидно. Добавь к примеру такой же printf в _g.script. Мне просто интересно, что вообще я мог такого сделать, чтобы это происходило. Какая может быть причина... есть у кого нибудь предположения?Вроде это ты переколбашивал smart_terrain.script. Причина в этом Удали геймдату, проверь чудо-чудное на чистом ТЧ 1.0004+RvP. Ссылка на комментарий
CRAZY_STALKER666 36 Опубликовано 25 Мая 2016 Поделиться Опубликовано 25 Мая 2016 @Eugen81, проверка версии движка для своего мода... Не соответствует правилам. Ссылка на комментарий
Zander_driver 10 331 Опубликовано 25 Мая 2016 Поделиться Опубликовано 25 Мая 2016 Вроде это ты переколбашивал smart_terrain.script. Причина в этом Удали геймдату, проверь чудо-чудное на чистом ТЧ 1.0004+RvP. Да это понятно. Я как бы интересуюсь, какого рода действия в принципе могут породить вот такой баг - отказ движка читать файл. Чистый ТЧ и не требовался, поставил вчерашний smart_terrain.script вместо сегодняшнего, и все пошло. Буду по одной строчке из нового в вчерашний переносить, пока не выясню в чем дело) проверка версии движка для своего мода... Тогда что там собственно, оптимизировать? вызов одной функции, почти ничего не ест. Еще одна горе-оптимизация? Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 25 Мая 2016 Поделиться Опубликовано 25 Мая 2016 (изменено) Обращение к smart_terrain.script может происходить до окончательной компиляции _g.script, и по крайней мере ТОЧНО происходит до появления валидного alife(), работающей КОНСОЛИ (Sic !), назначения кучи clsid и прочих чудес, включая полное определение пространства game. Да, в какой именно момент подхватывается RvP, и начинает работать printf() - тебе только автор скажет. Изменено 25 Мая 2016 пользователем Dennis_Chikin 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Zander_driver 10 331 Опубликовано 25 Мая 2016 Поделиться Опубликовано 25 Мая 2016 причина в клсидах оказалась) там у меня табличка была. вида [clsid.что-то там] = что нибудь. ну и видимо на момент компиляции smart_terrain.script они еще были равны nil - что и приводило к разнообразным чудесам, следствиям рухнувшего namespace. Перенес формирование таблицы в функцию которая вызывается чуть попозже - и все заработало. А при обращении из колбека старта игры, printf из самого smart_terrain не срабатывал потому что файл компилировался раньше. Я это не сразу заметил, что эти сообщения просто в другом месте лога были. Вообще кстати говоря, не первый раз замечаю такое. Если в скриптах, к которым обращение идет до полной сборки _g.script, сотворить что-то, что обычно приводит к вполне понятным вылетам (там то в такой-то строке nil вместо того что мы хотели) например, то вот в этом случае вылет как правило будет неочевидный, неинформативный, и зачастую с руганью на что-то совсем другое. 1 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 25 Мая 2016 Поделиться Опубликовано 25 Мая 2016 А вот для этого, собственно, и система принудительной инициализации: по тому что иначе получившееся спагетти через n кругов или начинает ссылаться на самое себя, или хотеть того, чего к этому времени быть не может. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
CRAZY_STALKER666 36 Опубликовано 25 Мая 2016 Поделиться Опубликовано 25 Мая 2016 @Zander_driver, она вызываеться при каждой отрисовке меню, и сохранение флага мне бы помогло. Но как это сделать - ума не приложу, недостаточно компетентен. Не соответствует правилам. Ссылка на комментарий
Zander_driver 10 331 Опубликовано 26 Мая 2016 Поделиться Опубликовано 26 Мая 2016 @CRAZY_STALKER666, сохранение и загрузка флага это тоже вызовы, при любой реализации. Причем скорее всего более ресурсоемкие, чем вызов функции возвращающей версию движка. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Sla-Sla 43 Опубликовано 26 Мая 2016 Поделиться Опубликовано 26 Мая 2016 Всем привет, решил попробовать сделать скриптовой инвентарь, такая проблема: вывожу список предметов в инвентаре на GUI, вроде работает, но через пару секунд вылетает без лога. Перепроверял весь код, но не пойму где ошибка. Может ли кто-нибудь из опытных скриптеров глянуть? Ссылка:https://yadi.sk/d/3906kj0gs39UM Ссылка на комментарий
dsh 3 824 Опубликовано 26 Мая 2016 Поделиться Опубликовано 26 Мая 2016 @Sla-Sla, подробно не скажу. Судя по упоминанию времени, уборщик мусора что-то нужное удалил. У меня подобное как-то было, а подробностей вспомнить не могу. Инициализировал какой-то контрол и ссылку на него нигде не сохранял. Что-то типа того. Не могу подробней вспомнить. dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
Fish82 0 Опубликовано 26 Мая 2016 Поделиться Опубликовано 26 Мая 2016 Подскажите пожалуйста как совместить два колбека : self.object:set_callback(callback.use_object, self.use_object, self) self.object:set_callback(callback.use_object, self.use_inventory_item, self) Ссылка на комментарий
TIGER_VLAD 361 Опубликовано 26 Мая 2016 Поделиться Опубликовано 26 Мая 2016 @Fish82, Это один и тот же use_object колбэк. Ссылка на комментарий
Zander_driver 10 331 Опубликовано 27 Мая 2016 Поделиться Опубликовано 27 Мая 2016 @Sla-Sla, Ну надо же. Вообще, список предметов это еще не инвентарь. А по вашей проблеме, dsh исчерпывающий ответ дал. Подробнее вам никто и не скажет Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Sla-Sla 43 Опубликовано 27 Мая 2016 Поделиться Опубликовано 27 Мая 2016 Всем спасибо, уже разобрался с вылетом, но теперь новая трабла: строки с секциями повторяются несколько раз, вот скрин, на нем видно. Никто не знает способ исправления? @Zander_driver, еще не инвентарь, но с чего-то надо же начать)) 1 Ссылка на комментарий
Zander_driver 10 331 Опубликовано 27 Мая 2016 Поделиться Опубликовано 27 Мая 2016 (изменено) способ исправления? Смотри алгоритм формирования этих данных, проверяй где какие данные чему равны. В "сборочном цехе" есть полезная функция для вывода в лог значений любого типа, я при разработке всяческих сложных систем, интерфейсов, постоянно ее применял и применяю. В любом месте кода можно взять и вывести в лог что угодно, посмотреть - там то что должно быть, или что-то другое? Бери и пользуйся, разбирайся, что и где работает не так, и почему. Изменено 27 Мая 2016 пользователем Zander_driver Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
UnLoaded 313 Опубликовано 27 Мая 2016 Поделиться Опубликовано 27 Мая 2016 строки с секциями повторяются несколько раз, вот скрин, на нем видно. Никто не знает способ исправления? Все правильно - патроны в инвентаре хранятся в пачках, кои могут быть полные\не полные. Ф-ции для работы с инвентарем возвращают каждый объект(имхо - пачку с патронами\аптечку и др. и др.) индивидуально, вот у тебя и получается в списке несколько одинаковых секций. Соответственно делай какой-то способ накопления кол-ва для одинаковых секций, а в список выводи уже обобщенный результат. Ссылка на комментарий
Sla-Sla 43 Опубликовано 27 Мая 2016 Поделиться Опубликовано 27 Мая 2016 (изменено) @UnLoaded, не только с патронами такая фигня, еще с бинтом. Остальные предметы выводятся одной строкой, как и задумано. Изменено 27 Мая 2016 пользователем Sla-Sla Ссылка на комментарий
abramcumner 1 141 Опубликовано 27 Мая 2016 Поделиться Опубликовано 27 Мая 2016 Остальные предметы выводятся одной строкой, как и задумано.Наверное их просто по одной штуке, а бинта два? Купи у Сидора два ПМа. Ссылка на комментарий
dsh 3 824 Опубликовано 27 Мая 2016 Поделиться Опубликовано 27 Мая 2016 @Sla-Sla, если разберешься, то вот тут вот: https://github.com/dsh2dsh/op2ogse/blob/master/gamedata/scripts/dsh_rukzak.script скриптовый рюкзак. Тоже в виде списка показывает содержимое себя в одной вкладке и содержимое инвентаря ГГ в другой. Примерно то, что тебе нужно. 1 dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти