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

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

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

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

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

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


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

Отображаются публикации с наибольшей репутацией на 07/11/19 в Сообщения

  1. 1 балл
    123new

    Создаем свой серверный мод. [DayZ 1.4 to Discontined]

    В данной теме я распишу возможность создания серверного мода для сервера на собственном примере и объясню как его собрать.Работающий на момент публикации статьи на версии сервера игры 1.04.152050. Темы к ознакомлению, связанные с данным материалом: https://s-platoon.ru/topic/8701-enscript-uchimsya-osnovam-skriptinga/ https://s-platoon.ru/topic/8622-enscript-delaem-skript-dlya-moda-i-osnovnye-principy-skriptinga-modov/ Нам понадобятся: 1. Сервер игры актуальной версии, не ниже патча 1.04. Как установить можно узнать тут: До версии 1.04 параметра servermod у сервера игры не существовало!!! 2. Программа 'PBO manager' с состава инструментария армы из сети: https://www.armaholic.com/page.php?id=16369 Зеркало: https://yadi.sk/d/_gmzoNSDpNJTt Еще зеркало: Pbo manager.rar 3. Скрипты для упаковки в наш мод, сформированные и подготовленные нами вручную. Как - смотрите тему 4. Notepad++ https://notepad-plus-plus.org/download P.S. Вместо 'PBO manager' можно использовать DayZ Tools, но как им пользоваться разбираемся сами ? И так, приступим: 1. Предположим, что у нас имеется свой некий набор скриптов (если нет - читаем выше), который необходимо добавить серверу, но не на уровне миссии сервера, а на более ранних уровнях его загрузки. Например, добавить свой killfeed, модифицировать или изменить какой-либо из родных скриптов сервера игры, либо вовсе модификации, подключенной у вас. Для примера в этой теме и данного гайда я взял вот этот набор скриптов, собранный непосредственно для данной темы за 5 минут, и не изменяющий в сервере ровным счетом ничего. Он может послужить базой для создания своих модов, функций, переменных или классов. Данный гайд будем описывать, исходя из этого архива. Архив: MyScripts.rar Подробнее о создании скриптов для своих целей - читайте вот эту тему! 2. Создаем папку с нашим модом. Для примера, это будет папка '@My_Server_Mod'. В созданной нами папке создаем папку 'Addons', а в ней папку 'My_Server_Mod'. 3. Помещаем содержимое распакованного архива в папку 'My_Server_Mod'. Должно получиться так: 4. В папке 'My_Server_Mod' создаем файлик 'config.cpp' и заполняем его следующими данными (советую использовать Notepad++ для этого): class CfgPatches // требуется обязательно { class My_Server_Mod // требуется обязательно, совпадает с именем мода { units[]={}; // may be not worked weapons[]={}; // may be not worked requiredVersion=0.1; // may be not worked requiredAddons[]={}; /* requiredAddons[]= { "DZ_Data", // Перечисляем требуемые и используемые модом аддоны (pbo-файлы игры и модов по их внутренним скриптовым именам) }; */ }; }; class CfgMods // // требуется обязательно, совпадает с именем мода { // https://community.bistudio.com/wiki/DayZ:Modding_Structure#Mod_presentation class My_Server_Mod { dir = "My_Server_Mod"; // Имя папки мода, совпадает с именем мода picture = ""; // Картинка в описании мода action = ""; // Ссылка, например вот так: action = "https://dayz.com/"; hideName = 1; // Не уверен, что этот параметр работает hidePicture = 1; // Не уверен, что этот параметр работает name = "My_Server_Mod"; // Имя мода (а также его внутреннее скриптовое имя) logoSmall = "Mods/TestMod/modlogosmall.tga"; // значок рядом с именем мода, если описание не развернуто logo = "Mods/TestMod/modlogo.tga"; // логотип под меню игры logoOver = "Mods/TestMod/modlogohover.tga"; // при наведении курсора мыши на логотип tooltip = "tooltip"; // подсказка при наведении курсора мыши overview = "My Server Mod"; // Описание credits = "123new"; // credits author = "123new"; // author authorID = "0"; // author steam ID version = "1.0"; // version extra = 0; // Не уверен, что этот параметр работает type = "mod"; // требуется обязательно, остается неизменным // inputs = "mods\testmod\inputs\my_new_inputs.xml"; // необязательно, при использовании пользовательских inputs dependencies[]={"Core","GameLib","Game","World","Mission"}; // необязательно, если необходимо установить зависимость класса class defs { class engineScriptModule { value=""; // если значение пустое, используется функция ввода по умолчанию files[]={"My_Server_Mod/scripts/1_Core"}; // вы можете добавить любое количество файлов или каталогов, и они будут скомпилированы вместе с оригинальными скриптами игрового модуля }; class gameLibScriptModule { value=""; files[]={"My_Server_Mod/scripts/2_GameLib"}; }; class gameScriptModule { //value="CreateGameMod"; // когда значение заполнено, имя функции ввода модуля скрипта по умолчанию перезаписывается им value = ""; files[]={"My_Server_Mod/scripts/3_Game"}; }; class worldScriptModule { value=""; files[]={"My_Server_Mod/scripts/4_World"}; }; class missionScriptModule { value=""; files[]={"My_Server_Mod/scripts/5_Mission"}; }; }; // Если какой-то из разделов скриптинга вам не нужен и вы не сибираетесь его паковать, сотрите необходимый блок с ним выше и в массиве dependencies }; }; Пояснения в файле оставил. Файл готовый: config.cpp Как видите, в 'deffs' названия классов и путей соответствуют родным из 'scripts.pbo', но с допиской имени мода. Имя мода в данном случае и есть идентификатор для обращения к своему моду извне. А в 'dependencies' перечисляются используемые классы оригинальных скриптов без дописки номера секции. Количество используемых 'dependencies' и блоков 'deffs' должно быть идентично. Пояснения есть также и в официальной документации от разработчика: https://community.bistudio.com/wiki/DayZ:Modding_Structure#Mod_presentation 5. Запаковываем нашу папку 'My_Server_Mod' в pbo-файл 'My_Server_Mod.pbo' через 'PBO manager', как на скриншоте ниже: Можно использовать и другие способы запаковки, если знаете их или привычны вам. 6. Добавляем в параметры запуска сервера параметр: "-servermod=@My_Server_Mod;" -FilePatching 7. Радуемся, наш серверный мод готов. Пример готового серверного мода: @My_Server_Mod.rar P.S. Создавать bikey файл для мода и bisign подписи для него не требуется, иначе это может привести к неработоспособности серверной модификации (возможно, недоработка сервера игры разработчиком) Отмечу сразу, что данный способ подходит для модификации и переписывания оригинальных классов скриптов сервера от разработчиков и модификации чужих модов с помощью моддинга, применяется исключительно на стороне сервера игры и клиент игры не затрагивает. Распространять такой мод игрокам НЕ НУЖНО! Изменение оригинальных скриптов, для которых не предусмотрена операция 'modded class' в движке игры, а также классов и функций, которые защищены языком и движком игры от такого рода действий через серверные моды не получится. Если вы столкнулись с этим, вам проще распаковать scripts.pbo и поместить папку scripts в корень сервера игры, добавить в параметры запуска сервера параметр -FilePatching и изменять напрямую в папке необходимые вам файлы.Запаковывать назад в pbo папку и размещать в dta в таком случае не нужно! P.P.S. Процедура создания своего собственного клиент-серверного мода на основе скриптов работает таким же образом. В случае создания такого мода, файл 'config.cpp' может быть для стандартного мода более разнообразным, а также после требуется обязательная подпись такого мода в bisign и создание bikey файлов. Более подробно это освещать требуется отдельно!
  2. 1 балл
    Палатки пофикшены Ну разве что не ставятся на крест на церкви, ставятся чуть ниже Все чисто серверное Выложу завтра днем после небольшой доработки - что бы красиво было Вот резалт
  3. 1 балл
    //AUTHOR: BORIZZ.K //Version 20.12.2018.0011 void PlaceAllCarsToGround() { array<Object> nearest_objects = new array<Object>; array<CargoBase> proxy_cargos = new array<CargoBase>; Object object; string className; int objectcount = 0; vector mapcenter = "7500 0 7500"; int radius = 20000; vector foundcar_pos; mapcenter[1] = GetGame().SurfaceY( mapcenter[0], mapcenter[2] ); GetGame().GetObjectsAtPosition(mapcenter, radius, nearest_objects, proxy_cargos); for ( int i = 0; i < nearest_objects.Count(); i++ ) { object = nearest_objects.Get(i); className = object.GetType(); if ( GetGame().IsKindOf(className, "Car" ) ) //if ( className == "OffroadHatchback" || className == "V3SVehicle" || className == "V3SChassis" || className == "CivilianSedan") { EntityAI objectEnt = EntityAI.Cast(object); if (objectEnt) { foundcar_pos = objectEnt.GetPosition(); Print("::: PlaceAllCarsToGround() ::: Found car: " + className + ", objectEnt: " + objectEnt + ", Position: " + foundcar_pos.ToString() + ", SurfaceGetNormal: " + GetGame().SurfaceGetNormal(foundcar_pos[0], foundcar_pos[2]).ToString()); //Check surface under car /* string surface_type; int liquidType; GetGame().SurfaceUnderObject(object, surface_type, liquidType); Print("::: PlaceAllCarsToGround() ::: Found car: " + className + ", objectEnt: " + objectEnt + ", surface_type: " + surface_type + ", liquidType: " + liquidType); */ if ( foundcar_pos[1] < (GetGame().SurfaceY(foundcar_pos[0], foundcar_pos[2])) - 0.1 || foundcar_pos[1] > (GetGame().SurfaceY(foundcar_pos[0], foundcar_pos[2])) + 0.1 ) { foundcar_pos[1] = GetGame().SurfaceY(foundcar_pos[0], foundcar_pos[2]); objectEnt.SetPosition(foundcar_pos); objectEnt.SetOrientation(objectEnt .GetOrientation()); objectEnt.SetDirection(objectEnt .GetDirection()); Print("::: PlaceAllCarsToGround() ::: Position changed for car : " + className + ", objectEnt: " + objectEnt + ", Position: " + foundcar_pos.ToString()); } else { Print("::: PlaceAllCarsToGround() ::: No position change required for car : " + className + ", objectEnt: " + objectEnt); } } } } } Добавить код в init.c (ВНЕ КЛАССА) Вызывать в конце функции main() Просто вставив в конце PlaceAllCarsToGround(); P.S. Поправил код, + учел рекомендации Ультимы У меня на сервере с машинами все ок
  4. 1 балл
    Есть игрок Есть его координаты X и Y Нужно получить координаты точки X1 и X2 на расстоянии 2м слева от игрока ... Угол (из GetOrientation()) мы знаем Те банально надо получить координаты точки на окружности зная угол, радиус и координаты центра окружности мне видится следующее решение float dist = 2; float A = player.GetOrientation()[0] - 45; float x1 = dist * Math.Cos(A); float y1 = dist * Math.Sin(A); vector finpos = Vector(player.GetPosition()[0] + x1, player.GetPosition()[1], player.GetPosition()[2] + y1); или я не прав? может в Math enscript'а есть готовая функция? Спасибо!
  5. 1 балл
    Сам задал вопрос и сам решил ))) float dist = 2; //Расстояние до точки float subtractor = -90; //Положение слева // для справа subtractor = 90; vector pos = player.GetPosition(); angle = Math.NormalizeAngle(player.GetOrientation()[0] + subtractor) * Math.DEG2RAD; pos[0] = pos[0] + (double)(Math.Sin(angle) * dist); pos[2] = pos[2] + (double)(Math.Cos(angle) * dist); //pos содержит координату искомой точки Нужно для рейкастинга - поиска и проверки обьекта с определенной стороны игрока Для чего? А потом расскажу
  6. 1 балл
    BorizzK

    Запрет разбора строений без модов

    Equadro ))))))))) А я тут еще один антирейд доделал почти Выйти из машины через текстуру сквозь стену здания/постройки теперь нереально ну если дверь погружена в текстуру
  7. 1 балл
    Equadro

    Запрет разбора строений без модов

    печь исчезла и полезли упыри в щели, а чтобы она быстро не пропадала пропишем ей время 99999999999 и весь сервер в вечных кострах.
  8. 1 балл
    Irkutsk86

    Оповещение о входе и выходе игрока

    @Donyclass CustomMission: MissionServer
  9. 1 балл
    paramedic27930

    DZSA Launcher

    dosserua Доброго времени суток... Всю голову сломал с этим лаунчером... Сервер запускается, но не работают моды, сам лаунчер видит сервер, подключает к нему но установленные моды не отображаются... вот батник. ПОМОГИТЕ! (((( @echo off set server="gameserver8008" cd /d "C:\gameservers\gameserver8008\serverfiles" echo start>"C:\gameservers\gameserver8008\status%server%.txt" :startserver echo (RE)Starting server %server% "DZSALModServer.exe" -config=instance\config.cfg -port=2502 -profiles=instance -dologs -adminlog -netlog -freezecheck -scrAllowFileWrite -filePatching "-dayzserver=%server%.exe" "-mod=@CF;@Community-Online-Tools;@SQUAD MSF-C;@Trader;@Base Furniture Mods;@BaseBuildingPlus;@OP_BaseItems;@EndGamePVE;@Sneaky Stashes and Stuff;@NoFenceCollisions;@KillFeed;@Server_Information_Panel;@GoreZ;@DeadZone_Dynamic_DeadZone;@DZM_Notifications;" timeout 5 for /F "tokens=*" %%i in ('type "C:\gameservers\gameserver8008\status%server%.txt"') do ( if "%%i"=="start" (goto :startserver) ) exit
×
×
  • Создать...

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

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

Поддержка