Войти на сайт Регистрация Лента форума Пользователи Правила сайта Поиск по форуму
Модератор форума: denis2000, FantomICW  
Модостроение. Визуальный уровень
denis2000Дата: Пн, 10.10.2011, 21:36 | Сообщение # 1
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Визуальный уровень

Редактирование текстур, добавление новых текстур в игру, 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 по ссылке из шапки и соседнюю тему "Курс молодого бойца",
возможно Ваш вопрос уже рассматривался.


Если произошел вылет - выкладываем лог! Вопрос ставим четко, не забываем указывать версию игры, установленные моды их версии, установленные фиксы модов и подробно ваши правки.
Помните чем подробнее вопрос, тем точнее ответ.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
ДизельДата: Вт, 17.03.2015, 00:52 | Сообщение # 661
Сталкер
Разработчики
Сообщений: 260
Награды: 1
Репутация: [ 136 ]

Цитата denis2000 ()
Это всего лишь шейпы, визуал аномалии задается партиклами.

Установил опытным путём, что внутри кубического шейпа тополиного пуха распространяется только рябь, типа радиации.
Опытный путь был сложным, пришлось аномалию до 6.8 км увеличивать в габаритах. Есть четкая граница действия ряби, вплоть до метра.

Примерно граница касается нулевых координат

[cut noguest]position = 1.16999995708466,-6803.05859375,0.560000002384186

; cse_shape properties
shapes = shape0,shape1
shape0:type = sphere
shape0:offset = 0,0,0
shape0:radius = 200
shape1:type = box
shape1:axis_x = 4000,0,0
shape1:axis_y = 0,6800,0
shape1:axis_z = 0,0,4000
shape1:offset = 0,-1362,0[/cut]

Логично этот куб можно использовать для создания плоских аномалий.


andreyholkin

Сообщение отредактировал Дизель - Вт, 17.03.2015, 00:56
 
некит025Дата: Сб, 21.03.2015, 16:56 | Сообщение # 662
Гражданский
Пользователи
Сообщений: 20
Награды: 0
Репутация: [ 0 ]

Добрый день. У меня очень интересная идея есть! Суть в чем, когда у меня оружие с убирающимся прикладом, при нажатии клавиши проигрывается анимация и сам приклад либо складывается либо раскладывается. Анимации уже есть в формате skls. После нажатия на клавишу, я планирую, изменения характеристик оружия, НО!... я не дружу со скриптами, помогите пожалуйста, как это осуществить, реализовать?

Еще, знаете ли вы, как сделать так, что бы при применении какого-либо предмета, убиралось оружие и проигрывалась анимация с предметом в руках? Анимация и модели есть в форматах object и skls. Помогите пожалуйста.



 
denis2000Дата: Сб, 21.03.2015, 21:02 | Сообщение # 663
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата некит025 ()
помогите пожалуйста, как это осуществить, реализовать?

Основной проблемой станет то, что движок не в курсе вашего хотения, а не то, что вы не знаете LUA.

Цитата некит025 ()
убиралось оружие и проигрывалась анимация с предметом в руках?

Давным давно в открытом доступе.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
некит025Дата: Вс, 22.03.2015, 12:26 | Сообщение # 664
Гражданский
Пользователи
Сообщений: 20
Награды: 0
Репутация: [ 0 ]

denis2000, За второе спасибо.

А по поводу моего хотения)
Как насчет подствольников например, там тоже при нажатии кнпочки проигрывается анимация и меняются характеристики)



 
denis2000Дата: Вс, 22.03.2015, 13:24 | Сообщение # 665
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата некит025 ()
Как насчет подствольников например, там тоже при нажатии кнпочки проигрывается анимация и меняются характеристики

По вашему это делают скриптами?


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
некит025Дата: Вт, 24.03.2015, 15:56 | Сообщение # 666
Гражданский
Пользователи
Сообщений: 20
Награды: 0
Репутация: [ 0 ]

denis2000, не знаю... а что тогда? И вообще как это реализовать? Возможно?


 
denis2000Дата: Вт, 24.03.2015, 21:29 | Сообщение # 667
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата некит025 ()
что тогда? И вообще как это реализовать? Возможно?

Да возможно, нужно только внести правки в движок исходники которого уже около года в открытом доступе.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
sergej5500Дата: Ср, 25.03.2015, 23:04 | Сообщение # 668
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

Добрый вечер. Интересует вопрос.

Можно ли сделать собаку-ищейку, идущую по следу? Есть ли подходящие для этой задачи анимации?
 
denis2000Дата: Ср, 25.03.2015, 23:07 | Сообщение # 669
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

sergej5500, Теоретически вполне возможно (хотя готовой схемы поведения пожалуй нет). Вас интересуют какие-то специфические анимации?

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
sergej5500Дата: Ср, 25.03.2015, 23:12 | Сообщение # 670
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

Цитата denis2000 ()
Вас интересуют какие-то специфические анимации?


Мне предложили идею для квеста. Собаку-ищейку. Нужно, чтобы она шла по определенному маршруту и обнюхивала землю. Искала след. Есть ли подходящая анимация?
 
denis2000Дата: Ср, 25.03.2015, 23:23 | Сообщение # 671
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата sergej5500 ()
Нужно, чтобы она шла по определенному маршруту

mob_walker - конечно.
Цитата sergej5500 ()
обнюхивала землю.

Вообще у собак есть много интересных анимаций в том числе и не задействованных в игре (dog_animation.omf):
stand_walk_smelling_0 - идет вперед обнюхивая землю
stand_idle_smelling_down_0 - стоит и нюхает землю
stand_idle_smelling_look_around_0 - стоит обнюхивая воздух вокруг себя


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
shram_437Дата: Чт, 26.03.2015, 13:59 | Сообщение # 672
Сталкер
Вольные сталкеры
Сообщений: 215
Награды: 3
Репутация: [ 25 ]

Доброго времени суток! Расскажите пожалуйста, как подвинуть полоску счетчика гейгера? Не могу найти в каком файле хранятся нужные параметры.
P.S. файл ui_mod_progress_bars посмотрел, но там, видимо только конфиг самого прогрессбара, а я хочу всю иконку подвинуть


 
denis2000Дата: Чт, 26.03.2015, 15:46 | Сообщение # 673
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

shram_437, Файлы ui_custom_msgs.xml ui_custom_msgs_16.xml тег hud_geiger_bar

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
shram_437Дата: Чт, 16.04.2015, 20:44 | Сообщение # 674
Сталкер
Вольные сталкеры
Сообщений: 215
Награды: 3
Репутация: [ 25 ]

Доброго времени суток! Захотелось мне прицепить к модели АКСУ Теней чернобыля барабанный магазин. Вроде все сделал верно, а в игре получаю вылет [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. залил файлы моделей на ядиск, если нужно, ссылку в личку напишу. Спасибо!


 
sergej5500Дата: Сб, 18.04.2015, 17:40 | Сообщение # 675
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

Добрый день.

Делаю катсцену.

Сталкеры.
.

[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]
 
Поиск: