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

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

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

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

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

Таблица лидеров


Популярные публикации

Отображаются публикации с наибольшей репутацией на 01/30/16 во всех областях

  1. 1 балл
    vitacite

    Headless клиент для запуска миссий.

    Привет всем. Разберем, чего такое хеадлесс клиент и как с ним сосуществовать на примере миссий для сервера Arma-3 Итак: Headless клиент, это штуковина встроенная в серверную часть Arma3, которая помогает серверу проводить расчеты для AI - другими словами повышает FPS:). Кол-во клиентов, указывается в файле server.cfg вашего сервера. А запускается клиент путем запуска сервера с параметром -client:) Фактически это дополнительный клиент, управляемый AI который будет подключаться к нашему серверу и рулить там миссиями.... снижая нагрузку на все остальное. Давайте рассмотрим пример миссии HOG-а с dayz_epoch.com, как он реализовал свою миссию. Чуток подготовки: 1) Софт, который нам понадобится (если мы создаем миссию с нуля и ничего еще не редактировали). - упаковщик распаковщик pbo - pbo manager - утилита urap.exe для декомпилляции mission.sqm - notepad ++ для того чтобы редактировать mission.sqm (он очень критичен, к редакции). C помощью их готовим папку к инсталляции, как это написано в моем гайде про разбин mpmission.sqmhttp://s-platoon.ru/index.php?/topic/2124-kak-razbinarit-missionsqf-v-arma3-epoch/ 2) Теперь договоримся о следующем у меня сервер ARMA3 стоит в папке C:\ARMA3\ поэтому пути я буду указывать именно туда. Вам же необходимо будет исправить пути в тот каталог где у вас установлен сервер Arma3 (где у вас находится Arma3server.exe) 3) Скачиваем архив миссий HOG-а с его GitLib-а https://github.com/hogscraper/HOGS_AI (репозиторий активный и он его постоянно обновляет.) И распаковываем его куда-нибудь в укромное место :) 4) Идем в папку c:\Arma3\MpMission\Epoch.Altis\ и создаем там папку Hogs_AI в папке Custom должно получится C:\Arma3\MpMission\Epoch.Altis\Custom\Hogs_Ai\ в эту папку помещаем 5 файлов и скаченного архива находящихся в одноименной папке: AI_Functions.sqf AI_Init.sqf Hogs_AI.sqf Server_PVEH.sqf fn_fetchCfgDetails.sqf поднимаемся выше в папку C:\Arma3\MpMission\Epoch.Altis\ и создаем пустой файл init.sqf (если у нас уже есть в нем, что-либо вставляем текст ниже в самый верх: if(isserver) then{ execVM "custom\Hogs_AI\Server_PVEH.sqf"; }; //Only uses this code if the connecting client is not the server //and doesn't have an interface(our headless client) if (!hasInterface and !isServer) then { execVm "custom\Hogs_AI\AI_Init.sqf"; sleep 1; execVm "custom\Hogs_AI\AI_Functions.sqf"; sleep 5; execVm "custom\Hogs_AI\Hogs_AI.sqf"; }; player enableFatigue false; "GlobalHint" addPublicVariableEventHandler { private ["_GHint"]; _GHint = _this select 1; hint parseText format["%1", _GHint]; }; 5) Во избежание сложностей в этом шаге используем строго notepad++ (либо FAR) открываем им наш разбинаренный mission.sqm И создаем точку входа для нашего клиента. Ведь на сервер зайдет не живой игрок, а виртуальный. Для этого: в файле mission.sqm в районе строки №33 находим items = 100; этот параметр указывает кол-во подключений к нашему серверу (максимально есть точки спавна для 100 игроков по умолчанию). и меняем этот параметр на items = 101; 6) Нажимаем сохранить, и спускаемся в этом же файле примерно до строчки 2034 там как раз заканчивается }; блок venchicle 99 номере... и вставляем туда еще одну точку спавна для нашего клиента... class Item100 { side="LOGIC"; class Vehicles { items=1; class Item0 { position[]={14093.1, 10.4375, 11552.1}; id=100; side="LOGIC"; vehicle="HeadlessClient_F"; player="PLAY CDG"; leader=1; skill=0.60000002; text="MissionBuddy"; }; }; }; Результат должен выглядеть примерно так: ....... class Groups { items = 101; class Item0 { side = CIV; class Vehicles { items = 1; class Item0 { position[] = {23598.1, 3.19, 17997.1}; azimut = 136.241; special = NONE; id = 0; side = CIV; vehicle = "VirtualMan_EPOCH"; player = "PLAY CDG"; leader = 1; skill = 0.6; }; }; }; ---> повторяющийся код до № 99 вырезан.... class Item99 { side = CIV; class Vehicles { items = 1; class Item0 { position[] = {23605.1, 3.19, 17998.1}; azimut = 130.016; special = NONE; id = 99; side = CIV; vehicle = "VirtualMan_EPOCH"; player = "PLAY CDG"; leader = 1; skill = 0.6; }; }; }; class Item100 { side="LOGIC"; class Vehicles { items=1; class Item0 { position[]={14093.1, 10.4375, 11552.1}; id=100; side="LOGIC"; vehicle="HeadlessClient_F"; player="PLAY CDG"; leader=1; skill=0.60000002; text="MissionBuddy"; }; }; }; }; // <----- эта скобка закрывает весь блок Vehicles class Sensors { // <--- начало блока vechcles Нам необходимо указать серверу что мы будем использовать headless клиент и что он будет к нему подключаться.. Добавляем в файл: где-то после MODT "" headlessClients[]={"127.0.0.1"}; localClient[]={"127.0.0.1"}; В моем случает запуск происходит на той же машине , что и сервер, но вполне можно сделать это вообще на другом компьютере или запустить несколько клиентов.... но у меня это так :)) Шаг № 7. Создаем мегабатник для запуска нашего клиента.... echo STARTING NEW EPOCH BEC SERVER PLEASE WAIT cd C:\Arma3\instance_epoch.Altis\bec start Bec.exe -f Config.cfg –dsc timeout 5 echo STARTING NEW EPOCH SERVER PLEASE WAIT cd C:\Arma3\ start arma3server.exe -mod=@epoch -port=2302 -noSound -nosplash -nopause -enableHT -cpuCount=16 -exThreads=15 -maxmem=6144 -config=instance_epoch.Altis\server.cfg -cfg=instance_epoch.Altis\basic.cfg -profiles=instance_epoch.Altis -name=instance_epoch.Altis -mod=@Epoch;@EpochHive; timeout 20 start arma3server.exe -client -connect=127.0.0.1 -mod="@epoch" timeout 5 Примерно с таким содержимым .... как вы видите я запускаю BEC после запуска он ждет 5 секунд пока запустится сервер Сервер запускается и мы выдерживаем 20 секунд паузы, дожидаясь пока он прогрузится... (тайминг меняйте в зависимости от мощности вашего сервере)... после чего запускаем сервер повторно уже с значением -cleint позволяющий пускать headless клиента. start arma3server.exe -client -connect=127.0.0.1 -mod="@epoch" Шаг № 7. не забываем вернувшись в C:\ARMA3\MPMission\Epoch.Altis\description.ext изменить значение кол-ва игроков мы ведь добавили еще одного, виртуального... без этого запустится но в RPT найдете ошибку о несоответствии... minPlayers = 1; maxPlayers = 101; Ну собственно все :))) У меня все работает :))) Доп материалы: https://github.com/hogscraper/A3_EPOCH_Headless_Client - headless клиент файлы настройки http://epochmod.com/forum/index.php?/topic/29541-a3-epoch-headless-clients-walkthrough-updateddec-22nd/ - обсуждение миссии на сайте epoch https://community.bistudio.com/wiki/Arma_3_Headless_Clien - описание, как это работает от bistudio
  2. 1 балл
    vitacite

    Как разбинарить mission.sqf в Arma3 Epoch

    Привет всем! Маленький гайд по подготовке вашего сервера к редактированию. Итак!. В свежескачанный сервер проблематично, что-либо добавить. Миссия находится в файле .pbo, и мало того, что он полупустой (init.sqf теперь находится в серверной части...) так еще и mission.sqf забинарен... Но нет сложностей которые нельзя обойти!!!! 1) Качаем софт: для раскрытия .pbo http://www.armaholic.com/page.php?id=16369 для разбинаривания набор утилит Arma Tools (1 мб) http://www.armaholic.com/page.php?id=411 2) устанавливаем pbo манагер, из набора для разбинаривания нам понадобиться утилита UnRAP.exe ее копируем в любое удобное для нас место. 3) заходим в папку нашсервер/mpmission/ и дважды кликаем на файл Altis.epoch.pbo открываем его pbomanager-ом и распаковываем в папку нашсервер/mpmission/Altis.Epoch/ В итоге в папке окажется два файла description.ext mission.sqm 4) запускаем утилиту unrap.exe выбираем расширение (показывать все типы файлов) и кликаем на mission.sqm на предложение разбить на части по классам отвечаем НЕТ! Получаем файл mission.cpc 5) Старый mission.sqm удаляем новый переименовываем в mission.sqm Теперь у нас mpmission готовая к редактированию... запаковывать в .pbo не обязательно все будет работать и так. Еще один важный момент: файл нашсервер/mpmission/Altis.Epoch.pbo нужно будет удалить, иначе сервер будет использовать данные из него! Если все сделано правильно мы получаем папку готовую к приему скриптов и разбинаренный mission.sqm
  3. 1 балл
    NoNameUltima

    Как сделать построки крепче?

    Там геморой с наследованием подклассов... Вот ссылка на форум по А3, с моим вопросом, и там ниже я привел пример правильного наследования, как для А2 так и для А3, для переопределения параметров. *т.е. возможно придеться создать 1-2 промежуточных класса. https://arma3.ru/forums/topic/3750-nasledie-klassov/ И еще - то, что ты хочешь сделать, называется - перекрытие класса(скорее всего арма тебя пошлет подальше), т.е. ты пытаешься создать дубликат уже заявленного класса(хотя не тут надо смотреть, например RSC классы, запросто переопределяются, да и в конце концов, можно переопределить весь файл - заменив на свой.) - class CinderWallHalf_EPOCH: Const_Cinder_static_F { armor = 20000; }; 1. Надо указать в точности все параметры, а не только армор. 2. Если прокатит - радуйся, но скорее всего арма заявит, что класс - CinderWallHalf уже заявлен.... В таком случае, можно создать своего наследника(если подклассов нет, то можно попростому переопределить напрямую один параметр): class MyWALL: CinderWallHalf_EPOCH { armor = 20000; }; Но дальше надо в эпохе, везде заменить CinderWallHalf_EPOCH на MyWALL
  4. 1 балл
    NoNameUltima

    Как сделать построки крепче?

    При чем тут - неуязвимость, если вопрос, про - увеличение ХП построек? Вводишь людей в заблуждение? По теме - "хп" построек находятся в hpp файлах мода эпоча.
  5. 1 балл
    StopS

    Как сделать построки крепче?

    а я давно нашол как и сделал sleep 80; while {true} do { diag_log format ['Защита построек обновлена']; _indestructible = (allMissionObjects "Constructions_static_F") + (allMissionObjects "PlotPole_EPOCH") + (allMissionObjects "LockBox_EPOCH") + (allMissionObjects "Foundation_Epoch"); { if (!((_x isKindof "PlotPole_EPOCH") or (_x isKindof "WoodWall4_EPOCH") or (_x isKindof "WoodWall3_EPOCH") or (_x isKindof "WoodWall2_EPOCH") or (_x isKindof "WoodWall1_EPOCH") or (_x isKindof "WoodLargeWallDoorL_EPOCH") or (_x isKindof "WoodStairs2_EPOCH") or (_x isKindof "WoodStairs_EPOCH") or (_x isKindof "WoodRamp_EPOCH") or (_x isKindof "WoodFloor_EPOCH") or (_x isKindof "WoodLargeWallDoorway_EPOCH") or (_x isKindof "WoodLargeWall_EPOCH") or (_x isKindof "WoodLargeWallCor_EPOCH"))) then { _x addEventHandler ["HandleDamage", {false}]; _x enableSimulation false; }; } count _indestructible; sleep 160; }; Смертный постройки пишутся так которые бесмертные не пишутся (_x isKindof "PlotPole_EPOCH")
  6. -1 балл
    Jezza

    [ПОДТВЕРЖДЕНО] Артем Кириллов / ArtemMaster

    И кто же жаловался на нас по поводу того, что мы кидаем с донатом? Этот дебил супервольф и кулгейм? Они же неадекватны. Весь донат всегда выдается, СРАЗУ! А то что мы 3 раза восстанавливаем это уже наши личные придумки. И забанили мы этих дибилов после того как им все выдали. И не просто так забанили, а еще раз повторюсь, за нарушение всех правил, оскорбления, мат и грубое поведение. А это не кидалово на донат. Надо знать кого слушать, игроков нормальных, которые играют, а не долбоебов забаненных. Противно просто.
×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.

Поддержка