Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • 0
Sign in to follow this  
ka3ant1p

переработанные зомби без создания доп.мода

Прочитав несколько интересных тем на различных форумах понравилась идея переработки зомби: усиление урона, убийство только в голову, смена скорости движения и другое.
Частично есть некоторые гайды и туториалы по которым удалось усилить зомби и сделать их убиваемыми фактически только в голову. Так же попал на 1 гайд где полностью переработаны зомби, включая анимации, движение, лут и т.д. но для этого используется доп мод.
Потратив кучу времени и проанализировав все это, сделал вывод что этого можно добится и без дополнительного мода.
Многие функции возможно поменять просто сделав кастомные файлы из dayz_code и поменяв в них значения. Но многое прописано в файле config.bin так вот основная загвоздка сделать кастомными части этого файла. По примеру создания кастомных таблиц лута тобишь CfgLoot и т.д. мне удалось сделать кастомным часть CfgVehicles которая отвечает за многие параметры зомби. В частности проверял это следующим образом, в кастомных таблицах лута создал новую строку "test" и  вписал туда рубин, а в кастомном CfgVehicles поменял значения для строчек "zombieloot" на "test" ну и енстественно парочку файликов из dayz_code так же пришлось сделать кастомными что бы поменять там строчку ConfigFile на MissionConfigFile
и в итоге у меня все зомби имели лут записаный в строке "test".
Я понимаю что лут можно было и просто поменять в таблице, я делал это что бы проверить работоспособность кастомного CfgVehicles.
Так вот там так же есть строчка которая отвечает за класс с анимациями зомби - строка "moves = CfgMovesZombie" но в этом файле конфига такой класс отсутсвует, он находится в файле конфига который лежит в dayz.pbo при чем там так же есть CfgVehicles.
И вот что я попробовал, я поменял значение moves = CfgMovesZombie на moves = CfgMovesZeds и в этом же кастомном файле создал CfgMovesZeds и для теста изменил скорости движения, в итоге не произошло никаких изменений.
То есть к анимациям не идет такого же обращения как к луту ConfigFile  >> CfgVehicles >> moves а по логике идет напрямую к ConfigFile  >> CfgMovesZombie или же обращается к CfgVehicles >> moves но который лежит в файле конфига dayz а не dayz_code.

Так вот в общем не могу понять такую вещь: как скрипт понимает по команде ConfigFile  к какому файлу конфига ему обращаться? Потому как в самом dayz_code я не нашел такого файла в котором бы описывалось за каким классом в какой конфиг подключатся. 
И не понятно тогда как зомби получают свои анимации, это ведь должно быть где то как то записано в виде обращения ConfigFile  >> CfgVehicles >> moves или на худой конец грубо говоря ConfigFile  >> CfgMovesZeds >>
Вот и нужно что бы кто то это объяснил тогда будет возможным создать кастомный CfgMovesZombie где уже попытаться или поставить кастомные анимации и посмотреть как оно будет работать, ну или хотя бы подменить одни существующие анимации на другие.

По сути как бы я понимаю что для перехода к классу анимаций используется CfgVehicles из файла конфига в dayz. Но что бы сделать его кастомным нужно найти где идут к нему обращения. Вот с этим и нужна помощь

Share this post


Link to post
Share on other sites

16 answers to this question

Recommended Posts

  • 0

Примеры обращения скрипта к файлу другого скрипта для построения алгоритма работы, если я правильно понял вы это искали!

 

[] execVM "\z\addons\dayz_code\system\antihack.sqf";
#include "\z\addons\dayz_code\system\REsec.sqf"

Share this post


Link to post
Share on other sites



  • 0

 

Примеры обращения скрипта к файлу другого скрипта для построения алгоритма работы, если я правильно понял вы это искали!

 

[] execVM "\z\addons\dayz_code\system\antihack.sqf";
#include "\z\addons\dayz_code\system\REsec.sqf"

