Готовые скрипты:Ограничение VIP — различия между версиями

Материал из WOG Wiki
Перейти к: навигация, поиск
(Новая страница: «== Описание работы скрипта == Данный скрипт ограничивает конкретного игрока, например, VIP'…»)
 
Строка 10: Строка 10:
 
<code>this call compile preprocessFileLineNumbers "scripts\VIP.sqf";</code>
 
<code>this call compile preprocessFileLineNumbers "scripts\VIP.sqf";</code>
 
== Готовый скрипт ==
 
== Готовый скрипт ==
<code>private _EHTake = player addEventHandler ["take", {
+
<syntaxhighlight>
 +
private _EHTake = player addEventHandler ["take", {
 
     _unit        = _this select 0;    //  Тот на кого вешается EH
 
     _unit        = _this select 0;    //  Тот на кого вешается EH
 
     _container    = _this select 1;    // То откуда пытаются взять оружие (ящики, трупы, игроки, земля)
 
     _container    = _this select 1;    // То откуда пытаются взять оружие (ящики, трупы, игроки, земля)
Строка 27: Строка 28:
 
};
 
};
 
}
 
}
];</code>
+
];
 +
</syntaxhighlight>
  
 
== Пример работы скрипта ==
 
== Пример работы скрипта ==
https://youtu.be/cP28QSHJBMg
+
<youtube>cP28QSHJBMg</youtube>

Версия 15:09, 22 февраля 2019

Описание работы скрипта

Данный скрипт ограничивает конкретного игрока, например, VIP'а на миссии, на взятие оружия. При попытке подобрать оружие, данным игроком, оно будет сбрасываться на землю, а игроку, будет появляться сообщение о том, что для его роли запрещено ношение оружия. Сообщение может быть произвольным.

Инструкция по использованию

  1. Создание sqf файла
    Создаем в папке с миссией папку scripts, создаем внутри этой папки файл VIP.sqf (название файла может быть любое)
    Вставляем Готовый скрипт (см.ниже) в файл VIP.sqf
  2. Подключение скрипта к юниту в игре
    В init нужного юнита прописываем следующий код

this call compile preprocessFileLineNumbers "scripts\VIP.sqf";

Готовый скрипт

private _EHTake = player addEventHandler ["take", {
    _unit         = _this select 0;    //  Тот на кого вешается EH
    _container    = _this select 1;    // То откуда пытаются взять оружие (ящики, трупы, игроки, земля)
    _item        = _this select 2;    // Класс оружия
if ((_item) isKindOf ["Rifle", configFile >> "CfgWeapons"]  || (_this select 2) isKindOf ["Launcher_Base_F", configFile >> "CfgWeapons"] || (_this select 2) isKindOf ["Pistol_Base_F", configFile >> "CfgWeapons"]) then {
    _wh = "GroundWeaponHolder_Scripted" createVehicle position _unit;
    _unit action ["DropWeapon", _wh, currentWeapon _unit];
    _wh setPos getPosATL _unit;
["<t color='#ff0000' size = '.8'>Warning!<br />Ваша игровая роль запрещает использование оружия</t>",-1,-1,4,1,0,789] spawn BIS_fnc_dynamicText;
};
if ((_item) isKindOf ["Handgrenade", configFile >> "CfgMagazines"]) then {
_gh = "GroundWeaponHolder_Scripted" createVehicle position _unit;
_unit action ["DropMagazine", _gh, "HandGrenade"];
_gh setPos getPosATL _unit;
["<t color='#ff0000' size = '.8'>Warning!<br />Ваша игровая роль запрещает использование оружия</t>",-1,-1,4,1,0,789] spawn BIS_fnc_dynamicText;
};
}
];

Пример работы скрипта