|
Модостроение. Визуальный уровень
|
|
| 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 за это полезное сообщение: |
|
|
| некит025 | Дата: Вт, 24.03.2015, 15:56 | Сообщение # 661 |
 Гражданский
Пользователи
Сообщений: 20
| denis2000, не знаю... а что тогда? И вообще как это реализовать? Возможно?
|
| |
|
| Эти 0 пользователя(ей) поблагодарили некит025 за это полезное сообщение: |
|
|
| denis2000 | Дата: Вт, 24.03.2015, 21:29 | Сообщение # 662 |
 Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата некит025 (  ) что тогда? И вообще как это реализовать? Возможно? Да возможно, нужно только внести правки в движок исходники которого уже около года в открытом доступе.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
| |
|
| Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
| sergej5500 | Дата: Ср, 25.03.2015, 23:04 | Сообщение # 663 |
 Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Добрый вечер. Интересует вопрос.
Можно ли сделать собаку-ищейку, идущую по следу? Есть ли подходящие для этой задачи анимации?
|
| |
|
| Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
| denis2000 | Дата: Ср, 25.03.2015, 23:07 | Сообщение # 664 |
 Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| sergej5500, Теоретически вполне возможно (хотя готовой схемы поведения пожалуй нет). Вас интересуют какие-то специфические анимации?
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
| |
|
| Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
| sergej5500 | Дата: Ср, 25.03.2015, 23:12 | Сообщение # 665 |
 Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Цитата denis2000 (  ) Вас интересуют какие-то специфические анимации?
Мне предложили идею для квеста. Собаку-ищейку. Нужно, чтобы она шла по определенному маршруту и обнюхивала землю. Искала след. Есть ли подходящая анимация?
|
| |
|
| Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
| denis2000 | Дата: Ср, 25.03.2015, 23:23 | Сообщение # 666 |
 Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата sergej5500 (  ) Нужно, чтобы она шла по определенному маршруту mob_walker - конечно. Цитата sergej5500 (  ) обнюхивала землю. Вообще у собак есть много интересных анимаций в том числе и не задействованных в игре (dog_animation.omf): stand_walk_smelling_0 - идет вперед обнюхивая землю stand_idle_smelling_down_0 - стоит и нюхает землю stand_idle_smelling_look_around_0 - стоит обнюхивая воздух вокруг себя
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
| |
|
| Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
| shram_437 | Дата: Чт, 26.03.2015, 13:59 | Сообщение # 667 |
 Сталкер
Вольные сталкеры
Сообщений: 215
| Доброго времени суток! Расскажите пожалуйста, как подвинуть полоску счетчика гейгера? Не могу найти в каком файле хранятся нужные параметры. P.S. файл ui_mod_progress_bars посмотрел, но там, видимо только конфиг самого прогрессбара, а я хочу всю иконку подвинуть
|
| |
|
| Эти 0 пользователя(ей) поблагодарили shram_437 за это полезное сообщение: |
|
|
| denis2000 | Дата: Чт, 26.03.2015, 15:46 | Сообщение # 668 |
 Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| shram_437, Файлы ui_custom_msgs.xml ui_custom_msgs_16.xml тег hud_geiger_bar
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
| |
|
| Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
| shram_437 | Дата: Чт, 16.04.2015, 20:44 | Сообщение # 669 |
 Сталкер
Вольные сталкеры
Сообщений: 215
| Доброго времени суток! Захотелось мне прицепить к модели АКСУ Теней чернобыля барабанный магазин. Вроде все сделал верно, а в игре получаю вылет [cut=ЛОГ]FATAL ERROR [error]Expression : fatal error [error]Function : CSkeletonX::_Load [error]File : E:\stalker\patch_1_0004\xr_3da\SkeletonX.cpp [error]Line : 380 [error]Description : <no expression> [error]Arguments : Invalid vertex type in skinned model 'weapons\aks74u_shram\aksu_strelok:1'
stack trace:[/cut]
Знающие люди, подскажите пожалуйста что я сделал не так. P.S. залил файлы моделей на ядиск, если нужно, ссылку в личку напишу. Спасибо!
|
| |
|
| Эти 0 пользователя(ей) поблагодарили shram_437 за это полезное сообщение: |
|
|
| sergej5500 | Дата: Сб, 18.04.2015, 17:40 | Сообщение # 670 |
 Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Добрый день.
