Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • Не хотите БАН?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок
  • Загляните на рынок

    Там вы можете продать или купить
    Всё что касается игровых серверов
123new

DayZ Standalone v0.62.142963 Server Files + рабочий респавн персонажа и лута

Рекомендованные сообщения

Я выкладываю свою версию серверных файлов DayZ Standalone v 0.62.142963, слитых в инет, со своими правками, которые удалось выполнить и заставить работать.

 

Особенности:

1. Рабочая система OfflineDB сервера - private hive режим, в котором происходит полноценный запуск сервера с переспавном, сохранением всего лута, животных, зомби и других объектов (техника и хеликраши в их числе тоже)

2. Рабочий режим респавна персонажа, в котором сервер не крашится при нажатии Respawn в меню игрока.

3. Рабочий Battleye сервера (при нахождении сервера на другом компьютере (не локально)), работает также, как и в 0.60 при условии блокировки тех же данных, что и в 0.60 версии сервера. Как активировать отдельно ниже.

4. К сожалению не полнофункциональная и не лишенная багов, но рабочая система сохранения персонажа, написанная товарищем benwood, за что ему отдельное спасибо. Принцип работы все тот же. (система переписана под Enfusion 0.62 версии игры, ничего не тронуто, оставлено в оригинальном виде)

5. В наборе имеется папка с оригинальными exe сервера, приложенными с выходом сервера в сеть, а также BEC и Whitelister, работающие при включенном на сервере battleye. Настройка осуществляется аналогично серверам игр Arma, гайды по настройке их найти можно на данном форуме самим. Как активировать BEC c BattlEye есть информация отдельно ниже.

6. Включенный на сервере дебаг монитор, который отключается всего 1 строкой в конфигурации сервера

7. Сохранен весь необходимый для сервера софт, который прикладывался вместе с выходом серверных файлов в сеть официально (папка tools).

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

9. Crack добавлен, но есть возможность запускать без него! При должных умениях можно запустить сервер и играть с лицензии.

10. За исключением exe сервера и правок в миссии сервера, сервер полностью официальный.

11. Полностью переписанная с нуля MpMission сервера на основе официальных скриптов версии 0.62, что должно исключить все непонятные баги с функционалом внутри игры.

12. Некоторый дополнительный функционал вынесен в MpMission в init.sqf, что упростит настройку сервера.

13. В MpMission добавлены мои личные самописные скрипты спавна автомобилей и хеликрашей. Рабочие, функциональные, но помните, если вы включите их, вам надо отключать официальный спавн этих объектов, иначе объекты на сервере могут прибавляться.

14. В сборке также добавлены с 07.04.2018 и вынесены в init.sqf такие возможности, как:

1) включение и отключение вывода в чат игрокам сообщений о присоединении и отсоединении от сервера игроков.

2) включение и отключение вывода в чат игрокам сообщений о смертях игроков на сервере.

3) включение и отключение системы сохранений персонажей на сервере.

4) скрипт вывода в чат сообщений о количестве игроков с возможностью его отключения.

5) скрипт вывода в чат рекламы и сообщений с возможностью его отключения (аналог BEC. работает без Battleye).

6) полностью переписанный и полнофункциональный скрипт спавна и респавна транспорта, а также хеликрашей.

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

8) выведены настройки по времени ожидания перед началом игры после соединения с сервером, при респавне и отключении, а также время между сохранением игроков на сервере в режиме "on-line".

9) выведены настройки с временем удаления мертвых игроков и зомби с карты на сервере
10) большая часть неиспользуемых скриптов mpmissions удалена.

 

Среди замеченных мною проблем:

1. Возможна нестабильность сервера, причина которой не ясна (возможно у меня не хватает знаний)

2. Миссионная команда сервера "sleep 5;" не работает в db_Load_Player.sqf  по причине того, что загрузка на сервер и спавн персонажа выполняются в асинхронном потоке, и клиент игры за определенное время должен получить в управление Agent персонажа, иначе краш. По этой причине ожидание при входе в 30 сек. имеется, но работает несколько специфично.  Возможны дюпы!

3. Присутствуют все официальные баги и проблемы лицензии с 0.62 версии игры.

4. Настройки персонажа с главного меню игры не применяются на сервере при респавне игрока! Проблема связана с невозможностью их считать от клиента игры!

5. Точки спавна игрока (работает в fnc_posBubbles.sqf) могут не соответствовать 0.62 версии, так как взяты с 0.61 версии.
6. Таблица спавна лута сервера соответствует 0.61 версии, а значит новые вещи из 0.62 версии игры на сервере отсутствуют, а удаленные в 0.62 версии вещи, но имеющиеся в таблице спавна, будут вызывать краш сервера при подборе игроком (постарался убрать таковые).

 