нет как раз алгоритм я понимаю, я не могу найти где идет обращение к файлу конфига

то есть в файлах конфига записаны классы, и в разных скриптах через функцию ConfigFile обращается уже к классу, так вот меня интересует где описано функция ConfigFile

Share this post


Link to post
Share on other sites
  • 0
 

По поводу скорости зомби. за это отвечает если я не ошибаюсь "_agent forceSpeed 10;" \n в zombie_agent.fsm если поставить forceSpeed 2 то они должны только ходить. Сам  zombie_agent.fsm вызывается в wild_spawnZombies.sqf и zombie_generate.sqf Возможно он же и отвечает за анимации.

 

 

З.Ы. не поделишься наработками по зомбям?

Share this post


Link to post
Share on other sites
  • 0

 

 

По поводу скорости зомби. за это отвечает если я не ошибаюсь "_agent forceSpeed 10;" \n в zombie_agent.fsm если поставить forceSpeed 2 то они должны только ходить. Сам  zombie_agent.fsm вызывается в wild_spawnZombies.sqf и zombie_generate.sqf Возможно он же и отвечает за анимации.

 

 

З.Ы. не поделишься наработками по зомбям?

сейчас нахожусь на работе, буду дома, скину все наработки.

Про это я знаю, дело в том что при попытке сделать кастомным zombie_agent.fsm зомбаки вообще не спавнятся, еще раз сегодня попробую, может все дело в том что был сонный. 

Просто поменять форс спид будет недостаточно, буду сегодня рыть форумы, дело в том что в fsm только 2 значения, а зомбей прыгающих, хоядчих, бегающих и ползающих разные скорости.

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

Где то даже видео видел такого.

Я знаю где именно записаны анимации и скорости дивжения - в dayz >> config.bin >> CfgMovesZombie но не могу найти где оно вызывается. В dayz_code >> config.bin >> CfgVehicles как я писал ранее есть строчка moves = CfgMovesZombie но при ее изменении ничего не меняется. Реальное обращение к CfgMovesZombie происходит из  dayz >> config.bin >> CfgVehicles 

Но не могу это проверить т.к. во первых не знаю как функция ConfigFile определяет к какому конфигу ей обращятся, и не нашел не в одном файле обращения ни чего схожего с ConfigFile >> CfgVehicles >> moves или ConfigFile >> CfgMovesZombie .

Как бы по логике должно быть как то так:

рандомный выбор при спавне зомби одной из анимаций перечисленных в случаях отсутсвия цели, и соответсвенное изменения анимации когда цель появляется. То есть должно как то идти обращение к классу или на прямую или через функцию которая должна же быть где то описана. Вот я никак не могу этого отрыть

 

Из того что удалось добится:

1)Сила урона зомби

2)Кол-во спавна зомби

3)Зомби умирают на данный момент файтически только от выстрела в голову ну или от обоймы-двух в туловище, в принципе уже знаю как сделать исключительно в голову

4)Изменение лута выпадающего из зомби

5)Изменение где каким зомби спавнится

 

Из того что пытаюсь добится:

1)Изменить скорость передвижения зомби

2)Изменить анимацию зомби при найденой цели или хотя бы поменять использование анимации бега на анимацию ходьбы (будут зомби как в сериала "Ходячие мертвецы")

3)Заставить зомби атаковать ботов

4)Добавить стандартные скины к списку скинов зомби, то есть они смогут использовать стандартные скины которые используют игроки и боты только морды зомбаковские будут, думаю серьезно добавит реализма =)

 

Для 1 и 2 пункта необходимо сделать кастомный CfgMovesZombie а для этого нужно найти файлы или функции к нему обращающиеся

По пункту 3 нашел туториал на одном форуме но вроде как катит для ориджинс, пробовал на епоче - не вышло, но если смогли сделать на ориджинсе сможем и на епоче =)

Share this post


Link to post
Share on other sites
  • 0