Делаю катсцену.
Сталкеры. .
[cut=Логика][logic] active = walker@wait prior = 200
[walker@wait] path_walk = esc_b1_cutscene_commander_walk path_look = esc_b1_cutscene_commander_look meet = no_meet combat_ignore_cond = true combat_ignore_keep_when_attacked = true invulnerable = true [/cut]
[cut=Путь][esc_b1_cutscene_commander_walk] points = p0 p0:name = wp00 p0:flags = 0x1 p0:position = -135.96305847168,-30.139339447021,-381.60885620117 p0:game_vertex_id = 1615 p0:level_vertex_id = 118886
[esc_b1_cutscene_commander_look] points = p0 p0:name = wp00|a=play_guitar p0:flags = 0x1 p0:position = -138.64270019531,-30.138509750366,-372.72592163086 p0:game_vertex_id = 1615 p0:level_vertex_id = 115667 [/cut]
Неписи сидят и играют на гитарах. Хочу сделать, чтобы они в похожей позе пили водку.
Какой анимацией можно воспользоваться?
[cut=state_lib] -- Сидячие состояния sit = { weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = "sit", animation = nil }, sit_knee = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = "sit_knee", animation = nil }, sit_ass = { weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = "sit_ass", animation = nil },
play_guitar = { weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = "sit_knee", animation = "play_guitar" }, play_harmonica = { weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = "sit_ass", animation = "play_harmonica" },
sleep = { weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "sleeping" },
hello = { weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "hello" }, hello_wpn = {weapon = "unstrapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "hello" },
refuse = { weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "refuse" }, claim = { weapon = "unstrapped", movement = move.stand, mental = anim.danger, bodystate = move.standing, animstate = nil, animation = "claim" }, backoff = { weapon = "unstrapped", movement = move.stand, mental = anim.danger, bodystate = move.standing, animstate = nil, animation = "backoff" }, backoff2 = {weapon = "unstrapped", movement = move.stand, mental = anim.danger, bodystate = move.standing, animstate = nil, animation = "backoff" }, punch = { weapon = nil, movement = move.stand, mental = anim.danger, bodystate = move.standing, animstate = nil, animation = "punch" },
search_corpse = {weapon = "strapped", movement = move.stand, mental = anim.danger, bodystate = move.crouch, animstate = nil, animation = "search_corpse" },
help_wounded = {weapon = "strapped", movement = move.stand, mental = anim.danger, bodystate = move.crouch, animstate = nil, animation = "help_wounded" },
dynamite = {weapon = "strapped", movement = move.stand, mental = anim.danger, bodystate = move.crouch, animstate = nil, animation = "dynamite" },
binocular = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "binocular" }, hide_rac = {weapon = "unstrapped", movement = move.stand, mental = anim.danger, bodystate = move.crouch, animstate = nil, animation = "cr_raciya" }, wait_rac = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "raciya" }, wait_rac_noweap = {weapon = "none", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "raciya" }, wait_rac_stc = {weapon = "unstrapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "raciya_stc" }, guard_rac = {weapon = "unstrapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "raciya" },
probe_stand = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "probe_stand" }, probe_stand_detector_advanced = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "probe_stand_detector_advanced" }, probe_stand_detector_elite = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "probe_stand_detector_elite" }, probe_way = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "probe_way" }, probe_way_detector_advanced = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "probe_way_detector_advanced" }, probe_way_detector_elite = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "probe_way_detector_elite" }, probe_crouch = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "probe_crouch" }, probe_crouch_detector_advanced = {weapon = "strapped", movement = move.stand, mental = anim.danger, bodystate = move.standing, animstate = nil, animation = "probe_crouch_detector_advanced" }, probe_crouch_detector_elite = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "probe_crouch_detector_elite" },
scaner_stand = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "scaner_stand" }, scaner_way = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "scaner_way" },
scaner_crouch = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "scaner_crouch" },
hands_up = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "hands_up" },
[/cut]
|
| |
|
| Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
| makdm | Дата: Сб, 18.04.2015, 19:01 | Сообщение # 671 |
 Рожденный в СССР
