Модостроение. Визуальный уровень
|
|
denis2000 | Дата: Пн, 10.10.2011, 21:36 | Сообщение # 1 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Визуальный уровень
Редактирование текстур, добавление новых текстур в игру, 3D моделирование и т.д.
Если у вас появились вопросы по созданию и редактированию трехмерных объектов ,изменению и добавлению текстур. Задавайте их в этой теме - умные головы, модосторители и просто разбирающиеся в программировании люди вам ответят.
Много интересного материала здесь (wiki), Lua_help.script, Help из SDK 0.7
Сборник модостроения ЗП v10.10.11 (автор: XOBAH): *.CHM, *.HTML [cut noguest=Если у вас не открывается файл CHM]Если у вас не открывается файл: 1. Запустите [Пуск]=>[Выполнить] (либо хот-кей [WIN]+[R]) 2. Введите команду (без кавычек) "regsvr32 %windir%\system32\hhctrl.ocx" 3. Если вылезло окно об успешном завершении вы все сделали правильно и можете перезагружать компьютер (а может и не надо) Также: файлы МОГУТ не открываться если в пути к файлу есть: символы кириллицы, "_", "#" Также: есть не стандартные программы-просмоторщики CHM файлов. Например: FBReader[/cut]
[cut=Где найти лог игры после вылета]Что такое LOG ошибки, и как мне его найти? Это система отладки происходивших вылетов, которая подается игрой в форме текста, хотя не всегда. Для того чтоб найти LOG необходимо зайти вот сюда:
В Win хр лог находится:
C:\Documents and Settings\All Users\Документы\S.T.A.L.K.E.R. - Зов Припяти\logs
Затем открываете первый файл в формате TXT, и в нем отбираете с низу 25 строчек. После кидаете эти 25 строчек в сообщение на форум.
В Win7 лог находится C:\Users\Public\Documents\S.T.A.L.K.E.R. - Зов Припяти\logs
Путь к папке с логом можно найти открыв файл fsgame.ltx который находится в корневой директории ЗП, за это отвечает строка: ... $app_data_root$ = true | false| $fs_root$| users\(тут мы указываем что папка пользователя, будет хранится рядом с Fsgame.ltx) ... $logs$ = true| false| $app_data_root$| logs\(а тут мы указываем что в папке пользователя, в подпапке Logs будут храниться наши логи) ... [/cut][cut=Получение более подробной информации о вылете (ХОВАН)] Открываем файл _g.script и ищем такую функцию: function abort(fmt, ...) Там есть заккомментированная строчка "--error_log(reason)", ее и надо расскомментировать, должно получиться вот так:
Код function abort(fmt, ...) local reason = string.format(fmt, ...) error_log(reason) end Вот для примера два одинаковых вылета, первый с функцией по умолчанию, второй - с поправленной функцией
Первый:
Код Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : ....a.l.k.e.r. - Зов Припяти\gamedata\scripts\_g.script:478: bad argument #2 to 'format' (string expected, got nil) Второй:
Код Expression : 0 Function : ErrorLog File : D:\prog_repository\sources\trunk\xrServerEntities\script_engine_script.cpp Line : 49 Description : 'Attempt to read a non-existant string field 'path_walk' in section 'walker@mechanic' [/cut]
Перед тем, как задать вопрос в этой теме, прочтите все предыдущие страницы, статьи в wiki по ссылке из шапки и соседнюю тему "Курс молодого бойца", возможно Ваш вопрос уже рассматривался.
Если произошел вылет - выкладываем лог! Вопрос ставим четко, не забываем указывать версию игры, установленные моды их версии, установленные фиксы модов и подробно ваши правки. Помните чем подробнее вопрос, тем точнее ответ.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
sergej5500 | Дата: Вс, 18.02.2018, 18:18 | Сообщение # 781 |
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Добрый вечер. Возник вопрос.
Имеется ГУИ-окно такого вида.
[cut=Конфиг и скрипт]
<chit_code x="275" y="60" width="547" height="595"> <texture>ui_inGame2_gps_navigator_form</texture> <btn_cancel x="405" y="515" width="116" height="22"> <texture>ui_mod_button</texture> <text font="letterica16">st_menu_close</text> </btn_cancel> <btn_item x="35" y="235" width="116" height="22"> <texture>ui_mod_button</texture> <text font="letterica16">st_item_spawn</text> </btn_item> <btn_obj x="35" y="285" width="116" height="22"> <texture>ui_mod_button</texture> <text font="letterica16">st_obj_spawn</text> </btn_obj> <btn_20k x="405" y="235" width="116" height="22"> <texture>ui_mod_button</texture> <text font="letterica16">st_20k</text> </btn_20k> <btn_1h_30m x="405" y="285" width="116" height="22"> <texture>ui_mod_button</texture> <text font="letterica16">st_1h_30m</text> </btn_1h_30m> <btn_5m x="405" y="335" width="116" height="22"> <texture>ui_mod_button</texture> <text font="letterica16">st_5m</text> </btn_5m> <btn_surge_1 x="405" y="385" width="116" height="22"> <texture>ui_mod_button</texture> <text font="letterica16">st_surge_start</text> </btn_surge_1> </chit_code>
function chit_code_init() mod_elements.chit_code():ShowDialog(true) get_hud():HideActorMenu() end class "chit_code" (CUIScriptWnd) function chit_code:__init(owner) super() self.owner = owner self:InitControls() self:InitCallBacks() end function chit_code:__finalize() end function chit_code:InitControls() self:SetWndRect(Frect():set(0,0,1024,768)) local xml = CScriptXmlInit() xml:ParseFile("ui_mod_elements.xml") self.chit_code=xml:InitStatic("chit_code",self) self:Register(xml:Init3tButton("chit_code:btn_cancel",self.chit_code),"btn_cancel") self:Register(xml:Init3tButton("chit_code:btn_item",self.chit_code),"btn_item") self:Register(xml:Init3tButton("chit_code:btn_obj",self.chit_code),"btn_obj") self:Register(xml:Init3tButton("chit_code:btn_20k",self.chit_code),"btn_20k") self:Register(xml:Init3tButton("chit_code:btn_1h_30m",self.chit_code),"btn_1h_30m") self:Register(xml:Init3tButton("chit_code:btn_5m",self.chit_code),"btn_5m") self:Register(xml:Init3tButton("chit_code:btn_surge_1",self.chit_code),"btn_surge_1") end function chit_code:InitCallBacks() self:AddCallback("btn_cancel",ui_events.BUTTON_CLICKED,self.btn_cancel,self) self:AddCallback("btn_item",ui_events.BUTTON_CLICKED,self.btn_item,self) self:AddCallback("btn_obj",ui_events.BUTTON_CLICKED,self.btn_obj,self) self:AddCallback("btn_20k",ui_events.BUTTON_CLICKED,self.btn_20k,self) self:AddCallback("btn_1h_30m",ui_events.BUTTON_CLICKED,self.btn_1h_30m,self) self:AddCallback("btn_5m",ui_events.BUTTON_CLICKED,self.btn_5m,self) self:AddCallback("btn_surge_1",ui_events.BUTTON_CLICKED,self.btn_surge_1,self) end function chit_code:btn_cancel() self:HideDialog() get_hud():HideActorMenu() end function chit_code:btn_item() self:HideDialog() get_hud():HideActorMenu() ui_si.spawn_item_dialog():ShowDialog(true) end function chit_code:btn_obj() self:HideDialog() get_hud():HideActorMenu() ui_si.spawn_object_dialog():ShowDialog(true) end function chit_code:btn_20k() db.actor:give_money(20000) xr_sound.set_sound_play(db.actor:id(),"pda_tips") news_manager.relocate_money(db.actor,"in",20000) end function chit_code:btn_1h_30m() xr_effects.forward_game_time(actor,nil,{"1","30"}) end function chit_code:btn_5m() local dir = db.actor:direction() local pos = db.actor:position() pos = pos:add(dir:mul(5)) db.actor:set_actor_position(pos) end function chit_code:btn_surge_1() xr_effects.start_surge(db.actor) end function chit_code:OnKeyboard(dik,keyboard_action) CUIScriptWnd.OnKeyboard(self,dik,keyboard_action) if keyboard_action == ui_events.WINDOW_KEY_PRESSED then if dik == DIK_keys.DIK_ESCAPE then self:HideDialog() get_hud():HideActorMenu() end end end [/cut]
Хочу добавить в окно название: "Чит-меню". То есть строку с текстом. Смотрел другие окна, но там в основном применяется функция Update.
Эта строка не будет меняться. Как проще всего добавить строку в гуи-окно?
Самое простое, что пришло в голову - это в Пайнт-Нет добавить надпись прямо в текстуру. Но не хочется её портить.
|
|
|
Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
denis2000 | Дата: Вс, 18.02.2018, 20:24 | Сообщение # 782 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Код <text font="letterica16" r="238" g="224" b="198">Имя_текствой_строки</text> где font="letterica16" r="238" g="224" b="198" - параметры текста, а конкретно шрифт и цвет.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
sergej5500 | Дата: Сб, 17.03.2018, 16:59 | Сообщение # 783 |
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Всем добрый день. НА Кордоне от Чистого Неба в СДК поставил телевизор и ноутбук.
Возникли вопросы.
1. Телевизор что-то показывает, а ноутбук нет. Можно ли сделать так, чтобы ноутбук показывал изображение и как?
2. Можно ли поменять ролик в телевизоре. У разрабов игры он какой-то легкомысленный. Как это сделать?
|
|
|
Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
Aleksn09 | Дата: Сб, 17.03.2018, 17:35 | Сообщение # 784 |
Шаман Sigerous
Ночной Админ
Сообщений: 1333
| Цитата sergej5500 ( ) 1. Телевизор что-то показывает, а ноутбук нет. Можно ли сделать так, чтобы ноутбук показывал изображение и как?
У телевизора на экране стоит текстура fx_stalker.dds, но там несколько файлов этой текстуры (30 штук вроде) из которых создается такая анимация с помощью файла fx_stalker.seq (там прописывается последовательность текстур). Чтобы такую же анимацию на ноутбуке сделать, придется править саму текстуру ноутбука, а конкретно часть где экран находится и покадрово какое нибудь изображение движущееся сделать, но мороки полно будет.
Цитата sergej5500 ( ) 2. Можно ли поменять ролик в телевизоре. У разрабов игры он какой-то легкомысленный. Как это сделать? Можно конечно. В качестве альтернативы предлагаю взять из ТЧ текстуры fx_stalker.dds. Там тип сталкер бежит на кордоне.
|
|
|
Эти 0 пользователя(ей) поблагодарили Aleksn09 за это полезное сообщение: |
|
|
asd123 | Дата: Чт, 25.04.2019, 11:16 | Сообщение # 785 |
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
| Здравствуйте! Интересует такой вопрос. В общем, хочу на модель оружия добавить ещё одну текстуру, чтобы эту текстуру можно было использовать как, например, стикер. Допустим, имеется модель Грозы. Как бы мне дублировать текстуру её корпуса, чтобы можно было одну оставить как основу, а вторую использовать для стикера?
Имею программы Blender, 3ds Max 2019, MilkShape 3D 1.8.4. Как и в какой программе сделать, чтобы после всех моих правок, SDK смог читать модельку а не крашиться или выдавать ошибку?
У мутантов тоже есть группировки. © Движок X-Ray
Сообщение отредактировал asd123 - Чт, 25.04.2019, 11:43 |
|
|
Эти 0 пользователя(ей) поблагодарили asd123 за это полезное сообщение: |
|
|
sergej5500 | Дата: Пт, 05.02.2021, 23:01 | Сообщение # 786 |
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Всем добрый вечер. Возник такой вопрос.
В Зове Припяти ГГ без костюма в виде от 3-го лица:
Сталкер-новичок:
Очевидно, что ГГ без костюма очень похож на сталкера в кожаной куртке. Куртка есть во многих модах как костюм первого уровня. То есть игрок без костюма и игрок в куртке выглядят одинаково. Что не очень хорошо.
Вопрос: нет ли модели ГГ в свитере или спортивном костюме, пусть даже в трусах?
|
|
|
Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
Бабай | Дата: Пн, 26.06.2023, 16:55 | Сообщение # 787 |
Ветеран
Пользователи
Сообщений: 483
| Всем Привет! Нашёл в сети модель Ларисы из Атомного сердца и захотелось её в Сталкера вставить. Скачал Блендер, но подходящего гайда не нашёл. Проблема в том, что модель состоит из нескольких частей: Тело, Голова, Волосы и Ресницы\Веки. Вопрос как их соединить в одну часть и как вставить в неё сталкерский скелет?
Правильно заданный вопрос - половина правильного ответа!
|
|
|
Эти 0 пользователя(ей) поблагодарили Бабай за это полезное сообщение: |
|
|
|