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

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

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

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

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

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

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

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

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

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


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

  • Основной раздел сайта
    • S-Platoon
    • Приватный раздел
    • Рынок
    • Комната отдыха и развлечений
  • Серверостроение - DayZ Standalone
    • Инструкции
    • Помощь
    • Прочее
    • English section
  • Серверостроение - Общий раздел
    • ARMA 3
    • DayZ мод
    • ARMA 2
    • CS: Global offensive
    • ARK: Survival Evolved
    • Minecraft
    • Rust
  • Темы поддержки товаров

Категории

  • DayZ
    • Сборки серверов
    • Скрипты, моды, карты и т.д.
    • Транспорт
    • Оружие, инструменты, предметы
    • Дополнения для карты
    • Модели
    • Программное обеспечение
    • Прочее
  • Arma 3
    • Сборки серверов
    • Скрипты, моды, карты и т.д.
    • Транспорт
    • Модели
    • Программное обеспечение
    • Прочее

Группы продуктов

  • Привилегии на форуме
  • Реклама на сайте

Категории

  • Скачать серверные файлы

Категории

  • S-Platoon Protected

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

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


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

  • Начать

    Конец


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

  • Начать

    Конец


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

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

  • Начать

    Конец


Группа


Вконтакте


Steam


ICQ


Skype


Город


Сайт