Разработчики
Сообщений: 1294
| sergej5500, я вам подскажу как сделать в ЗП, чтобы НПС сидел на пятой точке и пил водку в схеме remark. А вы уж сами решите, как его усадить.
[cut noguest=Примерно так]Открываете файл state_lib.script В таблицу стэйтов добавляете
eat_vodka = { weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = "sit_ass", animation = "eat_vodka" },
Открываете файл state_mgr_animation_list.script В таблицу анимаций добавляете
eat_vodka = { prop = { maxidle = 3, sumidle = 3, rnd = 80 }, into = { [0] = {"item_4_draw_0", {a="vodka"}, "item_4_draw_1"} }, out = { [0] = {"item_4_holster_0", {d="vodka"}, "item_4_holster_1"} }, idle = { [0] = "item_4_aim_0" }, rnd = { [0] = { "item_4_prepare_0", "item_4_attack_0" } } },
Теперь в логике remark обязательные параметры
anim = eat_vodka on_info = %=control_vodka%
В файле xr_effects.script функция
function control_vodka( actor, npc ) local vodiara = npc:object("vodka") if vodiara == nil then local pos, lv_id, gv_id, npc_id = npc:position(), npc:level_vertex_id(), npc:game_vertex_id(), npc:id() alife():create( "vodka", pos, lv_id, gv_id, npc_id ) end end[/cut]
Терпение...... И все получится!
Сообщение отредактировал makdm - Сб, 18.04.2015, 19:10 |
| |
|
| Эти 0 пользователя(ей) поблагодарили makdm за это полезное сообщение: |
|
|
| sergej5500 | Дата: Вс, 26.04.2015, 00:24 | Сообщение # 672 |
 Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Добрый вечер.
Есть желание сделать вступительный видеоролик. Похожий на тот, который показывают в моде Время Альянса.
Я сделал катсцену для видеоролика. Специальный рестриктор запускает катсцену по горячей клавише. Сцена отлично демонстрируется. Нужно записать происходящее на экране (сцену) в видеофайл. Запись нужно произвести во время игры.
Какой программой можно воспользоваться для записи видеофайла?
|
| |
|
| Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
| denis2000 | Дата: Вс, 26.04.2015, 09:10 | Сообщение # 673 |
 Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| sergej5500, FRAPS, Bandicam, CamStudio и тд. и тп.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
| |
|
| Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
| tema796 | Дата: Сб, 02.05.2015, 23:10 | Сообщение # 674 |
|
Гражданский
Пользователи
Сообщений: 20
| Здравствуйте.Решил вот локацию скомпилить, а сдк вот что натворил с половиной локаций(вывернул полигоны): А вот в 3D max'e вот так: Что это может быть? (экспорт производил скриптами Den Stash'a)
Сообщение отредактировал tema796 - Вс, 03.05.2015, 00:20 |
| |
|
| Эти 0 пользователя(ей) поблагодарили tema796 за это полезное сообщение: |
|
|
| DimonDok | Дата: Вс, 17.05.2015, 09:40 | Сообщение # 675 |
 Гражданский
Пользователи
Сообщений: 22
| Здраствуйте. Как поменять текстуру АК 102 из SGM 2.1 на текстуру из версии 1.7? Такой же вопрос по поводу АК 74 Циклон.
|
| |
|
| Эти 0 пользователя(ей) поблагодарили DimonDok за это полезное сообщение: |
|
|
|