Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Нужна помощь?

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

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

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок
  • Загляните на торговую площадку

    Там вы можете купить
    Всё что касается игровых серверов
  • 0
GaspArt

Изменение хюманити после смерти

Добрый вечер ребята, я опять к вам с бедой)

Пробовал сделать, чтобы после смерти игрока у него отнималось хюманити. Собсно пошаманил с player_death.sqd, замедово изменив путь в compiles и инфистаре. Добавил туда небольшой код:

 

	_body setVariable ["deathType",_method,true];
};
 

//////////// начало добавленного кода
_DeadHumanity = player getVariable["humanity",0];
_DeadHumanity = _DeadHumanity - 100;
player setVariable ["humanity", _DeadHumanity , true]; 
//////////// конец добавленного кода

terminate dayz_musicH;
terminate dayz_slowCheck;


В итоге, после смерти хюманити отменяется, но спавнюсь с прежним количеством. 

Гуглить гуглил - нашел только подобные же вопросы.

В спавне\смерте вооообще не шарю. Вот собсно просьба помочь. Спасибо, ребят)

Share this post


Link to post
Share on other sites

12 answers to this question

Recommended Posts

  • 0

Не подскажешь поточнее где искать?) Я с серверной частью на Вы. не уверен, но может в server_playerDied ? :D

 

 

Кек, дык разницы нет. Но спасибо за пару сэкономленных килобайтов :D

 

Реализация и файл в котором отнимать, от системы зависит. - Сколько ты хочешь снимать, и при каких условиях. - Если все равно - просто снимать за смерть и со всех одинаково, то можно попроще сделать, а если с какими то условиями, то -

Посмотри в каком скрипте перезаписывается переменная в БД, о том что игрок мертв. Вот там же и делай - отними хуму и перезапиши.

Share this post


Link to post
Share on other sites



  • 0

_DeadHumanity = player getVariable['humanity',0];
player setVariable ['humanity', _DeadHumanity-100 , true];

Share this post


Link to post
Share on other sites
  • 0

_DeadHumanity = player getVariable['humanity',0];

player setVariable ['humanity', _DeadHumanity-100 , true];

Шоб он без тебя делал то))))

У него так и реализовано)

 

to GaspArt

Так ты хуму не сменишь. При смерти игрока, ПВ  сервером не обрабатываются. - Игрок уже мертв.

На сервере делай.

Share this post


Link to post
Share on other sites
  • 0

Шоб он без тебя делал то))))

У него так и реализовано)

 

to GaspArt

Так ты хуму не сменишь. При смерти игрока, ПВ  сервером не обрабатываются. - Игрок уже мертв.

На сервере делай.

Не подскажешь поточнее где искать?) Я с серверной частью на Вы. не уверен, но может в server_playerDied ? :D

 

точнее вот так

 

_DeadHumanity = player getVariable['humanity',0];

_body setVariable ['humanity', _DeadHumanity-100 , true];

 

Кек, дык разницы нет. Но спасибо за пару сэкономленных килобайтов :D

Edited by GaspArt (see edit history)

Share this post


Link to post
Share on other sites
  • 0

Можно по подробнее,как ты сделал через клиент?

 

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

Хоть одинаково со всех) лишь бы записывалось в бд.

Share this post


Link to post
Share on other sites
  • 0

Хотя, туплю... Не всегда игрок живым "попадает" в player_death... 

В setup_functions_med есть:

addEventHandler "Killed" - вот туда можно прикрутить. Хотя, снова туплю) Там уже мертвец)

Edited by Alexandr116ru (see edit history)

Share this post


Link to post
Share on other sites
  • 0

а что если хумка иногда падает до стандартной после смерти??

Share this post


Link to post
Share on other sites
  • 0

хумка падает до стандартной если умер и не респанулся до рестарта серва

Edited by Nevma (see edit history)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By 123new
      Такого плана вопрос по моддингу на 1.0.
      В моде есть, например, класс:
      class ExpansionGlobalChat с кучей функций
      создаю свой мод, в котором указываю
      modded class ExpansionGlobalChat { override void GlobalChat(CallType type, ref ParamsReadContext ctx, ref PlayerIdentity sender, ref Object target) { super.GlobalChat(type, ctx, sender, target); Param2< string, string > data; if ( !ctx.Read( data ) ) return; if( type == CallType.Server ) { string name = sender.GetName(); string steamid = sender.GetPlainId(); string bisid = sender.GetId(); string idtable = sender.GetPlayerId().ToString(); string log_date_time = ExpansionGetDateTime(); string format = "[" + log_date_time + "] " + "[Chat]" + " " + name + "(steamid=" + steamid + ", bisid=" + bisid + ") " + data.param2; Print(format); } } } и пакую, запускаю сервер. Пишет как на скрине.

      Если modded убираю - пишет что класс уже используется. Что я не так делаю? Как делать правильно? не допираю.
    • By NoNameUltima
      После обновлений, публикуйте в данной теме, проблемы.
       
      P.S. Надо бы данную тему закрепить, ибо чую часто будет нужна.
       
      В текущей обнове не работает FileMode.WRITE, что собсно ломает множество скриптов, которым требуется запись\перезапись в файлы.
      т.е. запись не работает, т.к. при открытии файла, функция OpenFile, с режимов WRITE(открыть на перезапись) всегда возвращает 0.
    • By 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
       
    • By pekar0201
      Приветствую всех!
      Каким образом можно реализовать тайм-аут после выбора вип-набора в ESS V2 ???
      Т.е., после выбора определённого набора игрок не сможет выбрать его повторно определённое количество времени.

      За адекватные ответы ставлю плюсы.
    • By saikodelic
      Всем привет ребята! Подскажите какие файлы отвечают в папке storage_1337 БД. За лут который спавнится после рестарта сервера. В моем случае проблема такая, лут после рестарта не обновляется. И даже те вещи которые я скинул к примеру с персонажа они так же лежат на земле. 

      И вопросик номер два. Какой файл отвечает за сохранность лута в палатках, самих палаток и бочек. 
      ЗАРАНЕЕ СПАСИБО ЗА ОТВЕТ И ПОМОЩЬ! 
×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.