Как это сделать. Помогите пожалуйста!!!
Все это лучше всего делать только в entities.blk.
Вид от 3 лица можно сделать изменив camNames у бойцов.
base_soldier{
_override:b=yes
"camNames:array"{
camNames:t="melee_tps_cam"
}
}
После этих изменении у бойца будет всегда вид от 3ого лица. Если нужно чтобы во время прицеливания возвращался вид от 1ого лица, то вероятно лучше всего использовать shooter_tps_cam, если есть желание изменить положение камеры, то нужно будет добавить отдельный blk файл с координатами местоположения камеры. Но сначала нужно указать путь к нему.
melee_tps_cam{
_override:b=yes
shooter_cam__blk:t="%ugm/camera.blk"
}
Отдельный файл: camera.zip (308 байтов)
Если нужно, чтобы у техники тоже был вид от 3ого лица, то меняем tank_camera_setup, bike_camera_setup (для мотоциклов) и ship_camera (для лодок).
bike_camera_setup{
_override:b=yes
"camNames:array"{
camNames:t="dev_tps_cam"
}
}
base_vehicle{
_override:b=yes
"camNames:array"{
camNames:t="dev_tps_cam"
}
}
base_tank{
_override:b=yes
"camNames:array"{
camNames:t="dev_tps_cam"
}
}
tank_camera_setup{
_override:b=yes
"camNames:array"{
camNames:t="dev_tps_cam"
}
}
ship_camera{
_override:b=yes
"camNames:array"{
camNames:t="dev_tps_cam"
}
}
yak_1_early{
_override:b=yes
"camNames:array"{
camNames:t="plane_tps_cam"
}
}
У самолетов нету общего объекта, так что придется каждому менять камеру. В коде была изменена камера для yak_1_early.
В списке Create Entity (All) можешь найти и другие камеры и попробовать их. Координаты и пару прочих моментов можно изменить только редактируя blk файл, но некоторые фишки как анимации от 1ого лица только внутри объекта-камеры в виде свойств. Далеко не все камеры имеют все свойства.
Прицел можно добавить просто изменив свойство ui_crosshair_state__debugForceCrosshair.
crosshair{
_override:b=yes
ui_crosshair_state__debugForceCrosshair:b=yes
}
А где найти entities.blk ?
Копируешь scene и меняешь название на entities, а далее чистишь код (Ctrl + A для выделения всего кода). И пишешь свой. Более подробно про entities можешь узнать в неофициальном гайде, шестой раздел (Если что вместо _extends уже используется _use).
У меня получилось поменять камеру пока проверял только в редакторе как отключить инверсию?
работает почемуто только в редакторе
Камера или отключение инверсии? Похоже, что зря я не проверил работоспособность в мультиплеере. Далеко не все вещи будут работать в мультиплеере. Хотя камера, вроде, должна.
Камеры в мультиплеере нет
А, я забыл добавить isTpsView:b=no у shooter_tps_cam. А еще я ошибся и с камерами для техники. Обновил старое сообщение. Инверсия остается в технике, во время стрельбы из своего оружия. Вероятно можно поправить это все, используя копию камеры melee_tps_cam с измененным положением камеры.
Сейчас проверил и изменение камер работают у меня.
А как в рандомном ящике сделать так что бы он выдавал патроны для оружия без zombie в названии ато оружие даёт а патроны нет
И в камере от 3 лица инверсии теперь нет только когда бежишь
И еще вопрос, а можно ли как то сделать что то типо фонарика для бойца?
Много вопросов конечно, но как сделать кастомного зомби с выбранным оружием
Лучше всего сделать отдельный объект оружия. Либо обновить имеющийся. Более подробно тут: Как сделать зомби режим?
Но можно попробовать прописать +gun_with_initial_ammo_test к оружию (если что будет 4-5 магазина, даже у пулеметов с 100 патронов).
Не знаю. В общем не вижу проблем использовать melee_tps_cam с измененным положением камеры (zoomedIn с нулями). Инверсия у меня только во время использования своего оружия в технике, но я особо и не менял камеры техники. Если что прошлое сообщение обновил и добавил про base_vehicle и base_tank, чтобы и у БТР был вид от 3ого.
За инверсию и прочее отвечают свойства в камерах (например тот же isTpsView включает её). Их можешь найти в properties panel и менять их, а после проверять в редакторе.
Дыаа… Тут все сложнее. Все зависит от того какой фонарик тебе нужен. Самый простой способ - это прикрепить источник света к чему-то.
attached_light_source{
_use:t="base_vehicle_decor"
_use:t="base_spot_light"
light__brightness:r=1.00
light__color:c=175,165,155,255
light__force_max_light_radius:b=yes
spot_light__inner_attenuation:r=0.1
spot_light__dynamic_obj_shadows:b=yes
spot_light__shadows:b=yes
animchar__res:t="sg_8498_III_bayonet_char"
animchar_render__enabled:b=no
}
И добавляем этот код к оружию или к чему-то еще.
"attach_decorators__entities:list<eid>"{
}
"attach_decorators__templates:array"{
"attach_decorators__templates:object"{ // <- Тело для одного прикрепленного объекта.
relativeTm:m=[[-1, -8.74229e-08, -2.71219e-06] [8.74254e-08, -1, 8.74231e-08] [-2.7122e-06, 8.74228e-08, 1] [1.9653e-07, -0.25778, -0.0137571]] // <- Координаты. 1-3 блока матрицы - вращение.
template:t="attached_light_source" // <- Объект.
nodeName:t="bayonet_attach" // <- Место куда прикрепляем (можно увидеть используя skeleton.debug команду).
} // <- Не забываем закрыть тело.
}
- base_vehicle_decor позволяет изменить положение объекта в редакторе, а так же уничтожает объект, если объект-создатель был уничтожен. Чтобы изменить положение прикрепленного объекта нужно сделать:
- Открываем свойства основного объекта, после перемещения прикрепленного (рекомендуется перемещать рядом с нулевой координатой, а то иногда сдвигается).
- Находим attach_decorators__template. Убираем любой символ, подтверждаем изменения и возвращаем назад.
- Сохраняем сцену. В файле scene можем найти код с attach_decortators__template и перемещаем relativeTm в код объекта. Удаляем объект/код в файле сцены.
Одна из проблем.
Данное свойство отвечает за крепления оружия на спине/в определенных точках (например slot_weapon_1). Тут вероятно надо будет поломать его и сделать так, чтобы в итоге выходил -1. Иначе говоря использовать несуществующий слот. Хотя в итоге могут быть сообщения об ошибках.
Смотря какого зомби. Без оружия - вряд ли. С оружием - просто меняем human_weap__weapTemplates (тип данных - object, содержит информацию про оружие) и human_weap__weapInfo (тип данных - array, а внутри object, в них патроны и предметы).
После этого надо будет изменить human_weap__template_deps_list (тип данных -
list<t>
) и прописать в нем патроны и предметы.
Код будет выглядеть как тут:
"human_weap__weapTemplates:object"{
primary:t="mp40_gun"
secondary:t=""
tertiary:t="p38_walther_gun"
melee:t="knife_weapon"
grenade:t="grenade_thrower"
}
"human_weap__weapInfo:array"{
"weapInfo:object"{
reserveAmmoTemplate:t="mp40_magazine"
numReserveAmmo:i=4
}
"weapInfo:object"{}
"weapInfo:object"{
reserveAmmoTemplate:t="p38_walther_magazine"
numReserveAmmo:i=3
}
"weapInfo:object"{}
"weapInfo:object"{
reserveAmmoTemplate:t="m24_grenade_item"
numReserveAmmo:i=1
"additionalReserveAmmoTemplates:array"{ //Дополнительно еще и аптечку.
item:t="medkit_item"
}
"additionalNumReserveAmmos:array"{
item:i=1
}
}
}
_group{
_tags:t="server"
"human_weap__template_deps_list:list<t>"{
tmpl:t="mp40_magazine"
tmpl:t="p38_walther_magazine"
tmpl:t="m24_grenade_item"
tmpl:t="medkit_item"
}
}
А его в волну можно как-то добавить?
Туда что угодно можно добавить, меняя entity_spawner__waves. В теории даже спавн пустой техники и предметов. Но это в теории. Как минимум точно надо будет им тэг добавить.
А к лицу или поясу бойца можно?
В волну же надо прописывать название зомбика а как его найти
Нельзя нормально прикрепить к тем объектам, у которых нету точек (например декору техники). К game_rendinst можно, но нужно будет дать ему расширение animchar и свойство animchar_res.
Прикрепляет к конкретной точке у анимчара. Если она будет двигаться, то объект с ней.
А тут вращение (1-3 блока матрицы) и смещение от прикреплённой точке.
В zombie_spawn_mode расписаны волны. В панели свойств есть вкладка:
А, неправильно прочел. Название зомби - это название объекта. Их можно найти в Create Entity.