О том, как ставить:

1. Скачиваем серверную часть:
Mega-nz: https://mega.nz/#!TnRykAyK!G9gvmFdDKqMkDTZmAP5_r9XJTVhR-7ijgG47U9Bm84A

Yandex:disk: https://yadi.sk/d/SF1-gBw13S46z9

2. Распаковываем файлы в необходимое нам место

3. Открываем в папке сервера !Start_server_parameters.ini и правим путь в строчках:

Target = C:\Test062Server\DayZServerP69_x64.exe
StartIn = C:\Test062Server\
CommandLine = -port=2302 -config=!ConfigServer\server.cfg -cfg=!ConfigServer\basic.cfg -profiles=!ConfigServer -user=!ConfigServer -name=Server -freezecheck -autoinit
SteamClientPath = C:\Test062Server\SmartSteamEmu\SmartSteamEmu.dll
SteamClientPath64 = C:\Test062Server\SmartSteamEmu\SmartSteamEmu64.dll

на путь до вашей папки с сервером!

В пути обязательно не должно быть никаких иных символов, кроме латиницы и цифр!!! Иначе crack не запустит сервер корректно!

4. Правим там же параметры запуска сервера в строке "CommandLine ="

5. Открываем папку !ConfigServer и затем файл server.cfg правим блокнотом. Настраиваем настройки сервера (постарался оставить все пояснения в файле),

Если хотим, чтобы Battleye работал без проблем, блокируем на стороне сервера ip 109.123.198.3 в брандмауэре

6. Запускаем сервер с батничка !Start_cracked_server.cmd в папке с сервером. Если хотим лицензию, запускаем с !Start_license_server.cmd

Сервер находим в игре в фильтре серверов вручную в формате:

ip:port  (например 192.168.0.1:2302)

И подключаемся к нему!

Если у вас на сервере нет выделенного ip, либо закрыт порт сервера, то скорее всего сервер вы не найдете!

 

Информация:

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

Клиентские exe с идут уже с отключенными проверками подписей (сигнатур) для своего моддинга.

 

Как включить BattlEye и подключить BEC:

1. Открываем !ConfigServer\server.cfg и выставляем значение BattlEye = 1;  

2. на стороне сервера блокируем в исходящих : IP: 109.123.198.3 порты: (UDP + TCP):  2324 29910 2305 8181 9660 2354

3. открываем !Other_from_server и копируем папку bec в папку !ConfigServer

4. Открываем файл scheduler.xml по пути !ConfigServer\bec\Config

5. Правим C:\Test062Server на ваш путь до папки с сервером. Можно поправить и другие объявления + время рестартов, если хотите, либо сделайте это позже.

6. Открываем файл config.cfg по пути !ConfigServer\bec\Config и меняем ip и порт сервера, если он у вас изменен от стандартно предоставленных сборкой.

Если решите переместить BEC в другое место, то не забудьте исправить параметр BePath на ваш путь, пример строки с путем есть.

7. Запускаем сервер и после "player enabled connect" в консоли сервера запускаем bec c Start_BEC.bat из папки !ConfigServer\bec

ВАЖНО: соблюдайте идентичность содержимого файлов  BEServer.cfg и BEServer_x64.cfg в !ConfigServer\BattlEye\ поскольку BEC использует лишь BEServer.cfg, а сервер BEServer_x64.cfg.

 

Клиент игры чистой версии 0.62.144.63 со Steam можно скачать тут:

Mega.nz: https://mega.nz/#!m9QhiDKB!3HizgJeHZUXgSB7Jmh2rkYlBOvstSaf-tDCsrWvx1IA

Google Drive: https://drive.google.com/file/d/1K-AxRk2fC6tADZo-SfYuVuKVFapFv7Om/view?usp=sharing
Torrent: https://yadi.sk/d/NyEdCzEx3RsGaz Ссылка на Mega с торрентом Upload 18:00-23:00 GMT+3

Со всех этих файлов вы можете зайти на данный сервер игры! Для входа вам понадобится Crack, он ниже!

 

Crack SmartSteamEmu для клиента игры (настройка такая же, как и для сервера):
https://yadi.sk/d/LVe_rCgO3GuWJk

 

Замеченные наблюдения в сфере DayZ новых версий:

Поскольку разработчик игры вырезал весь функционал создания внутриигровых меню со старых версий DayZ и Arma, я заметил, что эта возможность не вырезана полностью, а ВНИМАНИЕ переписывается ими на новый язык enfusion. А это значит, что средствами enfusion возможно реализовать внутриигровую админ-меню, но для этого нужны немалые знания в этом языке. У меня этих знаний нет! НО! в папке сервера есть такая папочка scripts - это скрипты на Enfiusion. Попробуйте покопаться в нем и вы найдете массу интересного! Язык крайне похож на c++, но отличается! там же имеется кривая малоинформаитивная справка по нему.

 

Благодарности:

MikeJones за серверные файлы версии 0.62 и exe сервера с возможностью нормального респавна игрока в dboffline.
Benwood за рабочую систему сохранения и загрузки персонажа.
BorizzK за работу над некоторыми скриптами миссии сервера, советы и тесты.
Всем форумчанам и комьюнити за тесты, отзывы и использование моих наработок с сохранением авторства файлов и статьи.

 

P.S. Я не эксперт в DayZ, и мало что знаю. надеюсь, в чем-то я смог вам помочь! Не ругайте сильно, если что не так! Рассчитываю на вашу взаимопомощь друг другу, а не на конкуренцию и тайны друг от друга, т.к. только взаимопомощью мы сможем добиться желаемого результата!

P.P.S. Советую вам не удалять после скачивания файлы, поскольку ссылки в темах имеют свойство умирать!

 

Не забываем про благодарность за информацию ;)

 

P.S. При копировании информации и файлов на другие источники, пожалуйста, указывайте авторство статьи и файлов! Спасибо!

