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

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

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

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

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

Изменение параметров усталости (стамины) / отключение усталости

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

Собственно, из названия понятно, что в этом гайде мы научимся отключать уровень стамины игрока, отключать усталость

Инструкция:
1)
Находим файл dta/scripts.pbo и распаковываем его при помощи PBO Manager и копируем только что распакованную папку scripts в корневую папку сервера
2) Открываем файл scripts/3_Game/constants.c и изменяем этот код под себя:

const int STAMINA_DRAIN_STANDING_SPRINT_PER_SEC = 5; //в единицах (сколько единиц выносливости отбавляется при ускорении)
const int STAMINA_DRAIN_CROUCHED_SPRINT_PER_SEC = 1; //в единицах (сколько единиц выносливости отбавляется при ускорении на корточках)
const int STAMINA_DRAIN_PRONE_SPRINT_PER_SEC = 3; //в единицах (сколько единиц выносливости отбавляется при ускорении лёжа)
const float STAMINA_DRAIN_HOLD_BREATH = 0.2; //в единицах (сколько единиц выносливости отбавляется при задержке дыхания)
const int STAMINA_DRAIN_JUMP = 20; //в единицах (сколько единиц выносливости отбавляется при прыжке)
const int STAMINA_DRAIN_MELEE_LIGHT = 5; //в единицах (сколько единиц выносливости отбавляется при лёгком ударе в ближнем бою)
const float STAMINA_DRAIN_MELEE_HEAVY = 20; //в единицах (сколько единиц выносливости отбавляется при сильном ударе в ближнем бою)
const int STAMINA_DRAIN_MELEE_EVADE = 8; //в единицах (сколько единиц выносливости отбавляется при уклонении)

Таким образом мы можем отключить усталость игрока, стамина всегда будет максимальная. Для этого нужно всего лишь установить все параметры на значение 0
 

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


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





Мне кажется надо минимизировать вмешательство в scripts и все переопределять в init.c

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


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

BorizzK об этом разработчики прямо сказали, кстати. Но пока точно ничего не ясно, будем делать так. Хотя я думаю будет как в моде, всё будет выниматься и т.д., так что пофиг наверное :biggrin:

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


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

Подскажите, какие изменения надо внести чтобы игрок не мог нанести повреждение другому игроку? В 0.62 версии я решал этот вопрос изменением файла event_assessDamage.sqf ( вставил код: if ( isPlayer _source ) exitWith {0; ProfileStop "event_assessDamage.sqf";}; ) и система игнорировала повреждения нанесенные игроком игроку. Но код 0.63 версии для меня темный лес. Насколько я понял, что то подобное, надо записать в scripts\4_World\Entities\DayZPlayerImplement.c но вот что и куда???

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


Ссылка на сообщение
Поделиться на других сайтах
В 21.09.2018 в 20:50, DrTauren сказал:

Собственно, из названия понятно, что в этом гайде мы научимся отключать уровень стамины игрока, отключать усталость

Инструкция:
1)
Находим файл dta/scripts.pbo и распаковываем его при помощи PBO Manager и копируем только что распакованную папку scripts в корневую папку сервера
2) Открываем файл scripts/3_Game/constants.c и изменяем этот код под себя:


const int STAMINA_DRAIN_STANDING_SPRINT_PER_SEC = 5; //в единицах (сколько единиц выносливости отбавляется при ускорении)
const int STAMINA_DRAIN_CROUCHED_SPRINT_PER_SEC = 1; //в единицах (сколько единиц выносливости отбавляется при ускорении на корточках)
const int STAMINA_DRAIN_PRONE_SPRINT_PER_SEC = 3; //в единицах (сколько единиц выносливости отбавляется при ускорении лёжа)
const float STAMINA_DRAIN_HOLD_BREATH = 0.2; //в единицах (сколько единиц выносливости отбавляется при задержке дыхания)
const int STAMINA_DRAIN_JUMP = 20; //в единицах (сколько единиц выносливости отбавляется при прыжке)
const int STAMINA_DRAIN_MELEE_LIGHT = 5; //в единицах (сколько единиц выносливости отбавляется при лёгком ударе в ближнем бою)
const float STAMINA_DRAIN_MELEE_HEAVY = 20; //в единицах (сколько единиц выносливости отбавляется при сильном ударе в ближнем бою)
const int STAMINA_DRAIN_MELEE_EVADE = 8; //в единицах (сколько единиц выносливости отбавляется при уклонении)