Закинь cfgVehicles.hpp в папку миссии.

В description.ext подключи свой cfgVehicles.hpp

#include "fixes\Configs\cfgVehicles.hpp"

Ищи в dayz_code, все вызовы configFile >> cfgVehicles

Заменяй на

missionconfigFile >> cfgVehicles

Ну и под себя перерабатывай.

Посмотри как тут переработаны конфиги и вызовы -

https://github.com/vbawol/DayZ-Epoch/blob/master/SQF/dayz_code/Configs/cfgVehicles.hpp

Share this post


Link to post
Share on other sites
  • 0

Закинь cfgVehicles.hpp в папку миссии.

В description.ext подключи свой cfgVehicles.hpp

#include "fixes\Configs\cfgVehicles.hpp"

Ищи в dayz_code, все вызовы configFile >> cfgVehicles

Заменяй на

missionconfigFile >> cfgVehicles

Ну и под себя перерабатывай.

Посмотри как тут переработаны конфиги и вызовы -

https://github.com/vbawol/DayZ-Epoch/blob/master/SQF/dayz_code/Configs/cfgVehicles.hpp

эм я как бы это уже сделал...... все файлы касающиеся зомби сделал кастомными и везде это поменял и подключил кастомный CfgVehicles через description. Но все же меняя строчку moves ничего не происходит.

Тут одна есть как по мне странность зачем и в dayz и в dayz_code в файле конфига присутствует класс CfgVehicles? При чем там по сути одно и то же только записано по разному, к примеру в одном CfgVehicles в каком параметре стоит "false" а в другом в том же параметре стоит "0". так я вот и подумал что некоторые парметры вызываются из одного CfgVehicles а некоторые из другого... как то так

По той ссылке лежит тот же конфиг только отдельными файлами hpp как было в origins. Но там так же CfgMovesZombie лежит в другом ПБО файле

Edited by ka3ant1p (see edit history)

Share this post


Link to post
Share on other sites
  • 0

Кстати самое парадоксальное то что когда я добавил в ксатомный файл с классом CfgVehicles класс CfgMovesZombie : CfgMovesBasic, РПТ лог выдавал ошибку и я не мог зайти на сервер пока не добавил туда еще и CfgMovesBasic.
Попробую еще раз сегодня, поменять там побольше параметров и посмотреть изменится ли что либо.
Кстати в CfgVehicles есть строчка которая ссылается на zombie_agent.fsm при попытке поменять путь на кастомный - зомби тупо перставали спавнится хотя и zombie_generate.sqf и wild_spawnZombies.sqf были кастомными и там так же были заменены пути. А при спавне зомби через админку они тупо на меня не реагировали, только если я сам к ним подойду, и РПТ лог выдавал ошибки в анимациях

Share this post


Link to post
Share on other sites
  • 0

только что заметил что аддон dayz вообще не подключен в mission.sqm O_o то есть получается он не используется? Попробую его удалить и посмотреть что будет

Share this post


Link to post
Share on other sites
  • 0
 

Из того что пытаюсь добится:
1)Изменить скорость передвижения зомби
2)Изменить анимацию зомби при найденой цели или хотя бы поменять использование анимации бега на анимацию ходьбы (будут зомби как в сериала "Ходячие мертвецы")
3)Заставить зомби атаковать ботов

4)Добавить стандартные скины к списку скинов зомби, то есть они смогут использовать стандартные скины которые используют игроки и боты только морды зомбаковские будут, думаю серьезно добавит реализма =)

 

У меня еще идея есть(но отложена в дальний угол, пока все остальное на сервере не допилю).

Сделать случайный спавн зомби на игроках(+- сколько то метров) в большем количестве, аля наткнулся на группу ходячих как в сериале.

Спавн в принципе можно выдрать из инфистара и прикрутить к спавну ботов на игроках в DZAI.

Share this post


Link to post
Share on other sites
  • 0

