Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • 0
GaspArt

Изменение получаемой человечности за помощь другим игрокам

Все привет :)
Задался мыслью как изменить получаемое количество хюманити за помощь игрокам ( кровь, обезбол, бинты, морфин ) на своем сервере.
Решил покапаться в дейз коде и нашел папочку medicine, в которой находятся "скрипты" подобных взаимодействий. Внутри лежит "контрольный" фаил player_useMeds.sqf , который направляет к остальным файлам медикаментов. Перенес контрольный и 4 других фаила ( кровь, обезбол, морфин, бинты ) в свою папочку со скриптами. В compiles.sqf прописал новый адрес к контрольному фаилу, а в контрольном фаиле новые адреса к тем четырем другим фаилам, в которых позже было изменено количество даваемого хюманити.

Вроде все должно было заработать, но хюманити не изменилось, люди не могут потреблять антибиотики и тд.

Прошу помочь :) потом запилю красивый гаид)

P.S. Если подобная тема есть на форуме - прошу не пинать, честно искал)
P.S.2 Прошу прощения за бессвязную речь, 3 бессонных ночи -_-

Edited by GaspArt (see edit history)

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 0

1. Это не нужно - (оставь как было).

    player_useMeds =            compile preprocessFileLineNumbers "scripts\medical\player_useMeds.sqf";

2. Нужный тебе файл - fn_damageActions.sqf

3. Файл compiles.sqf  - измени путь к нему(к п.2) на свой.

Share this post


Link to post
Share on other sites



  • 0

Ап. Проблему так и не решил, сейчас скину то, как все прописано.

 

Корень:

8VaMS.png  

Папка Scripts:  ( всё помещено туда, имхо так проще и глаза не мозолит )

 

8VaNL.png

 

Папка Medical:

 

8VaOk.png

 

Соответственно редактировал compiles.sqf:

 

    fnc_usec_selfActions = compile preprocessFileLineNumbers "scripts\fn_selfActions.sqf";

 

    player_useMeds =            compile preprocessFileLineNumbers "scripts\medical\player_useMeds.sqf";
 
if (!isDedicated) then {
    player_build        = compile preprocessFileLineNumbers "scripts\snap_build\player_build.sqf";
    player_buildControls    = compile preprocessFileLineNumbers "scripts\snap_build\player_buildControls.sqf";
    snap_object        = compile preprocessFileLineNumbers "scripts\snap_build\snap_object.sqf";
};

 

 

и player_useMeds.sqf в папке Medical:

 

Бла бла бла...
 

switch (_item) do {
    case "ItemBandage": {
        _id = [0,0,0,[player]] execVM "scripts\medical\bandage.sqf";
    };
    case "ItemMorphine": {
        _id = [0,0,0,[player]] execVM "scripts\medical\morphine.sqf";
    };
    case "ItemPainkiller": {
        _id = [0,0,0,[player]] execVM "scripts\medical\painkiller.sqf";
    };
    case "ItemAntibiotic": {
        _id = [0,0,0,[player]] execVM "scripts\medical\antibiotics.sqf";
    };

бла бла бла...

 

 

Вроде делал все правильно, а нифига не работает! Как быть? :)

Share this post


Link to post
Share on other sites
  • 0

1. Это не нужно - (оставь как было).

    player_useMeds =            compile preprocessFileLineNumbers "scripts\medical\player_useMeds.sqf";

2. Нужный тебе файл - fn_damageActions.sqf

3. Файл compiles.sqf  - измени путь к нему(к п.2) на свой.

Благодарю, все работает)

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 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;
      В итоге, после смерти хюманити отменяется, но спавнюсь с прежним количеством. 

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

      В спавне\смерте вооообще не шарю. Вот собсно просьба помочь. Спасибо, ребят)
    • By overkill
      Всем привет! Поставил систему 2,0, и все вроде бы хорошо, НО, иногда с банка у игроков пропадают деньги, а также бывают случаи что у игрока после рестарта или перезахода деньги уходят в минус! Решение с епохмода которое кидал GhostDZ, в темах ниже, не помогло!
       
      Помогите пожалуйста!
    • By 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

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

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

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