mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
282 lines
8.3 KiB
C++
282 lines
8.3 KiB
C++
|
class CfgPatches {
|
||
|
class AGM_Respawn {
|
||
|
units[] = {};
|
||
|
weapons[] = {"AGM_Rallypoint_West", "AGM_Rallypoint_East", "AGM_Rallypoint_Independent", "AGM_RallypointExit_West", "AGM_RallypointExit_East", "AGM_RallypointExit_Independent"};
|
||
|
requiredVersion = 0.60;
|
||
|
requiredAddons[] = {AGM_Core};
|
||
|
version = "0.95";
|
||
|
versionStr = "0.95";
|
||
|
versionAr[] = {0,95,0};
|
||
|
author[] = {"bux578", "commy2"};
|
||
|
authorUrl = "https://github.com/bux578/";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
class CfgFunctions {
|
||
|
class AGM_Respawn {
|
||
|
class AGM_Respawn {
|
||
|
file = "AGM_Respawn\functions";
|
||
|
class canMoveRallypoint;
|
||
|
class getAllGear;
|
||
|
class handleKilled;
|
||
|
class handleRespawn;
|
||
|
class initRallypoint;
|
||
|
class module;
|
||
|
class moduleFriendlyFire;
|
||
|
class moduleRallypoint;
|
||
|
class moveRallypoint;
|
||
|
class removeBody;
|
||
|
class removeDisconnectedPlayer;
|
||
|
class restoreGear;
|
||
|
class showFriendlyFireMessage;
|
||
|
class teleportToRallypoint;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
class Extended_Killed_EventHandlers {
|
||
|
class CAManBase {
|
||
|
class AGM_Respawn_HandleGear {
|
||
|
killed = "_this call AGM_Respawn_fnc_handleKilled";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
class Extended_Respawn_EventHandlers {
|
||
|
class CAManBase {
|
||
|
class AGM_Respawn_HandleGear {
|
||
|
respawn = "_this call AGM_Respawn_fnc_handleRespawn";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
class CfgAddons {
|
||
|
class AGM_Respawn_Rallypoints {
|
||
|
list[] = {"AGM_Rallypoint_West", "AGM_Rallypoint_East", "AGM_Rallypoint_Independent", "AGM_RallypointExit_West", "AGM_RallypointExit_East", "AGM_RallypointExit_Independent"};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
class CfgVehicleClasses {
|
||
|
class AGM_Respawn_Rallypoints {
|
||
|
displayName = "AGM Respawn";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
class CfgVehicles {
|
||
|
class Module_F;
|
||
|
class AGM_ModuleRespawn: Module_F {
|
||
|
author = "$STR_AGM_Core_AGMTeam";
|
||
|
category = "AGM";
|
||
|
displayName = "Respawn System";
|
||
|
function = "AGM_Respawn_fnc_module";
|
||
|
scope = 2;
|
||
|
isGlobal = 1;
|
||
|
icon = "\AGM_Respawn\UI\Icon_Module_Respawn_ca.paa";
|
||
|
class Arguments {
|
||
|
class SavePreDeathGear {
|
||
|
displayName = "Save Gear?";
|
||
|
description = "Respawn with the gear a soldier had just before his death?";
|
||
|
typeName = "BOOL";
|
||
|
class values {
|
||
|
class Yes { name = "Yes"; value = 1;};
|
||
|
class No { default = 1; name = "No"; value = 0; };
|
||
|
};
|
||
|
};
|
||
|
class RemoveDeadBodiesDisonncected {
|
||
|
displayName = "Remove bodies?";
|
||
|
description = "Remove player bodies after disconnect?";
|
||
|
typeName = "BOOL";
|
||
|
class values {
|
||
|
class Yes { default = 1; name = "Yes"; value = 1;};
|
||
|
class No { name = "No"; value = 0; };
|
||
|
};
|
||
|
};
|
||
|
/*class BodyRemoveTimer {
|
||
|
displayName = "Time to remove bodies.";
|
||
|
description = "The amount of time (in seconds) after that a unit's body gets removed. Default: 90";
|
||
|
typeName = "NUMBER";
|
||
|
defaultValue = 90;
|
||
|
};*/
|
||
|
};
|
||
|
};
|
||
|
|
||
|
class AGM_ModuleFriendlyFire: Module_F {
|
||
|
author = "$STR_AGM_Core_AGMTeam";
|
||
|
category = "AGM";
|
||
|
displayName = "Friendly Fire Messages";
|
||
|
function = "AGM_Respawn_fnc_moduleFriendlyFire";
|
||
|
scope = 2;
|
||
|
isGlobal = 1;
|
||
|
icon = "\AGM_Respawn\UI\Icon_Module_FriendlyFire_ca.paa";
|
||
|
class Arguments {
|
||
|
};
|
||
|
};
|
||
|
|
||
|
class AGM_ModuleRallypoint: Module_F {
|
||
|
author = "$STR_AGM_Core_AGMTeam";
|
||
|
category = "AGM";
|
||
|
displayName = "Rallypoint System";
|
||
|
function = "AGM_Respawn_fnc_moduleRallypoint";
|
||
|
scope = 2;
|
||
|
isGlobal = 1;
|
||
|
icon = "\AGM_Respawn\UI\Icon_Module_Rallypoint_ca.paa";
|
||
|
class Arguments {
|
||
|
};
|
||
|
};
|
||
|
|
||
|
// rallypoints
|
||
|
class FlagCarrier;
|
||
|
class Flag_NATO_F: FlagCarrier {
|
||
|
class AGM_Actions;
|
||
|
};
|
||
|
|
||
|
class Flag_CSAT_F: FlagCarrier {
|
||
|
class AGM_Actions;
|
||
|
};
|
||
|
|
||
|
class Flag_AAF_F: FlagCarrier {
|
||
|
class AGM_Actions;
|
||
|
};
|
||
|
|
||
|
// static
|
||
|
class AGM_Rallypoint_West: Flag_NATO_F {
|
||
|
author = "$STR_AGM_Core_AGMTeam";
|
||
|
displayName = "Rallypoint West Base";
|
||
|
vehicleClass = "AGM_Respawn_Rallypoints";
|
||
|
|
||
|
class EventHandlers {
|
||
|
init = "(_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_nato_CO.paa'; _this call AGM_Respawn_fnc_initRallypoint";
|
||
|
};
|
||
|
class AGM_Actions: AGM_Actions {
|
||
|
class AGM_Teleport {
|
||
|
displayName = "Teleport to Rallypoint";
|
||
|
distance = 4;
|
||
|
condition = "side group _player == west";
|
||
|
statement = "[_player, side group _player, false] call AGM_Respawn_fnc_teleportToRallypoint;";
|
||
|
showDisabled = 1;
|
||
|
priority = 1;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
class AGM_Rallypoint_East: Flag_CSAT_F {
|
||
|
author = "$STR_AGM_Core_AGMTeam";
|
||
|
displayName = "Rallypoint East Base";
|
||
|
vehicleClass = "AGM_Respawn_Rallypoints";
|
||
|
|
||
|
class EventHandlers {
|
||
|
init = "(_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_CSAT_CO.paa'; _this call AGM_Respawn_fnc_initRallypoint";
|
||
|
};
|
||
|
class AGM_Actions: AGM_Actions {
|
||
|
class AGM_Teleport {
|
||
|
displayName = "Teleport to Rallypoint";
|
||
|
distance = 4;
|
||
|
condition = "side group _player == east";
|
||
|
statement = "[_player, side group _player, false] call AGM_Respawn_fnc_teleportToRallypoint;";
|
||
|
showDisabled = 1;
|
||
|
priority = 1;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
class AGM_Rallypoint_Independent: Flag_AAF_F {
|
||
|
author = "$STR_AGM_Core_AGMTeam";
|
||
|
displayName = "Rallypoint Independent Base";
|
||
|
vehicleClass = "AGM_Respawn_Rallypoints";
|
||
|
|
||
|
class EventHandlers {
|
||
|
init = "(_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_AAF_CO.paa'; _this call AGM_Respawn_fnc_initRallypoint";
|
||
|
};
|
||
|
class AGM_Actions: AGM_Actions {
|
||
|
class AGM_Teleport {
|
||
|
displayName = "Teleport to Rallypoint";
|
||
|
distance = 4;
|
||
|
condition = "side group _player == independent";
|
||
|
statement = "[_player, side group _player, false] call AGM_Respawn_fnc_teleportToRallypoint;";
|
||
|
showDisabled = 1;
|
||
|
priority = 1;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
// moveable
|
||
|
class AGM_RallypointExit_West: Flag_NATO_F {
|
||
|
author = "$STR_AGM_Core_AGMTeam";
|
||
|
displayName = "Rallypoint West";
|
||
|
vehicleClass = "AGM_Respawn_Rallypoints";
|
||
|
|
||
|
class EventHandlers {
|
||
|
init = "(_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_nato_CO.paa'; _this call AGM_Respawn_fnc_initRallypoint";
|
||
|
};
|
||
|
class AGM_Actions: AGM_Actions {
|
||
|
class AGM_Teleport {
|
||
|
displayName = "Teleport to Base";
|
||
|
distance = 4;
|
||
|
condition = "side group _player == west";
|
||
|
statement = "[_player, side group _player, true] call AGM_Respawn_fnc_teleportToRallypoint;";
|
||
|
showDisabled = 1;
|
||
|
priority = 1;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
class AGM_RallypointExit_East: Flag_CSAT_F {
|
||
|
author = "$STR_AGM_Core_AGMTeam";
|
||
|
displayName = "Rallypoint East";
|
||
|
vehicleClass = "AGM_Respawn_Rallypoints";
|
||
|
|
||
|
class EventHandlers {
|
||
|
init = "(_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_CSAT_CO.paa'; _this call AGM_Respawn_fnc_initRallypoint";
|
||
|
};
|
||
|
class AGM_Actions: AGM_Actions {
|
||
|
class AGM_Teleport {
|
||
|
displayName = "Teleport to Base";
|
||
|
distance = 4;
|
||
|
condition = "side group _player == east";
|
||
|
statement = "[_player, side group _player, true] call AGM_Respawn_fnc_teleportToRallypoint;";
|
||
|
showDisabled = 1;
|
||
|
priority = 1;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
class AGM_RallypointExit_Independent: Flag_AAF_F {
|
||
|
author = "$STR_AGM_Core_AGMTeam";
|
||
|
displayName = "Rallypoint Independent";
|
||
|
vehicleClass = "AGM_Respawn_Rallypoints";
|
||
|
|
||
|
class EventHandlers {
|
||
|
init = "(_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_AAF_CO.paa'; _this call AGM_Respawn_fnc_initRallypoint";
|
||
|
};
|
||
|
class AGM_Actions: AGM_Actions {
|
||
|
class AGM_Teleport {
|
||
|
displayName = "Teleport to Base";
|
||
|
distance = 4;
|
||
|
condition = "side group _player == independent";
|
||
|
statement = "[_player, side group _player, true] call AGM_Respawn_fnc_teleportToRallypoint;";
|
||
|
showDisabled = 1;
|
||
|
priority = 1;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
// team leader
|
||
|
class Man;
|
||
|
class CAManBase: Man {
|
||
|
class AGM_SelfActions {
|
||
|
class AGM_MoveRallypoint {
|
||
|
displayName = "Move Rallypoint";
|
||
|
condition = "[_player, side group _player] call AGM_Respawn_fnc_canMoveRallypoint";
|
||
|
statement = "[_player, side group _player] call AGM_Respawn_fnc_moveRallypoint";
|
||
|
showDisabled = 0;
|
||
|
priority = -0.5;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
class AGM_Parameters_Boolean {
|
||
|
// Boolean Parameters (0/1)
|
||
|
AGM_Respawn_SavePreDeathGear = 0;
|
||
|
AGM_Respawn_RemoveDeadBodiesDisonncected = 1;
|
||
|
};
|