ут одна есть как по мне странность зачем и в dayz и в dayz_code

Ты о чем вообще?

Какой дейз и дейз_код?

У тебя мод 1 - эпоха. В нем dayz_code.pbo

Вот в нем твой конфиг и смотри.

При чем тут мод dayz

Share this post


Link to post
Share on other sites
  • 0

В моде епоч есть папочка addons в которой лежат pbo файлы и в каждом из этих аддонов есть конфиг файл, так вот CfgMovesZombie находится в том конфиге что лежит в dayz.pbo и вот оттуда и получаются анимации вернее там указаны пути к анимациям скорость и так далее. Так вот вот эти аддоны подключены в файле mission.sqm а в конфигах подключенных аддонов так же есть подключенные аддоны, так например в конфиге dayz_code подключены несколько аддонов среди которых аддон dayz. Появились некоторые мысли как все же можно заставить работать кастомный CfgMovesZombie сейчас это пойду пробовать, но сперва поесть =))))
 

 

 

 

Из того что пытаюсь добится:
1)Изменить скорость передвижения зомби
2)Изменить анимацию зомби при найденой цели или хотя бы поменять использование анимации бега на анимацию ходьбы (будут зомби как в сериала "Ходячие мертвецы")
3)Заставить зомби атаковать ботов

4)Добавить стандартные скины к списку скинов зомби, то есть они смогут использовать стандартные скины которые используют игроки и боты только морды зомбаковские будут, думаю серьезно добавит реализма =)

 

У меня еще идея есть(но отложена в дальний угол, пока все остальное на сервере не допилю).

Сделать случайный спавн зомби на игроках(+- сколько то метров) в большем количестве, аля наткнулся на группу ходячих как в сериале.

Спавн в принципе можно выдрать из инфистара и прикрутить к спавну ботов на игроках в DZAI.

 

вполне интересно, была идея сделать часы икс, но твоя идея мне больше нравится, более реалистичная будет, но если уж гнаться за реалистичностью то нужно еще делать проверку местности с привязкой к кол-ву, то есть если город то скажем группа ходячих 50+ если лес то не больше 20 к примеру.
Вообще в идеале я бы заменил динамический спаун ботов на игрока, а сделал бы рандомный спаун на всей карте, и что бы эти зомби бродили, тоесть как бы задать им поиск цели, но для этого нужен ооооочень мощный сервер, да и по сути это уже точно будет отдельный мод, т.к. тогда нужно дописывать им сбиваться в стаи, прописывать пути миграции =)
Я вообще сервером начал заниматся месяца полтора назад, а про дейз узнал 3 месяца назад =) Еще 3-6 месяцев глядишь и мод такой напишу, надо только обратится к создателям сериала пусть спонсируют разработку мода =) Тогда и скины будут как в сериале и карту можно сделать =)

Share this post


Link to post
Share on other sites
  • 0