Изменено пользователем 123new (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Забронировать это рекламное место


v0.62.142963 - версия сервера, а клиент v0.62.144063. При подключении к серверу пишет, что сервер не той версии. Что делать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

mashstroy выставить

requiredBuild = 1; // require min build game for connect
allowedBuild = 1; // allowed max build game for connect
forceSameBuild = 0;  //if 1 only build server, if 0 all builds (work if requiredBuild and allowedBuild commented)

в server.cfg сервера

Изменено пользователем 123new (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Доброго времени, подскажите, есть ли в этой сборке возможность пофиксить "время жизни" мертвых зомби? На данный момент зомби после убийства лежит вплоть до рестарта сервера. С трупами игроков не проверял, но как мне кажется, будет тоже самое.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

STORMWAY пофиксить возможность есть всегда, надо немножечко подумать и чуть-чуть ручек.

пример:

1. открываем с pbo manager в папке сервера из Addons файлик server_data.pbo

2. Открываем папку scripts и что мы видим? Верно, скриптики.

Если сравните с папкой scripts в вашей mpmissions то будет очень похожая структура, но в разы меньше файлов и папок.

Вы верно подумали, это именно те же самые скрипты с пбо, но подправленные. А не все потому, что мы не все правили и вынесли лишь нужное нам.

3. Открываем из открытого в п. 1 следующий путь: scripts\events

и находим файл event_killedZombie.sqf

4. Копируем этот файл в такую же папку в MpMission, чтобы получилось:

scripts\events\event_killedZombie.sqf

5. Половина дела сделано. Если изучить оригинальный init.sqf в папке из п. 1, вы заметите, что событие event_killedZombie не вписано в игре вообще. хотя в некоторых скриптах вызывается.

Открываем наш init.sqf в MpMission и вписываем туда:

event_killedZombie =		compile preprocessFileLineNumbers "scripts\events\event_killedZombie.sqf";

Теперь мы объявили это событие и назначили ему действие из файла, что мы скопировали.

6. Дело за малым. Открыть сам файл event_killedZombie.sqf и подправить удаление трупа зомби и переспавн его.
Добавлю сразу, событие смерти зомби уже должно поумолчанию в игре вызываться, так что править более ничего не надо. О том как оно прикрепляется для объекта "зомби" можно поглядеть в "scripts\init\spawnZombies.sqf"  (это скрипт процедуры call init_spawnZombies; в init миссии)

 

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

 

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

Изменено пользователем 123new (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

STORMWAY в конце файла event_killedZombie.sqf (того что в mpmission вынес) добавь:

uiSleep 600;
deleteVehicle _agent;

где первая строка - ожидание в секундах (600 секунд), а вторая строка - удаление трупа игрока.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, 123new сказал:

STORMWAY в конце файла event_killedZombie.sqf (того что в mpmission вынес) добавь:


uiSleep 600;
deleteVehicle _agent;

где первая строка - ожидание в секундах (600 секунд), а вторая строка - удаление трупа игрока.

 

 

Этим способом пробовал. Не работает.)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Скрытый текст

 

private["_agent","_uid"];
_agent = _this select 0;
_killer = _this select 1;

//dbStats ["kill",_killer,1];

_type = typeOf _agent;
_last_pos = getPosATL _agent;

//cleanup
_respawn_delay = 300 + floor(random(120));

diag_log format ["ZOMBIE:: %1 DIED at %2, respawn after %3 seconds, timestamp %4",_type, _last_pos, _cleanup_delay, time];

sleep _respawn_delay;

_Z_spawnparams = [
  1 / 25.0,     // SPN_gridDensity
  400.0,        // SPN_gridWidth
  400.0,        // SPN_gridHeight
   4.0,         // SPN_minDist2Water
  20.0,         // SPN_maxDist2Water
   0.5,         // SPN_minDist2Static
  30.0,         // SPN_maxDist2Static
  -0.785398163, // SPN_minSteepness
  +0.785398163, // SPN_maxSteepness
  50.0,         // SPN_minDist2Zombie
 170.0,         // SPN_maxDist2Zombie
 125.0,         // SPN_minDist2Player
 270.0          // SPN_maxDist2Player
];

uisleep 300;
deletevehicle _agent;

_pos = RespawnDeadNPC [ _last_pos, _Z_spawnparams ];

_types = getArray( configFile >> "CfgSpawns" >> "types");
_rnd = floor(random(count _types));


_zombie = createAgent [_types select _rnd, _pos, [], 1, "NONE"];
_zombie addeventhandler ["HandleDamage",{_this call event_hitZombie} ];
_zombie setDir floor(random 360);

diag_log format ["ZOMBIE:: %1 spawned at %2, distance from original spot %3",_zombie, _pos, (_pos distance _last_pos)];

 

123new Вот содержимое файла, в init.sqf все прописано, пробовал так же дописывать: call event_killedZombie; результат тот-же.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

STORMWAY так а зомби у вас как создаются? Скриптом с комманды call init_spawnZombies; или динамический спавн на игрока?

Потому как это 2 разных типа зомби, и обрабатываются они сервером по разному.

 

Например, рассмотрим комманду call init_spawnZombies;  При  ее использовании событие задается скриптом scripts\init\spawnZombies.sqf

Это обозначено в вашем init.sqf строкой:

init_spawnZombies = 	compile preprocessFileLineNumbers "\dz\server\scripts\init\spawnZombies.sqf";

Переносим файл spawnZombies.sqf с addons сервера из pbo в mpmission сервера вашего.

Например, кладем его в scripts\init\spawnZombies.sqf

И правим в init.sqf строку на такую

init_spawnZombies = 	compile preprocessFileLineNumbers "scripts\init\spawnZombies.sqf";

Затем открываем сам скрипт spawnZombies.sqf

как видим, в скрипте спавн зомби обозначен коммандой

fnc_spawnZombie = 
{
	DZ_TotalZombies = DZ_TotalZombies + 1;
	_zombie = createAgent [_this select 0, _this select 1,[],0,"CAN_COLLIDE"];
	_zombie addeventhandler ["HandleDamage",{_this call event_hitZombie} ];
	_zombie addeventhandler ["killed",{null = _this spawn event_killedZombie} ];
	_zombie setDir floor(random 360);
	_zombie
};

Хотя если в init.sqf вы поищете комманду event_killedZombie то ее вы не найдете.

Т.е. в случае убийства зомби ничего не произойдет.

Чтобы произошло что-то его надо поместить также из pbo сервера в миссию сервера например по пути scripts\events\event_killedZombie.sqf

И еще в init обозначить функцией. Вот так:

event_killedZombie = 	compile preprocessFileLineNumbers "scripts\events\event_killedZombie.sqf";

А теперь откройте scripts\events\event_killedZombie.sqf и смотрите:

Строка

sleep _respawn_delay;

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

Строка

_pos = RespawnDeadNPC [ _last_pos, _Z_spawnparams ];

Это готовая процедура удаления умершего нпс зомби.

Можно после нее добавить:

deleteVehicle _agent;

И соответственно смотрите в файле далее процедуру создания зомби

_zombie = createAgent [_types select _rnd, _pos, [], 1, "NONE"];
_zombie addeventhandler ["HandleDamage",{_this call event_hitZombie} ];
_zombie setDir floor(random 360);

Сравните ее с тем, что вы видели в spawnZombies.sqf

Видите разницу? Отсутствует

	_zombie addeventhandler ["killed",{null = _this spawn event_killedZombie} ];

Так что после

_zombie addeventhandler ["HandleDamage",{_this call event_hitZombie} ];

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

 

 

Изменено пользователем 123new (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

123new За это спасибо, сейчас попробую!

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

STORMWAY это недостаток системы сохранений персонажа сторонней еще с 0.60 патчей игры (от benwood), использовать пришлось такую за неимением возможности официальную использовать. К сожалению, мне не исправить это, поскольку для исправления этого надо крайне сильно попотеть, и составлять для каждого id classname информацию по количеству занимаемых слотов в инвентаре.

Изменено пользователем 123new (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

123new Я использую систему сохранения как раз таки от benwood которую он недавно выложиил на соседнем борде

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

STORMWAY более чем уверен, там также это не решено, поскольку система работает визуально по тем же методам, а значит не вмещающиеся в инвентарь вещи попросту игра не добавит.

Его последний вариант системы сохранений не вижу смысла копировать и вставлять в имеющеюся мою сборку, поскольку разницы там никакой нет, а вот неразберихи в виде каши из enscript и sqf в миссии сервера хватает, и людям, знающим арму переходить на такой вариант работы с сервером будет более проблемно.

Изменено пользователем 123new (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

123new Последний вариант так же не помог, зомби все так же остаются лежать до рестарта.

Попробую покапать файлы клиента игры, может получится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

123new А и еще, не подскажите, на кастомных хеликах ваших имеются “невидимые стены”, т.е. к нему подобраться очень и очень сложно. Может это как то зависеть от их кардинат спавна? модели оригинальные, а невидимые стены есть, а в кардинатах разница есть, в числах, т.е. в оригинале например 5765.23 а в скрипте 5765.2342 это как пример, точных кардинат нету, уже не у пк нахожусь

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

STORMWAY в скрипте спавна хеликраша найдите и закомментируйте следующие строки

_HeliCrach setDir floor(random 360);

_Zomb_heli setDir floor(random 360);

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

 

А по поводу зомби - зомби то как спавнятся у вас вообще? на игрока динамически? Если да, то этот спавнер редактировать можно лишь в в файлах папки db (файл globals.xml насколько помню, benwood говорил)

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

Если call init_spawnZombies;  раскомментирована в ините миссии сервера, то спавн скриптовый работает и написанное выше просто не может не работать. Но не забываем, что зомби в 61 патче и выше также и на игрока спавнятся, а значит можно их перепутать со скриптовыми.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

123new спавн у меня через call init_spawnZombies; 

 

В globals.xml :
 

Скрытый текст

<variables>
    <var name="CleanupAvoidance" type="i" value="50"/>
    <var name="CleanupLifetimeDefault" type="i" value="30"/>
    <var name="CleanupLifetimeLimit" type="i" value="30"/>
    <var name="ZoneSpawnDist" type="i" value="0"/>
    <var name="RespawnAttempt" type="i" value="3"/>
    <var name="RespawnLimit" type="i" value="20"/>
    <var name="RespawnTypes" type="i" value="10"/>
    <var name="SpawnInitial" type="i" value="1500"/>
    <var name="ZombieMaxCount" type="i" value="2500"/>
</variables>

 

А насчет еще кстати, в init мы прописываем call event_killedZombie; или не обязательно?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

STORMWAY в MPMissions\dayz_Auto.ChernarusPlus\init.sqf

только

call init_spawnZombies;

а вот в  MPMissions\dayz_Auto.ChernarusPlus\scripts\init.sqf  уже

event_killedZombie = 	compile preprocessFileLineNumbers "scripts\events\event_killedZombie.sqf";
init_spawnZombies = 	compile preprocessFileLineNumbers "scripts\init\spawnZombies.sqf";

А само событие event_killedZombie вы вызываете непосредственно в теле скриптов этих строкой

_zombie addeventhandler ["killed",{null = _this spawn event_killedZombie} ];

если дословно эту строку перевести, получится:

Цитата

объекту присвоить действие в случае возникновение события "умер", присваиваемое действие в случае выполнения события: выполнить функцию event_killedZombie

 

Так что в MPMissions\dayz_Auto.ChernarusPlus\init.sqf вызывать call event_killedZombie; не нужно, это ошибка.

Как вариант, для теста, можете отключить спавн динамических зомби, заменив events.xml в папке db с вашей mpmissions на этот 

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

, затем удалить  папку storage полностью и запустить сервер

Изменено пользователем 123new (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

123new В общем, по вашему методу зомби так же не пропадают. Но, товарищ benwood поделился "своим скриптом" Прикладываю:

 

Скрытый текст

private["_agent","_uid"];
_agent = _this select 0;
_killer = _this select 1;

_cleanup_delay = 60; 

null = [_agent, _cleanup_delay ] spawn {
    sleep (_this select 1);
    deletevehicle (_this select 0); 
};


_type = typeOf _agent;
_last_pos = getPosATL _agent;

//cleanup
_respawn_delay = 300 + floor(random(120));


diag_log format ["ZOMBIE:: %1 DIED at %2, respawn after %3 seconds, timestamp %4",_type, _last_pos, _cleanup_delay, time];

sleep _respawn_delay;

_Z_spawnparams = [
  1 / 25.0,     // SPN_gridDensity
  400.0,        // SPN_gridWidth
  400.0,        // SPN_gridHeight
   4.0,         // SPN_minDist2Water
  20.0,         // SPN_maxDist2Water
   0.5,         // SPN_minDist2Static
  30.0,         // SPN_maxDist2Static
  -0.785398163, // SPN_minSteepness
  +0.785398163, // SPN_maxSteepness
  50.0,         // SPN_minDist2Zombie
 170.0,         // SPN_maxDist2Zombie
 125.0,         // SPN_minDist2Player
 270.0          // SPN_maxDist2Player
];

_pos = RespawnDeadNPC [ _last_pos, _Z_spawnparams ];

_types = getArray( configFile >> "CfgSpawns" >> "types");
_rnd = floor(random(count _types));

_zombie = createAgent [_types select _rnd, _pos, [], 1, "NONE"];
_zombie addeventhandler ["HandleDamage",{_this call event_hitZombie} ];
_zombie setDir floor(random 360);

diag_log format ["ZOMBIE:: %1 spawned at %2, distance from original spot %3",_zombie, _pos, (_pos distance _last_pos)]; 

 

Тут _cleanup_delay = 60; время удаления трупа в сек.

С этим содержимым удаление трупа происходит, и переспавн работает.

 

123new Все же, огромное спасибо вам за помощь. Насчет хеликрашей сейчас буду проверять.

Изменено пользователем STORMWAY (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

123new В общем, закомментировал строки:

Скрытый текст

 

_HeliCrach setDir floor(random 360);

_Zomb_heli setDir floor(random 360);

 

 

В итоге совсем пропали вертолеты =)

Возвращаю все как было - вертолеты появляются, но так же забагованные. Очень странно.

 

UPD. Помогла замена скрипта на этот:

Скрытый текст

 

_RandomPos = [true, true, true, true, true, true]; // random false or true

_types = getArray( configFile >> "CfgSpawns" >> "types");
_nn=0;
while {DZ_MAX_HELICRASH > _nn} do
{    
    for "ii" from 0 to DZ_MAX_HELICRASH -1 do
    {
        _SelRand = _RandomPos select floor random count _RandomPos;
        diag_log format["ATIVO: %1 ",_SelRand];
        if _SelRand then
        {
            _nn = _nn + 1;
            _randomHeliCrash = _modelHeliCrash select floor random count _modelHeliCrash;
            _PointAndNapr = _pointSpawnHeli select floor ii;
            _Point =  _PointAndNapr select 0;
            _Napr = _PointAndNapr select 1;
            
            _NextHeliCrash = createVehicle [_randomHeliCrash, _Point, [], 0, "CAN_COLLIDE"];
            //_NextHeliCrash setDir floor(random 360);
            _NextHeliCrash setVariable ["fire",true];
            _NextHeliCrash synchronizeVariable ["fire",1,{_this call event_fnc_wreckSmoke}];
            _sound = createSoundSource["Sound_Fire",_Point,[],0];
            
            diag_log format["BACON SPAWNED HELICRASH %2 pos: %1",_Point,_randomHeliCrash];
                            
            _totalSpawns = 10 + random 6;
            for "l" from 0 to _totalSpawns do
            {
                _itemLoot = _LootHeliCrash select floor random count _LootHeliCrash;
                _item = _itemLoot select 0;
                _qty = _itemLoot select 1;
                _rndLoot = createVehicle [_item, _Point, [], 10, "CAN_COLLIDE"];
                _rndLoot setVariable ["quantity", _qty];
                diag_log format["SPAWN LOOT HELICRASH: %1 at %2",_item,_Point];
            };
            
            _totalZombies = 10 + random 5;
            for "z" from 0 to _totalZombies do
            {
                _rnd = floor(random(count _types));
                _zombie = createAgent [_types select _rnd, _Point, [], 10, "NONE"];
                _zombie addeventhandler ["HandleDamage",{_this call event_hitZombie} ];
                _zombie addeventhandler ["killed",{null = _this spawn event_killedZombie} ];
                //_zombie setDir floor(random 360);
                diag_log format["SPAWN ZOMBIE HELICRASH: %1 at %2",DZ_ZombieTypes select _rnd,_Point];
            };
        };
    };
};

diag_log format["SPAWN HELICRASHS: %1",_nn];

 

 

Изменено пользователем STORMWAY (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Похожие публикации

    • Автор: Anton81
      ...
    • Автор: NoNameUltima
      Автор: NoNameUltima
      v R5
      Стоимость: 9500
       
      Мод предоставляется в нескольких частях:
      Со стима:
      Клиентский мод со стима Ultima(для игроков). Ключи и подписи, присутствуют.   Клиентский мод со стима UltimaClientAdmin(для игроков). Ключи и подписи, присутствуют.   Клиентский мод для Вашего сервера! Данный мод необходимо будет переименовать(в любое имя - это Ваш мод, модифицирующий конфиг). Необходимо будет создать к нему ключи и подписи, и выложить от себя в стим. Ссылку на данный мод вы и выкладываете в стим. Серверные мод(только для сервера). Кол-во: 2. *Моды связанны между собой.
       
      Что присутствует:
      Стартовое меню:
      Добавлена ссылка на группу в ВК. Добавлена ссылка на Дискорд. Добавлен выбор для прямого захода на Ваши сервера!(возможно добавление множества серверов в одно меню). Добавлен логотип. Добавлен экран(картинка) загрузки. Добавлен экран(картинка) возрождения\захода на сервер. *Все описанные выше параметры настраиваются под Ваш сервер! Дебаг монитор:
      Донат Наличные Банк Убито людей Убито зомби Фракция Репутация Игроков онлайн ФПС Время старта миссии Время до рестарта Собственная валюта:
      Можно забрать из трупа по экшену мышки(обыскать карманы) Можно положить в банк(Размер банковской ячейки - настраивается). Можно перевести другому игроку Можно совершать покупки *Валюта виртуальная. Фракции:
      Возможность создать фракцию, за валюту, или чеки(донат).(Ценники настраиваются в конфигурации). Возможность удалить фракцию. Возможность приглашения игроков во фракцию.(Ограничение на кол-во игроков во фракции задается в конфигурации). Возможность выгнать игрока из фракции. Возможность отклонить приглашение во фракцию. Возможность принять приглашение во фракцию. Отображение имени игрока над головой, если он в одной фракции с вами, и на дистанции менее 100м. Возможность создавать точки возрождения для членов фракции.(Кол-во точек и стоимость создания настраиваются в конфигурации). Безопасные зоны:
      Удалены зомби из безопасных зон Удалены волки из безопасных зон Отключен урон по игрокам внутри безопасных зон Нельзя перейти в боевой режим внутри безопасных зон Отображение имен игроков внутри торговых зон Оповещение при входе Оповещение при выходе Торговые зоны:
      Над торговцами присутствует надпись(чем торгует) Взаимодействие с торговцами через экшен мышки(торговля) Зона запрета строительства:
      Нельзя строить. Торговля:
      Торговля может быть настроена на определенную фракцию При продаже учитывается процент повреждения объекта, и торговец даст за него сумму с учетом повреждений! Владельцем техники считается тот игрок, кто последний сидел за рулем, и именно она и  отображается в продаже. Продаваемая техника должна быть в пределах 10м от игрока. При покупке техники, ключ выдается автоматически. Нельзя продать технику если в ней кто то находится. Нельзя вести торговлю находясь внутри техники. При продаже объекта, весь инвентарь, в т.ч. и обвес который находился внутри объекта(к примеру рюкзака, или техники), будет автоматически сложен под ноги. Есть возможность создать "бродячего" торговца. - Файл с конфигурацией прилагается.( Настраивается время перемещения, и список случайных позиции для торговца) Техника:
      Есть возможность привязать технику к ключу, предварительно купив его у торговца. Есть возможность закрывать технику на ключ. Владельцем техники считается тот, кто последним сидел за рулем. После рестарта, вся техника которая привязана к ключам создается закрытой. Экшен перевернутой техники (постановка на колеса), при наличии монтировки. Только тому игроку который последним сидел за рулем. Карта:
      Добавлена карта для игроков, открытие на CTRL+M Установка маркера на карту Дабл.клик ЛКМ.(Будет отображен и в ESP)*При наличии компаса в инвентаре Удаление маркера с карты Дабл клик ПКМ.*при наличии компаса в инвентаре Отображение азимута при наличии компаса в инвентаре. Монитор возрождения:
      Добавлены точки для выбора места возрождения. Возможность добавлять стандартные точки возрождения. Возможность добавлять точки возрождения за валюту в банке. Возможность добавлять точки возрождения за чеки(донат). Возможность добавлять точки возрождения зависящие от репутации(-+) *Данные точки отображаются у игроков в мониторе возрождения. Так же отображаются фракционные точки, если игрок состоит во фракции, и у фракции они созданы. Оповещения о смертях:
      Отдельное уведомление в окошке. Стартовый инвентарь:
      Есть возможность выдавать инвентарь как по UID, при чем случайным образом из списка доступных для данного UID'а. Игроки для которых не создан конфиг инвентаря, получают его из общего конфига. В конфиге можно указать одежду, вещи которые будут помещены в руки, вещи которые будут помещены горячие слоты, а так же есть возможность добавлять вещи сразу в комплектации(т.е. с обвесом, батарейками и т.п.) Репутация:
      При смерти с игрока снимается 200 репутации(до 0 в +-). т.е. Пример:
      Было +450, станет +250.
      Было -300, станет -100.
      Было +90, станет 0.
      Было -150, станет 0.
      За убийство игрока, репутация начисляется по 150 таким образом: Если с убитого снято менее 200 репутации(см. пример выше), то начисления нет! Если убийца был с отрицательной репутацией, то начисление идет в минус. Пример:
      Было -100, станет -250
      *Не играет роли, какая репутация была у убитого.
      Если убийца был с положительной репутацией, а убитый с отрицательной, то +150 Пример:
      Было 100, станет 250
      Если убийца был с положительной репутацией, и убитый с положительной , то -150 Пример:
      Было 100, станет -50
      Было 1000, станет 850
      Стартовые позиции игроков:
      Есть возможность возрождать игрока на точках прописанных специально под его UID, при чем случайным образом из списка доступных для данного UID'а. Игроки для которых не создан конфиг возрождения, возрождаются из общего конфига. Журналы:
      Торговля Посадка\Высадка в\из технику(и) Установка\демонтаж(стройка) Смерти игроков АДМИНКА (ВКЛЮЧЕНА В МОД):
      Все пункты описывать не буду, - могу сказать только то, что почти все работает, и множество пунктов, такие как выдача наличных, смена фракции и т.п. сделаны специально под модификацию. СЕРВЕРНЫЕ МОДЫ:
      Настраиваются под Ваш сервер, и имею богатый функционал. доп. процедуры и функции.  
       
      В остальном смотрите видео по ссылке:
      *В данный момент, сервер с данным модом работает по адресам:
       
      185.247.140.7:2312
      *Версия R5
      **Для входа необходим мод сервера
      https://steamcommunity.com/sharedfiles/filedetails/?id=1735075579
       
      skype: hf-trade
      discord: https://discord.gg/T9YAJDm
       
      P.S. Обновления платные, если они вносят доп. функционал(для тех кто приобретал мод ранее: 25% от общей стоимости, до актуальной версии).
      P.S.P.S. Весь функционал является БЕТА-ВЕРСИЕЙ!
    • Автор: Serdce
      Ссылка на первоисточник - https://github.com/BrettNordin/Exile
      Я всего лишь перевёл
      Собственно переходим по ссылке, и скачиваем архив.
      Для тех, кто не знает как качать с хаба скрин 
      И так, едем дальше
      Скачанный архив распаковываем в удобное место для работы,
      Идём в ваш @ExileServer, там нас интересуют файлы - extDB2.dll , extDB2.so , extDB2-conf.ini , XM8.dll , XM8.so Удаляем эти файлы
      Далее идём в @ExileServer которую мы скачали, всё её содержимое копируем в аналогичную папку на сервере.
      Теперь идём в вашу MPmissions и там распаковываем вашу миссию "Exile.название карты",
      Туда мы копируем содержимое папки Exile.MapName из архива,
      Далее открываем ваш config.cpp и ищем там class CfgExileCustomCode 
      В него мы добавляем - #include "CfgExileCustomCode.cpp"
      Должно получится так
      Запаковываем обратно)
      Ну и теперь из архива мы копируем tbbmalloc.dll, tbbmalloc_x64.dll в папку расположения вашего Arma3_server.exe
      Не забываем поменять в вашем файле запуска сервера с arma3server.exe на arma3server_x64.exe 
      Ну и финишная прямая, открываем вашу базу данных ( желательно с название exile ) и добавляем файл Exile_Database_Update_64x.sql
      Далее настройте под себя ваш extdb3-conf.ini
       
×
×
  • Создать...