Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
  • 0
overkill

Файл обрабатывающий урон и получение хуманити!

Доброго времени суток! Недавно столкнулся с проблемой, что игроки не получают урона при падениях с любой высоты, как это можно исправить и какой файл за это отвечает?

Какой ещё файл, за исключением player_death выдаёт игроку хуманити?

 

P.s. fn_damageHandler я уже правил и ничего не помогло. подключал его тоже правильно.

 

Надеюсь на вашу помощь

Edited by overkill (see edit history)

Share this post


Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Если стоит последний инфистар, то в AHconfig найди _blockDamageFrom = [

и закомментируй следующую строку с кавычками. Должно получиться типа того:

_blockDamageFrom = [
    //'', 

Share this post


Link to post
Share on other sites



  • 0

Какой ещё файл, за исключением player_death выдаёт игроку хуманити?

 

\z\addons\dayz_code\compile\fn_damageHandler.sqf

Share this post


Link to post
Share on other sites
  • 0

 

\z\addons\dayz_code\compile\fn_damageHandler.sqf

Я же писал что уже правил его, и на стандартный менял, все впустую

Share this post


Link to post
Share on other sites
  • 0

тогда посмотри в этих файлах, все они работают с хуманити:

gather_zparts.sqf

trade_items_wo_db.sqf

fn_selfActions.sqf

local_eventKill.sqf

player_humanityChange.sqf

player_humanityMorph.sqf

player_updateGui.sqf

player_monitor.fsm

Edited by JustBullet (see edit history)

Share this post


Link to post
Share on other sites
  • 0

тогда посмотри в этих файлах, все они работают с хуманити:

gather_zparts.sqf

trade_items_wo_db.sqf

fn_selfActions.sqf

local_eventKill.sqf

player_humanityChange.sqf

player_humanityMorph.sqf

player_updateGui.sqf

player_monitor.fsm

а урон какой файл обрабатывает еще кроме дамагХендлера?

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 BorizzK
      Вобщем тема такая
       
      1я задачка была такая
      Нужно получить координату на плоскости под углом на расстоянии от текущей координаты
      Задачку решил тут
      Код в итоге таков:
       
      например выведем в лог  координаты точки на плоскости на расстоянии 2м и под углом 90 град (справа) от игрока (вызвав функцию PrintCoords, передав ей в качестве параметра переменную содержащую ссылку на перса игрока)
       
      void PrintCoords(PlayerBase player) { float distance = 2; float anglerotation = 90; Print("Coordinates on the plane at distance " + distance + " and at an angle relative to the player: " + anglerotation + ": " + GetCoords(player, distance, anglerotation).ToString()); } vector GetGoords(PlayerBase player, float distance, float anglerotation) { return GetPosFromDistAndAngle(player.GetPosition(), distance, player.GetOrientation()[0] + anglerotation); } vector GetPosFromDistAndAngle(vector pos, float dist, float angle) { angle = Math.NormalizeAngle(angle) * Math.DEG2RAD; pos[0] = pos[0] + (double)(Math.Sin(angle) * dist); //offset X pos[2] = pos[2] + (double)(Math.Cos(angle) * dist); //offset Y return pos; }  
      Это была задачка 1 и она была решена!
       
      далее надо решить более сложную задачу - она будет номер 2
       
      Надо вычислить координату не на плоскости, а вообще в пространстве, взяв в качестве поправок значения pitch и roll (наклон по поперечной и продольной осям) которые получаются из функции  обьект.GetOrientation() - первое значение масива типа вектор которое возвращает функция - угол на плоскости, второе угол в поперечной оси, третье в продольной (вроде так)
       
      те если игрок, да не важно, просто обьект, имеет наклон в поперечной оси 45 градусов (от так как этот слэш /), то точка под углом на плоскости относительно игрока 90град и расстоянии 2м "справа для него будет 'ниже', чем слева"
       
      врбщем -  нам надо получить координату под улом 90град на плоскости, 45град по вертикали и расстоянии 2м от него слева
       
      воот
       
      и тут у меня мозг взорвался (и почему-то захотелось вискаря)
       
      я понимаю что в данном случае нужно отталкиваться от поперечной вертикальной плоскости... но чет не догоняю как........
       
       
    • By 123new
      Нам понадобится:
      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 игрока на сервере ваш файл с данными по игрокам будет присутствовать и заполняться информацией, а в случае их отсутствия удаляться.
    • By BorizzK
      Чет затупил нещадно
      Делал как-то еще на 063 но куда-то дел код
       
      Получаем в цикле что на игроке и пытаемся получить что в вещах
      AttCount = player.GetInventory().AttachmentCount();
      for ( int i = 0; i < AttCount; i++ )
      {
      attachment = player.GetInventory().GetAttachmentFromIndex(i);
         if ( attachment.IsItemBase() )
         {
           SubAttCount = attachment.GetInventory().AttachmentCount();
           for ( int a = 0; a < SubAttCount; a++ )
           {
               subattachment = attachment.GetInventory().GetAttachmentFromIndex(a);
           }
         }
      }
       
      Если находится akm, то attachment.GetInventory().AttachmentCount(); и далее работает
      Если например куртка или штаны - то нет, чет запамятовал, как получить содержимое в случае курки, рюкзака???
      ...
       
      Спасибо!
    • By ZigoFrend
      Сервер крашится с вот такой ошибкой 
      ---------------------------
      DayZ
      ---------------------------
      Out of memory.
      Your swap file is too small, only 3 MB of free space left.
      Increase your swap file size or delete some files from your hard disk
      ---------------------------
      ОК   
      ---------------------------
      что в переводе 
       
      --------------------------- DayZ --------------------------- Недостаточно памяти. Ваш файл подкачки слишком мал, осталось только 3 МБ свободного места. Увеличьте размер файла подкачки или удалите некоторые файлы с жесткого диска --------------------------- ОК ---------------------------
       
       
      Что подскажите просто не хватает оперативы ??
       
       
    • By KING324
      Всем привет,хотелось бы узнать как можно получить кол-во нар в верталёте.
      написал  такой код,но работает почему то не на всей технике
      _array = []; for "_i" from -1 to 3 do { _weapons = _vehicle weaponsTurret [_i]; if((count _weapons) > 0) then { { _weapon = _weapons select _forEachIndex ; _ammo = _vehicle ammo _weapon; _array set [count _array,[_i,[_weapon,_ammo]]]; } forEach _weapons; }; }; hint format["%1 ",_array]; copyToClipboard str _array;  
  • Our picks

×
×
  • 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.