покапал интернет, есть идея как заставить зомби передвигаться с маленькой скоростью и анимацией ходьбы без создания кастомного CfgMovesZombie. Буду пробовать.
Так же скачивал yum zed mod, после долгих ковыряний так и не понял как вызываются анимации из его мода, то есть абсолютно нет никаких вызовов со стороны сервера, даже в mission.sqm он не подключается, судя по инструкции он просто закидывается в папку с аддонами и будет работать О_о
Но обратил внимание на такие строчки CfgPatches и CfgAddons, так вот как я понял CfgPatches это как бы класс который говорит что из этого конфига мы патчим следующие аддоны, и при совпадении классов мы заменяем значения в совпадающих классов из этого конфига.
Это единственное что пришло в голову по сколько CfgMovesZombie есть только в аддоне dayz, а в аддоне от yum есть строка CfgPatches в которой стоит аддон dayz, и там как раз совпадают классы, то есть при добавлении его аддона за счет класса CfgPatches  в его конфиге - оно заменяет совпадающие с аддоном dayz классы на свои.
Но еще не совсем понятно что тогда CfgAddons? Как мне кажется в нем существенное значение имеет под-класс PreloadAddons то есть говорит какие загружать аддоны самыми первыми.
Если это так то тогда появляется какая то логика во всем этом.... 
Получается вроде такая цепочка: В папке с модом лежат аддоны которые по всей видимости автоматически при входе в игру подгружаются, при заходе на сервер из mission.sqm считывается список необходимых аддонов для игры на сервере, конечно в том случае если включена проверка в конифге в папке instance, далее в dayz_code мы имеем класс предзагружаемых аддонов и класс тех аддонов которые будем "патчить" из этого конфига. При добавлении аддона мы всего лишь "патчим" какой то из уже существующих. Так в случаем с добавлением новых анимаций, мы просто "патчим" класс с анимациями в аддоне dayz.
А теперь самое интересное, если удастся сделать зомби ходячими только по средством добавления кастомных файлов из dayz_code то мы можем сделать такой финт: все игроки зашедшие на сервер будут видеть исключительно ходячих зомби, а те кто скачают доп аддон, просто будут видеть тех же зомби в том же кол-ве и с той же скоростью но с другой анимацией. Для этого нужно будет либо отключить проверку файлов или просто за счет того что этот аддон не вписывается в mission.sqm то все и так будет работать =)
То есть это как в CS, можно играть на одном сервере а просто у себя на клиентской стороне поменять модельки оружия и звуки. Так и тут, на стороне сервера выполняется присвоение скорости в случае обнаружения цели а уж какие кто будет видеть анимации это будет зависеть от того у кого какие аддоны еще есть помимо этого.
По сути тогда таким образом можно менять что угодно, точнее почти что угодно - то к чему не обращается сервер на прямую  
 

Share this post


Link to post
Share on other sites
  • 0

и так у меня все же получилось этого добиться =)
Сделал зомбаков исключительно ходячими, так же нашел очень много интересных вариантов для изменений поведения зомби.
Что касается yum zed мода, то действительно можно просто сделать ходячих зомби, а желающие смогут скачать доп аддон и изменить анимацию зомби =) Есть конечно нюансы, не соответсвие в скорости движения и при установке его анимаций они вроде как атакуют но действие отменяется, но это по идее все поправимо, т.к. я не использовал никаких из его файлов кроме аддона на анимации. Нужно просто объединить его файлы с моими и будет вуаля =)
Но на достигнутом останавливаться не интересно, и вот что над чем я думаю работать в дальнейшем:
1)Изменить поведение зомби, т.к. они реально очень тупые и очень плохо реагируют на изменения местоположения цели, то есть он еще какое то время продолжает идти туда где была цель до этого.
2)Попробовать убрать деспаун зомби, очень сильно прибавит в сторону реалистичности
3)так же можно попытаться изменить поведение во время отсутсвия цели таким образом что б если у зомби однажды появилась цель он следовал в том направлении где цель пропала до тех пор пока не доберется до цели или не найдет новую цель
4)очень хочется заменить динамический спаун зомби на игрок, на рандомный спаун по карте в момент старта миссии ну или хотя бы сделать кастомный спаун по всей карте
5)добавить постоянные бродячие группы зомби, теоретически есть представление как это сделать, нужно только отключить деспаун, хотя по логике его можно будет отключить в самом скрипте

Вообще после недельного копания во всех этих конфигах и скриптах, есть предположение что проще чем переписывать добрую половину dayz_code и запихивать это все в файл миссии. Можно написать что то вроде ботов только зомбаков. И закидывать это в сервер. Ради интереса попробую на днях взять каких нибудь попроще ботов и заменить им скины на зомбаковские и подправить некоторые детали. Если получится можно смело садится за написание ZedAI =)

Share this post


Link to post
Share on other sites
  • 0

и так у меня все же получилось этого добиться =)

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

Что касается yum zed мода, то действительно можно просто сделать ходячих зомби, а желающие смогут скачать доп аддон и изменить анимацию зомби =) Есть конечно нюансы, не соответсвие в скорости движения и при установке его анимаций они вроде как атакуют но действие отменяется, но это по идее все поправимо, т.к. я не использовал никаких из его файлов кроме аддона на анимации. Нужно просто объединить его файлы с моими и будет вуаля =)

Но на достигнутом останавливаться не интересно, и вот что над чем я думаю работать в дальнейшем:

1)Изменить поведение зомби, т.к. они реально очень тупые и очень плохо реагируют на изменения местоположения цели, то есть он еще какое то время продолжает идти туда где была цель до этого.

2)Попробовать убрать деспаун зомби, очень сильно прибавит в сторону реалистичности

3)так же можно попытаться изменить поведение во время отсутсвия цели таким образом что б если у зомби однажды появилась цель он следовал в том направлении где цель пропала до тех пор пока не доберется до цели или не найдет новую цель

4)очень хочется заменить динамический спаун зомби на игрок, на рандомный спаун по карте в момент старта миссии ну или хотя бы сделать кастомный спаун по всей карте

5)добавить постоянные бродячие группы зомби, теоретически есть представление как это сделать, нужно только отключить деспаун, хотя по логике его можно будет отключить в самом скрипте

 

Вообще после недельного копания во всех этих конфигах и скриптах, есть предположение что проще чем переписывать добрую половину dayz_code и запихивать это все в файл миссии. Можно написать что то вроде ботов только зомбаков. И закидывать это в сервер. Ради интереса попробую на днях взять каких нибудь попроще ботов и заменить им скины на зомбаковские и подправить некоторые детали. Если получится можно смело садится за написание ZedAI =)

 

А ещё дать им в руки биты или бензопилы))), это будут мега-зомбаки!!)))))))

Share this post


Link to post
Share on other sites
  • 0

создал туториал по тем моментам которые уже проверены http://s-platoon.ru/index.php?/topic/370-tutorial-izmeneniia-parametrov-zombi/

Так же в связи с малым количеством свободного времени прошу проверить следующие моменты:
В файлах wils_spawnZombies.sqf и zombie_generate.sqf есть строки:

 

if (isNull _agent) exitWith {
dayz_spawnZombies = dayz_spawnZombies - 1;
};

попробуйте  убрать "-1" и посмотреть повлияет ли это не деспаун зомби, по логике они должны перестать деспаунится при отсутсвии цели. Тут удобнее вдвоем это делать, один заспавнит и тпшится а другой издалека наблюдает.

В файле building_spawnZombies.sqf есть строки:

_canLoot = isClass (_config);
if (_canLoot) then {
Говорит мол спавнить зомби если есть лут, попробовать это удалить и не забыть про зыкрывающую скобку, оставив только содержимое, и проверить как повлияет на спаун зомби

В plyaer_zombieAttack.sqf
в строку _openVehicles = ["ATV_Base_EP1", "Motorcycle", "Bicycle"]; добавить машины открытого типа и посмотреть как будет дамаг происходить от зомби во время нахождения в такой машине

В player_spawnCheck.sqf поменять значение _maxWildZombies = 3; и проверить увеличит ли это кол-во спавнящихся зомби в не городов не возле объектов, к примеру в лесу

Так же как туториале по примеру создания кастомной таблицы лута, выдернуть из конфига в дейз_код класс CfgVehicles все что касается зомби то есть все начиная с class Citizen1; до class pz_priest : PZombie_VB {
и запихнуть его в тот же файл где и таблицы с лутом.

И поиграться там со строчками armor, и посмотреть усилит ли это защиту зомби


 

Share this post


Link to post
Share on other sites
  • 0

ну что кто то что то попробовал? Или все только готовые гайды и туториалы ждут?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.