dsh 3 824 Опубликовано 26 Декабря 2020 (изменено) @Jekyll если я правильно помню, это что-то вроде db.actor:position():mul( db.actor:direction() , dist ) Получаешь позицию в том направлении, на том расстоянии. По памяти пишу, могу напутать. Изменено 26 Декабря 2020 пользователем dsh 1 2 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 19 Февраля 2021 @Okichi лампочка и свет - это два отдельных объекта. Притом лампочка может вообще не быть объектом, а нарисована на стене. 5 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 10 Марта 2021 @Colder тебе табы что-ли нужны? Существует готовый класс для этого, костыли не нужны. Пример <window> <main_dialog x="80" y="5" width="860" height="680"> <tab x="14" y="40" width="202" height="28"> <button x="0" y="0" width="100" height="28" stretch="1" accel="k1"> <texture_offset x="0" y="0"/> <texture>ui_cop_button_left</texture> <text font="graffiti22" align="c">Рюкзак</text> <text_color> <e r="0" g="0" b="0"/> <t r="240" g="217" b="182"/> <d r="135" g="123" b="116"/> <h r="0" g="0" b="0"/> </text_color> </button> <button x="101" y="0" width="100" height="28" stretch="1" accel="k2"> <texture_offset x="0" y="0"/> <texture>ui_cop_button_right</texture> <text font="graffiti22" align="c">Инвентарь</text> <text_color> <e r="0" g="0" b="0"/> <t r="240" g="217" b="182"/> <d r="135" g="123" b="116"/> <h r="0" g="0" b="0"/> </text_color> </button> </tab> и инициализация self.tab = xml:InitTab( "main_dialog:tab", self.dialog ) self:Register( self.tab, "tab" ) ... self:dshAddCallback( "tab", ui_events.TAB_CHANGED, self.OnTabChange, self ) Это все не для копипасты, а для размышлений. 2 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 24 Марта 2021 (изменено) @ARTLantist вот скрипт менеджера костров и функция, которая лечит актору пси, когда он смотрит в костёр https://github.com/dsh2dsh/op2ogse/blob/f2ccb6652e1ea702d09682c8024036ec88cba4df/gamedata/scripts/ogse/ogse_campfire.script#L52 Теперь тебе есть от чего плясать. Изменено 24 Марта 2021 пользователем dsh 3 2 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 7 Апреля 2021 @Баба ЯГА господибожемой. Это не реализовано. Это баг оригинального движка. Ну совсем докатились. 1 3 2 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 14 Июня 2021 @Colder мне кажется, лучше использовать уже готовое. 1. описать progress bar в xml. Например <bar_frame1 x="47" y="164" width="100" height="8" horz="1" min="0" max="100" pos="1"> <background> <texture r="196" g="18" b="18">ui_mg_progress_efficiency_full</texture> </background> <progress> <texture>ui_mg_progress_efficiency_full</texture> </progress> <min_color r="41" g="203" b="60"/> <middle_color r="41" g="203" b="60"/> <max_color r="41" g="203" b="60"/> </bar_frame1> 2. инициализировать его. Например self.item1_progress = xml:InitProgressBar( "bar_frame1", self.item1 ) 3. установить длину. Например self.item1_progress:SetProgressPos( self.item:condition() * 100 ) 1 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 16 Июня 2021 @I am Dead на худ можно прикрепить любое окно, ну а дальше задача уже свелась к известному. Возможно и прогрессбар можно напрямую прикрепить, он же тоже окно. 1 1 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 25 Июня 2021 @phalcor я пришел к выводу,что это проблема физики. Могу посоветовать только переспаун. В движке я пытался это исправить, но не уверен, получилось или нет. Точнее, не стал заморачиваться с проверкой, т.к. автоматический скриптовый переспаун, который уже работал на тот момент, меня устраивал. 1 1 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 25 Июня 2021 2 hours ago, Marafon6540 said: Тебе надо зафиксировать вот эту кость. Это не поможет. В том месте, где происходит эта проблема, фиксированные кости не обрабатываются. Оно там о такой штуке просто не знает. Хотя это не отменяет необходимость фиксации костей. Но против этой проблемы - это не поможет. 2 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 25 Июня 2021 @phalcor начать изучение этого вопроса можно вот отсюда https://github.com/dsh2dsh/op2ogse/blob/8b534ff69910d00c98ca3fcf9be5db2a95d0bac1/gamedata/scripts/ogse/ogse_campfire.script#L13 Вот, собственно говоря, сам переспаун https://github.com/dsh2dsh/op2ogse/blob/8b534ff69910d00c98ca3fcf9be5db2a95d0bac1/gamedata/scripts/ogse/ogse_campfire.script#L980 4 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 28 Июня 2021 @Rod_K поищи "goodwill" в lua_help.script. Там есть два метода для изменения отношения через клиентский объект. Если сам не найдешь - обращайся сюда. 1 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 29 Июня 2021 (изменено) 23 minutes ago, Rod_K said: В game_relations такого конкретно что-то не заметил. Именно там. Сходу сейчас вспомнить не могу, там указываются величины отношений для друг/враг. И к тому же не забывай, финальное отношение - это сумма нескольких компонентов: отношение с группировкой, персональное отношение, репутация и чего там ещё есть. Поэтому то, что ты выставишь -5000, не означает, что он станет врагом, если у актора 9000 с его группировкой, т.к. финальное отношение станет 4000. 23 minutes ago, Rod_K said: типо если показатель отношения нпс к актору сосавляет, допустим, 2500, то выдается поршень о начале нового диалога? В оригинальном движке, наверное, только как-то на апдейте ловить, а в x-ray extensions и других, если не ошибаюсь, был какой-то коллбек на эту тему. Изменено 29 Июня 2021 пользователем dsh 1 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 30 Июня 2021 @phalcor myobj:object_binder():use_callback() если я нигде не напутал. dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 10 Июля 2021 @Rod_K если оригинальный движок, то заспаунь на позицию актор level_changer с нужными параметрами. 1 1 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 11 Июля 2021 Я в очередной раз напомню, что вот так, как в выше приведённом примере, делать не нужно. Не нужно закатывать солнце в ручную, нужно использовать m_netpk. 2 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 11 Июля 2021 @phalcor если я не ошибаюсь, у тебя ОП-2.1, в котором собственный движок и исходников его нет. Кто знает, что они там наворотили. 1 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 28 Июля 2021 @phalcor @phalcor что-то я не нахожу в движке такого метода. iterate_inventory нахожу, а iterate_inventory_simple нету. dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 28 Июля 2021 3 hours ago, Zander_driver said: не все ли равно?) Нет. Возможно там сделали возможность досрочного выхода из цикла, кто знает. dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 13 Августа 2021 @Norman Eisenherz конечно есть. Добавь нужное тебе в trade_manager.script dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 21 Августа 2021 @_Sk8_AsTeR_ вот делает то, что тебе нужно https://github.com/dsh2dsh/op2ogse/blob/7953b887ae63745dfcf73ecce068b49ca9c0b9d7/gamedata/scripts/sak/sak.script#L1454 1 1 1 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение