Автор Тема: [Инструкция] Функции предметов на правый клик мыши (extra_rc.hpp)  (Прочитано 533 раз)

Drupas

  • Administrator
  • Новенький
  • *****
  • Сообщений: 46
  • Рейтинг: 2
    • Просмотр профиля
    • Компьютерная помощь
Инструкция по установке:
1) Вам нужен кастомный compiles.sqf

Открываем папку DayZ_Epoch\addons\dayz_code\init\
Копируем файл compiles.sqf в папку custom в вашей папке миссии (создайте если такой нет)
Находим эту строку в новом compiles.sqf:
player_selectSlot = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\ui_selectSlot.sqf";
И меняем её на эту:
player_selectSlot = compile preprocessFileLineNumbers "custom\ui_selectSlot.sqf";
Откройте init.sqf и поменяйте путь до compiles.sqf на этот:
call compile preprocessFileLineNumbers "custom\compiles.sqf";
2) Открываем папку DayZ_Epoch\addons\dayz_code\compile, находим файл ui_selectslot.sqf и копируем его в папку custom в папке нашей миссии
Открываем наш кастомный ui_selectslot.sqf и находим эту строку:
_pos set [3,_height];
Выше неё вставляем:
//EXTRA_RC
_erc_cfgActions = (missionConfigFile >> "ExtraRc" >> _item);
    _erc_numActions = (count _erc_cfgActions);
    if (isClass _erc_cfgActions) then {
     for "_j" from 0 to (_erc_numActions - 1) do
     {
       _menu =  _parent displayCtrl (1600 + _j + _numActions);
       _menu ctrlShow true;
       _config =  (_erc_cfgActions select _j);
       _text =  getText (_config >> "text");
       _script =  getText (_config >> "script");
       _height = _height + (0.025 * safezoneH);
       uiNamespace setVariable ['uiControl', _control];
       _menu ctrlSetText _text;
       _menu ctrlSetEventHandler ["ButtonClick",_script];
      };
   };
//EXTRA_RC
3) Создаём файл extra_rc.hpp в папке custom в нашей папке миссии с таким содержимым:
class ExtraRc {
 
  class ItemToolbox {
     class test {
        text = "test";
        script = "execVM 'custom\extra_test.sqf'";
     };
  };
};
4) Открываем файл description.ext и вставляем в конец:
#include "custom\extra_rc.hpp"
5) В папке custom что в папке нашей миссии создаём файл extra_test.sqf с таким содержимым:
systemChat("Extra right click test success");    
player playActionNow "Medic";
Здесь для примера и проверки работоспособности добавлена тестовая функция.
games-servers.ru Создание игровых серверов, сайтов, форумов

Drupas

  • Administrator
  • Новенький
  • *****
  • Сообщений: 46
  • Рейтинг: 2
    • Просмотр профиля
    • Компьютерная помощь
Изменение дальности прорисовки через ПКМ по биноклю
1) Качаем архив:
2) Открываем наш extra_rc.hpp и добавляем туда код:
class Binocular {
     class distanceb500m {
            text = "500 meters";
            script = "execVM 'custom\setview\500.sqf'";
        };
     class distanceb1000m {
            text = "1000 meters";
            script = "execVM 'custom\setview\1000.sqf'";
        };
     class distanceb1500m {
            text = "1500 meters";
            script = "execVM 'custom\setview\1500.sqf'";
        };
     class distanceb2000m {
            text = "2000 meters";
            script = "execVM 'custom\setview\2000.sqf'";
        };   
     class distanceb2500m {
            text = "2500 meters";
            script = "execVM 'custom\setview\2500.sqf'";
        };
     class distanceb3000m {
            text = "3000 meters";
            script = "execVM 'custom\setview\3000.sqf'";
        };
     class distanceb3500m {
            text = "3500 meters";
            script = "execVM 'custom\setview\3500.sqf'";
        };
     class distanceb4000m {
            text = "4000 meters";
            script = "execVM 'custom\setview\4000.sqf'";
        };   
     class distanceb4500m {
            text = "4500 meters";
            script = "execVM 'custom\setview\4500.sqf'";
        };   
     class distanceb5000m {
            text = "5000 meters";
            script = "execVM 'custom\setview\5000.sqf'";
        };       
    };
  class Binocular_Vector {
     class distanceb500m {
            text = "500 meters";
            script = "execVM 'custom\setview\500.sqf'";
        };
     class distanceb1000m {
            text = "1000 meters";
            script = "execVM 'custom\setview\1000.sqf'";
        };
     class distanceb1500m {
            text = "1500 meters";
            script = "execVM 'custom\setview\1500.sqf'";
        };
     class distanceb2000m {
            text = "2000 meters";
            script = "execVM 'custom\setview\2000.sqf'";
        };   
     class distanceb2500m {
            text = "2500 meters";
            script = "execVM 'custom\setview\2500.sqf'";
        };
     class distanceb3000m {
            text = "3000 meters";
            script = "execVM 'custom\setview\3000.sqf'";
        };
     class distanceb3500m {
            text = "3500 meters";
            script = "execVM 'custom\setview\3500.sqf'";
        };
     class distanceb4000m {
            text = "4000 meters";
            script = "execVM 'custom\setview\4000.sqf'";
        };   
     class distanceb4500m {
            text = "4500 meters";
            script = "execVM 'custom\setview\4500.sqf'";
        };   
     class distanceb5000m {
            text = "5000 meters";
            script = "execVM 'custom\setview\5000.sqf'";
        };       
    };
};
3) Копируем папку setview из архива в нашу папку custom, находящуюся в папке миссии
games-servers.ru Создание игровых серверов, сайтов, форумов