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

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

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

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

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

Поиск по сайту

Результаты поиска по тегам 'скрипт'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип публикаций


Категории и разделы

  • Основной раздел сайта
    • Реклама, сотрудничество, партнёрство
    • Набор в команду S-Platoon
    • Приватный раздел сообщества S-Platoon.Ru
    • Рынок
    • Стать VIP-Пользователем форума
    • Раздел графики
    • Стена позора
    • Комната отдыха и развлечений
  • Серверостроение - DayZ Standalone
    • Гайды
    • Сборки, софт
    • Помощь
    • Всё об игре
  • Серверостроение - Общий раздел
    • ARMA 3
    • DayZ мод
    • ARMA 2
    • CS: Global offensive
    • ARK: Survival Evolved
    • Minecraft

Искать результаты в...

Искать результаты, содержащие...


Дата создания

  • Начать

    Конец


Последнее обновление

  • Начать

    Конец


Фильтр по количеству...

Зарегистрирован

  • Начать

    Конец


Группа


Вконтакте


Steam


ICQ


Skype


Город


Сайт


Интересы

Найдено 74 результата

  1. Немного сыроват, но работает уже на неск серверах и вроде все норм Вариант конечно не окончательный Эксперементировал с кодом и тд итп Потом лишнее уберу Упрощу и тд итп Хочу сделать универсальный Как для вайтлиста так и для блэк Конфиг простой Подключаем в init.c у меня лежит в корне миссии в папке _MOD\WhiteList #include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\_MOD\\WhiteList\\Server_WhiteList_Class.c" обявляем там же ref Server_WhiteList WhiteList = new Server_WhiteList(); сам список UID (в столбик) кладем в папку _CONF в текстовый файл whiteList.lst далее используем у меня в init.c в 2х местах в классе CustomMission : MissonServer переопределил пару функций и добавил вызов в него и следом override void InvokeOnConnect(PlayerBase player, PlayerIdentity identity) { super.InvokeOnConnect(player, identity); //Если игрок в черном списке или игрока нет в белом списке или ник игрока в черном списке игрока кикнет и функция вернет false if (!Server_WhiteList.CheckWBListConnectAllow(player, identity)) { return; //IF KICK } } Файл whiteList.lst можно править на горячую, если в папке с whiteList.lst положить whitelistautoreload - то при каждом вызове проверки игрока по вайтлисту он будет перезагружаться из whiteList.lst - по задумке что бы не перзапускать каждый раз сервер но иногда если чел хотел войти, не пустило, потом внесли UID может не пустить с ошибкой Character Locked in database. Придется ждать минут 5 Либо перезапускать сервер + Читайте каменты в файлах + подтягивайтесь для доработок в первую очередь хотелось бы разобарться с залочиванием перса в базе Вобщем буду переделывать под обработку эвентов + добавлю управление белым/черным списком из админки с автокиком в случае внесения УИДа ручками вроде получилось Буду автоматизировать Обновленный вариант Server_WhiteList_Class.c
  2. Накатал по быстрому для себя и своих ребят от нефиг делать, тк в командировке и дейзить возможности нет, только удаленно ковырять сервер Внутри настройки через переменные путь к базе сервера и инстанс ид берет из конфига сервера (нужно настроить имя файла и путь в файле) Мониторит сервер по названию окна, сохранив pid При вылете в 90% случаев корректно убивает процесс При перезапуске так же При каждом старте с 0 и при перезапусках делает бэкапы баз/настроек/логов в папку !Backup в корне сервера Можно настроть кол-во хранимых бэкпов для базы сервера и логов Вобщем заглянете внутрь и все поймете Вдруг кому пригодится Закрепляю тут краний боевой вариант Что к чему - прочтите всю тему и все станет ясно Сцыл на стрницу темы с крайней версией заточенной на использование с версией 1.04 и параметром -servermod Крайняя версия
  3. Автор: 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. Весь функционал является БЕТА-ВЕРСИЕЙ!
  4. Много вопросов на данную тему наблюдаю от новичков, попробую прояснить немного сей вопрос. Предположим. что вы уже знаете на каких координатах вам надо спавнить определенное здание или объект\животное\бота, с каким углом поворота. И так. эта тема для вас. Если вы с расставили их с модифицированной версии Offline (Offline by Arksenor это называется), то вы получили и нашли код вида: GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13251.875000 0.0 3748.525879").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13254.599609 0.0 3722.703613").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13257.344727 0.0 3696.718750").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13260.040039 0.0 3670.984131").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13262.756836 0.0 3645.180176").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13265.441406 0.0 3619.531982").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13268.124023 0.0 3593.995361").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13270.844727 0.0 3568.186523").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13273.514648 0.0 3542.561279").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13276.195313 0.0 3517.048828").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13278.399414 0.0 3496.097900").SetOrientation("-96.000000 0.000000 0.000000"); Здесь (по примеру первой строки) 1 значение в скобках - id постройки/объекта, 2 значение - координаты в формате X Y Z, разделенные пробелом, 3 - значение поворота примерно в том же формате. Как это делать в Offline - статья от автора Offine: https://github.com/Arkensor/DayZCommunityOfflineMode/wiki/Add-custom-objects-to-your-server-or-mission И так, инструкция: 1. Добавляем в начало init.c файла в вашей mpmissions следующий код: #include "$CurrentDir:mpmissions\dayzOffline.chernarusplus\spawn_buildings.c" 2. Создаем в папке вашей активной mpmissions файлик spawn_buildings.c и заполняем его следующей информацией. void SpawnObject( string type, vector position, vector orientation ) { private string NameBlockLog = "[CreateObject] "; private string InfoLog = ""; if(type != "") { auto obj = GetGame().CreateObject( type, "0 0 0" ); if(obj) { if ((position[0] != 0) && (position[1] != 0) && (position[2] != 0)) { obj.SetPosition( position ); obj.SetOrientation( orientation ); obj.Update(); if (obj.CanAffectPathgraph()) { obj.SetAffectPathgraph(true, false); GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(GetGame().UpdatePathgraphRegionByObject, 100, false, obj); } InfoLog = "[Type: '" + obj.GetType() + "' Position: '" + obj.GetPosition().ToString() + "' Orientation: '" + obj.GetOrientation().ToString() + "']"; Write_Log(NameBlockLog + " Object has been created successfully! Info " + InfoLog); } else { InfoLog = "[Type: '" + type + "' Position: '" + position + "' Orientation: '" + orientation + "']"; Write_Log(NameBlockLog + " Object can't be created! Incorrect writed position. Info " + InfoLog); } } else { InfoLog = "[Type: '" + type + "' Position: '" + position + "' Orientation: '" + orientation + "']"; Write_Log(NameBlockLog + " Object can't be created! Info " + InfoLog); } } else { InfoLog = "[Type: '" + type + "' Position: '" + position + "' Orientation: '" + orientation + "']"; Write_Log(NameBlockLog + " Object can't be created! Incorrect writed type. Info " + InfoLog); } } void Write_Log(string message) { Print(String(message)); } 3. Открываем созданный нами файл, и в конце файла дописываем следующее: void SpawnAirfeeldBuildings() { SpawnObject( "Land_CementWorks_ExpeditionB", "13251.875000 0.0 3748.525879", "-96.000000 0.000000 0.000000"); SpawnObject( "Land_CementWorks_ExpeditionB", "13254.599609 0.0 3722.703613", "-96.000000 0.000000 0.000000"); SpawnObject( "Land_CementWorks_ExpeditionB", "13257.344727 0.0 3696.718750", "-96.000000 0.000000 0.000000"); } void SpawnKrasnoBuildings() { SpawnObject( "Land_CementWorks_ExpeditionB", "13251.875000 0.0 3748.525879", "-96.000000 0.000000 0.000000"); SpawnObject( "Land_CementWorks_ExpeditionB", "13254.599609 0.0 3722.703613", "-96.000000 0.000000 0.000000"); SpawnObject( "Land_CementWorks_ExpeditionB", "13257.344727 0.0 3696.718750", "-96.000000 0.000000 0.000000"); } Где после void - название функции идет, а между открытыми скобками вызов спавна самих зданий на указанных координатах. На примере 1 строки: Land_CementWorks_ExpeditionB - id постройки (type) 13251.875000 0.0 3748.525879 - координаты в формате X Y Z -96.000000 0.000000 0.000000 - значение поворота в формате X Y Z Внимание: id постройки и координаты в примере указаны не верные и требуют подключения дополнительной модификации для корректной работы!!! Координаты не соответствуют названию функции!!! 4. открываем в MpMissions в папке с вашей активной миссией init.c и перед ЗАКРЫВАЮЩЕЙ скобкой '}' дописываем нужную нам функцию (это будет активация спавна на карте): SpawnAirfeeldBuildings(); 5. Готово, Запускайте сервер, и в scripts.log вы увидите процедуру спавна ваших зданий и увидите, спавнятся ли они на карте или нет. Можно написать конечно и более готовую, универсальную систему спавна на карте со считыванием конфигурации из файла, но я считаю это лишним. Как заполнить добавленные здания лутом на карте: вариант 1: https://github.com/Arkensor/DayZCommunityOfflineMode/wiki/Enable-loot-for-custom-placed-objects вариант 2: вручную заполнить xml-файл mapgrouppos.xml в mpmssions данными о местоположении зданий, где rpy - значение поворота здания в формате Z Y X С помощью данной статьи вы можете разместить любой элемент игры(постройку, животное, зомби, бота), доступный к спавну через любую модификацию-админ. панель. Очень полезный мод в этом смысле BuilderItems, с его помощью можно творить поистину интересные локации!
  5. Автор: Я Цена: 1500 Тип: Клиент+Сервер(2 мода, - клиентский есть в стиме) Описание работы: Торговец появляется в определенном месте, с определенным товаром. По истечении определенного времени, торговец перемещается на другую точку. Точки торговца, товар, время перемещения задаются в конфигурации. Пример конфигурации: В профиль копируем пример конфига. Открываем файл: UST_SERVER_STRING_TRADERS_FILE.txt Добавляем конфиги с файлами торговцев 300|Ultima_Trader_Plus_Black_Market_0.txt 600|Ultima_Trader_Plus_Black_Market_1.txt *тут - время в секундах, которое торговец стоит на месте. И файл с координатами торговца. Открываем папку UST_SERVER_STRING_TRADERS_FOLDER Создаем в ней 2 файла указанных выше, и наполняем их координатами: Пример: Ultima_Trader_Plus_Black_Market_0.txt 6123.73 299.331 7616.21 6130.73 299.331 7616.21 6115.73 299.331 7616.21 *ВАЖНО - ВЕРХНЯЯ КООРДИНАТА(ПЕРВАЯ) ОБЯЗАТЕЛЬНО ДОЛЖНА СОВПАДАТЬ С КООРДИНАТОЙ ТОРГОВЦА ИЗ МОДА ТРЕЙДЕРА! Торговец будет телепортироваться по данным координатам, случайным образом, каждые 5мин(300с).
  6. Ссылка на первоисточник - 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
  7. Автор: NoNameUltima Цена: 2000 Описание: Клиентский и серверный мод, для добавления системы уведомлений. Конфигурация уведомления: Задать заголовок уведомления. Цвет заголовка уведомления. Иконку уведомления. Текст уведомления. Уведомления можно вызывать как со стороны клиента, так и со стороны сервера. Пример отправки уведомления с сервера, конкретному игроку: USC_StaticFunctions.SendPacket( v_Player, US_INT_REQUEST_MANAGER, US_INT_STC_PCK_NOTIFY, string.Format( "icon_notify|Заголовок уведомления|%1|Текст уведомления", US_INT_COLOR_GREEN ), NULL, false ); Пример отправки уведомления с сервера, всем игрокам: USC_StaticFunctions.SendPacket( NULL, US_INT_REQUEST_MANAGER, US_INT_STC_PCK_NOTIFY, string.Format( "icon_notify|Заголовок уведомления|%1|Текст уведомления", US_INT_COLOR_GREEN ), NULL, true ); *Вместо icon_notify вы можете вставить путь с собственной иконке. **Вместо USN_INT_COLOR_GREEN - Можно выбрать другой цвет. Доступные цвета со стороны сервера(заранее подготовленные для удобства): USN_INT_COLOR_WHITE Белый USN_INT_COLOR_GREEN Зеленый USN_INT_COLOR_RED Красный USN_INT_COLOR_YELLOW Желтый USN_INT_COLOR_BLUE Синий USN_INT_COLOR_ICE Лед Пример вызова уведомления из клиентского скрипта: AddNotifyMessage( icon_notify, "Заголовок", UCN_INT_COLOR_GREEN, "Текст" ); *Вместо icon_notify вы можете вставить путь с собственной иконке. **Вместо USN_INT_COLOR_GREEN - Можно выбрать другой цвет. Доступные цвета со стороны клиента(заранее подготовленные для удобства): UСN_INT_COLOR_WHITE Белый UСN_INT_COLOR_GREEN Зеленый UСN_INT_COLOR_RED Красный UСN_INT_COLOR_YELLOW Желтый UСN_INT_COLOR_BLUE Синий UСN_INT_COLOR_ICE Лед В данном видео, продемонстрированы уведомления о входе в торговую зону, и уведомления при торговле.
  8. Нам понадобится: 1. Сервер DayZ Standalone (см. тему вот эту) 2. Notepad++: бесплатно на оф. сайте 3. Немного времени и настойчивости (обычно бывает в комплекте и так) И так, начинаем: 1. Открываем блокнотом mpmissions\dayzOffline.chernarusplus\init.c P.S. Имя папки dayzOffline.chernarusplus у вас может отличаться, будьте внимательны 2. В начале файла добавляем: static int time_repeat_info_players = 10; //in seconds static string file_name_info_players = "$profile:PlayersLogFile.txt"; static void WriteFile(string file_name, string text) { private FileHandle fhandle; if ( !FileExist(file_name) ) { fhandle = OpenFile(file_name, FileMode.WRITE); } else { fhandle = OpenFile(file_name, FileMode.APPEND); } if ( fhandle == 0 ) { Print("[#Запись_в_файл]: Не удалось открыть файл для записи: " + file_name); Print("[#Запись_в_файл]: [Запись]: " + text); return; } FPrintln(fhandle, text); CloseFile(fhandle); } static void WritePlayersInfo() { array<Man> players = new array<Man>; Man player; Man player_test; GetGame().GetPlayers( players ); if (players.Count() > 0) { if ( FileExist(file_name_info_players) ) { DeleteFile(file_name_info_players); } for ( int i = 0; i < players.Count(); ++i ) { player_test = players.Get(i); if( player_test ) { PlayerIdentity p_identity = player_test.GetIdentity(); private string coord_pl = player_test.GetPosition().ToString(); private string Name_P = p_identity.GetName(); private string UID_P = p_identity.GetPlainId(); WriteFile(file_name_info_players, "User name: " + Name_P + " UID: " + UID_P + " Coords: " + coord_pl); } } } else { if ( FileExist(file_name_info_players) ) { DeleteFile(file_name_info_players); } } } Где 'PlayersLogFile.txt' меняем на нужное вам имя файла, а в 'time_repeat_info_players' настраиваем время повтора проверки списка игроков для перезаписи файла 3. Находим в файле блок 'void main()' и в его конце перед закрывающей '}', поумолчанию это строка weather.SetWindFunctionParams(0.1, 0.3, 50); добавляем ниже строку: GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(WritePlayersInfo, (time_repeat_info_players * 1000), true); 4. Готово, если не допустили ошибок, при наличии хотя бы 1 игрока на сервере ваш файл с данными по игрокам будет присутствовать и заполняться информацией, а в случае их отсутствия удаляться.
  9. Автор: Я. Версия админки: R3 Описание: Админка поставляется с ключами, и подписями. Админка разделена на 2 части - клиентская, и серверная. Так же работает в оффлайн режиме. Для установки админки, необходимо: На сервере подключить серверный мод. На сервере подключить клиентский мод. На сервере скопировать ключ из клиентского мода, и поместить в папку keys сервера. На клиенте добавить клиентский мод. В конфигурационный файл администрации прописать UID(ы) администраторов и модераторов. Рабочие пункты админки: Отображение в 3D(ESP от 0 до 1000м) Настройки радиуса отображения Игроки. Зомби. Техника. Постройки. Объекты. Отображение на карте(в радиусе игрока от 0 до 1000м): Настройки радиуса отображения Игроки. Зомби. Техника. Постройки. Объекты. НПЦ. Сервер: Установка времени на сервере. Установка погоды на сервере(В бете). Собственные: Телепорт по векторам(4 - по направлению взгляда. 5 - вверх). Телепорт по карте. Неуязвимость. Бесконечный БК. Невидимость. Защита от зомби. Свободная камера. Игроки: Телепорт игрока к администратору. Телепорт администратора к игроку. Телепорт в заданные координаты. Лечение. Очистка инвентаря. Выдача БК к текущему оружию(в руках). Заблокировать. Разблокировать. Убить. Отсоединить. Забанить(свой файл банов по UID) Создание перед игроком объектов из заранее подготовленных файлов на сервере. Игроки(доп. пункты для мода Ultima): Изменить баланс наличных Изменить банковский баланс Изменить репутацию Изменить фракцию Изменить кол-во убийств зомби Изменить кол-во убийств людей Создание объектов: Фильтр при выборе раздела создания предметов(поиск по имени класса). Пресеты для создания авто, из аддонов(авто с обвесом, - колеса и т.п., так же можно добавлять и для стандартной техники, если нет желания ее создавать в сборе). Удаление объектов: Все все объекты в радиусе X(не более 100м). Все объекты в радиусе X, по классу(не более 100м). Объект в прицеле по горячей клавише. Другое: Карта администратора. Монитор отладки. Информационный виджет. Наблюдение за игроком. Горячие клавиши: [ - Вызов панели администратора. HOME - Вкл\Выкл отображения полосы отладки. DELETE - Удаление объекта в прицеле. 4 - Телепорт по направлению взгляда. 5 - Телепорт вверх. SHIFT+M - Карта администратора. F11 - Дебаг администратора. Сообщения: Вывод сообщений игрокам, о действиях модератора(если в админке UID указан, как UID модератора). Журналы: Действия администрации. Стоимость: 3500 Видео:( ВНИМАНИЕ! В ВИДЕО, ВНУТРИ ПАНЕЛИ АДМИНИСТРАТОРА, РАБОТАЮТ ТОЛЬКО ТЕ ПУНКТЫ КОТОРЫЕ УКАЗАНЫ ВЫШЕ! ОСТАЛЬНЫЕ ПУНКТЫ ДОБАВЛЕНЫ НА БУДУЩЕЕ, И МОГУТ БЫТЬ ИЗМЕНЕНЫ) P.S. Обновления платные - 25% от стоимости админки. Скайп: hf-trade
  10. Автор: Я. Клиент: https://steamcommunity.com/sharedfiles/filedetails/?id=1914594443 Сервер: ***(предоставляется после приобретения) Цена: 3500 *Торговцев можно задать в файле. К каждому торговцу можно задать список координат. Youtube *В примере торговец переносится с точки в случайную позицию каждые 20с.
  11. Автор: я. Цена: 2k Поставка: Серверным модом. Настройки: Указываете часы рестартов(пример: 0, 6, 12, 18) Время в формате чч:мм - за которое произойдет кик всех игроков.(Пример: 00:01 - за 1 минуту ДО рестарта кикнет) После кика всех игроков, скрипт будет продолжать кикать всех вновь входящих игроков, до самого рестарта сервера. Скайп: hf-trade vk: https://vk.com/id191852542
  12. Автор: Я. Модификация банка, для DayZ Standalone для мода торговли(Trader) Мод позволяет: Снимать деньги со счета. Вносить деньги на счет. Переводить средства из банка, в банк другого игрока, даже если он не в сети( по UID ) Настройки серверной части: Точки в которых доступен банк. Радиус в котором доступен банк(от центра точки - см. выше). Горячая клавиша вызывающая на клиентской стороне меню банкомата. Папку профиля для хранения данных о банковских балансах игроков. *Мод автоматически производит обмен валюты по номиналу, при внесении, или изъятии денежных средств. *Клиентскую часть можно скачать в STEAM. *Для подключения серверной части, - достаточно закинуть ее в папку сервера, и указать папку для хранения баланса. Цена: 1500 Контакты: Skype: hf-trade STEAM: https://steamcommunity.com/sharedfiles/filedetails/?id=1714035636 Видео работы: Серверная часть, подключается как -serverMod=
  13. Скрипт анимации юнита Скрипт подходит к модостроителям, при создании миссии и разных плюшек. Но все очень просто, создаем юнита и в инициализации пишем ссылку: _nil = [this,"SIT"] execVM "PLP_calmSoldier3.sqf" Анимацию вписываем _nic = [this, "Сюда"] execVM "PLP_calmSoldier3.sqf" Некоторые команды анимации: > “STAND” – стоит с винтовкой > “STAND_U” – Стоит > “GUARD” – Стоит, руки за спиной > “WATCH” – Стоит, осматривается с винтовкой > “LEAN” – Стоит, операясь на стену с винтовкой > “LEAN_ON_TABLE” – стоит, руки на столе > “LISTEN_BRIEFING” – стоит, слушает > “BRIEFING” – Брифинг > “BRIEFING_POINT_RIGHT” – Брифинг, указывает на право > “BRIEFING_POINT_LEFT” – Брифинг, указывает на лево > “BRIEFING_POINT_TABLE” – Брифинг, тычит в тоблицу > “TALKING” – Соит, говорит > “KNEEL” – стоя на колене, с винтовкой >”KNEEL_U” – стоя на колене >”EXERCICE” – стоя на колене, оглядывается > “WAMUP” – Разминка, с винтовкой > “WAMUP_KNEEL” – Разминка, стоя на колене, с винтовкой > “WAMUP_P” – Разминка, с пистолетом > “WAMUP_KNEEL_P” – Разминка, стоя на коленях, с пистолетом > “WAMUP_U” – Разминка > “WAMUP_KNEEL_U” – Разминка, стоя на коленях > “SIT” – Сидит, с винтовкой > “SIT_U” – Сидит > “SIT_LOW” – Сидит на земле, с винтовкой > “SIT_LOW_U” – Сидит на земле > “SIT_SAD” – Сидит и выглядит печально > “SIT_LOW_SAD” – Сидит на земле и выглядит печально > “SIT_HIGH1” – Сидит на на возвышенностях # 1 > “SIT_HIGH2” – Сидит на на возвышенностях # 2 > “SIT_AT_TABLE” – Сидит на стуле, руки на столе > “REPAIR_VEH_PRONE” – Лежит ремонтирует > “REPAIR_VEH_KNEEL” – Сидит ремонтирует > “REPAIR_VEH_STAND” – Соит ремонтирует > “CUFFED” – На земле, руки за спиной, может не реагировать >”KNEEL_TREAT1″ – лечение ран # 1 > “KNEEL_TREAT2” – лечение ран # 2 > “PRONE_INJURED” – Ранен, с винтовкой и не реагирует > “PRONE_INJURED_U1” – Ранение # 1 > “PRONE_INJURED_U2” – Ранение # 2 > “DEAD” – Мертвое состояние, на земле > “DEAD_AT_WALL” – Мертвое состояние, на стене PLP_calmSoldier3.sqf
  14. 1) У меня есть мод, в нём есть повязки. Требуется скрипт который бы позволил привязать повязку к определённым игрокам и другие игроки что бы её не смогли одеть 2) Цена - ваши предложения 3) Пишите сюда или в лс на сайте, там уже договоримся.
  15. Скрипт для создания серверных зараженных зон. Автор Я. Стоимость: 1500. Контакт: Skype: hf-trade Для каждой зоны задается: Имя зоны(внутреннее) Сообщение которое будет получать игрок при входе в зону. Сообщение которое будет получать игрок при выходе из зоны. Центр зоны. Радиус. Уровень урона по игроку, при отсутствии комплекта защиты. Список комплектов. Частота урона в радиусе зоны. Урон по каждой вещи комплекта. Описание работы: При входе в зону, скрипт каждые Х мс. проверяет наличие на игроке комплекта из списка доступных для данной зоны. Если ни одного комплекта не обнаружено, - наносит урон игроку. При обнаружении комплекта(первый встреченный по списку), урон наносится по комплекту(в соответствии с настройками, для каждой вещи). Пример конфигурации: Зона 1|Вы входите в зону 1|Вы покидаете зону 1|0 0 0|30|5|5000|GasMask:10+HuntingJacket_Brown:15-CombatBoots_Brown:5 Где: Зона 1 - Внутреннее имя зоны. Вы входите в зону 1 - Сообщение которое получит игрок при входе в данную зону. Вы покидаете зону 1 - Сообщение которое получит игрок при выходе из данной зоны. 0 0 0 - Координата центра зоны. Высота значения НЕ имеет. 30 - Радиус зоны. 5 - Урон по игроку в зоне(если на нем нет комплекта) 5000 - Частота проверки игроков в зоне(частота нанесения урона, по игроку, или комплекту) в МС. Комплекты: GasMask:10+HuntingJacket_Brown:15-CombatBoots_Brown:5 *В примере, два комплекта (разделение через тире). Через двоеточие - урон по данной вещи комплекта. Через плюс - вещи одного комплекта.
  16. *Каеф, не заметил "Изменение политики распространения InfiSTAR"* За ссылкой - в приватный раздел сайта Установка панели infistar на ExileServer - 1.0.2 "Kohlrabi" Немного информации: F1 - Стандартная кнопка меню F6 - Вылечить себя F7 - Вылечить\починить в радиусе 15М F10 - Прекратить наблюдение F11- Добавить патроны к оружию в руках SHIFT+4 - Полет SHIFT+5 - Телепорт в точку, куда смотришь (Если включено в панеле) SHIFT+F2 - Админская консоль SHIFT+I - Показать код от машины\двери SHIFT+TAB - Открыть карту Понадобится софт: Notepad++ PBO Manager Перейдем к установке: 1)В папку с сервером закидываем @infiSTAR_servermod 2)Идем в "Server\@infiSTAR_servermod\addons\a3_infiSTAR" и редактируем "EXILE_AHAT_CONFIG.sqf" (Добавляем UID администрации) 3)Конвертируем папку "a3_infiSTAR" в "a3_infiSTAR.pbo" с помощью PBO Manager 4)Модифицируем батник запуска сервера, добавив ещё один мод серверу, должно выглядеть так: "-servermod=@ExileServer;@infiSTAR_servermod" 5)Открываем MPmissions и конвертируем Exile.****.pbo в папку. (****-название вашей карты) 6)Закидываем "infiSTAR_AdminMenu.hpp" в Exile.**** 7)Открываем "description.ext" и добавляем #include "infiSTAR_AdminMenu.hpp" После #include "config.cpp" 8) Конвертируем Exile.**** обратно в Exile.****.pbo Установка завершена.
  17. Возможности: Пользовательское диалоговое окно на понятном русском языке. Не ограниченные запасы. Легко редактировать цены и товар. Скрин Качаем архив: https://github.com/GBR-Suppe/a3_epoch_HSBlackmarket Копируем из него в нашу миссию ( epoch.Altis ) папку trader и файл Stringtable.xml Дописываем в Init.sqf И в нашем description.ext в самом верху добавляем Добавление лута, техники и радактирование цен в файле mpmissions\epoch.Altis\trader\HSPricing.hpp Редактируем BE фильтры Infistar: Дописываем 9999,9980 в блок allowedDialogs Оригинал - http://epochmod.com/forum/index.php?/topic/34661-release-hs-blackmarket-15-new-trader-system-special-trader-blackmarket/
  18. Боты просто СУПЕР! Очень детальная настройка с кучей возможностей! Скачав и установив вы получите изредка появляющихся пару ботов, норовивших вас клюнуть в пятую точку! НО если вы разберете a3xai_config.pbo и откорректируете настройки в файле config.cpp, то вы получите ВООРУЖЕННЫЕ ПАТРУЛИ как пешие, дорожные, воздушные, с любым транспортом, лутом, и количеством! Рабочие на 1000% Установка! Качаем вот от сюда! 1. Распаковать скаченный архив! 2. Из A3XAI-UPLOAD-master.zip\A3XAI-UPLOAD-master\1. Installation Package копируем папку @A3XAI в корень вашего сервера. 3. И прикручиваем его в батнике, с которого вы запускаете сервер вашеимя.bat в кавычках, вот так "-mod=@Exile;@A3XAI;" Примечание: На стороне клиента его не нужно цеплять как мод! Файл перезалью еще после перевода! Покуда сток!
  19. Официальные серверные файлы DayZ Standalone 0.63. Официальная документация от Bohemia (на английском): https://forums.dayz.com/topic/239635-dayz-server-files-documentation/ Перевод (на русском): Скачать из Mega.Nz: https://mega.nz/#!VcUE2SDI!KzqEh791T_E-Iwaort4eVwkN5bbvaCwzjluhP0ZWZxw Скачать из Steam: https://store.steampowered.com/app/223350/DayZ_Server/ Запуск сервера (У некоторых с этим проблемы) У некоторых пользователей, сразу возникли проблемы с запуском, а именно: Ошибка подобного содержания. Вот вам решение проблемы: Вам нужно, создать .bat файл в директории сервера, с этим содержанием: «start "" "DayZServer_x64.exe" -port=2302 -config=!ServerSettings\serverDZ.cfg -profiles=!ServerSettings -user=!ServerSettings -name=Server -freezecheck -autoinit» Поясняю: -port=2302 — Указать ваш открытый порт. -!ServerSettings — Папка с файлами конфигурации, базой данных игроков, настройками BattleEye и файлами логов сервера. P.S. Если нужно, дописываем в конце «-adminlog» для создания дополнительного файла с логами сервера формата .ADM Далее, создаем папку в корне сервера «!ServerSettings» про ! не забываем! И в эту папку переносим файл serverDZ.cfg Все, запускать сервер через созданный нами BAT файл.
  20. В данной теме напишу простенький гайд о том, как самому на своем собственном сервере DayZ установить костомный (мой) скрипт на спавн, респавн и чистку хеликрашей. Гайд пригодится тем, кто сам делает свою сборку сервера, либо по каким-то причинам пользуется не моей сборкой сервера (где это уже сделано), а чьей-либо еще. Обращаю ваше внимание на тот факт, что часть файлов, описанных в гайде, у вас могут уже быть вынесены в другое место или названы несколько иначе (это зависит от сборки сервера, которую вы используете, например, в сборке dankdayz вся mpmissions вынесена в отдельный файл в addons сервера), гайд основывается на чистых серверных файлах игры и отталкивается от них. Гайд сделан для версий игры с серверной частью 0.60-0.62, но может быть совместим и с другими версиями игры, если файлы серверной части игры не поменяли своего текущего месторасположения и содержания. Гайд составлен по версии серверных файлов игры 0.62 чистой "девственной" и не правленой никем версии игры. Напоминаю заранее, в моих серверных файлах версий 0.60, 0.61 и 0.62 из моих гайдов на данном форуме это уже сделано и делать это не нужно!!! Нам понадобятся: 1. Notepad++ https://notepad-plus-plus.org/download/ 2. Ваши серверные файлы игры И так, приступим. 1. Первое, что нам понадобится - создать сам скрипт. Создаем по пути: "MPMissions\dayz_Auto.ChernarusPlus\" папку "scripts" , в ней папку "custom" , и в ней файл с именем "Helicarsh.sqf" . Если такие папки у вас уже имеются, просто не создавайте их, а перейдите в них. Если файл с там именем уже имеется у вас, задайте ему другое имя. 2. Вписываем в созданный файл код следующего содержания (либо скачайте его): Helicarsh.sqf diag_log format [" SpawnHeliCrashes: Reading Settings ..."]; /* Car Spawner for DayZ Standalone v 0.60.133.913 and high versions author: 123new Install: .\mpmissions\init.sqf Add in end file: init_spawn_cars = compile preprocessFileLineNumbers "scripts\custom\SpawnCars.sqf"; Call init_spawn_cars; and place this script file in: .\mpmissions\{your mission name}\scripts\custom\Helicarsh.sqf Settings: first massives: [count loot,type loot] end massive: [type car(classname), point car, selected first massive name] */ _zombs_heli_one = 15; // Maximum count zeds in one Heli _loot_heli_one = 15; // Maximum count loot in one Heli _max_distance_spawn_zeds = 25; // Maximum distance spawn zeds in one Heli _max_distance_spawn_loot = 10; // Maximum distance spawn loot in one Heli // Types HeliCrashes _HeliTypes = [ "Land_UH1Y_Wreck" ]; // SpawnPoints HeliCrashes _HeliPointsArray = [ [5738.4302,7605.0298], [6242.1201,8368.71], [4015.1001,7971.5698], [2320.3101,10217.8], [4506.8398,12748.3], [7121.3701,9646.6699], [1667.61,5293.3398], [1700.0699,2338.8501], [3563.6899,7537.1001], [4328.02,8489.7002], [5211.0698,7763.5498], [7455.7798,11574.3], [6119.3101,6631.1099], [5941.0601,6645.27], [5016.4302,6257.9199], [4781.8999,6270.2598], [4455.9302,6181.7202], [4074.98,6222.1802], [3622.3,6415.96], [3254.45,6682.6499], [2848.0601,6815.6401], [2572.1799,6781.1499], [2298.23,6513.3999], [2313.9299,6151.0498], [2461.02,5794.4102], [2028.4399,5166.5601], [1596.27,5234.5698], [3031.3401,10225.8], [3475.28,9765], [2863.99,9639.5195], [2067.3401,9272.2002], [1603.08,9231.04], [640.487,9119.4697], [4996.7798,9156.46], [5314.1802,9310.79], [5124.4502,9496.6504], [4847.1099,9867.2598], [4603.77,10245], [4454.6001,10666.2], [4696.3501,10736.4], [4174.2002,10879.6], [3904.0601,11112.5], [3453.49,10866.1], [2627.26,10443.4], [2243.21,10726.9], [1853.38,11309.6], [1949.3101,11759.8], [4832.6699,4767.9502], [3838.1101,4944.77], [3142.3401,4426.1899], [1263.8101,4081.76], [1371.08,4505.2598], [4712.8701,5869.5498], [5405.4502,5638.77], [3235.1799,8824.7598], [5928.0698,10975.5], [4661.25,11954.4] ]; // Classnames Loot HeliCrashes _arrayItemsHeli= [ ["food_canpeaches"], ["food_cansardines"], ["ghilliehood"], ["ghilliehoodtan"], ["ghilliehoodmossy"], ["ghilliehoodwoodland"], ["ghilliebushragwoodland"], ["ghilliebushragmossy"], ["ghillietoptan"], ["ghilliesuittan"], ["ghilliesuitmossy"], ["ghillietopwoodland"], ["ghilliebushragtan"], ["ttsko_pants_beige"], ["TTsKO_Jacket_Camo"], ["Ssh68Helmet"], ["tentmedium_packed"], ["tentlarge_backpack"], ["tentcar_packed"], ["Cultivation_CannabisSeeds"], ["Cultivation_CannabisSeedsPack"], ["BagAlice_Green"], ["BagAlice_Black"], ["BagAlice_Camo"], ["Fruit_Cannabis"], ["M249"], ["M_M249Box_200Rnd"], ["Ammo_556"], ["Saiga-12K"], ["Ammo_12ga_Pellets"], ["Ammo_12ga_Slug"], ["M_Saiga_5Rn"], ["M_Saiga_8Rnd"], ["M_SaigaDrum_20Rnd"], ["AKM"], ["M4A1"], ["Ammo_556_20Rnd"], ["Ammo_357_20Rnd"], ["ammo_762x39_20rnd"], ["ammo_762x39_20rnd"], ["CLIP_762_5Rnd"], ["Ammo_12ga_Pellets"], ["M_CMAG_10Rnd"], ["clip_762x39_10rnd"], ["Optics_Binoculars"], ["Optics_Rangefinder"], ["M_STANAG_30Rnd_COUPLED"], ["M_ak101_30Rnd"], ["M_Saiga_5Rnd"], ["M_ak74_30Rnd"], ["M_Vss_10Rnd"], ["M_svd_10Rnd"], ["Winchester70_Black"], ["M_Fal_20Rnd"], ["SKS"], ["b95"], ["AK101"], ["Att_Suppressor_AK"], ["Att_Optic_PSO1"], ["Att_Handguard_AK74_Camo"], ["Att_Buttstock_AK_Wood_Camo"], ["att_bayonet_ak"], ["ammobox_556_20rnd"], ["AmmoBox_9x39_20Rnd"], ["AmmoBox_308Win_20Rnd"], ["FAL"], ["Att_Optic_PUScope"], ["AmmoBox_762_20Rnd"], ["SVD"], ["Mosin9130_Green_Black"], ["CLIP_762_5Rnd"], ["magnum"], ["m_357_speedloader"], ["fnx45"], ["m_cz75_15rnd"], ["Att_Suppressor_Pistol"], ["1911_engraved"], ["cz75"], ["Att_Optic_FNP45_MRD"], ["m_fnx45_15rnd"], ["Glock19"], ["M_Glock_15Rnd"], ["MP5K"], ["Att_Optic_Reflex"], ["Att_Optic_ACOG"], ["Att_Optic_M4T3NRDS"], ["Att_Handguard_MP5_Rail"], ["Att_Buttstock_MP5_Stock"], ["M_MP5_30Rnd"], ["UMP45"], ["shotgunmp133"], ["Ammo_12ga_Pellets"], ["Ammo_556_20Rnd"], ["Ammo_357_20Rnd"], ["CLIP_762_5Rnd"], ["clip_762x39_10rnd"], ["M_STANAG_30Rnd_COUPLED"], ["vss"], ["m_ak74_30rnd_black"], ["M_Vss_10Rnd"], ["ak74"], ["m_ak74_30rnd_black"], ["m_ak74_30rnd_black"], ["m_ak74_30rnd_black"], ["m_ak74_30rnd_black"], ["M_Vss_10Rnd"], ["M_svd_10Rnd"], ["Winchester70_Black"], ["M_Fal_20Rnd"], ["SKS"], ["b95"], ["Att_Suppressor_AK"], ["Att_Handguard_AK74"], ["Att_Buttstock_AK_Wood"], ["ammobox_556_20rnd"], ["AmmoBox_9x39_20Rnd"], ["AmmoBox_308Win_20Rnd"], ["FAL"], ["Att_Optic_PUScope"], ["AmmoBox_762_20Rnd"], ["SVD"], ["Mosin9130_Black"], ["CLIP_762_5Rnd"], ["magnum"], ["m_357_speedloader"], ["b95_black"], ["sks_black"], ["ammo_762x39_20rnd"], ["m65_jacket_black"], ["att_optic_hunting"], ["m_cmag_30rnd"], ["m_cmag_40rnd"], ["m_cmag_40rnd"], ["m_cmag_40rnd"], ["attachment_optic_acog"], ["attachment_buttstock_m4oe"], ["attachment_handguard_m4ris"], ["attachment_bayonet_m9a1"], ["attachment_optic_m4t3nrds"], ["M_UMP_25Rnd"] ]; // Zombies HeliCrashes _arrayZedHeli= [ ["ZmbM_PatrolNormal_PautRev"], ["ZmbM_PatrolNormal_Autumn"], ["ZmbM_PatrolNormal_Flat"], ["ZmbM_PatrolNormal_Summer"], ["ZmbM_SoldierNormal"] ]; _Heli = DZ_COUNT_HELICRASHES; diag_log format [" SpawnHeliCrashes: Readed Settings! Start work script!"]; diag_log format [" SpawnHeliCrashes: Cleaning old HeliCrash!"]; _tmp_count_del_heli = 0; { if ((typeOf _x) in _HeliTypes) then { deleteVehicle _x; _tmp_count_del_heli = _tmp_count_del_heli + 1; }; } forEach (allMissionObjects ""); diag_log format [" SpawnHeliCrashes: Detected and deleted %1 HeliCrash",_tmp_count_del_heli]; diag_log format [" SpawnHeliCrashes: Start spawn new HeliCrash!"]; fnc_spawnHeli = { for "ii" from 1 to _Heli do { _thisHeli = _HeliPointsArray select floor(random(count _HeliPointsArray)); _thisTypeHeli = _HeliTypes select floor(random(count _HeliTypes)); _HeliCrach = NULL; _HeliCrach = createvehicle [_thisTypeHeli, _thisHeli, [], 0, "CAN_COLLIDE"]; if !(isNull _HeliCrach) then { _selected_name_heli = (typeOf _HeliCrach); _map_pos_heli = mapGridPosition _HeliCrach; // _HeliCrach setDir floor(random 360); _originalPos = getPosATL _HeliCrach; _Damage = random 0.7; _count_spawned_loot_heli = 0; _count_spawned_zed_heli = 0; for [{_j = 0}, {_j< _loot_heli_one}, {_j = _j + 1}] do { _loot_heli = NULL; _radius_heli_loot = random _max_distance_spawn_loot; _loot_heli = createvehicle [(_arrayItemsHeli select floor(random(count _arrayItemsHeli))) select 0, _originalPos, [], _radius_heli_loot, "CAN_COLLIDE"]; if !(isNull _loot_heli) then { if ((floor(random 4)) >= 2) then { _Damage_loot = random 0.7; _loot_heli setDamage _Damage_loot; }; _count_spawned_loot_heli = _count_spawned_loot_heli + 1; }; }; for [{_k = 0}, {_k < _zombs_heli_one}, {_k = _k + 1}] do { _Zomb_heli = NULL; _radius = random _max_distance_spawn_zeds; _Zomb_heli = createAgent [(_arrayZedHeli select floor(random(count _arrayZedHeli))) select 0, _originalPos, [], _radius, "CAN_COLLIDE"]; if !(isNull _Zomb_heli) then { // _Zomb_heli setDir floor(random 360); _count_spawned_zed_heli = _count_spawned_zed_heli + 1; }; }; diag_log format [" SpawnHeliCrashes: Spawned %1 in %2 with %3 loot around Heli and %4 Zeds around Heli!",_selected_name_heli,_map_pos_heli,_count_spawned_loot_heli,_count_spawned_zed_heli]; }; }; }; if (_Heli > 0) then { call fnc_spawnHeli; }; 3. Создаем по пути: "MPMissions\dayz_Auto.ChernarusPlus\" папку "scripts" , и в ней файл с именем "compiles.sqf" . Если такая папка у вас уже имеются, просто не создавайте ее, а перейдите в нее. Если файл с там именем уже имеется у вас, то не создавайте его, а допишите информацию со следующего пункта инструкции в конец файла! 4. Вставляем в файл следующую строку: init_spawn_Helicarshes = compile preprocessFileLineNumbers "scripts\custom\Helicarsh.sqf"; 5. Открываем по указанному далее пути файл в "Notepad++": "MPMissions\dayz_Auto.ChernarusPlus\init.sqf". Находим в файле строки с call compile preprocessFileLineNumbers 5. Вставляем после всех "call compile preprocessFileLineNumbers" следующее: call compile preprocessFileLineNumbers "scripts\compiles.sqf"; _Enable_SPAWNER_HELICRASHES = true; // Кастомный скрипт спавна хеликрашей (true - включить, false - выключить) DZ_COUNT_HELICRASHES = 12; // Максимальное кол-во хеликрашей при включенном кастомном скрипте их спавна 6. В этом же файле находим строки: simulWeatherSync; dbInitEconomy [true]; setTimeForScripts 0.03; 7. Добавляем после них: if (_Enable_SPAWNER_HELICRASHES) then { Call init_spawn_Helicarshes; }; Вот и все. ВАЖНО: Перед активацией скрипта отключите официальный спавнер хеликрашей сервера из официальной системы сервера игры. Инструкция есть тут: Как вы уже догадались, первой строкой мы можем включить или отключить сам скрипт без долгого копания в коде, а второй назначить нужное количество хеликрашей на сервере. _Enable_SPAWNER_HELICRASHES = true; // Кастомный скрипт спавна хеликрашей (true - включить, false - выключить) DZ_COUNT_HELICRASHES = 12; // Максимальное кол-во хеликрашей при включенном кастомном скрипте их спавна Все настройки по спавну хеликрашей есть в самом файле скрипта, который в п. 2 инструкции вы и создавали. Надеюсь, сложности с его настройкой не возникнет, пояснения там имеются.
  21. В данной теме напишу простенький гайд о том, как самому на своем собственном сервере DayZ установить костомный (мой) скрипт на спавн, респавн и чистку транспорта. Гайд пригодится тем, кто сам делает свою сборку сервера, либо по каким-то причинам пользуется не моей сборкой сервера (где это уже сделано), а чьей-либо еще. Обращаю ваше внимание на тот факт, что часть файлов, описанных в гайде, у вас могут уже быть вынесены в другое место или названы несколько иначе (это зависит от сборки сервера, которую вы используете, например, в сборке dankdayz вся mpmissions вынесена в отдельный файл в addons сервера), гайд основывается на чистых серверных файлах игры и отталкивается от них. Гайд сделан для версий игры с серверной частью 0.60-0.62, но может быть совместим и с другими версиями игры, если файлы серверной части игры не поменяли своего текущего месторасположения и содержания. Гайд составлен по версии серверных файлов игры 0.62 чистой "девственной" и не правленой никем версии игры. Напоминаю заранее, в моих серверных файлах версий 0.60, 0.61 и 0.62 из моих гайдов на данном форуме это уже сделано и делать это не нужно!!! Нам понадобятся: 1. Notepad++ https://notepad-plus-plus.org/download/ 2. Ваши серверные файлы игры И так, приступим. 1. Первое, что нам понадобится - создать сам скрипт. Создаем по пути: "MPMissions\dayz_Auto.ChernarusPlus\" папку "scripts" , в ней папку "custom" , и в ней файл с именем "SpawnCars.sqf" . Если такие папки у вас уже имеются, просто не создавайте их, а перейдите в них. Если файл с там именем уже имеется у вас, задайте ему другое имя. 2. Вписываем в созданный файл код следующего содержания (либо скачайте его): SpawnCars.sqf diag_log format [" SpawnCar: Reading Settings ..."]; /* Car Spawner for DayZ Standalone v 0.60.133.913 and high versions author: 123new Thanks for help: user BorizzK from s-platoon.ru for help and tests parts script and all community for this. Install: .\mpmissions\init.sqf Add in end file: init_spawn_cars = compile preprocessFileLineNumbers "scripts\custom\SpawnCars.sqf"; Call init_spawn_cars; and place this script file in: .\mpmissions\{your mission name}\scripts\custom\SpawnCars.sqf WARNING: add after string: dbInitEconomy CAUTION: When you are on the spawn cars in the game server with version 0.60 and higher (0.61 and 0.62 version it blocks events.xml) the transport can be re-spelled and re-spelled by the server itself, regardless of the script. For correct operation it is highly recommended to disable the official transport spawn! Info about script: This script will scan the server database for the specified transport types, push it to the server along with its parts in case of shortage, and clean the destroyed vehicles. A first massives - details for car (all details will be spawned) A second massives - possible spawn points of the technique (the spawn point will be selected randomly) A third (end) massive - configuration: specify the number of cars on writed type, a list of possible spawn points car for writed type and massive from first block with parts car. Settings format: A first massives: [count loot,type loot] A second massives: [(coordinate x),(coordinate y),(coordinate z)] A third (end) massive: [max count this type car, type car(classname) or massive types car for random select, selected second massive name, selected first massive name] If add after in 'A third (end) massive' 5 and more massives elements with details car, script will be select random details. */ // MAIN SETTINGS _enable_detect_old_ruined_cars = true; // Enable detect old ruined cars in server and delete him _enable_detect_old_cars_in_point_spawn_in_meters = true; // Enable detect old cars in point spawn in writed meters and secure him for spawn new car _meters_check_old_car_in_point_spawn = 10; // How many meters for chack old car in point spawn - wored only with _enable_detect_old_cars_in_point_spawn_in_meters = true - not recommend set up more 15 meters _check_damage_for_delete_ruined_car = 1; // How many damage for object car for delete him from server (for set up min 0.1 max 1) - wored only with _enable_detect_old_ruined_cars = true /////////////////////////// ---> A first massives <--- /////////////////////////// // (count this detail in vehicle),(type detail vehicle) _items_car_Volga = [ [4,"CivSedanWheel"], [1,"CivSedanDoors_Driver"], [1,"CivSedanDoors_CoDriver"], [1,"CivSedanDoors_BackLeft"], [1,"CivSedanDoors_BackRight"], [1,"CivSedanHood"], [1,"CivSedanTrunk"], [1,"CarRadiator"], [1,"CarBattery"], [1,"SparkPlug"], [2,"HeadlightH7"] ]; _items_car_Niva = [ [4,"HatchbackWheel"], [1,"HatchbackDoors_Driver"], [1,"HatchbackDoors_CoDriver"], [1,"HatchbackHood"], [1,"HatchbackTrunk"], [1,"CarRadiator"], [1,"CarBattery"], [1,"SparkPlug"], [1,"HeadlightH7"] ]; _items_car_Bus = [ [2,"TransitBusWheel"], [2,"TransitBusWheelDouble"], [1,"TruckBattery"], [1,"GlowPlug"], [1,"TruckRadiator"], [1,"LightBulb"], [1,"EngineBelt"] ]; _items_car_V3S = [ [4,"V3SWheel"], [4,"V3SWheelDouble"], [1,"V3SDoors_Driver"], [1,"V3SDoors_CoDriver"], [1,"V3SHood"], [1,"TruckBattery"], [2,"LightBulb"], [1,"EngineBelt"], [1,"HeadlightH7"] ]; _items_car_V3S_Blue = [ [4,"V3SWheel"], [4,"V3SWheelDouble"], [1,"V3SDoors_Driver_Blue"], [1,"V3SDoors_CoDriver_Blue"], [1,"V3SHood_Blue"], [1,"TruckBattery"], [2,"LightBulb"], [1,"EngineBelt"], [1,"HeadlightH7"] ]; _items_car_V3S_Grey = [ [4,"V3SWheel"], [4,"V3SWheelDouble"], [1,"V3SDoors_Driver_Grey"], [1,"V3SDoors_CoDriver_Grey"], [1,"V3SHood_Grey"], [1,"TruckBattery"], [2,"LightBulb"], [1,"EngineBelt"], [1,"HeadlightH7"] ]; _items_car_V3S_Orange = [ [4,"V3SWheel"], [4,"V3SWheelDouble"], [1,"V3SDoors_Driver_Orange"], [1,"V3SDoors_CoDriver_Orange"], [1,"V3SHood_Orange"], [1,"TruckBattery"], [2,"LightBulb"], [1,"EngineBelt"], [1,"HeadlightH7"] ]; /////////////////////////// ---> A second massives <--- /////////////////////////// // massives points spawn for vehicles _points_car_Volga = [ [10493.7,2348.17,0], [10150.7,1810.41,0], [11986.2,3839.67,0], [12883.2,6259.25,0], [12937.6,10185.7,0], [13845.8,13216.7,0], [4163.03,11104.75,0], [5954.25,10366.5,0], [3751.32,8858.37,0], [3048.92,7787.31,0], [2583.23,5073.8,0], [2654.09,5289.31,0] ]; _points_car_Niva = [ [13891.7,13425.6,0], [11262.4,12212.2,0], [4794.11,2539.87,0], [10740.4,10788.2,0], [10661.3,7994.43,0], [6063.77,7871.36,0], [4519.95,8291.32,0], [2182.85,3307.73,0], [3658.2,2194.58,0], [6855.9,2471.24,0], [6565.1,2547.52,0], [4262.06,11235,0], [6255.8,3256.48,0], [6682.32,3580.23,0], [13785.5,2930.17,0] ]; _points_car_Bus = [ [12275.8,9123.41,0], [11885.6,12469.2,0], [7185,7675.18,0], [4795.56,10250.1,0], [2716.53,10031.4,0], [2589.18,6355.03,0], [1672.24,3843.93,0], [1878.72,2254.03,0], [4334.19,2462.08,0], [5691.65,2579.14,0], [7805.4,3534.9,0], [12238.9,12635,0] ]; _points_car_V3S = [ [4767.29,9594.32,0], [13980.3,2931.02,0], [12238.9,12635,0], [12229.7,12590.2,0], [7216.52,7755.26,0], [3711.64,5969.98,0], [4392.4,10510.4,0], [1741.44,7930.12,0], [5590.24,2699.39,0] ]; /////////////////////////// ---> A third (end) massive <--- /////////////////////////// // (max count vehicles this type in server),(type vehicle or massive types for random select),(massive coords for spawn vehicle),(massive items for this car) // If add 5 and more massives elements with details car, script will be select random details. _types_car_V3S = ["V3S_Cargo_Orange","V3S_Cargo_Blue","V3S_Cargo_Grey","V3S_Cargo"]; /// massive types cars for random select _types_car_V3S_Chassis = ["V3S_Chassis_Orange","V3S_Chassis_Blue","V3S_Chassis_Grey","V3S_Chassis"]; /// massive types cars for random select _CarsSpawnConfig = [ [10,"CivilianSedan", _points_car_Volga, _items_car_Volga], [12,"TransitBus", _points_car_Bus, _items_car_Bus], [7,"OffroadHatchback", _points_car_Niva, _items_car_Niva], [4,_types_car_V3S, _points_car_V3S, _items_car_V3S,_items_car_V3S_Blue,_items_car_V3S_Grey,_items_car_V3S_Orange], [5,_types_car_V3S_Chassis, _points_car_V3S, _items_car_V3S,_items_car_V3S_Blue,_items_car_V3S_Grey,_items_car_V3S_Orange] ]; { if ((count _x) > 4) then { _rand = floor (random ((count _x) - 1)); while {(_rand < 4)} do { _rand = floor (random ((count _x) - 1)); }; _selected_items_car = _x select _rand; }; } foreach _CarsSpawnConfig; //////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////// ---> NEXT CODE DON'T EDIT <--- /////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////// diag_log format [" SpawnCar: Readed Settings! Start spawn car!"]; fnc_random_int_select = { private["_min","_max","_rand"]; _min = _this select 0; _max = _this select 1; _rand = round (random _max); if ((_rand < _min) or (_rand > _max)) then { while {(_rand < _min) or (_rand > _max)} do { _rand = round (random _max); }; }; _rand }; _massive_writed_alltypes_cars = []; _massive_writed_allcoords_cars = []; fnc_spawnCar = { _SelectedLine = _this; _selected_count_car = _this select 0; _selected_type_car = _this select 1; _selected_points_car = _this select 2; _selected_items_car = _this select 3; _count_incar_loot = 0; _count_aroundcar_loot = 0; _count_selected_type_car_in_server = 0; _count_selected_type_car_in_server = 0; if((typeName _selected_type_car) == "ARRAY") then { { _count_selected_type_car_in_server = _count_selected_type_car_in_server + (count (allMissionObjects _x)); } forEach _selected_type_car; diag_log format [" SpawnCar: %2 old cars of types '%1' has been detected on the server",_selected_type_car,_count_selected_type_car_in_server]; } else { _count_selected_type_car_in_server = count (allMissionObjects _selected_type_car); diag_log format [" SpawnCar: %2 old cars of type '%1' has been detected on the server",_selected_type_car,_count_selected_type_car_in_server]; }; if (_enable_detect_old_cars_in_point_spawn_in_meters) then { _temp_selected_points_car = _selected_points_car; { _selected_point_car = _x; { if (((typeOf _x) in _massive_writed_alltypes_cars) && (_selected_point_car in _massive_writed_allcoords_cars)) then { if (count _selected_points_car > 0) then { _selected_points_car = _selected_points_car - [_selected_point_car]; diag_log format [" SpawnCar: Detected previously spawned car in server: type '%1' at position %2 - point spawn %3 deleted from list spawn this type!",(typeOf _x),(getPos _x),_selected_point_car]; } else { diag_log format [" SpawnCar: Detected previously spawned car in server: type '%1' at position %2 - point spawn %3 can't be deleted from list spawn this type because spawnpoints this type allready <= 0!",(typeOf _x),(getPos _x),_selected_point_car]; }; }; } forEach (_selected_point_car nearObjects _meters_check_old_car_in_point_spawn); } forEach _temp_selected_points_car; }; if (_count_selected_type_car_in_server < _selected_count_car) then { _selected_count_car = _selected_count_car - _count_selected_type_car_in_server; if((typeName _selected_type_car) == "ARRAY") then { diag_log format [" SpawnCar: Required spawn %2 cars of type list '%1'",_selected_type_car,_selected_count_car]; } else { diag_log format [" SpawnCar: Required spawn %2 cars of type '%1'",_selected_type_car,_selected_count_car]; }; if (count _selected_points_car > 0) then { for "_j" from 1 to _selected_count_car do { _car_in_server = NULL; if (count _selected_points_car > 0) then { _selected_type_car_for_spawn = ""; if((typeName _selected_type_car) == "ARRAY") then { _selected_type_car_for_spawn = _selected_type_car select ([0,(count _selected_type_car)-1] call fnc_random_int_select); } else { _selected_type_car_for_spawn = _selected_type_car; }; if ((count _SelectedLine) > 4) then { _selected_items_car = _SelectedLine select ([3,(count _SelectedLine)-1] call fnc_random_int_select); diag_log format [" SpawnCar: Selected for next car massive details: %1 ",_selected_items_car]; }; _selected_point_car = _selected_points_car select ([0,(count _selected_points_car)-1] call fnc_random_int_select); _car_in_server = createvehicle [_selected_type_car_for_spawn, _selected_point_car, [], 0, "CAN_COLLIDE"]; if !(isNull _car_in_server) then { _selected_points_car = _selected_points_car - [_selected_point_car]; _car_in_server setDir floor(random 360); _selected_name_car = (displayName _car_in_server); _originalPos = getPosATL _car_in_server; _Damage = random 0.7; _map_pos_car = mapGridPosition _car_in_server; { _count_sel_loot = _x select 0; _type_sel_loot = _x select 1; for [{_i = 0}, {_i < _count_sel_loot}, {_i = _i + 1}] do { _loot_car = NULL; _loot_car = _car_in_server createInInventory _type_sel_loot; if (isNull _loot_car) then { _loot_car = createvehicle [_type_sel_loot, _originalPos, [], 5, "CAN_COLLIDE"]; if ((floor(random 4)) >= 2) then { _Damage_loot = random 0.7; _loot_car setDamage _Damage_loot; }; _count_aroundcar_loot = _count_aroundcar_loot + 1; } else { _count_incar_loot = _count_incar_loot + 1; }; }; } foreach _selected_items_car; diag_log format [" SpawnCar: Spawned %1 in %2 with %3 loot in Car and %4 loot around car ",_selected_name_car,_map_pos_car,_count_incar_loot,_count_aroundcar_loot]; } else { diag_log format [" SpawnCar: Type car '%1' is not spawned in server, because when i try spawn car in point '%2' exist errors!",_selected_type_car_for_spawn,_selected_point_car]; }; } else { if((typeName _selected_type_car) == "ARRAY") then { diag_log format [" SpawnCar: Random type car from array '%1' is not can be spawned in server, because setuped count cars this types > possible count points spawn this type!",_selected_type_car]; } else { diag_log format [" SpawnCar: Type car '%1' is not can be spawned in server, because setuped count cars this type > possible count points spawn this type!",_selected_type_car]; }; }; }; } else { if((typeName _selected_type_car) == "ARRAY") then { diag_log format [" SpawnCar: Spawn car from type list '%1' is not possible because not have possible points to spawn.",_selected_type_car]; } else { diag_log format [" SpawnCar: Spawn car type(s) '%1' is not possible because not have possible points to spawn.",_selected_type_car]; }; }; } else { if((typeName _selected_type_car) == "ARRAY") then { diag_log format [" SpawnCar: Random type car from array '%1' is not need spawn in server, because cars this types allready is max (or more max) in server!",_selected_type_car]; } else { diag_log format [" SpawnCar: Type car '%1' is not need spawn in server, because this cars allready is max (or more max) in server!",_selected_type_car]; }; }; }; if (_enable_detect_old_ruined_cars) then { _deleted_ruined_Cars = 0; { if (damage _x == _check_damage_for_delete_ruined_car) then { deleteVehicle _x; _deleted_ruined_Cars = _deleted_ruined_Cars + 1; }; } forEach (allMissionObjects "Car"); if (_deleted_ruined_Cars > 0) then { diag_log format [" SpawnCar: Deleted %1 old ruined cars from server",_deleted_ruined_Cars]; }; }; if (_enable_detect_old_cars_in_point_spawn_in_meters) then { { if((typeName(_x select 1)) == "ARRAY") then { { if (!(_x in _massive_writed_alltypes_cars)) then { _massive_writed_alltypes_cars = _massive_writed_alltypes_cars + [_x]; }; } foreach (_x select 1); } else { if (!((_x select 1) in _massive_writed_alltypes_cars)) then { _massive_writed_alltypes_cars = _massive_writed_alltypes_cars + [(_x select 1)]; }; }; { if (!(_x in _massive_writed_allcoords_cars)) then { _massive_writed_allcoords_cars = _massive_writed_allcoords_cars + [_x]; }; } foreach (_x select 2); } foreach _CarsSpawnConfig; }; { _x call fnc_spawnCar; } foreach _CarsSpawnConfig; 3. Создаем по пути: "MPMissions\dayz_Auto.ChernarusPlus\" папку "scripts" , и в ней файл с именем "compiles.sqf" . Если такая папка у вас уже имеются, просто не создавайте ее, а перейдите в нее. Если файл с там именем уже имеется у вас, то не создавайте его, а допишите информацию со следующего пункта инструкции в конец файла! 4. Вставляем в файл следующую строку: init_spawn_cars = compile preprocessFileLineNumbers "scripts\custom\SpawnCars.sqf"; 5. Открываем по указанному далее пути файл в "Notepad++": "MPMissions\dayz_Auto.ChernarusPlus\init.sqf". Находим в файле строки с call compile preprocessFileLineNumbers 5. Вставляем после всех "call compile preprocessFileLineNumbers" следующее: call compile preprocessFileLineNumbers "scripts\compiles.sqf"; _Enable_SPAWNER_CARS = true; // Кастомный скрипт спавна транспорта (true - включить, false - выключить) 6. В этом же файле находим строки: simulWeatherSync; dbInitEconomy [true]; setTimeForScripts 0.03; 7. Добавляем после них: if (_Enable_SPAWNER_CARS) then { Call init_spawn_cars; }; Вот и все. ВАЖНО: Перед активацией скрипта отключите официальный спавнер транспорта сервера из официальной системы сервера игры. Инструкция есть тут: Как вы уже догадались, этой строкой мы можем включить или отключить сам кастомный скрипт без долгого копания в коде. _Enable_SPAWNER_CARS = false; // Кастомный скрипт спавна транспорта (true - включить, false - выключить) Все настройки по спавну транспорта есть в самом файле скрипта, который в п. 2 инструкции вы и создавали. Надеюсь, сложности с его настройкой не возникнет, пояснения там имеются.
  22. Куплю скрипты на заказ + фиксы или донастройка имеющихся оплату гарантирую купля продажа того что сделаете через гаранта так безопастней оплату гаранта оплачю сам пишите в лс тут сижу редко https://vk.com/aowinbec
  23. Респавн сброса припасов Требования: Не требуется дополнительных аддонов Версия: 3.1 https://drive.google.com/open?id=1ZTFNmorIIa-qWR0PGMTAGtCJd0KuKmj0
  24. Приветствую всех. Один из тестеров сервера,гулял по просторам серверов Epoch.Воспользовавшись банкоматом,был сильно удивлен скоростью передачи денег. Немного поковыряв @Epoch и серверные файлы,мы нашли,как ускорить процесс передачи криптов. Делимся с Вами : - в папке миссии создаем файл atmPatch.sqf - Вставляем в него следующее содержимое disableSerialization; while{true} do { _gearDisplay = displayNull; waitUntil { sleep 2; _gearDisplay = findDisplay -13; !isNull _gearDisplay; }; ctrlSetText [1600, "Перевести"]; ctrlSetText [1001, "Снять"]; ctrlSetText [1002, "Положить"]; ctrlSetText [1003, "Перевести"]; ctrlSetText [1004, "Xeon fast ATM"]; buttonSetAction [1600, "if (isNull(findDisplay -13)) exitWith{};if (isNil ""EPOCH_bankTransferActive"") then {EPOCH_bankTransferActive = true;ctrlEnable[1600, false];[] spawn { ctrlSetText[1004,""Transfer started.""]; _deposit = parseNumber(ctrlText 1401) min EPOCH_playerCrypto; _withdraw = parseNumber(ctrlText 1402) min EPOCH_bankBalance; _transfer = parseNumber(ctrlText 1400) min EPOCH_bankBalance; _totalTransfer = (_deposit + _withdraw) + _transfer; _progress = 0; uiSleep 1; _transferTarget = """"; if (_transfer > 0) then { _transferTarget = lbData[21500, (lbCurSel 21500)]; }; if (_deposit > 0 || _withdraw > 0 || (_transfer > 0 && _transferTarget != """")) then { _sleep = 0.1; for ""_i"" from 0 to 100 do { if (isNull(findDisplay -13)) exitWith{}; _progress = _progress + 10; if (_progress > 100) exitWith{}; ctrlSetText[1200, format[""\x\addons\a3_epoch_code\Data\UI\loading_bar_%1.paa"", _progress]]; uiSleep _sleep; }; if (_progress >= 100) then { EPOCH_storeCrypto_PVS = [player, [_deposit, _withdraw, [_transfer, _transferTarget]], Epoch_personalToken]; publicVariableServer ""EPOCH_storeCrypto_PVS""; ctrlSetText[1004, ""Transfer complete.""]; uiSleep 1; closeDialog 0; } else { ctrlSetText[1004, ""Transfer failed.""]; }; }; EPOCH_bankTransferActive = nil; ctrlEnable[1600, true]; }; };"]; sleep 3; } - Сохраняем - Запаковываем миссию в .pbo и запускаем сервер p.s Возможно придется удалить Dump.rdb
  25. Описание: Старый добрый режим, который известен многим из игры Counter:Strike 1.6, перекочевал на новую версию игры, что дает возможность проверить свои навыки bhop/strafe в смертельном противостоянии CT и одного T, который использует ловушки, дабы победить в этой битве. В случае провала, террорист должен попытаться убить спецназ на испытании. Установка: 1) Распаковать архив и раскидать файлы по папкам на сервере. 2) Настроить в папке cfg/deathrun Немного картинок deathrun_2.0.dev11.zip
×
×
  • Создать...