Таким образом мы можем отключить усталость игрока, стамина всегда будет максимальная. Для этого нужно всего лишь установить все параметры на значение 0
 

сделал точно как написано - никаких изменений, что могло пойти не так? Разобрался, у меня загрузка не позволяет бегать, скажите где искать этот параметр?

Изменено пользователем SwerviLion (история изменений)

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


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

после последней обновы не стамина не отключение голода и жажды не работает.

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


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

сейчас работает этот способ ?

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


Ссылка на сообщение
Поделиться на других сайтах
9 минут назад, belenkiy2 сказал:

сейчас работает этот способ ?

Если эти параметры присутствуют и сейчас в скрипте то значит работают.

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


Ссылка на сообщение
Поделиться на других сайтах
9 минут назад, DimitriPokki сказал:

Если эти параметры присутствуют и сейчас в скрипте то значит работают.

я вот не проверял, 

надо тестить, но вот человек выше говорит, что не работает. 

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


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

belenkiy2 Жди завтра релиз игры да и будет понятно что и как дадут новую тех информацию разрабы.

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


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

BorizzK Если они хотят большое комьюнити им придется идти с ней на контакт а значит дать новую тех инфу по серверам и со след обновами.

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


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

SwerviLion belenkiy2 автор темы забыл упомянуть что нужно в файле запуска сервера прописать -Filepatching

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


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

SwerviLion у меня все заработало ! сделай как описано выше затем PBOManager  запакуй папку которую ты извлекал но уже с измененным параметром !  

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


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

andrio4312 лол зачем все запаковывать проще прописать в запуске сервера -FilePathing и держать в корневой директории сервера распакованный файл scripts.pbo

Изменено пользователем PJIIOxa (история изменений)

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


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

PJIIOxa Подскажи пожалуйста, я все сделал по данному руководству , папку распаковал и закинул в директорию сервера показатели стамины изменил сохранил и в батнике прописал  -FilePathing,  но ничего не изменилось, стамина работает по умолчанию,  а вот если изменить и запаковать обратно папку скрипт то с сервера изгоняет. Может есть решение, как на стороне сервера изменить стамину ?

Изменено пользователем Altair (история изменений)

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


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

при изменении параметра максимального значения стамины со 100 на 200 у персонажа прицел ведет при прицеливании от бедра то влево то вправо пока не окажется за спиной. как это лечить?? где я накосячил?? причем путем исключения я вычислил что именно этот параметр у меня так ломает перса.

Изменено пользователем Spoon56 (история изменений)

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


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

Если достать файл из Scripts.PBO слетает подписка всех файлов и когда вставляешь подписка пустая. Вариант сгенерировать новую не подходит ибо после будет выбивать ошибку с dta PBO ...

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


Ссылка на сообщение
Поделиться на других сайтах
5 часов назад, Hnbaal сказал:

Если достать файл из Scripts.PBO слетает подписка всех файлов и когда вставляешь подписка пустая. Вариант сгенерировать новую не подходит ибо после будет выбивать ошибку с dta PBO ...

Какой-то хренью ВЫ занимаетесь

Достать файл

Подписка

Зачем

Взяли файлик открыли посмотрели скопировали! из скриптс - изменили-отмоддили запаковали в свой сервермод


 

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


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

@BorizzK Может люди любят нетрадиционные пути извращения....И да, в последней экспе вроде стамину починили. Но...если как обычно менять,то обычный баг с индикатором так и остался.

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


Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, paranoyk сказал:

@BorizzK Может люди любят нетрадиционные пути извращения....И да, в последней экспе вроде стамину починили. Но...если как обычно менять,то обычный баг с индикатором так и остался.

главное за 100 не выходить

а так все норм с ней

я чуть подкорректировал правда

никаких проблем

заодно отмоддив класс убрал кой-чего лишнего/переделав код (оптимизировал) тем самым добавив фпсов серверу (как мне показалось)

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


Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, paranoyk сказал:

@BorizzK Индикатор без рывков работает?

 

штатно

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


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

@BorizzK Хм, значит правильно сделали, у меня не получается увеличить....бум копать дальше.

 

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


Ссылка на сообщение
Поделиться на других сайтах
13 часов назад, BorizzK сказал:

главное за 100 не выходить

а так все норм с ней

я чуть подкорректировал правда

никаких проблем

заодно отмоддив класс убрал кой-чего лишнего/переделав код (оптимизировал) тем самым добавив фпсов серверу (как мне показалось)