Интересы

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

  1. В этом гайде мы разберёмся как настроить стартовый лут на сервере DayZ Standalone. Наверняка многие знают как это сделать, но, думаю, не все Инструкция: 1) Открываем файл init.c, который находится в папке mpmissions вашего сервера и ищем такие строки: EntityAI itemEnt; ItemBase itemBs; Сразу после них находится блок примерно такого вида: itemEnt = player.GetInventory().CreateInInventory("Rag"); itemBs = ItemBase.Cast(itemEnt); itemBs.SetQuantity(4); SetRandomHealth(itemEnt); itemEnt = player.GetInventory().CreateInInventory("RoadFlare"); itemBs = ItemBase.Cast(itemEnt); Именно здесь и задаётся стартовый лут персонажа. Видим что в стартовом луте прописан фаер и четыре бинта. itemEnt = player.GetInventory().CreateInInventory("Rag"); - Rag это класснейм предмета (бинта) itemBs.SetQuantity(4); - количество бинтов и т.д. в пачке, коробке и т.д. Эти два блока нам и нужно удалить и заменить на свои. 2) Открываем файл types.xml. В этом файле прописаны класснеймы предметов, имеющихся в игре. Находим нужные и оформляем файл init.c под себя. Добавим, например, рюкзак, бобы, каску, куртку, штаны и колу: // рюкзак itemEnt = player.GetInventory().CreateInInventory("AliceBag_Black"); itemBs = ItemBase.Cast(itemEnt); // бобы itemEnt = player.GetInventory().CreateInInventory("BakedBeansCan"); itemBs = ItemBase.Cast(itemEnt); // каска itemEnt = player.GetInventory().CreateInInventory("BallisticHelmet_Black"); itemBs = ItemBase.Cast(itemEnt); // куртка itemEnt = player.GetInventory().CreateInInventory("BomberJacket_Grey"); itemBs = ItemBase.Cast(itemEnt); // штаны itemEnt = player.GetInventory().CreateInInventory("CargoPants_Black"); itemBs = ItemBase.Cast(itemEnt); // кола itemEnt = player.GetInventory().CreateInInventory("SodaCan_Cola"); itemBs = ItemBase.Cast(itemEnt); Таким образом, весь файл init.c должен выглядеть примерно так: Подробности о том как заспавнить оружие с магазинами, машины, предметы и тому подобное написаны в разделе init.c тут:
  2. Предлагаю все возможные гайды по enscript/моддингу публиковать в этой теме Ссылка на предыдущею версию темы по enscript версии 0.62 - там можно прочитать в общих чертах про этот язык
  3. Доброго времени суток Тут вы сможете скачать PVP сборку сервера DayZ Standalone 0.63. Ничего особенного здесь пока нет. Данная сборка скорее либо для "ленивых", либо для тех, кто хочет на деле разобраться с различными моментами конфигурации своего сервера. В дальнейшем будет улучшаться. На данный момент настроена на основе гайдов, которые есть на нашем сайте. Пользуйтесь на здоровье Особенности: Удалены все стандартные точки появления игрока Добавлено 26 точек спавна на территории северо-западного аэропорта (территория видна на первом скриншоте) Добавлено три рандомных класса персонажей, каждый со своими скинами и оружием (скрины 2-4) Отключена задержка перед появлением игрока Отключена усталость персонажа (бесконечная стамина) Постоянное игровое время - 9 часов утра Есть вид от третьего лица и прицел От 3 до 6 разбитых вертолётов - спавнятся только в PVP зоне 10 точек возможного спавна хеликрашей Время удаления вертолёта - через 20 минут после появления ОЧЕНЬ много лута на хеликрашах (причина игрокам бежать к ним и лутать в первую очередь) Планируемые на данный момент обновления: Military mod - огромное количество спавнящихся повсюду видов оружия, снаряжения, патронов и т.д. Увеличение или, наоборот, отключение зомби Скачать: DayZServer.rar P.S. пишите свои предложения по улучшению сборки, сделаю всё что смогу P.S.S. устанавливать можете на стандартный сервер, сделанный по этому гайду: http://s-platoon.ru/topic/7015-sozdaem-server-dayz-063-na-osnove-oficialnyh-servernyh-faylov-igry-v-steam/
  4. Здравствуйте, дорогие друзья и посетители сайта. В данной теме я распишу как создать свой "чистый" сервер на основе первых официальных серверных файлов игры, доступных каждому в steam для тех, кто приобрел эту замечательную игру. Для тех, кто не приобретал ее, не расстраивайтесь, добавлю зеркала на файлы. И так, приступим. Нам понадобятся: 1. Официальные серверные файлы игры со steam ссылки на файлы имеются в теме: Копия от меня на момент публикации статьи (alpha-версия сервера игры): https://mega.nz/#!uLpzwITA!03yaBH8rvkf44G61lrjwzWKU1dsRwF0iCLwFbgQnT4w Скачать можно и через SteamCMD: 2. Официальный клиент игры из steam: https://store.steampowered.com/app/221100/DayZ/ Зеркало на alpha-версию клиента игры на момент публикации: https://mega.nz/#!6S4CWKbS!LrdlMk_mhpQl3rO40VcvnDg5LMal8prBaOxqvf6wee0 Торрент-файл: Cleared Steam-client with 0.63 Experimental #4.torrent Тот же торрент-файл отдельно: https://www1.zippyshare.com/v/tLSBdudL/file.html 3. "Конфиг Battleye серверной части игры" и батник для старта сервера: DayZServer_config.rar 4. Notepad++ https://notepad-plus-plus.org/download P.S. После первого релиза серверных файлов игры на Experimental-ветке игры в Steam выходили обновления, как клиента игры, так и сервера. Прикладываю их ниже для тех, кто еще не скачал их. Выложеннная выше версия клиента игры индексируется как #4 в сообществах игры, от нее и отталкиваемся! Ссылки:: И так, приступим. 1. Распаковываем скачанные серверные файлы игры в отдельную папку (если пиратка, и выходили обновления, распаковываем их поверху игры в порядке очередности) 2. Распаковываем архив с "серверным конфигом battleye" в папке с серверными файлами Получим что-то типа такого Если вам необходимо, настраиваем его сами как вам необходимо, информация по его настройке есть в теме во 2 ее сообщении где 12345678 - rcon-пароль сервера 400 - максимальный пинг, разрешенный battleye на сервере игры (не уверен, что работает) RestrictRCon 1 - подключение с rcon-клиентов(например, dart и bec)(0 - разрешено, 1 - запрещено) 3. Перемещаем файл serverDZ.cfg с папки сервера в папку Instance_1 и называем его server.cfg Если такого файла нет (в последних обновлениях от steam его вырезали), не расстраивайтесь вот вам этот файлик server.cfg Настраиваем, если необходимо: 6. Запускаем !!!Start_server.bat и наш сервер запустится 7. Запускаем клиент игры со steam, находим наш сервер вручную по ip и порту (на момент публикации статьи свои сервера пока не видны в официальном серверном листе, сказали это исправят). Если сервер запущен на том же компьютере, где и игра, и на стандартном порту 2302, то поумолчанию поиск выполняется по 127.0.0.1:2302 Если сервер запущен на другом компьютере, то вместо 127.0.0.1 будет ip адрес компьютера, где запущен сервер, или его доменное имя. Например, myserver.com:2302 или 178.123.22.12:2302 ВАЖНО: если сервер запущен на другом компьютере, отличном от компьютера где запущена игра, то для доступа на сервер игроков необходимо иметь "внешний" выделенный ip-адрес и открытый порт сервера! Для совсем "ленивых" запаковал уже настроенный сервер в архив с alpha-версией игры: https://mega.nz/#!iXgQEKCI!fDeFm_pETCpRXJfGMUrfyAKdHrtaQJVpEa4nCN9knCk Для совсем "ленивых" запаковал уже настроенный сервер в архив с beta-версией игры 0.63.149386: https://mega.nz/#!wh1RwADK!InigFhMS5P2GOdVCPP9PRpM2C3_PqjSVnTJpBilcE0s Настраивайте лишь config сервера, battleye и bat-файл запуска сервера, и можете играть. Crack SmartSteamEmu v. 1.4.3 данной версии клиента игры и сервера: Скачать с Zippyshare.com: https://www64.zippyshare.com/v/mHmPweqg/file.html Скачать с Mega.nz: https://mega.nz/#!rnZBXK4b!KRrJm6obcJjUlzMpEPNQ3R8sy2z0pP-0Myb_ao4TVhg Скачать с yandex.disk: https://yadi.sk/d/4xSF1dSt6XN41g Инструкция по установке есть в архиве, дублирую: Для работы Battleye используйте ip-адрес и порт сервера, и любой rcon-клиент с паролем из BEServer_x64.cfg База данных (storage) теперь хранится по пути: mpmissions\dayzOffline.chernarusplus\storage_{номер instance с cfg сервера} В базе данных также хранится файл с сохранениями игроков на сервере с именем players.db Готовую сборку PVP сервера можно скачать тут: http://s-platoon.ru/topic/7027-gotovaya-sborka-pvp-servera-dayz-063/ Вот и все, приятной игры на сервере!
  5. Credits - @i_kolobov - Documentation and Code snippets @Arkensor - Code snippets @FIDOv - Documentation @Revelin - Code snippets https://www.reddit.com/r/dayz/comments/9l1rny/mod_airdrop/ Github - https://github.com/mov3ax/airdrop Topic with teaser - https://www.reddit.com/r/dayz/comments/9k545v/teaser_airdrop/ Код class CustomMission: MissionServer { /* DayZ 0.63 AirDrop plugin by mov3ax / mov3ax.pro */ /* ### ### ### ### ### ### ### ### */ float TimesliceMultiplyier = 0.01; // Timeslice multiplyier, default value is 0.01 (60 FPS) float AirPlaneSpeed = 0.25; // Airplane fly speed float AirPlaneHeight = 500; // Airplane fly height float AirDropFallSpeed = 0.2; // Airdrop fall speed // 600 Seconds = 10 Minutes float TicksTimerFromStart = 600 / TimesliceMultiplyier; // How much time will pass from the server start to first airdrop bool PrintInformationMessages = true; // Show in chat when airplane flew out and when airdrop is landed bool PrintInformationCoordinates = true; // Show in chat coordinates where airdrop is landed // 36000 Seconds = 1 Hour float RemoveTime = 36000 / TimesliceMultiplyier; // After how much time airplane and loot will be removed and new airplane will be spawned bool PrintDebugMessages = false; // Show debug messages (Debug) bool DropOnStart = false; // Drop airdrop instantly after airplane (Debug) bool TeleportDebug = false; // Teleport to airplane and airdrop during flight (Debug) bool RayReady = true; // Raycast for airdrop container fall math Object m_AirPlane; // Global airplane object Object m_AirDrop; // Glbal airdrop container object EntityAI m_AirDropLoot; // Airdrop container body ItemBase m_AirDropBase; // Airdrop container base Particle DropEffect; // Airdrop land particle effect float RandomRot = 0; // Default random rotation variable // 100 Seconds float RandomTime = 100; // Default random drop variable float Delay = 0; // Local variable for security int AirDropTime = 0; // Local variable int AirTimer = 0; // Local variable int RemoveTimer = 0; // Local variable bool TimerPassed = false; // Local variable bool AirPassed = false; // Local variable bool RemovePased = false; // Local variable bool DropTime = false; // Local variable bool PassTime = false; // Local variable vector RandomRotOrientation; // Local variable void SendMessage(string message) // Send message in global chat { ref array<Man> players = new array<Man>; GetGame().GetPlayers( players ); for ( int i = 0; i < players.Count(); i++ ) { PlayerBase player1; Class.CastTo(player1, players.Get(i)); Param1<string> m_AirTimer = new Param1<string>(message); GetGame().RPCSingleParam(player1, ERPCs.RPC_USER_ACTION_MESSAGE, m_AirTimer, true, player1.GetIdentity()); } } void SendPos(vector pos) // Teleport all players to position, debug { ref array<Man> players = new array<Man>; GetGame().GetPlayers( players ); for ( int i = 0; i < players.Count(); i++ ) { PlayerBase player1; Class.CastTo(player1, players.Get(i)); player1.SetPosition(pos); } } string GetRandomLoot() // Random Loot Presets { string loot; switch (Math.RandomInt(0, 6)) { case 0: loot = "LandMineTrap"; break; case 1: loot = "TTSKOPants"; break; case 2: loot = "TacticalBaconCan"; break; case 3: loot = "M4A1"; break; case 4: loot = "PlateCarrierComplete"; break; case 5: loot = "BakedBeansCan"; break; case 6: loot = "WaterBottle"; break; } return loot; } // Generating random airdrop position from list // You can get coordinates using debug monitor or this map https://dayz.ginfo.gg/ vector GetAirPlanePos() { protected vector airplane_yaw; // Local variable airplane_yaw[1] = AirPlaneHeight; // Airplane fly height switch (Math.RandomInt(0, 2)) { case 0: airplane_yaw[0] = 5500; airplane_yaw[2] = 500; break; case 1: airplane_yaw[0] = 2700; airplane_yaw[2] = 700; break; case 2: airplane_yaw[0] = 10000; airplane_yaw[2] = 1000; break; } return airplane_yaw; } void SpawnAirPlaneAndTeleportPlayer_DEBUG() { // Seconds devide on value of TimesliceMultiplyier (By default it is 0.01) RandomTime = Math.RandomFloat(75 / TimesliceMultiplyier, 180 / TimesliceMultiplyier); // Random drop bounds RandomRot = Math.RandomFloat(130, 190); // Random rot bounds if (PrintDebugMessages) SendMessage("Debug - RandomRot " + RandomRot); // Dynamic movement forward float rotationYaw = RandomRot; float f = rotationYaw * 0.017453292; float motionX = (double)(Math.Sin(f) * 7.5); // 7.5 is airdrop container motion speed float motionZ = (double)(Math.Cos(f) * 7.5); // 7.5 is airdrop container motion speed // Fixed position, if we dont multiply value to -1 it will move backwards protected vector m_AirPlaneFixedPosition; m_AirPlaneFixedPosition[0] = motionX * -1; m_AirPlaneFixedPosition[1] = 10; m_AirPlaneFixedPosition[2] = motionZ * -1; RandomRotOrientation[0] = RandomRot; m_AirPlane = GetGame().CreateObject( "Land_Wreck_C130J", GetAirPlanePos(), false, true ); // Create airplane model m_AirPlane.SetOrientation(RandomRotOrientation); // Rotate it to random angles in yaw //FIXME: Broken sound raduis GetGame().CreateSoundOnObject(m_AirPlane, "powerGeneratorLoop", 10000, true, false); // Attach airplane sound to itself if (PrintInformationMessages) SendMessage("Airplane flew out!"); protected vector m_AirPlanePos = m_AirPlane.GetPosition(); protected vector m_NewAirPlanePos = m_AirPlanePos - "0 0 0"; m_AirPlane.SetPosition(m_NewAirPlanePos); protected vector m_AirPlanePosDYN = m_AirPlane.GetPosition(); protected vector m_NewAirPlanePosDYN = (m_AirPlanePos) - m_AirPlaneFixedPosition; protected vector m_DropPos = m_NewAirPlanePosDYN; if (DropOnStart) // For debug puproses only { RayReady = false; m_AirDrop = GetGame().CreateObject( "Land_Container_1Bo", m_DropPos, false, true ); // Create airdrop model, in this case it is red container if (PrintInformationMessages) SendMessage("Airdrop dropped!"); // Reset it to default values RemoveTimer = 0; RemovePased = false; } if (PrintDebugMessages) { if (PrintInformationMessages) SendMessage("Airdrop dropped!"); if (TeleportDebug) SendPos(m_AirPlane.GetPosition()); } } void SpawnAirPlaneAndMove_DEBUG() { // Dynamic movement forward float rotationYaw = RandomRot; float f = rotationYaw * 0.017453292; float motionX = (double)(Math.Sin(f) * AirPlaneSpeed); // Airplane speed float motionZ = (double)(Math.Cos(f) * AirPlaneSpeed); // Airplane speed // Fixed position, if we dont multiply value to -1 it will move backwards protected vector m_AirPlaneFixedPosition; m_AirPlaneFixedPosition[0] = motionX * -1; m_AirPlaneFixedPosition[1] = 0; m_AirPlaneFixedPosition[2] = motionZ * -1; protected vector m_AirPlanePos = m_AirPlane.GetPosition(); protected vector m_NewAirPlanePos = m_AirPlanePos + m_AirPlaneFixedPosition; m_AirPlane.SetPosition(m_NewAirPlanePos); protected vector m_AirDropFallSpeed; m_AirDropFallSpeed[0] = 0; m_AirDropFallSpeed[1] = AirDropFallSpeed; m_AirDropFallSpeed[2] = 0; protected vector m_OldAirDropPos = m_AirDrop.GetPosition(); protected vector m_NewAirDropPos = m_OldAirDropPos - m_AirDropFallSpeed; // Raycast, check if airdrop is on ground vector rayStart = m_AirDrop.GetPosition() - "0 1.1 0"; vector rayEnd = m_NewAirDropPos; vector hitPos; vector hitNormal; int hitComponentIndex; protected vector m_AirPlanePosDYN = m_AirPlane.GetPosition(); protected vector m_NewAirPlanePosDYN = m_AirPlanePos - "0 10 0"; protected vector m_DropPos = m_NewAirPlanePosDYN; if (!RayReady) { if (DayZPhysics.RaycastRV(rayStart, rayEnd, hitPos, hitNormal, hitComponentIndex, NULL, NULL, m_AirDrop)) { m_AirDrop.SetPosition(hitPos + "0 1.1 0"); m_AirDrop.SetOrientation(hitNormal); // Create airdrop lootable container, in this case it is sea chest m_AirDropLoot = EntityAI.Cast(GetGame().CreateObject( "SeaChest", m_AirDrop.GetPosition(), false, true )); // We can't add barrel because it have to be opened // You can extend items count inside airdrop container or make it random m_AirDropLoot.GetInventory().CreateInInventory(GetRandomLoot()); m_AirDropLoot.GetInventory().CreateInInventory(GetRandomLoot()); m_AirDropLoot.GetInventory().CreateInInventory(GetRandomLoot()); m_AirDropLoot.GetInventory().CreateInInventory(GetRandomLoot()); m_AirDropLoot.GetInventory().CreateInInventory(GetRandomLoot()); m_AirDropLoot.GetInventory().CreateInInventory(GetRandomLoot()); m_AirDropBase = ItemBase.Cast(m_AirDropLoot); // Cast items to airdrop container // Play particle when airdrop container, in this case it is red container DropEffect = Particle.Play( ParticleList.EXPLOSION_LANDMINE, m_AirDrop.GetPosition() ); if (PrintInformationMessages && !PrintInformationCoordinates) SendMessage("Airdrop landed!"); else if (PrintInformationMessages && PrintInformationCoordinates) SendMessage("Airdrop landed at " + m_AirDrop.GetPosition() + "!"); // Reset it to default values RayReady = true; } else { m_AirDrop.SetPosition(m_NewAirDropPos); } } if (DropTime && !DropOnStart) { RayReady = false; m_AirDrop = GetGame().CreateObject( "Land_Container_1Bo", m_DropPos, false, true ); // Create airdrop model, in this case it is red container // Reset it to default values RemoveTimer = 0; RemovePased = false; DropTime = false; } } void CreateAirDrop() { // Remove timer if (RemoveTimer <= RemoveTime) { RemoveTimer++; } else { // Removing all objects when remove timer is passed if (!RemovePased) { m_AirDrop.SetPosition(vector.Zero); GetGame().ObjectDelete( m_AirDrop ); m_AirDrop = NULL; m_AirPlane.SetPosition(vector.Zero); GetGame().ObjectDelete( m_AirPlane ); m_AirPlane = NULL; m_AirDropBase.SetPosition(vector.Zero); GetGame().ObjectDelete( m_AirDropBase ); m_AirDropBase = NULL; m_AirDropLoot.SetPosition(vector.Zero); GetGame().ObjectDelete( m_AirDropLoot ); m_AirDropLoot = NULL; // Reset it to default values AirPassed = false; TimerPassed = false; AirDropTime = 0; AirTimer = 0; DropTime = false; RemovePased = true; } } // After how much time after restart need to wait before airplane spawn if (AirTimer <= TicksTimerFromStart) { AirTimer++; if (PrintDebugMessages) SendMessage("Debug - " + AirTimer); } else { // Reset it to default values TimerPassed = true; } if (TimerPassed && !AirPassed) { if (PrintDebugMessages) SendMessage("Debug - Ticks Passed!"); SpawnAirPlaneAndTeleportPlayer_DEBUG(); if (PrintDebugMessages) SendMessage("Debug - Test! Spawned via timer"); // Reset it to default values AirPassed = true; } if (AirPassed) { if (m_AirPlane) { SpawnAirPlaneAndMove_DEBUG(); } } if (AirDropTime <= RandomTime) { AirDropTime++; if (PrintDebugMessages) { if (TeleportDebug) SendPos(m_AirPlane.GetPosition()); SendMessage("Debug Time - " + AirDropTime); SendMessage("Random Time - " + RandomTime); } } else { if (Delay <= 1000) { Delay++; } else { if (!RayReady) { if (TeleportDebug) SendPos(m_AirDrop.GetPosition()); } if (!PassTime) { // Reset it to default values DropTime = true; PassTime = true; } } } } /* ### ### ### ### ### ### ### ### */ float TimerSlice; override void OnUpdate( float timeslice ) { super.OnUpdate( timeslice ); // FPS Fix TimerSlice += timeslice; if (TimerSlice >= TimesliceMultiplyier) { CreateAirDrop(); TimerSlice = 0; } } }; Mission CreateCustomMission(string path) { return new CustomMission(); }
  6. Нам понадобится: 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 игрока на сервере ваш файл с данными по игрокам будет присутствовать и заполняться информацией, а в случае их отсутствия удаляться.
  7. Автор скрипта: http://s-platoon.ru/profile/48-nonameultima/ Все благодарности за этот скрипт непосредственно автору скрипта, не мне! В данной теме, расскажу как сделать зараженные газом области на карте. Автор: NoNameUltima 1. Открываем на сервере файл: missionServer.c 2. После строки: GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(this.UpdatePlayersStats, 30000, true); Добавляем: GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(this.GAS_ZONE_TRIGGER, 10000, true); *10000 - Время в мс(10 секунд). С такой частотой будет наноситься урон в данной области. После строки: GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).Remove(this.UpdatePlayersStats); Добавляем: GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).Remove(this.GAS_ZONE_TRIGGER); Ищем строку: void UpdatePlayersStats() Вставляем ВЫШЕ нее, следующий код: void GAS_ZONE_TRIGGER() { /* GAS_ZONE_TRIGGER Автор: NoNameUltima skype: hf-trade */ // Зараженные зоны TVectorArray gas_points = {"13249 0 3962", "6389 0 2683", "6612 0 2561"}; // Массив намордников TStringArray gas_masks = {"GasMask", "GP5GasMask"}; // Радиус зон int radius = 350; // Наносимый урон float damage_value = 10; ref array<Man> players = new array<Man>; GetGame().GetPlayers( players ); PlayerBase player; vector position_player; int x; bool isGasMask; int attCount; int attIdx; EntityAI attachment; ItemBase item; string className; float damage_player; for (int i = 0; i < players.Count(); i++) { Class.CastTo(player, players.Get(i)); position_player = player.GetPosition(); for (x = 0; x < gas_points.Count(); x++) { if ( (vector.Distance(position_player, gas_points.Get(x))) < radius ) { isGasMask = false; attCount = player.GetInventory().AttachmentCount(); for (attIdx = 0; attIdx < attCount; attIdx++) { attachment = player.GetInventory().GetAttachmentFromIndex(attIdx); if ( attachment.IsItemBase() ) { item = Class.Cast(attachment); className = item.GetType(); if ( gas_masks.Find(className) >= 0 ) { //Print ("Намордник найден!"); isGasMask = true; break; } } } if (isGasMask == false) { //Print ("Намордник не найден!"); damage_player = player.GetHealth("GlobalHealth", "Health"); player.SetHealth("GlobalHealth", "Health", damage_player - damage_value); } } } } } P.S. 1. Так же можно изменить формат массива, и сделать зоны с разным радиусом 2. Можно при желании добавить вывод оповещения, в зараженных зонах. *Скрипт предоставлен мной, в обрезанном виде намерено - остальное на Ваш вкус и цвет Изменено 4 октября пользователем NoNameUltima Добавлено от 123new: Файл missionServer.c располагается в {папка сервера}\scripts\5_Mission\MissionServer\missionServer.c Если у вас нет папки scripts в папке с сервером игры, откройте папку dta, распакуйте папку scripts из pbo-файла scripts.pbo и переместите в папку с сервером. Чтобы папка считывалась сервером, необходимо добавить параметр запуска сервера '-FilePatching'. P.S. Гайд не проверялся на актуальной версии серверной части игры со steam!
  8. Автор скрипта: http://s-platoon.ru/profile/48-nonameultima/ Все благодарности за этот скрипт непосредственно автору скрипта, не мне! Процедурка для получения дистанции между двумя точками, без учета высоты. Class Ultima_Functions { static float Distance2D(vector v_PointA, vector v_PointB) {return Math.Sqrt( Math.Pow((v_PointA[0] - v_PointB[0]), 2) + Math.Pow((v_PointA[2] - v_PointB[2]), 2) );} } Пример использования: vector v_A = "0 0 0"; vector v_B = "100 100 100"; float v_Distance2D; v_Distance2D = Ultima_Functions.Distance2D(v_A, v_B); Print(string.Format("Дистанция между точками: %1м", v_Distance2D));
  9. Официальные серверные файлы 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 файл.
×
×
  • Создать...

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

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