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

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

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

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

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

История изменений

Здесь нет истории для отображения или этот комментарий был изменён модератором

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

    • Автор: Irkutsk86
      Что делает скрипт :

      Скрипт добавляет на ваш сервер систему выдачи лута при появлении игрока, либо определенного лута человеку по steamid64 (донатеру к примеру).

      Как это сделать?
      Для этого нам понадобится зайти в главную папку с вашей картой, к примеру чернарусь (Путь: DayZServer\mpmissions\dayzOffline.chernarusplus)

      После того как вы зашли, в этой папке нужно найти файл с названием init.c

      Открываем файл и видим строки кода, нам нужна строчка с началом ( class CustomMission: MissionServer ).

      Начиная с нее нам нужно вставить код до строчки как на скриншоте клик
      class CustomMission : MissionServer { private const static string m_SpawnLoadoutDirectory = "$profile:SpawnLoadout/"; // root directory for SpawnLoadout private const static string m_DonatorDirectory = m_SpawnLoadoutDirectory + "Donators/"; // directory for donator loadout text files private const static string m_RegularLoadout = m_SpawnLoadoutDirectory + "Regular.txt"; // file for regular loadout private const static string m_CommonItems = m_SpawnLoadoutDirectory + "CommonItems.txt"; // file for in common items for both regular and donator void CustomMission() { FileHandle templateFile; if (!FileExist(m_SpawnLoadoutDirectory)) { MakeDirectory(m_SpawnLoadoutDirectory) // create default CommonItems.txt templateFile = OpenFile(m_CommonItems, FileMode.WRITE); FPrintln(templateFile, "Rag 4\nHuntingKnife\nMatchbox\nHatchet\nFlashlight\nBattery9V\nSodaCan_Cola\nBakedBeansCan"); CloseFile(templateFile); // create default Regular.txt templateFile = OpenFile(m_RegularLoadout, FileMode.WRITE); FPrintln(templateFile, "BomberJacket_Grey\nJeans_Black\nTaloonBag_Blue\nAthleticShoes_Grey"); CloseFile(templateFile); } if (!FileExist(m_DonatorDirectory)) { string template = GetDonatorFile("STEAMIDHERE"); MakeDirectory(m_DonatorDirectory); // create template donator file templateFile = OpenFile(template, FileMode.WRITE); FPrintln(templateFile, "BomberJacket_Blue\nJeans_Grey\nTaloonBag_Orange\nAthleticShoes_Brown"); CloseFile(templateFile); } } //!!! REPLACES EXISTING METHOD override void StartingEquipSetup(PlayerBase player, bool clothesChosen) { player.RemoveAllItems(); // clear all default spawning items FileHandle donatorFile; string line; TStringArray contents = new TStringArray(); string file = GetDonatorFile(player.GetIdentity().GetPlainId()); if (FileExist(file)) { SpawnLoadout(player, ReadFileLines(file)); // spawn donator loadout return; } SpawnLoadout(player, ReadFileLines(m_RegularLoadout)); // spawn regular player loadout } private void SpawnLoadout(PlayerBase player, ref TStringArray loadout) { FileHandle loadoutFile; string line; // creates clothes loadout foreach (string clothes : loadout) player.GetInventory().CreateInInventory(clothes); // creates common items TStringArray items = ReadFileLines(m_CommonItems); foreach (string item : items) { if (item.Contains(" ")) // check for space, which signifies a quantity item { CreateQuantityItem(player, item); continue; } player.GetInventory().CreateInInventory(item); } } private void CreateQuantityItem(PlayerBase player, string item) { TStringArray quantity = new TStringArray(); item.Split(" ", quantity); ItemBase quantityItem = player.GetInventory().CreateInInventory(quantity[0]); quantityItem.SetQuantity(quantity[1].ToFloat()); } private string GetDonatorFile(string id) { return string.Format("%1%2.txt", m_DonatorDirectory, id); } private TStringArray ReadFileLines(string path) { FileHandle file; string line; TStringArray contents = new TStringArray(); file = OpenFile(path, FileMode.READ); while (FGets(file, line) > 0) { line.Trim(); if (line != string.Empty) { contents.Insert(line); line = string.Empty; } } CloseFile(file); return contents; } }; После того как вы вставили код, сохраняйте файл. И запускайте сервер!

      Если ничего не вылезло и сервер нормально запустился, в папке profiles появится папка Spawnloadout.
      В ней вы видите файлы: Regular.txt ; CommonItems.txt
      Эти файлы нужны для стартового снаряжения игрока при спавне. Regular - Для одежды ; CommonItems - Для предметов

      Папка Donator отвечает за кастомные сета игрокам по SteamID64. В этой папке будет файл STEAMIDHERE.txt
      Чтобы прописать сет по SteamID64 нужно изменить название файла и в нем прописать все что нужно выдавать игроку, тут нету разделения на файлы, все нужно писать в 1 файл (Чтобы небыло багов пишите сначало одежду а потом предметы)

      Все обновляется в реальном времени ничего перезапускать не нужно.
       
      P.S: Автор не я !!!
    • Автор: BR0wi
      Подскажите где найти людей, которые делаю моды на заказ. К кому вообще обращаться? Или что бы реализовать свои идеи нужно самому "год" сидеть и изучать все механики модинга?
    • Автор: CubeIn
      Приветствую господа, хочу создать новый проект, уникальный, но для этого нужен маппер.
      Я оставлю здесь свой дискрод, напишите в лс, кто готов взяться за крупный проект.
      4me#4542
    • Автор: 123new
      Вижу крайне много любопытных вопросов по поводу идентификаторов игрока в игре. Что же, разжую для не знающих немного.
       
      В игре есть следующие типы идентификаторов:
      1. Steam64ID идентификатор профиля игрока (на пиратках его UID называют), примерно такой: 765475....65 (17 цифр).
      2. Так называемый мною, BIS ID - uid из окна (консоли) сервера игры и ADM-файлов логов сервера, который пишется самой игрой
      3. Battleye GUID игрока.
       
      Первый идентификатор (Steam64ID) на ПК является прямым идентификатором стим-профиля игрока, уникальным у каждого игрока. Т.е. публичным идентификатором вашего профиля для большинства стим-игр (например, Counter-Strike).
      Второй идентификатор (BIS ID) является определенной хеш-суммой, полученной из Steam64ID посредством конвертации сначала в sha256, а затем в base64. Спасибо за это разъяснение и пример кода-конвертации авторам игры на своем официальном форуме.
      Третий идентификатор (Battleye GUID) является публичным идентификатором Battleye античита, получаемый также из Steam64ID поcредством получения его хеш-суммы MD5. Этот же идентификатор есть в логах сервера от Battleye, в любых RCON-приложениях (DART, BEC и т.п.), также его можно конвертировать самим.
       
      Так вот, как же получить Steam64ID:
      1. Зайти на любой ресурс, предназначенный для сбора таких данных. например на: https://steamid.io/
      2. Ввести ссылку на ваш стим-профиль
      3. Получить результат из кучи данных, одно поле из которых и будет содержать ваш Steam64ID
       
      Как получить BIS ID:
      1. Открыть любой Phyton v2.7 -конвертер в интернете, например: https://onecompiler.com/python2/3ycz55xew
      2. Ввести в него следующий код:
      # Hello World program in Python from hashlib import sha256 from base64 import b64encode def construct_bi_uid(steam_id): hashed = sha256() hashed.update(str(steam_id)) return b64encode(hashed.digest()) print construct_bi_uid(76514925976798981) 3. заменить 76514925976798981 на ваш Steam64ID
      4. Отправить код в исполнение, нажав Execute.
      5. Получить результат
       

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      [Альтернатива] Метод на основе PHP:
      <?php /** * This is how you get user id (bohemia id) like you see in .ADM files from steam id. */ $steam_id = "76514925976798981"; $user_id = base64url_encode(hash('sha256', $steam_id, true)); function base64url_encode($data) { $b64 = base64_encode($data); if ($b64 === false) { return false; } $url = strtr($b64, '+/', '-_'); return $url; } echo $user_id; [Альтернатива] Метод для javascript - node.js:
      var crypto = require('crypto'); var body = "76514925976798981"; var hash = crypto.createHash("sha256"); var hash_result = hash.update(body, 'utf8').digest('base64'); console.log(hash_result);  
      Как получить Battleye GUID:
      1. Открыть любой ресурс с готовой формой конвертирования, например:
      https://armstalker.com/guid/
      https://dayzrussia.com/f/index.php?pages/dayzguid/
      либо написать свою, на основе данных, предложенных на странице Github
      https://gist.github.com/chris579/53053b6d6438df9a9718c23c0d6bbd69
      Оставлю ниже код для Phyton:
      # Thanks to gunlinux import md5 steamid=76514925976798981 temp = "" for i in range(8): temp += chr((steamid & 0xFF)) steamid >>= 8 m = md5.new("BE"+temp) print m.hexdigest() Код для PHP:
      var crypto = require('crypto'); var body = "76514925976798981"; var hash = crypto.createHash("sha256"); var hash_result = hash.update(body, 'utf8').digest('base64'); console.log(hash_result); '2. Вставить в поле ввода UID(Steam64ID) ваш Steam64ID
      3. Нажать кнопку конвертирования или исполнить код, и получить в готовом виде Battleye GUID
       
      Возможно имеются и другие методы и наработки в получении данных идентификаторов более простыми методами, на других языках, либо автоматически. Я описал лишь известные мне.
      Все желающие могут добавить в комментариях свои способы конвертаций, возможно это поможет кому-либо.
    • Автор: 6agu
      Поставил
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
  • Наш выбор

×
×
  • Создать...

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

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