Блин, понял свой косяк ... Сам себя запутал ... Формат .c не назначен был на открытие через notepad и ошибка была ...)

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: 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
       
      Возможно имеются и другие методы и наработки в получении данных идентификаторов более простыми методами, на других языках, либо автоматически. Я описал лишь известные мне.
      Все желающие могут добавить в комментариях свои способы конвертаций, возможно это поможет кому-либо.
    • Автор: vitacite
      Бесплатные проекты - "пацаны собрались и замутили сервачок" долго не живут.  В этом я убеждался много раз. Нет сначала на интузиазме эффективность неплохая, но затем все это затухает управляемость команды падает.  Начинаются вопросы - "а почему это должен делать я?",  отмазки "да я на даче сегодня", "да у меня командировка" и тд...  + кто-то должен спонсировать оплату сервера, антидудосов и прочей лобуды, а такого человека интерес тоже может пропасть в любой момент. А чтобы проект был хороший - кому-то надо реально "въебывать", как на второй работе, и  кому-то постоянно вливать туда бабло.
      Поэтому, лично я, считаю любой некоммерческий проект заранее проваленным!  Побегать недельку другую с друзьями это да. Что-то более серьезное, не тратьте свои силы и время! Как минимум на  тему сталкера я таких проектов видел 10 штук и в некоторых даже сам поучаствовал. Начиналось все амбициозно и даже набирало онлайн до 100 человек. Но заканчивалось все одинаково 3-4 месяца и с десято скучающих тел, на безлюдном сервере.  С точки зрения администации, игроки ведут себя как проститутки, бегая с сервера на сервер, друзья перешли, или потому что на том добавили новый прикольный скрип, или прикольную тачку, или тут плохой пинг, а там хороший, или админ козел забанил за читы и тд.  а все эти приколюхи требуют денег, а игровое сообщество не очень расположено их платить за некачественный контент. Да и сама администрация достаточно быстро забивает и расслабляется.
      (я сейчас не говорю о конкретном проекте, скорее это собирательный образ халявы).
       
      А теперь по-существу.  Так сколько должен стоить контент с хотя бы приемлемым качеством?  

      Свое мнение я написал ниже.
       
       
      Спасибо за внимание.
       
      А что думаете Вы напишите ниже в комментариях!
       
       
    • Автор: DrTauren
      Как всем известно, сегодня, 19 сентября разработчики DayZ Standalone официально опубликовали документацию серверов Dayz, а также предоставили возможность скачать файлы для запуска сервера DayZ. Ниже прилагается перевод официальной документации этих самых файлов с форума DayZ, а также документация касательно других файлов, которых нет в официальной документации. Пользуйтесь на здоровье 
       
      Скачать серверные файлы через Steam: steam://rungameid/223350
      На данный момент присутствует ошибка с невозможностью скачать файлы сервера, если на вашем аккаунте Steam отсутствует купленная DayZ.
       
      P.S. Если у вас есть чем заполнить эту статью, обязательно пишите мне в лс 
    • Автор: Serdce
      Ссылка на первоисточник - https://github.com/BrettNordin/Exile
      Я всего лишь перевёл
      Собственно переходим по ссылке, и скачиваем архив.
      Для тех, кто не знает как качать с хаба скрин 
      И так, едем дальше
      Скачанный архив распаковываем в удобное место для работы,
      Идём в ваш @ExileServer, там нас интересуют файлы - extDB2.dll , extDB2.so , extDB2-conf.ini , XM8.dll , XM8.so Удаляем эти файлы
      Далее идём в @ExileServer которую мы скачали, всё её содержимое копируем в аналогичную папку на сервере.
      Теперь идём в вашу MPmissions и там распаковываем вашу миссию "Exile.название карты",
      Туда мы копируем содержимое папки Exile.MapName из архива,
      Далее открываем ваш config.cpp и ищем там class CfgExileCustomCode 
      В него мы добавляем - #include "CfgExileCustomCode.cpp"
      Должно получится так
      Запаковываем обратно)
      Ну и теперь из архива мы копируем tbbmalloc.dll, tbbmalloc_x64.dll в папку расположения вашего Arma3_server.exe
      Не забываем поменять в вашем файле запуска сервера с arma3server.exe на arma3server_x64.exe 
      Ну и финишная прямая, открываем вашу базу данных ( желательно с название exile ) и добавляем файл Exile_Database_Update_64x.sql
      Далее настройте под себя ваш extdb3-conf.ini
       
  • Наш выбор

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

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

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