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


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


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

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


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

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

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


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

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

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

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

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

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


Мне предложили идею для квеста. Собаку-ищейку. Нужно, чтобы она шла по определенному маршруту и обнюхивала землю. Искала след. Есть ли подходящая анимация?
 
denis2000Дата: Ср, 25.03.2015, 23:23 | Сообщение # 666
Полевой исследователь
Ученые сталкеры
Сообщений: 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 | Сообщение # 667
Сталкер
Вольные сталкеры
Сообщений: 215
Награды: 3
Репутация: [ 25 ]

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


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

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

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
shram_437Дата: Чт, 16.04.2015, 20:44 | Сообщение # 669
Сталкер
Вольные сталкеры
Сообщений: 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 | Сообщение # 670
Полевой Исследователь
Ученые сталкеры
Сообщений: 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]
 
makdmДата: Сб, 18.04.2015, 19:01 | Сообщение # 671
Рожденный в СССР
Разработчики
Сообщений: 1294
Награды: 29
Репутация: [ 1909 ]

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
 
sergej5500Дата: Вс, 26.04.2015, 00:24 | Сообщение # 672
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

Добрый вечер.

Есть желание сделать вступительный видеоролик. Похожий на тот, который показывают в моде Время Альянса.

Я сделал катсцену для видеоролика. Специальный рестриктор запускает катсцену по горячей клавише. Сцена отлично демонстрируется. Нужно записать происходящее на экране (сцену) в видеофайл. Запись нужно произвести во время игры.

Какой программой можно воспользоваться для записи видеофайла?
 
denis2000Дата: Вс, 26.04.2015, 09:10 | Сообщение # 673
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

sergej5500, FRAPS, Bandicam, CamStudio и тд. и тп.

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

Здравствуйте.Решил вот локацию скомпилить, а сдк вот что натворил с половиной локаций(вывернул полигоны):



А вот в 3D max'e вот так:

Что это может быть?
(экспорт производил скриптами Den Stash'a)


Сообщение отредактировал tema796 - Вс, 03.05.2015, 00:20
 
DimonDokДата: Вс, 17.05.2015, 09:40 | Сообщение # 675
Гражданский
Пользователи
Сообщений: 22
Награды: 0
Репутация: [ 0 ]

Здраствуйте. Как поменять текстуру АК 102 из SGM 2.1 на текстуру из версии 1.7? Такой же вопрос по поводу АК 74 Циклон.
 
Поиск: