diff --git a/addons/sandbag/$PBOPREFIX$ b/addons/sandbag/$PBOPREFIX$ new file mode 100644 index 0000000000..1061a20968 --- /dev/null +++ b/addons/sandbag/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\sandbag \ No newline at end of file diff --git a/addons/sandbag/CfgEventHandlers.hpp b/addons/sandbag/CfgEventHandlers.hpp new file mode 100644 index 0000000000..17911f6b1f --- /dev/null +++ b/addons/sandbag/CfgEventHandlers.hpp @@ -0,0 +1,19 @@ +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE( call COMPILE_FILE(XEH_preInit) ); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE( call COMPILE_FILE(XEH_postInit) ); + }; +}; + +class Extended_Init_EventHandlers { + class ACE_SandbagObject { + class ADDON { + init = QUOTE(_this call DEFUNC(dragging,initObject)); + }; + }; +}; \ No newline at end of file diff --git a/addons/sandbag/CfgVehicles.hpp b/addons/sandbag/CfgVehicles.hpp new file mode 100644 index 0000000000..29c18e730c --- /dev/null +++ b/addons/sandbag/CfgVehicles.hpp @@ -0,0 +1,84 @@ +class CfgVehicles { + class Man; + class CAManBase: Man { + class ACE_SelfActions { + class ACE_Sandbags { + displayName = $STR_ACE_AC_BUILD; + condition = QUOTE(call FUNC(canDeploy)); + statement = QUOTE(call FUNC(deploy)); + exceptions[] = {"isNotSwimming", "isNotInside"}; + showDisabled = 1; + priority = 4; + icon = PATHTOF(UI\icon_sandbag_ca.paa); + }; + }; + }; + + class Item_Base_F; + class ACE_Item_Sandbag_empty: Item_Base_F { + author = "$STR_ACE_Common_ACETeam"; + scope = 2; + scopeCurator = 2; + displayName = "$STR_ACE_M_SBEMPTY"; + vehicleClass = "Items"; + class TransportItems { + class ACE_Sandbag_empty { + name = "ACE_Sandbag_empty"; + count = 1; + }; + }; + }; + /* + class ACE_Item_Sandbag: Item_Base_F { + author = "$STR_ACE_Common_ACETeam"; + scope = 2; + scopeCurator = 2; + displayName = "$STR_ACE_Sandbag"; + vehicleClass = "Items"; + class TransportItems { + class ACE_Sandbag { + name = "ACE_Sandbag"; + count = 1; + }; + }; + }; + */ + class thingX; + class ACE_SandbagObject: thingX { + author = "$STR_ACE_Common_ACETeam"; + XEH_ENABLED; + scope = 1; + side = -1; + model = PATHTOF(data\ace_sandbag_build.p3d); + icon = ""; + displayName = $STR_ACE_Sandbag; + EGVAR(dragging,canDrag) = 1; + EGVAR(dragging,dragPosition[]) = {0,0.8,0}; + EGVAR(dragging,dragDirection) = 0; + class ACE_Actions { + class ACE_MainActions { + selection = ""; + distance = 5; + condition = "true"; + class ACE_PickUp { + selection = ""; + displayName = "$STR_ACE_AC_PICKUPSB"; + distance = 4; + condition = QUOTE(!(_player getVariable [ARR_2('ace_sandbag_usingSandbag',false)])); + statement = QUOTE([ARR_2(_target,_player)] call FUNC(pickup)); + showDisabled = 0; + exceptions[] = {}; + priority = 5; + icon = PATHTOF(UI\icon_sandbag_ca.paa); + }; + }; + }; + }; + + class Box_NATO_Support_F; + class ACE_Box_Misc: Box_NATO_Support_F { + class TransportItems { + MACRO_ADDITEM(ACE_Sandbag_empty,50); + }; + }; +}; diff --git a/addons/sandbag/CfgWeapons.hpp b/addons/sandbag/CfgWeapons.hpp new file mode 100644 index 0000000000..cb80d1e9d9 --- /dev/null +++ b/addons/sandbag/CfgWeapons.hpp @@ -0,0 +1,30 @@ + +class CfgWeapons { + class ACE_ItemCore; + class InventoryItem_Base_F; + + class ACE_Sandbag_empty: ACE_ItemCore { + author = "$STR_ACE_Common_ACETeam"; + scope = 2; + displayName = "$STR_ACE_M_SBEMPTY"; + model = PATHTOF(data\ace_sandbag_m.p3d); + picture = PATHTOF(data\m_sandbag_ca.paa); + + class ItemInfo: InventoryItem_Base_F { + mass = 8; + }; + }; + /* + class ACE_Sandbag: ACE_ItemCore { + author = "$STR_ACE_Common_ACETeam"; + scope = 2; + displayName = "$STR_ACE_Sandbag"; + model = PATHTOF(data\ace_sandbag_build.p3d); + picture = PATHTOF(data\m_sandbag_ca.paa); + + class ItemInfo: InventoryItem_Base_F { + mass = 160; + }; + }; + */ +}; diff --git a/addons/sandbag/README.md b/addons/sandbag/README.md new file mode 100644 index 0000000000..8c67ed9a6d --- /dev/null +++ b/addons/sandbag/README.md @@ -0,0 +1,10 @@ +ace_sandbag +=============== + +Stackable sandbags. + +## Maintainers + +The people responsible for merging changes to this component or answering potential questions. + +- [Ruthberg] (http://github.com/Ulteq) \ No newline at end of file diff --git a/addons/sandbag/UI/icon_sandbag_ca.paa b/addons/sandbag/UI/icon_sandbag_ca.paa new file mode 100644 index 0000000000..5d6ea6d4d9 Binary files /dev/null and b/addons/sandbag/UI/icon_sandbag_ca.paa differ diff --git a/addons/sandbag/XEH_postInit.sqf b/addons/sandbag/XEH_postInit.sqf new file mode 100644 index 0000000000..54ed6cc7ef --- /dev/null +++ b/addons/sandbag/XEH_postInit.sqf @@ -0,0 +1,8 @@ +#include "script_component.hpp" + +GVAR(placer) = objNull; +GVAR(sandBag) = objNull; +GVAR(deployPFH) = -1; +GVAR(deployDirection) = 0; + +[{_this call DFUNC(handleScrollWheel)}] call EFUNC(common,addScrollWheelEventHandler); diff --git a/addons/sandbag/XEH_preInit.sqf b/addons/sandbag/XEH_preInit.sqf new file mode 100644 index 0000000000..053a4548d1 --- /dev/null +++ b/addons/sandbag/XEH_preInit.sqf @@ -0,0 +1,12 @@ +#include "script_component.hpp" + +ADDON = false; + +PREP(canDeploy); +PREP(deploy); +PREP(deployCancle); +PREP(deployConfirm); +PREP(handleScrollWheel); +PREP(pickup); + +ADDON = true; diff --git a/addons/sandbag/config.cpp b/addons/sandbag/config.cpp new file mode 100644 index 0000000000..6b7ce1a456 --- /dev/null +++ b/addons/sandbag/config.cpp @@ -0,0 +1,16 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {"ACE_Item_Sandbag", "ACE_Item_Sandbag_empty"}; + weapons[] = {"ACE_Sandbag", "ACE_Sandbag_empty"}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_interaction"}; + author[] = {"Rocko", "Ruthberg"}; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" +#include "CfgVehicles.hpp" +#include "CfgWeapons.hpp" \ No newline at end of file diff --git a/addons/sandbag/data/ace_sandbag_build.p3d b/addons/sandbag/data/ace_sandbag_build.p3d new file mode 100644 index 0000000000..eb24832c31 Binary files /dev/null and b/addons/sandbag/data/ace_sandbag_build.p3d differ diff --git a/addons/sandbag/data/ace_sandbag_m.p3d b/addons/sandbag/data/ace_sandbag_m.p3d new file mode 100644 index 0000000000..3f651a7530 Binary files /dev/null and b/addons/sandbag/data/ace_sandbag_m.p3d differ diff --git a/addons/sandbag/data/ace_sandbag_nogeo.p3d b/addons/sandbag/data/ace_sandbag_nogeo.p3d new file mode 100644 index 0000000000..5a7680ffd8 Binary files /dev/null and b/addons/sandbag/data/ace_sandbag_nogeo.p3d differ diff --git a/addons/sandbag/data/bag.rvmat b/addons/sandbag/data/bag.rvmat new file mode 100644 index 0000000000..d764320caa --- /dev/null +++ b/addons/sandbag/data/bag.rvmat @@ -0,0 +1,132 @@ +/* +ambient[]={0.992157,0.992157,0.992157,1.000000}; +diffuse[]={0.992157,0.992157,0.992157,1.000000}; +forcedDiffuse[]={0.000000,0.000000,0.000000,0.000000}; +emmisive[]={0.000000,0.000000,0.000000,1.000000}; +specular[]={0.000000,0.000000,0.000000,1.000000}; +specularPower=40.000000; +*/ + +ambient[]={1.000000,1.000000,1.000000,1.000000}; +diffuse[]={1.000000,1.000000,1.000000,1.000000}; +forcedDiffuse[]={0.000000,0.000000,0.000000,0.000000}; +emmisive[]={0.000000,0.000000,0.000000,1.000000}; +specular[]={0.250000,0.250000,0.250000,0.250000}; +specularPower=30.000000; +PixelShaderID="NormalMapSpecularDIMap"; +VertexShaderID="NormalMap"; +class Stage1 { + texture="z\ace\addons\sandbag\data\bag_nohq.paa"; + uvSource="tex"; + class uvTransform { + aside[]={1.000000,0.000000,0.000000}; + up[]={0.000000,1.000000,0.000000}; + dir[]={0.000000,0.000000,0.000000}; + pos[]={0.000000,0.000000,0.000000}; + }; +}; +class Stage2 { + texture="z\ace\addons\sandbag\data\bag_smdi.paa"; + uvSource="tex"; + class uvTransform { + aside[]={1.000000,0.000000,0.000000}; + up[]={0.000000,1.000000,0.000000}; + dir[]={0.000000,0.000000,0.000000}; + pos[]={0.000000,0.000000,0.000000}; + }; +}; + +/* +ambient[]={1.0, 1.0, 1.0, 1.0}; +diffuse[]={1.0, 1.0, 1.0, 1.0}; +forcedDiffuse[]={0.0, 0.0, 0.0, 0.0}; +emmisive[]={0.0, 0.0, 0.0, 0.0}; +specular[]={0.93, 0.93, 0.93, 0.0}; +specularPower=400.0; +PixelShaderID="Super"; +VertexShaderID="Super"; + +class Stage1 { + texture="z\ace\addons\sandbag\data\bag_nohq.paa"; + uvSource="tex"; + + class uvTransform { + aside[]={1.0, 0.0, 0.0}; + up[]={0.0, 1.0, 0.0}; + dir[]={0.0, 0.0, 0.0}; + pos[]={0.0, 0.0, 0.0}; + }; +}; + +class Stage2 { + texture="a3\weapons_f\data\detailmaps\metal_detail_dt.paa"; + uvSource="tex"; + + class uvTransform { + aside[]={6.0, 0.0, 0.0}; + up[]={0.0, 3.0, 0.0}; + dir[]={0.0, 0.0, 0.0}; + pos[]={0.0, 0.0, 0.0}; + }; +}; + +class Stage3 { + texture="#(argb,8,8,3)color(0,0,0,0,MC)"; + uvSource="tex"; + + class uvTransform { + aside[]={1.0, 0.0, 0.0}; + up[]={0.0, 1.0, 0.0}; + dir[]={0.0, 0.0, 0.0}; + pos[]={0.0, 0.0, 0.0}; + }; +}; + +class Stage4 { + texture="#(argb,8,8,3)color(0.8,0,0,1,AS)"; + uvSource="tex"; + + class uvTransform { + aside[]={1.0, 0.0, 0.0}; + up[]={0.0, 1.0, 0.0}; + dir[]={0.0, 0.0, 0.0}; + pos[]={0.0, 0.0, 0.0}; + }; +}; + +class Stage5 { + texture="z\ace\addons\sandbag\data\bag_smdi.paa"; + uvSource="tex"; + + class uvTransform { + aside[]={1.0, 0.0, 0.0}; + up[]={0.0, 1.0, 0.0}; + dir[]={0.0, 0.0, 0.0}; + pos[]={0.0, 0.0, 0.0}; + }; +}; + +class Stage6 { + texture="#(ai,64,64,1)fresnel(1.29,0.5)"; + uvSource="tex"; + + class uvTransform { + aside[]={1.0, 0.0, 0.0}; + up[]={0.0, 1.0, 0.0}; + dir[]={0.0, 0.0, 0.0}; + pos[]={0.0, 0.0, 0.0}; + }; +}; + +class Stage7 { + texture="a3\data_f\env_land_co.paa"; + uvSource="tex"; + + class uvTransform { + aside[]={1.0, 0.0, 0.0}; + up[]={0.0, 1.0, 0.0}; + dir[]={0.0, 0.0, 0.0}; + pos[]={0.0, 0.0, 0.0}; + }; +}; +*/ diff --git a/addons/sandbag/data/bag_co.paa b/addons/sandbag/data/bag_co.paa new file mode 100644 index 0000000000..436b8af955 Binary files /dev/null and b/addons/sandbag/data/bag_co.paa differ diff --git a/addons/sandbag/data/bag_destruct.rvmat b/addons/sandbag/data/bag_destruct.rvmat new file mode 100644 index 0000000000..0b85406e41 --- /dev/null +++ b/addons/sandbag/data/bag_destruct.rvmat @@ -0,0 +1,48 @@ +ambient[]={1.000000,1.000000,1.000000,1.000000}; +diffuse[]={1.000000,1.000000,1.000000,1.000000}; +forcedDiffuse[]={0.000000,0.000000,0.000000,0.000000}; +emmisive[]={0.000000,0.000000,0.000000,1.000000}; +specular[]={0.250000,0.250000,0.250000,0.250000}; +specularPower=30.000000; +PixelShaderID="NormalMapSpecularDIMap"; +VertexShaderID="NormalMap"; +class Stage1 { + texture="z\ace\addons\sandbag\data\bag_nohq.paa"; + uvSource="tex"; + class uvTransform { + aside[]={1.000000,0.000000,0.000000}; + up[]={0.000000,1.000000,0.000000}; + dir[]={0.000000,0.000000,0.000000}; + pos[]={0.000000,0.000000,0.000000}; + }; +}; +class Stage2 { + texture="ca\data\destruct\vehicle_destr1024_1024_mc.paa"; + uvSource="tex"; + class uvTransform { + aside[]={1.000000,0.000000,0.000000}; + up[]={0.000000,1.000000,0.000000}; + dir[]={0.200000,0.000000,0.000000}; + pos[]={0.200000,0.000000,0.000000}; + }; +}; +class Stage3 { + texture="#(argb,8,8,3)color(1,1,1,0.3)"; + uvSource="tex"; + class uvTransform { + aside[]={1.000000,0.000000,0.000000}; + up[]={0.000000,1.000000,0.000000}; + dir[]={0.000000,0.000000,0.000000}; + pos[]={0.000000,0.000000,0.000000}; + }; +}; +class Stage4 { + texture="ca\data\destruct\vehicle_destr1024_1024_smdi.paa"; + uvSource="tex"; + class uvTransform { + aside[]={1.000000,0.000000,0.000000}; + up[]={0.000000,1.000000,0.000000}; + dir[]={0.000000,0.000000,0.000000}; + pos[]={0.000000,0.000000,0.000000}; + }; +}; diff --git a/addons/sandbag/data/bag_nohq.paa b/addons/sandbag/data/bag_nohq.paa new file mode 100644 index 0000000000..009b9c5525 Binary files /dev/null and b/addons/sandbag/data/bag_nohq.paa differ diff --git a/addons/sandbag/data/bag_smdi.paa b/addons/sandbag/data/bag_smdi.paa new file mode 100644 index 0000000000..8c277264db Binary files /dev/null and b/addons/sandbag/data/bag_smdi.paa differ diff --git a/addons/sandbag/data/m_sandbag_ca.paa b/addons/sandbag/data/m_sandbag_ca.paa new file mode 100644 index 0000000000..b0c2d9e3be Binary files /dev/null and b/addons/sandbag/data/m_sandbag_ca.paa differ diff --git a/addons/sandbag/functions/fnc_canDeploy.sqf b/addons/sandbag/functions/fnc_canDeploy.sqf new file mode 100644 index 0000000000..d75a55daad --- /dev/null +++ b/addons/sandbag/functions/fnc_canDeploy.sqf @@ -0,0 +1,18 @@ +/* + * Author: Ruthberg + * Checks if the player can deploy a sandbag + * + * Arguments: + * None + * + * Return Value: + * can deploy? + * + * Example: + * call ace_sandbag_fnc_canDeploy; + * + * Public: No + */ +#include "script_component.hpp" + +(([ACE_player, "ACE_Sandbag_empty"] call EFUNC(common,hasItem)) && !(ACE_player getVariable [QGVAR(usingSandbag), false])) diff --git a/addons/sandbag/functions/fnc_deploy.sqf b/addons/sandbag/functions/fnc_deploy.sqf new file mode 100644 index 0000000000..d0ebc711f0 --- /dev/null +++ b/addons/sandbag/functions/fnc_deploy.sqf @@ -0,0 +1,47 @@ +/* + * Author: Garth 'L-H' de Wet, Ruthberg + * Starts the deploy process for sandbags. + * + * Arguments: + * None + * + * Return Value: + * None + * + * Example: + * call ace_sandbag_fnc_deploy; + * + * Public: No + */ +#include "script_component.hpp" + +closeDialog 0; + +GVAR(placer) = ACE_player; + +[GVAR(placer), "ACE_Sandbag", true] call EFUNC(common,setForceWalkStatus); + +GVAR(sandBag) = createVehicle ["ACE_SandbagObject", [0,0,0], [], 0, "NONE"]; +GVAR(sandBag) enableSimulationGlobal false; + +GVAR(deployPFH) = [{ + if (GVAR(placer) != ACE_player) exitWith { + call FUNC(deployCancle); + }; + GVAR(sandBag) setPosASL ((eyePos ACE_player) vectorAdd (positionCameraToWorld [0,0,1] vectorDiff positionCameraToWorld [0,0,0])); + GVAR(sandBag) setDir (GVAR(deployDirection) + getDir ACE_player); +}, 0, []] call CBA_fnc_addPerFrameHandler; + +[localize "STR_ACE_AC_CONF", localize "STR_ACE_AC_CANCEL", localize "STR_ACE_Sandbag_ScrollAction"] call EFUNC(interaction,showMouseHint); + +GVAR(placer) setVariable [QGVAR(Deploy), + [GVAR(placer), "DefaultAction", + {GVAR(deployPFH) != -1 && !isNull (GVAR(sandBag))}, + {call FUNC(deployConfirm);} +] call EFUNC(common,AddActionEventHandler)]; + +GVAR(placer) setVariable [QGVAR(Cancel), + [GVAR(placer), "zoomtemp", + {GVAR(deployPFH) != -1 && !isNull (GVAR(sandBag))}, + {call FUNC(deployCancle);} +] call EFUNC(common,AddActionEventHandler)]; diff --git a/addons/sandbag/functions/fnc_deployCancle.sqf b/addons/sandbag/functions/fnc_deployCancle.sqf new file mode 100644 index 0000000000..6a742a8480 --- /dev/null +++ b/addons/sandbag/functions/fnc_deployCancle.sqf @@ -0,0 +1,34 @@ +/* + * Author: Garth 'L-H' de Wet, Ruthberg + * Cancels sandbag deployment + * + * Arguments: + * None + * + * Return Value: + * None + * + * Example: + * call ace_sandbag_fnc_deployCancle; + * + * Public: No + */ +#include "script_component.hpp" + +if (isNull GVAR(placer)) exitWith {}; + +[GVAR(deployPFH)] call cba_fnc_removePerFrameHandler; + +if (!isNull (GVAR(sandBag))) then { + deleteVehicle GVAR(sandBag); + GVAR(sandBag) = objNull; +}; + +[GVAR(placer), "ACE_Explosives", false] call EFUNC(Common,setForceWalkStatus); + +GVAR(sandBag) = objNull; +GVAR(placer) = objNull; + +call EFUNC(interaction,hideMouseHint); +[GVAR(placer), "DefaultAction", GVAR(placer) getVariable [QGVAR(Deploy), -1]] call EFUNC(Common,removeActionEventHandler); +[GVAR(placer), "zoomtemp", GVAR(placer) getVariable [QGVAR(Cancel), -1]] call EFUNC(Common,removeActionEventHandler); diff --git a/addons/sandbag/functions/fnc_deployConfirm.sqf b/addons/sandbag/functions/fnc_deployConfirm.sqf new file mode 100644 index 0000000000..dd0a41776a --- /dev/null +++ b/addons/sandbag/functions/fnc_deployConfirm.sqf @@ -0,0 +1,42 @@ +/* + * Author: Garth 'L-H' de Wet, Ruthberg + * Confirms sandbag deployment + * + * Arguments: + * None + * + * Return Value: + * None + * + * Example: + * call ace_sandbag_fnc_deployConfirm; + * + * Public: No + */ +#include "script_component.hpp" + +if (isNull GVAR(sandBag) || isNull GVAR(placer)) exitWith {}; + +[GVAR(deployPFH)] call cba_fnc_removePerFrameHandler; + +[GVAR(placer), "ACE_Sandbag", false] call EFUNC(Common,setForceWalkStatus); +[GVAR(placer), "DefaultAction", GVAR(placer) getVariable [QGVAR(Deploy), -1]] call EFUNC(Common,removeActionEventHandler); +[GVAR(placer), "zoomtemp", GVAR(placer) getVariable [QGVAR(Cancel), -1]] call EFUNC(Common,removeActionEventHandler); + +call EFUNC(interaction,hideMouseHint); + +GVAR(placer) playActionNow "PutDown"; + +GVAR(placer) setVariable [QGVAR(usingSandbag), true]; +[{ + _this setVariable [QGVAR(usingSandbag), false]; +}, GVAR(placer), 1.5, 0.5] call EFUNC(common,waitAndExecute); + +[{ + GVAR(sandBag) enableSimulationGlobal true; + GVAR(placer) removeItem "ACE_Sandbag_empty"; + + GVAR(sandBag) = objNull; + GVAR(placer) = objNull; + +}, GVAR(placer), 1.0, 0.5] call EFUNC(common,waitAndExecute); diff --git a/addons/sandbag/functions/fnc_handleScrollWheel.sqf b/addons/sandbag/functions/fnc_handleScrollWheel.sqf new file mode 100644 index 0000000000..2b831f5cdc --- /dev/null +++ b/addons/sandbag/functions/fnc_handleScrollWheel.sqf @@ -0,0 +1,24 @@ +/* + * Author: Garth 'L-H' de Wet, Ruthberg + * Handles sandbag rotation + * + * Arguments: + * 0: scroll amount + * + * Return Value: + * handled + * + * Example: + * 1.2 call ace_sandbag_fnc_handleScrollWheel; + * + * Public: No + */ +#include "script_component.hpp" + +PARAMS_1(_scroll); + +if (GETMVAR(ACE_Modifier,0) == 0 || GVAR(deployPFH) == -1) exitWith { false }; + +GVAR(deployDirection) = GVAR(deployDirection) + (_scroll * 5); + +true diff --git a/addons/sandbag/functions/fnc_pickup.sqf b/addons/sandbag/functions/fnc_pickup.sqf new file mode 100644 index 0000000000..b34b5d748b --- /dev/null +++ b/addons/sandbag/functions/fnc_pickup.sqf @@ -0,0 +1,29 @@ +/* + * Author: Ruthberg + * Pick up sandbag + * + * Arguments: + * 0: sandbag + * 1: unit + * + * Return Value: + * None + * + * Example: + * [_sandbag, _unit] call ace_sandbag_fnc_pickup; + * + * Public: No + */ +#include "script_component.hpp" + +PARAMS_2(_sandbag,_unit); + +_unit playActionNow "PutDown"; + +_unit setVariable [QGVAR(usingSandbag), true]; +[{ + PARAMS_2(_sandbag,_unit); + _unit setVariable [QGVAR(usingSandbag), false]; + deletevehicle _sandbag; + [_unit, "ACE_Sandbag_empty"] call EFUNC(common,addToInventory); +}, [_sandbag, _unit], 1.5, 0.5] call EFUNC(common,waitAndExecute); diff --git a/addons/sandbag/functions/script_component.hpp b/addons/sandbag/functions/script_component.hpp new file mode 100644 index 0000000000..1d6f10c806 --- /dev/null +++ b/addons/sandbag/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\sandbag\script_component.hpp" \ No newline at end of file diff --git a/addons/sandbag/script_component.hpp b/addons/sandbag/script_component.hpp new file mode 100644 index 0000000000..8737beef07 --- /dev/null +++ b/addons/sandbag/script_component.hpp @@ -0,0 +1,12 @@ +#define COMPONENT sandbag +#include "\z\ace\addons\main\script_mod.hpp" + +#ifdef DEBUG_ENABLED_SANDBAG + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_SANDBAG + #define DEBUG_SETTINGS DEBUG_SETTINGS_SANDBAG +#endif + +#include "\z\ace\addons\main\script_macros.hpp" diff --git a/addons/sandbag/stringtable.xml b/addons/sandbag/stringtable.xml new file mode 100644 index 0000000000..3b16151328 --- /dev/null +++ b/addons/sandbag/stringtable.xml @@ -0,0 +1,149 @@ + + + + + Sandbag + Sandsack + Мешок с песком + Worek z piaskiem + Sandbag + Sac de sable + Pytel s pískem + Sacco di Sabbia + Homokzsák + + + Sandbag (empty) + Sandsack (leer) + Мешок с песком (пустой) + Worek na piasek + Sandbag (empty) + Sac de sable (vide) + Pytel na písek (prázdný) + Sacco di Sabbia (Vuoto) + Homokzsák (üres) + + + Cannot build here + Nicht möglich + Установка на этом месте невозможна + Nie można tu budować + Cannot build here + Impossible de construire ici + Zde nelze postavit + Impossibile costruire qui + Nem teheted ide + + + Pick up sandbag + Sandsack abbauen + Взять мешок с песком + Zabierz worek + Pick up sandbag + Prendre sac de sable + Zvednout pytel + Prendi Sacco di Sabbia + Homokzsák felvétele + + + Carry sandbag + Sandsack tragen + Нести мешок с песком + Przenieś worek + Carry sandbag + Porter sac de sable + Nést pytel + Trasporta Sacco di Sabbia + Homokzsák cipelése + + + End carrying + Tragen beenden + Завершить переноску + Zostaw worek + End carrying + Arreter de porter + Položit + Fine Trasporto + Cipelés abbahagyása + + + Drop sandbag + Sandsack ablegen + Положить мешок + Upuść worek + Drop sandbag + Lacher sac de sable + Odložit pytel + Lascia Sacco di Sabbia + Homokzsák eldobása + + + Confirm Deployment + Aufbauen + Подтвердить установку + Potwierdź rozłożenie + Confirm Deployment + Confirmer Déploiement + Potvrdit Položení + Conferma Posizionamento + Lerak + + + Cancel Deployment + Abbrechen + Отменить установку + Anuluj rozłożenie + Cancel Deployment + Annuler Déploiement + Zrušit Položení + Cancella Posizionamento + Visszavonás + + + Deploy sandbag + Sandsack aufbauen + Установить мешок с песком + Rozłóż worek z piaskiem + Deploy sandbag + Deployer sac de sable + Umístit pytel + Posiziona Sacco di Sabbia + Homokzsák lerakása + + + Sandbag box + Sandsack Kiste + Ящик мешков с песком + Skrzynia worków na piasek + Sandbag box + Caisse de sacs de sable + Bedna na pytle s pískem + Contenitore Sacchi di Sabbia + Homokzsákos láda + + + Here is no sand + Hier gibt es keinen Sand + Здесь нет песка + Tu nie ma piasku + Here is no sand + Pas de sable ici + Tady není písek + Qui non cè Sabbia + Itt nincs homok + + + + Modifier, rotates + + Modifikator, drehen + + Modificador, girar + + Modificateur, tourner + + Modificatore, rotazione + + Modifikátor, otočit + + Változtatás, forgatás + + Modyfikator, obrót + + Modificador, rotaciona + + Bращать + + + \ No newline at end of file