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

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

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

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

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

Как изменить количество получаемого хюманити за помощь игрокам

Рекомендованные сообщения

Как изменить количество получаемого хьюманити за помощь игрокам

1. Качаем прикрепленный файл, открываем папку с миссией
2.а. Если миссия голая и в ней не имеется файла compiles.sqf, то просто скидываем все файлы в корень папки миссии и переходим к пункту настройки.

2.б. Если compiles.sqf имеется, то добавляем в него строку:

 fnc_usec_damageActions =        compile preprocessFileLineNumbers "$НАЗВАНИЕ ПАПКИ, В КОТОРОЙ ЛЕЖИТ COMPILES.SQF$\fn_damageActions.sqf"; 

 

----------------------------------------------------------------------------------------------------------------

 

 

 

Скидываем из папки scripts прикрепленного документа фаилы в папку с compiles.sqf
----------------------------------------------------------------------------------------------------------------
3. Открываем fn_damageActions.sqf, через поиск находим блок с путями при помощи слов:" //Allow player to bandage ", и редактируем строки:
 

 //Allow player to bandage
    if(_injured and _hasBandage) then {
        r_action = true;
        _action = _unit addAction [localize "str_actions_medical_04", "$НАЗВАНИЕ ПАПКИ, В КОТОРОЙ ЛЕЖИТ COMPILES.SQF$\medical\bandage.sqf",[_unit], 0, true, true, "", ""];
        r_player_actions set [count r_player_actions,_action];
    };
    //Allow player to give Epinephrine
    if(_unconscious and _hasEpi) then {
        r_action = true;
        _action = _unit addAction [localize "str_actions_medical_05", "$НАЗВАНИЕ ПАПКИ, В КОТОРОЙ ЛЕЖИТ COMPILES.SQF$\medical\epinephrine.sqf",[_unit], 0, true, true];
        r_player_actions set [count r_player_actions,_action];
    };
    //Allow player to give Morphine
    if((_legsBroke or _armsBroke) and _hasMorphine) then {
        r_action = true;
        _action = _unit addAction [localize "str_actions_medical_06", "$НАЗВАНИЕ ПАПКИ, В КОТОРОЙ ЛЕЖИТ COMPILES.SQF$\medical\morphine.sqf",[_unit], 0, true, true, "", ""];
        r_player_actions set [count r_player_actions,_action];
    };
    //Allow player to give Painkillers
    if(_inPain and _hasPainkillers) then {
        r_action = true;
        _action = _unit addAction [localize "str_actions_medical_07", "$НАЗВАНИЕ ПАПКИ, В КОТОРОЙ ЛЕЖИТ COMPILES.SQF$\medical\painkiller.sqf",[_unit], 0, true, true, "", ""];
        r_player_actions set [count r_player_actions,_action];
    };
    //Allow player to transfuse blood
    if(_lowBlood and _hasBlood) then {
        r_action = true;
        _action = _unit addAction [localize "str_actions_medical_08", "$НАЗВАНИЕ ПАПКИ, В КОТОРОЙ ЛЕЖИТ COMPILES.SQF$\medical\transfusion.sqf",[_unit], 0, true, true, "", ""];
        r_player_actions set [count r_player_actions,_action];
    };

 

 

 

 

Настройка:

1. Заходим в папку medical и откроем для примера фаил transfusion.sqf
2. Внизу фаила будет блок:

if (_finished) then {
    _unit setVariable["LastTransfusion",time,true];
    _unit setVariable["USEC_lowBlood",false,true];
    _num_removed = ([player,"ItemBloodbag"] call BIS_fnc_invRemove);
    if(_num_removed == 1) then {
    
        /* PVS/PVC - Skaronator */
        PVDZE_send = [_unit,"Transfuse",[_unit,player]];
        publicVariableServer "PVDZE_send";

        [player,20] call player_humanityChange;
    };
} else {
    r_interrupt = false;
    player switchMove "";
    player playActionNow "stop";
}; 

 

Число 20 означает сколько человечности дадут тому, кто переливал кровь. 
По такой же системе редактируем другие фаилы.

---------------------------------------------------------------------------------------------
Архив с фаилами: http://puu.sh/8WvuW.rar

Для наглядности покажу, как по сути должно все выглядеть

 

8WvBB.png:

Отдельное спасибо модератору NoNameUltima за помощь)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах



Спасибо! для нубов как я - полезная инф

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А можно ли как-то зафиксировать кол-во хуманити выдаваемое за убийство игрока, что бы зависело не от нанесённого урона? Dayz Epoch

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

