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

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

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

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

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

Фиксированая человечность (humanity)

Можно ли в настройках сервера или каким-нибудь ещё способом сделать фиксированое хуманити за  убийство игрока?

К примеру:

Убил кепку получи - 200 хуманити

Убил бандита получи + 500

Убил героя получи - 500

Заливка крови и прочая медицина - по +20.

 

Просто какие бы огромные цифры допуска по хуманити не ставь, 2 игрока с мк48 набьют это хуманити за пару тройку смертей.

 

Сервер Dayz Epoch 1.0.5.1, Infistar если это важно.

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

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


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

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

  • 0

Так вроде был гайд на сайте. В разделе Эпохи. (изменение параметров человечности)

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


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





  • 0

Поиск ничего подобного ни по humanity ни по человечность не находит. Если можно, тыкните носом пожалуйста )

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


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

Это замечательно. Но не решает проблему с набиванием хуманити вниз, при расстреле в упор игрока из пулемёта калибра 7.62. Я так понимаю хуманити от нанесёного урона настроенно(чем больше урона - тем больше -) хотелось бы именно это пофиксить.

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: Sovest2
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

      Подготовка
      Для начала нам понадобится подключить кастомный player_death.sqf в compiles.sqf
      Делается это следующим образом:
      В compiles.sqf заменить строку 
      player_death = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_death.sqf"; на
      player_death = compile preprocessFileLineNumbers "*ВАШ ПУТЬ*\player_death.sqf";  
      Если у вас стоит инфистар,то необходимо заменить строку в AH.sqf
      _death = compile preprocessFileLineNumbers '\z\addons\dayz_code\compile\player_death.sqf'; на
      _death = compile preprocessFileLineNumbers '*ВАШ ПУТЬ*\player_death.sqf';  
      В вашем кастомном player_death.sqf необходимо заменить 
      _array = _this; if (count _array > 0) then { _source = _array select 0; _method = _array select 1; if ((!isNull _source) && (_source != player)) then { _canHitFree = player getVariable ["freeTarget",false]; _isBandit = (player getVariable["humanity",0]) <= -2000; _punishment = _canHitFree || _isBandit; //if u are bandit || start first - player will not recieve humanity drop _humanityHit = 0; if (!_punishment) then { //i'm "not guilty" - kill me && be punished _myKills = ((player getVariable ["humanKills",0]) / 30) * 1000; _humanityHit = -(2000 - _myKills); _kills = _source getVariable ["humanKills",0]; _source setVariable ["humanKills",(_kills + 1),true]; PVDZE_send = [_source,"Humanity",[_source,_humanityHit,300]]; publicVariableServer "PVDZE_send"; } else { //i'm "guilty" - kill me as bandit _killsV = _source getVariable ["banditKills",0]; _source setVariable ["banditKills",(_killsV + 1),true]; }; }; _body setVariable ["deathType",_method,true]; }; на
      _array = _this; if (count _array > 0) then { _source = _array select 0; _method = _array select 1; if ((!isNull _source) && (_source != player)) then { [player,_source]execVM "*ВАШ ПУТЬ*\humanityChange.sqf"; [player,_source]execVM "*ВАШ ПУТЬ*\kill_msg_send.sqf"; }; _body setVariable ["deathType",_method,true]; }; Отображение ника убийцы(Kill message)
       
      Создаем файл и закидываем в миссию файл kill_msg_send.sqf
      С содержанием
      private ["_victim","_killer","_vehicle","_weapon","_pic"]; _victim = _this select 0; _killer = _this select 1; _killerName = name _killer; _victimName = name _victim; _vehicle = typeOf (vehicle _killer); _weapon = currentWeapon _killer; if ((getText (configFile >> "CfgVehicles" >> _vehicle >> "vehicleClass")) in ["CarW","Car","CarD","Armored","Ship","Support","Air","ArmouredW","ArmouredD","SupportWoodland_ACR","AllVehicles"]) then { _pic = gettext(configFile >> 'CfgVehicles' >> _vehicle >> 'picture'); } else { _pic = gettext(configFile >> 'cfgWeapons' >> _weapon >> 'picture'); }; _kill_txt = format ["<t align='left' size='0.5'>%1 </t>",_victimName]; _kill_txt = _kill_txt + format ["<img size='1.0' align='left' image='%1'/>",_pic]; _kill_txt = _kill_txt + format ["<t align='left' size='0.5'> %1 </t>",_killerName]; PVDZE_send = [player,"kill_message",[_kill_txt]]; publicVariableServer "PVDZE_send";  
      Далее,нам необходимо отредактировать файл server_sendToClient.sqf ,которой находится в директории сервера
      И добавить после
      case "tagFriendly": { PVDZE_plr_FriendRQ = _arraytosend; _owner publicVariableClient "PVDZE_plr_FriendRQ"; }; Это
      case "kill_message": { custom_kill_message_show = _arraytosend; publicVariable "custom_kill_message_show"; }; Теперь необходимо создать файл kill_msg_show.sqf в папке с вашей миссией
      с содержимым
      private ["_pos","_i"]; arr_kill = ["","","","","",""]; fnc_kill_message = { private ["_finaltxt"]; _finaltxt = _this select 0; for[{_i = 0},{(_i<6)},{_i = _i +1}] do { if((arr_kill select _i) == "") then { arr_kill set [_i,_finaltxt]; [_i] execVM "*ВАШ ПУТЬ*\kill_msg_delete.sqf"; _i = count(arr_kill); }; }; }; "custom_kill_message_show" addPublicVariableEventHandler {(_this select 1) call fnc_kill_message;}; while {true} do { _pos = 0.01; _layout = 1001; { [_x,[safezoneX + 0.01 * safezoneW,2.0],[safezoneY + _pos * safezoneH,0.3],5,0.5,0,_layout] spawn BIS_fnc_dynamicText; _pos = _pos + 0.021; _layout = _layout + 1; } ForEach arr_kill; sleep 1; }; Создать файл kill_msg_delete.sqf с 
      private["_pos"]; _pos = _this select 0; sleep 10; arr_kill set [_pos,""];  
      И вставить в init.sqf после строки
      _playerMonitor = [] execVM "custom\player_monitor.sqf"; строку
      execVM "*ВАШ ПУТЬ*\kill_msg_show.sqf"; Осталось только добавить
      custom_kill_message_show В первую строку файла publicvariable.txt
       
      Все,отображение ника убийцы готово!
       
       
      Изменение человечности за убийство Бандита\Героя
      создать файл humanityChange.sqf с содержимым
      private ["_victim","_killer","_myKills","_humanity","_killerHumanity","_isKillerBandit","_isBandit","_humanityHit","_kills","_killerGunner"]; _victim = _this select 0; _killer = _this select 1; _humanity = _victim getVariable["humanity",0]; _killerHumanity = _killer getVariable["humanity",0]; _isKillerBandit = (_killerHumanity) < 0 ; _isBandit = (_humanity) < 0; _humanityHit = 0; _myKills = 0; _killerVehicle = vehicle _killer; if(((!_isBandit) && _isKillerBandit) || (_isBandit && (!_isKillerBandit))) then { _myKills = round((_humanity) / 10); }; if(!_isBandit) then { _myKills = (_myKills + 200); _kills = _killer getVariable ["humanKills",0]; _killer setVariable ["humanKills",(_kills + 1),true]; } else { _myKills = (_myKills - 200); _kills = _killer getVariable ["banditKills",0]; _killer setVariable ["banditKills",(_kills + 1),true]; }; _killerGunner = gunner _killerVehicle; if(!isNil"_sourceGunner") then { _killer = _killerGunner; }; _humanityHit = _myKills * (-1); PVDZE_send = [_killer,"Humanity",[_killer,_humanityHit,300]]; publicVariableServer "PVDZE_send"; Изменение Человечности готово!
       
      Плюсы Всего этого:
      Отображение ника убийцы теперь работает всегда и корректно.(Если убивают с техники или с одного выстрела).
    • Автор: TheFirstNoob
      Описание: Дает определенное количество денег за убийство игроков и/или зомби
      Автор: oldmatechoc (Epochmod.com)
      Оригинал: 
      https://epochmod.com/forum/topic/43898-kill-coin-rewards/
      Потребуется:
      ОБЯЗАТЕЛЬНО: Монетная валюта (ZSC!)
      1. сompiles.sqf (из dayz_code\init)
      2. local_eventKill.sqf (из dayz_code\compile) - Если даем зомби
      3. player_death.sqf (из dayz_code\compile) - Если даем игроку
      P.S. Иные файлы где используются выше сказанные. Например: infistar (AH.sqf)

      Установка (За убийство Зомби):
      1. Поменять путь до файла local_eventKill.sqf в сompiles.sqf
      Найти:
      local_eventKill = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_eventKill.sqf"; Заменить (Поменять на свое!):
      local_eventKill = compile preprocessFileLineNumbers "Ваш путь (Например Fixes)\local_eventKill.sqf";
      2. Заменить содержимое файла local_eventKill.sqf на это:
      //[unit, selectionName, damage, source, projectile] //will only run when local to the created object //record any key hits to the required selection private["_killer","_humanity","_coins"]; _array = _this select 0; _zed = _array select 0; _killer = _array select 1; _type = _this select 1; if (local _zed) then { _kills = _killer getVariable[_type,0]; _killer setVariable[_type,(_kills + 1),true]; //increase players humanity when zed killed _humanity = _killer getVariable["humanity",0]; _humanity = _humanity + 5; _killer setVariable["humanity",_humanity,true]; //add coins to player for zed kills _coins = _killer getVariable [Z_moneyVariable,0]; _coins = _coins + 250; // МЕНЯЕМ КОЛИЧЕСТВО ДЕНЕГ НА СВОЕ! _killer setVariable[Z_moneyVariable,_coins,true]; }; Готово!

       
      Установка (За убийство Игроков):
      1. Поменять путь до файла player_death.sqf в сompiles.sqf
      Найти:
      player_death = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_death.sqf"; Заменить (Поменять на свое!):
      player_death = compile preprocessFileLineNumbers "Ваш путь (Например Fixes)\player_death.sqf";
      2. Заменить содержимое файла player_death.sqf на это:
      private ["_killer","_coins","_ammo","_body","_distance","_infected","_playerID","_sourceName","_sourceWeapon","_sourceVehicleType","_isBandit","_punishment","_humanityHit","_myKills","_kills","_killsV","_display","_myGroup","_camera","_deathPos","_animState","_animStateArray","_animCheck","_source","_method","_realSource"]; if (deathHandled) exitWith {}; deathHandled = true; // Get reference to player object before respawn into new unit (respawnDelay=0 in description.ext) if (typeName (_this select 0) == "ARRAY") then { _body = (_this select 0) select 0; _source = (_this select 0) select 1; } else { _body = player; _source = _this select 0; }; _deathPos = getPos _body; _playerID = getPlayerUID player; //Switch view to camera so player does not see debug plains at respawn_west _camera = "camera" camCreate _deathPos; _camera camSetDir 0; _camera camSetFOV 1; _camera cameraEffect ["Internal","TOP"]; _camera camSetTarget _deathPos; _camera camSetPos [_deathPos select 0, (_deathPos select 1) + 2, 5]; _camera camCommit 0; //SetDamage immediately so Arma registers the player as dead and respawns them into new unit player setDamage 1; if (dayz_onBack != "") then { _body addWeapon dayz_onBack; }; //Get killer information immediately. Weapon, distance or vehicle can change in seconds. _infected = if (r_player_infected && DZE_PlayerZed) then {1} else {0}; _sourceName = "unknown"; _sourceWeapon = ""; _distance = 0; _method = switch true do { case (_this select 1 != "find"): {_this select 1}; //Manually passed method case (dayz_lastDamageSource != "none" && diag_tickTime - dayz_lastDamageTime < 30): {dayz_lastDamageSource}; //Major event takes priority for cause of death (zombie, melee, shot, fell, etc.) case (dayz_lastMedicalSource != "none" && diag_tickTime - dayz_lastMedicalTime < 10): {dayz_lastMedicalSource}; //Starve, Dehyd, Sick default {"bled"}; //No other damage sources in last 30 seconds }; _ammo = if (count _this > 2) then {_this select 2} else {""}; if (!isNull _source) then { if (!isNull _body) then { _distance = round (_body distance _source); }; _sourceVehicleType = typeOf (vehicle _source); _sourceWeapon = currentWeapon _source; _sourceWeapon = switch true do { case (_ammo in ["PipeBomb","Mine","MineE"]): {_ammo}; case ({_sourceVehicleType isKindOf _x} count ["LandVehicle","Air","Ship"] > 0): {_sourceVehicleType}; case (_sourceWeapon == "Throw"): {(weaponState _source) select 3}; default {_sourceWeapon}; }; if (alive _source) then { _sourceName = if (isPlayer _source) then {name _source} else {"AI"}; } else { if (_source == _body) then {_sourceName = dayz_playerName;}; }; }; //Send Death Notice diag_log format["Player_Death: Body:%1 BodyName:%2 Infected:%3 SourceName:%4 SourceWeapon:%5 Distance:%6 Method:%7",_body,dayz_playerName,_infected,_sourceName,_sourceWeapon,_distance,_method]; PVDZ_plr_Death = [dayz_characterID,0,_body,_playerID,toArray dayz_playerName,_infected,toArray _sourceName,toArray _sourceWeapon,_distance,_method]; //Send name as array to avoid publicVariable value restrictions publicVariableServer "PVDZ_plr_Death"; _body setVariable ["deathType", if (_method == "suicide") then {"shot"} else {_method}, true]; if (!local _source && isPlayer _source && !(_body isKindOf "PZombie_VB")) then { //If corpse is a player zombie do not give killer a human or bandit kill //Values like humanity which were setVariabled onto player before death remain on corpse. _isBandit = (_body getVariable["humanity",0]) <= -2000; //_isBandit = (typeOf _body in ["Bandit1_DZ","BanditW1_DZ"]); //if you are a bandit or start first - player will not recieve humanity drop _punishment = (_isBandit or {_body getVariable ["OpenTarget",false]}); _humanityHit = 0; _realSource = effectiveCommander vehicle _source; if (!_punishment) then { //I'm "not guilty" - kill me and be punished _myKills = (_body getVariable ["humanKills",0]) * 33.3; // how many non bandit players have I (the dead player) killed? // punish my killer 2000 for shooting a surivor // but subtract 500 for each survivor I've murdered _humanityHit = -(2000 - _myKills); _kills = _realSource getVariable ["humanKills",0]; _realSource setVariable ["humanKills",(_kills + 1),true]; PVDZ_send = [_realSource,"Humanity",[_humanityHit,300]]; publicVariableServer "PVDZ_send"; } else { // im guilty kill me as bandit _killsV = _realSource getVariable ["banditKills",0]; _realSource setVariable ["banditKills",(_killsV + 1),true]; }; //Player kill rewards _killer = _realSource; _coins = _killer getVariable [Z_moneyVariable,0]; _coins = _coins + 250; // МЕНЯЕМ КОЛИЧЕСТВО ДЕНЕГ НА СВОЕ! _killer setVariable[Z_moneyVariable,_coins,true]; PVDZ_send = [_killer,Z_moneyVariable,[_coins,250]]; publicVariableServer "PVDZ_send"; //Setup for study bodys. _body setVariable ["KillingBlow",[_realSource,_punishment],true]; }; disableSerialization; //Prevent client freezes _display = findDisplay 49; if (!isNull _display) then {_display closeDisplay 0;}; if (dialog) then {closeDialog 0;}; if (visibleMap) then {openMap false;}; disableUserInput true; [_body,20,true,_deathPos] call player_alertZombies; if (dayz_soundMuted) then {call player_toggleSoundMute;}; // hide icon before fadeSound 0.1 fadeSound 0; _body setVariable ["NORRN_unconscious", false, true]; _body setVariable ["unconsciousTime", 0, true]; _body setVariable ["USEC_isCardiac",false,true]; _body setVariable ["medForceUpdate",true,true]; _body setVariable ["bloodTaken", false, true]; _body setVariable ["startcombattimer", 0]; //remove combat timer on death _body setVariable ["inCombat", false, true]; r_player_unconscious = false; r_player_cardiac = false; dayz_autoRun = false; terminate dayz_musicH; terminate dayz_slowCheck; terminate dayz_monitor1; //Reset (just in case) //deleteVehicle dayz_playerTrigger; //disableUserInput false; r_player_dead = true; //Player is dead! 3 fadeSound 0; dayz_originalPlayer enableSimulation true; addSwitchableUnit dayz_originalPlayer; setPlayable dayz_originalPlayer; selectPlayer dayz_originalPlayer; _myGroup = group _body; [_body] joinSilent dayz_firstGroup; deleteGroup _myGroup; 80000 cutText ["","PLAIN"]; //Clear group tags 3 cutRsc ["default", "PLAIN",3]; 4 cutRsc ["default", "PLAIN",3]; _body setVariable["combattimeout", 0, true]; _animState = toLower (animationState _body); _animStateArray = toArray _animState; _animCheck = toString ([(_animStateArray select 0),(_animStateArray select 1),(_animStateArray select 2),(_animStateArray select 3)]); if ((_body == (vehicle _body)) && {_animState != "deadstate" && {_animCheck != "adth"}}) then { //fix running corpses - death anims begin with Adth [nil, _body, rSWITCHMOVE, ""] call RE; _body SWITCHMOVE ""; PVDZ_plr_SwitchMove = [_body,""]; publicVariableServer "PVDZ_plr_SwitchMove"; }; [_body,_camera,_deathPos] spawn { _body = _this select 0; _camera = _this select 1; _deathPos = _this select 2; waitUntil {camCommitted _camera}; _camera camSetPos [_deathPos select 0, (_deathPos select 1) + 2, 15]; _camera camCommit 4; uiSleep 5; 1 cutRsc [if (DZE_DeathScreen) then {"DeathScreen_DZE"} else {"DeathScreen_DZ"},"BLACK OUT",3]; playMusic "dayz_track_death_1"; uiSleep 2; for "_x" from 5 to 1 step -1 do { titleText [format[localize "str_return_lobby", _x], "PLAIN DOWN", 1]; uiSleep 1; }; PVDZ_Server_Simulation = [_body, false]; publicVariableServer "PVDZ_Server_Simulation"; _camera cameraEffect ["Terminate","BACK"]; camDestroy _camera; endMission "END1"; }; Готово!

      ВАЖНО!
      Не забываем менять пути до файлов в других скриптах. Например InfiSTAR (AH.sqf)

      Данный гайд подойдет и для Epoch 1051 если сделать о-о-очень маленькие корректировки.
      Просто смотрите на переменную, отвечающую за деньги Z_MoneyVariable и в каком месте надо прописывать.
    • Автор: DeD
      Привет всем   Подскажите пожалуйста, в каком файле изменить нужное кол-во хумки для торговли с бандитом/героем
      ​Подзабыл чего-то =)
    • Автор: STRAYDER
      Всем привет. Я хотел добавить чтобы при смерти игрока уменьшался его хуманити, но например если у него 0 хуманити не снимало, 1000 снимало по -100 хуманити, 3000 снимало -300 хуманити и так далее. И так чтобы navicat это фиксировало. И будьте добры обьяснипи подробней как это зделать если есть ПРО по этому. Просто у меня на сервере на хуманити построена торговля зависщия от количества хуманити.
    • Автор: GunterVonGerhoven
      Тема открыта повторно. В предыдущем топике так никто и не ответил.
      Инфистар банит игроков с нижеследующей записью в лог 2015-12-21 09:42:07 infiSTAR HackLog | Marcin (76561198136128823) - Significant humanity change (-43847.8)!.. damage hack?   |Instance: 11 - ArmA2OA163125548 - 26072014IAHAT332Z  происходит не всегда. Происходит после убийства с реактивного самолета либо в результате крушения на вооруженном вертолете.
  • Наш выбор

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

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

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