diff --git a/addons/briefing/$PBOPREFIX$ b/addons/briefing/$PBOPREFIX$ new file mode 100644 index 0000000..93ad11b --- /dev/null +++ b/addons/briefing/$PBOPREFIX$ @@ -0,0 +1 @@ +z\afsk\addons\briefing \ No newline at end of file diff --git a/addons/briefing/CfgEventHandlers.hpp b/addons/briefing/CfgEventHandlers.hpp new file mode 100644 index 0000000..e90bed4 --- /dev/null +++ b/addons/briefing/CfgEventHandlers.hpp @@ -0,0 +1,15 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; +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)); + }; +}; diff --git a/addons/briefing/XEH_PREP.hpp b/addons/briefing/XEH_PREP.hpp new file mode 100644 index 0000000..496ce84 --- /dev/null +++ b/addons/briefing/XEH_PREP.hpp @@ -0,0 +1 @@ +PREP(createRules); diff --git a/addons/briefing/XEH_postInit.sqf b/addons/briefing/XEH_postInit.sqf new file mode 100644 index 0000000..9aa84cc --- /dev/null +++ b/addons/briefing/XEH_postInit.sqf @@ -0,0 +1,10 @@ +#include "script_component.hpp" + +// Killswitch +if (!EGVAR(common,enabled)) exitWith {}; + +if (hasInterface) then { + if (GVAR(rulesEnabled)) then { + call FUNC(createRules); + }; +}; diff --git a/addons/briefing/XEH_preInit.sqf b/addons/briefing/XEH_preInit.sqf new file mode 100644 index 0000000..8cf778f --- /dev/null +++ b/addons/briefing/XEH_preInit.sqf @@ -0,0 +1,10 @@ +#include "script_component.hpp" +ADDON = false; +#include "XEH_PREP.hpp" + +#include "initSettings.inc.sqf" + +// Killswitch +if (!EGVAR(common,enabled)) exitWith {}; + +ADDON = true; diff --git a/addons/briefing/XEH_preStart.sqf b/addons/briefing/XEH_preStart.sqf new file mode 100644 index 0000000..a51262a --- /dev/null +++ b/addons/briefing/XEH_preStart.sqf @@ -0,0 +1,2 @@ +#include "script_component.hpp" +#include "XEH_PREP.hpp" diff --git a/addons/briefing/config.cpp b/addons/briefing/config.cpp new file mode 100644 index 0000000..d96fb9a --- /dev/null +++ b/addons/briefing/config.cpp @@ -0,0 +1,18 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = { + "afsk_common" + }; + author = "ArmaForces"; + VERSION_CONFIG; + }; +}; + + +#include "CfgEventHandlers.hpp" diff --git a/addons/briefing/functions/fnc_createRules.sqf b/addons/briefing/functions/fnc_createRules.sqf new file mode 100644 index 0000000..60cbef1 --- /dev/null +++ b/addons/briefing/functions/fnc_createRules.sqf @@ -0,0 +1,36 @@ +#include "script_component.hpp" +/* + * Author: 3Mydlo3 + * + * Creates rules briefing. + * + * Arguments: + * None + * + * Return Value: + * None + * + * Public: No + */ + +#define DIARY_NAME "skDiary" + +params [["_unit", player]]; + +_unit createDiarySubject [DIARY_NAME, LELSTRING(main,Category)]; + +private _listSeparator = "
- "; +private _generalRulesList = [ + LLSTRING(Rules_1), + LLSTRING(Rules_2), + LLSTRING(Rules_3), + LLSTRING(Rules_4), + LLSTRING(Rules_5), + LLSTRING(Rules_6), + LLSTRING(Rules_7), + LLSTRING(Rules_8) +] joinString _listSeparator; + +private _generalRulesText = format ["%1%2%3", LLSTRING(Rules), _listSeparator, _generalRulesList]; + +_unit createDiaryRecord [DIARY_NAME, [LLSTRING(Rules), _generalRulesText]]; diff --git a/addons/briefing/functions/script_component.hpp b/addons/briefing/functions/script_component.hpp new file mode 100644 index 0000000..02397ac --- /dev/null +++ b/addons/briefing/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\afsk\addons\briefing\script_component.hpp" diff --git a/addons/briefing/initSettings.inc.sqf b/addons/briefing/initSettings.inc.sqf new file mode 100644 index 0000000..0afa515 --- /dev/null +++ b/addons/briefing/initSettings.inc.sqf @@ -0,0 +1,10 @@ +[ + QGVAR(rulesEnabled), + "CHECKBOX", + [LSTRING(RulesEnabled), LSTRING(RulesEnabled_Description)], + [LSTRING(DisplayName)], + true, + true, + {}, + true +] call CBA_fnc_addSetting; diff --git a/addons/briefing/script_component.hpp b/addons/briefing/script_component.hpp new file mode 100644 index 0000000..b07bd3d --- /dev/null +++ b/addons/briefing/script_component.hpp @@ -0,0 +1,14 @@ +#define COMPONENT briefing +#include "\z\afsk\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE + +#ifdef DEBUG_ENABLED_BRIEFING + #define DEBUG_MODE_FULL +#endif + #ifdef DEBUG_SETTINGS_BRIEFING + #define DEBUG_SETTINGS DEBUG_SETTINGS_BRIEFING +#endif + +#include "\z\afsk\addons\main\script_macros.hpp" diff --git a/addons/briefing/stringtable.xml b/addons/briefing/stringtable.xml new file mode 100644 index 0000000..fd229ee --- /dev/null +++ b/addons/briefing/stringtable.xml @@ -0,0 +1,53 @@ + + + + + SerialKillers - Briefing + SerialKillers - Odprawa + + + Enable rules + Włącz zasady + + + If enabled, suggested rules will be visible on the map in "SerialKillers" briefing section. + Jeżeli włączone, proponowane zasady będą widoczne na odprawnie na mapie w zakładce "SerialKillers". + + + Rules + Zasady + + + Cops are not allowed to use terrorist stashes/weapons. They may only use radios they find after neutralizing a terrorist. + Policjanci nie mogą używać broni terrorystów ani skrytek z bronią. Mogą używać jedynie radia, które znajdą przy zneutralizowanym terroryście. + + + Cops are not allowed to kill, hurt or harm civilians in any other way without certainty that this is a terrorist. They may not use civilian vehicles either. + Policjanci nie mogą zabijać ani krzywdzić cywili w żaden sposób bez pewności, że to terrorysta. Nie mogą również używać cywilnych pojazdów. + + + Cops are not allowed to sit in jail nor obstruct it in any way. They may only check if a prisoner is there, without moving him, they must leave immediately afterwards. + Policjanci nie mogą siedzieć w więzieniu ani blokować wejścia do niego. Mogą jedynie sprawdzić czy więzień tam jest, bez przemieszczania go i muszą opuścić więzienie natychmiast po sprawdzeniu. + + + Only 1 police helicopter is allowed, with the same dedicated crew. + Tylko 1 policyjny helikopter jest dozwolony, z tą samą dedykowaną załogą. + + + Terrorists should not use any cops-dedicated functionalities within police stations. + Terroryści nie powinni używać funkcjonalności przeznaczonych dla policjantów w obrębie komisariatów. + + + Terrorists are responsible for everyone's fun. Make it so the police doesn't die of boredom. + Terroryści są odpowiedzialni za zabawę wszystkich grających. Grajcie tak, żeby policja nie umarła z nudów. + + + Driving off-road is allowed only when having off-road vehicle. Despite that, do not hide in forests/remote areas on purpose, as it's not fun. + Jeżdżenie poza drogami (off-road) jest dozwolone tylko w pojazdach terenowych. Nie ukrywaj się po lasach i odległych miejscach, to nie jest fajna zabawa. + + + Using vehicles as kamikaze kinetic projectiles is strictly forbidden due to how arma works, and it's not fun anyway. + Używanie pojazdów jako pocisków kinetycznych do kamikadze jest zabronione ze względu na to jak działa arma, do tego nie jest to fajna zabawa. + + +