А можно ли как-то зафиксировать кол-во хуманити выдаваемое за убийство игрока, что бы зависело не от нанесённого урона? Dayz Epoch

тоже интерисует. Изменено пользователем BIG_MONSTR (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

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

    • Автор: DarkShy
      Приветствую! 
      Купил  мод. При подписи ошибок не возникает, если его одного использовать - все ок, но если добавить еще один мод в addons, то при входе клиента на сервер вываливается ошибка, что мол подписи не совпадают.
      Ключ один использовал, ключ в "ключах" лежит. 
      "Клиентский PBO не является частью сервера. Убедитесь, что мод установлен правильно, и вы не добавили новых PBO. Попробуйте восстановить мод через средство запуска."
    • Автор: 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
       
      Возможно имеются и другие методы и наработки в получении данных идентификаторов более простыми методами, на других языках, либо автоматически. Я описал лишь известные мне.
      Все желающие могут добавить в комментариях свои способы конвертаций, возможно это поможет кому-либо.
    • Автор: mrDante
      Всем привет,первая Тема от меня..
      вопрос заключается в следующем,как отключить постройки статичные колонок с водой чистой(условно)?
      а зачем!?
      ну такова задумка,по сценарию...что бы игроки на PVE кипятили воду сами..
      в mpmissions я все cfg*****.xml комментировал имена и позиции, с ними, как положено <!--***-->..все map********.xml пересмотрел,перепроверил..
      стоят моды : @AdvancedBanking;@Airdrop-Upgraded;@CF;@Code Lock;@CJ187-Cars;@CJ187-MoreCrashsites;@GraveCross;@KillFeed;@MedicalAttentionUpdated-DepHelper-Vanilla;@MedicalAttentionUpdated-Core;@MedicalAttentionUpdated;@LessLessAnimalMeat;@No-Vehicle-Damage;@PartyMe;@ToxicZone;@Trader;@TraderFix_v2;@VanillaPlusPlusMap;@VPPAdminTools....
      но они всё равно на карте имеются...то есть,я на сервере их вижу и могу с ними контактировать...
      куда рыть?
      спасибо...
      P.S.
      прошу не угарать,надо мной,я не профи-скриптер,самоучка,которому пригорело ставить свой Сервер для народа...
      спасибо!
    • Автор: Pinya
      Добрейшего времени суток товарищи. Намечается полноценный ПРОЕКТ с некоторым числом серверов и блаблабла, это никому не интересно. Дело в том, что в процессе реализации возникли "небольшие" трудности. Прошу помочь тех, кто реально занимался proxmox, в курсе матчасти Linux'а или тех кто уже сталкивался с этим.

      Суть проблемы:
      Имеется Proxmox для виртуализации машинок. Discord bot'a, Windows Server для запуска серверов DayZ и т.д. Дело в том, что запуская .bat на виртуалке, сервер просто не ищется в списке лаунчера, но если поменять DMZ на адрес этой машины - всё работает, но теряется удаленный доступ к Proxmox (об этом позже).

      Вот что нужно знать понимания ситуации в будущем:
      IP адреса следующие:
      Роутер (Шлюз) - 145.254
      Proxmox - 145.250
      Windows Server (Dayz) - 145.245 - VM
      DMZ настроен на - 250

      Что имеем в итоге:
      Выставив в роутере DMZ на 245 - Можно запускать сервак любой игры с любым портом и он будет виден по внешнему (белому) IP. НО доступ к вебморде proxmox'а - не будет, т.к. пакетики идут на 245.
      Костыль: Сделать RDP на 245 и через него гулять на 250 - не годится!

      Далее выставив DMZ на 250 - Сервер любой игры доступен НЕ будет! НО доступ к вебморде proxmox'a - появится. Однако если вручную прокинуть порт того же Minecraft (самое простое что нашёл, простите) через rinetd - то он работает. с DayZ такое не прокатывает.

      В интернете пишут про правила iptables и firewall, но ничего из этого не помогло. DayZ использует зачастую рандомные порты по udp и создавать здоровенный список правил в rinetd - это минус к отклику сервера а также безопасности.

      Может кто сталкивался с любым поднятием сервера на Linux и в курсе этой темы - подскажите как решали. Неделя отчаянной работы уже заставляет краем глаза посматривать на кошелёк чтобы это сделал хоть кто-то более шарящий в этом деле, но желательно всё же объяснил. Заранее спасибо всем кто откликнется - жду всех на обсуждение. В случае успеха можно будет написать статейку по настройке на форум.
  • Наш выбор

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

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

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