From 3ff55ca98805bdf955c3c4f37d0cbaf5877730a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brostr=C3=B6m=2EA=20=7C=20Evul?= Date: Tue, 16 Jul 2024 17:56:52 +0200 Subject: [PATCH 1/5] Added cScripts and loadout chat command to give you cscripts version and loadout name (#1211) --- cScripts/CfgFunctions.hpp | 1 + .../gear/fn_gear_getLoadoutDisplayName.sqf | 30 +++++++++++++++++++ .../functions/init/fn_init_chatCommands.sqf | 11 +++++++ 3 files changed, 42 insertions(+) create mode 100644 cScripts/functions/gear/fn_gear_getLoadoutDisplayName.sqf diff --git a/cScripts/CfgFunctions.hpp b/cScripts/CfgFunctions.hpp index 601233a2b..da9d39b66 100644 --- a/cScripts/CfgFunctions.hpp +++ b/cScripts/CfgFunctions.hpp @@ -245,6 +245,7 @@ class cScripts { // other class gear_getLoadoutRole {}; class gear_getLoadoutName {}; + class gear_getLoadoutDisplayName {}; }; class diag { file = "cScripts\functions\diag"; diff --git a/cScripts/functions/gear/fn_gear_getLoadoutDisplayName.sqf b/cScripts/functions/gear/fn_gear_getLoadoutDisplayName.sqf new file mode 100644 index 000000000..b7f7d9ae7 --- /dev/null +++ b/cScripts/functions/gear/fn_gear_getLoadoutDisplayName.sqf @@ -0,0 +1,30 @@ +#include "..\script_component.hpp" +/* + * Author: CPL.Brostrom.A + * This function return a units current loadouts displayname. + * + * Arguments: + * 0: Unit + * + * Return Value: + * Loadout name + * + * Example: + * [player] call cScripts_fnc_gear_getLoadoutDisplayName; + * [cursorObject] call cScripts_fnc_gear_getLoadoutDisplayName; + * + */ + +params [["_unit", objNull, [objNull]]]; + +private _loadout = [_unit] call EFUNC(gear,getLoadoutName); + +private _missionConfig = missionConfigFile >> "CfgLoadouts" >> _loadout; +private _displayName = getText (_missionConfig >> "displayName"); + +if (_displayName == "") then { + private _config = configFile >> "CfgLoadouts" >> _loadout; + _displayName = getText (_config >> "displayName"); +}; + +_displayName \ No newline at end of file diff --git a/cScripts/functions/init/fn_init_chatCommands.sqf b/cScripts/functions/init/fn_init_chatCommands.sqf index 6e6a218bc..0de2c7c77 100644 --- a/cScripts/functions/init/fn_init_chatCommands.sqf +++ b/cScripts/functions/init/fn_init_chatCommands.sqf @@ -12,3 +12,14 @@ ["attendance", { [QGVAR(getAttendance)] call CBA_fnc_localEvent; }, "all"] call CBA_fnc_registerChatCommand; + +// Help and diagnostic commands +["cScripts", { + systemChat format["cScripts version: %1", VERSION]; +}, "all"] call CBA_fnc_registerChatCommand; + +["loadout", { + private _name = [player] call EFUNC(gear,getLoadoutDisplayName); + private _loadout = [player] call EFUNC(gear,getLoadoutName); + systemChat format["Your current loadout is: %1 [%2]",_name,_loadout]; +}, "all"] call CBA_fnc_registerChatCommand; From b970466b94ac20600516e9431cc7dc525f4044c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brostr=C3=B6m=2EA=20=7C=20Evul?= Date: Wed, 17 Jul 2024 01:49:36 +0200 Subject: [PATCH 2/5] Fixed formated log show macros using debug macros instead parent show macro (#1212) --- cScripts/script_macros.hpp | 260 ++++++++++++++++++------------------- 1 file changed, 130 insertions(+), 130 deletions(-) diff --git a/cScripts/script_macros.hpp b/cScripts/script_macros.hpp index 180011f71..728c1affb 100644 --- a/cScripts/script_macros.hpp +++ b/cScripts/script_macros.hpp @@ -176,165 +176,165 @@ /* VISABLE LOGS */ #define SHOW_LOG(COMPONANT,MESSAGE) LOG_SYS(COMPONANT,MESSAGE,false,false) -#define SHOW_LOG_1(COMPONANT,MESSAGE,ARG1) LOG(COMPONANT,FORMAT_1(MESSAGE,ARG1)) -#define SHOW_LOG_2(COMPONANT,MESSAGE,ARG1,ARG2) LOG(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) -#define SHOW_LOG_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) LOG(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) -#define SHOW_LOG_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) LOG(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) -#define SHOW_LOG_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) LOG(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) -#define SHOW_LOG_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) LOG(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) -#define SHOW_LOG_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) LOG(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) -#define SHOW_LOG_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) LOG(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) +#define SHOW_LOG_1(COMPONANT,MESSAGE,ARG1) SHOW_LOG(COMPONANT,FORMAT_1(MESSAGE,ARG1)) +#define SHOW_LOG_2(COMPONANT,MESSAGE,ARG1,ARG2) SHOW_LOG(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) +#define SHOW_LOG_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) SHOW_LOG(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) +#define SHOW_LOG_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) SHOW_LOG(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) +#define SHOW_LOG_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) SHOW_LOG(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) +#define SHOW_LOG_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) SHOW_LOG(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) +#define SHOW_LOG_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) SHOW_LOG(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) +#define SHOW_LOG_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) SHOW_LOG(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) #define SHOW_INFO(COMPONANT,MESSAGE) INFO_SYS(COMPONANT,MESSAGE,false,false) -#define SHOW_INFO_1(COMPONANT,MESSAGE,ARG1) INFO(COMPONANT,FORMAT_1(MESSAGE,ARG1)) -#define SHOW_INFO_2(COMPONANT,MESSAGE,ARG1,ARG2) INFO(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) -#define SHOW_INFO_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) INFO(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) -#define SHOW_INFO_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) INFO(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) -#define SHOW_INFO_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) INFO(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) -#define SHOW_INFO_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) INFO(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) -#define SHOW_INFO_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) INFO(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) -#define SHOW_INFO_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) INFO(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) +#define SHOW_INFO_1(COMPONANT,MESSAGE,ARG1) SHOW_INFO(COMPONANT,FORMAT_1(MESSAGE,ARG1)) +#define SHOW_INFO_2(COMPONANT,MESSAGE,ARG1,ARG2) SHOW_INFO(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) +#define SHOW_INFO_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) SHOW_INFO(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) +#define SHOW_INFO_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) SHOW_INFO(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) +#define SHOW_INFO_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) SHOW_INFO(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) +#define SHOW_INFO_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) SHOW_INFO(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) +#define SHOW_INFO_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) SHOW_INFO(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) +#define SHOW_INFO_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) SHOW_INFO(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) #define SHOW_WARNING(COMPONANT,MESSAGE) WARNING_SYS(COMPONANT,MESSAGE,false,false) -#define SHOW_WARNING_1(COMPONANT,MESSAGE,ARG1) WARNING(COMPONANT,FORMAT_1(MESSAGE,ARG1)) -#define SHOW_WARNING_2(COMPONANT,MESSAGE,ARG1,ARG2) WARNING(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) -#define SHOW_WARNING_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) WARNING(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) -#define SHOW_WARNING_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) WARNING(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) -#define SHOW_WARNING_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) WARNING(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) -#define SHOW_WARNING_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) WARNING(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) -#define SHOW_WARNING_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) WARNING(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) -#define SHOW_WARNING_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) WARNING(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) - -#define SHOW_ERROR(COMPONANT,MESSAGE) ERROR_SYS(COMPONANT,MESSAGE,true,false) -#define SHOW_ERROR_1(COMPONANT,MESSAGE,ARG1) ERROR(COMPONANT,FORMAT_1(MESSAGE,ARG1)) -#define SHOW_ERROR_2(COMPONANT,MESSAGE,ARG1,ARG2) ERROR(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) -#define SHOW_ERROR_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) ERROR(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) -#define SHOW_ERROR_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) ERROR(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) -#define SHOW_ERROR_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) ERROR(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) -#define SHOW_ERROR_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) ERROR(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) -#define SHOW_ERROR_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) ERROR(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) -#define SHOW_ERROR_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) ERROR(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) +#define SHOW_WARNING_1(COMPONANT,MESSAGE,ARG1) SHOW_WARNING(COMPONANT,FORMAT_1(MESSAGE,ARG1)) +#define SHOW_WARNING_2(COMPONANT,MESSAGE,ARG1,ARG2) SHOW_WARNING(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) +#define SHOW_WARNING_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) SHOW_WARNING(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) +#define SHOW_WARNING_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) SHOW_WARNING(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) +#define SHOW_WARNING_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) SHOW_WARNING(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) +#define SHOW_WARNING_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) SHOW_WARNING(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) +#define SHOW_WARNING_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) SHOW_WARNING(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) +#define SHOW_WARNING_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) SHOW_WARNING(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) + +#define SHOW_ERROR(COMPONANT,MESSAGE) ERROR_SYS(COMPONANT,MESSAGE,false,false) +#define SHOW_ERROR_1(COMPONANT,MESSAGE,ARG1) SHOW_ERROR(COMPONANT,FORMAT_1(MESSAGE,ARG1)) +#define SHOW_ERROR_2(COMPONANT,MESSAGE,ARG1,ARG2) SHOW_ERROR(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) +#define SHOW_ERROR_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) SHOW_ERROR(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) +#define SHOW_ERROR_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) SHOW_ERROR(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) +#define SHOW_ERROR_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) SHOW_ERROR(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) +#define SHOW_ERROR_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) SHOW_ERROR(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) +#define SHOW_ERROR_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) SHOW_ERROR(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) +#define SHOW_ERROR_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) SHOW_ERROR(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) /* SHOW CHAT LOG */ #define SHOW_CHAT_LOG(COMPONANT,MESSAGE) LOG_SYS(COMPONANT,MESSAGE,true,false) -#define SHOW_CHAT_LOG_1(COMPONANT,MESSAGE,ARG1) LOG(COMPONANT,FORMAT_1(MESSAGE,ARG1)) -#define SHOW_CHAT_LOG_2(COMPONANT,MESSAGE,ARG1,ARG2) LOG(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) -#define SHOW_CHAT_LOG_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) LOG(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) -#define SHOW_CHAT_LOG_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) LOG(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) -#define SHOW_CHAT_LOG_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) LOG(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) -#define SHOW_CHAT_LOG_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) LOG(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) -#define SHOW_CHAT_LOG_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) LOG(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) -#define SHOW_CHAT_LOG_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) LOG(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) +#define SHOW_CHAT_LOG_1(COMPONANT,MESSAGE,ARG1) SHOW_CHAT_LOG(COMPONANT,FORMAT_1(MESSAGE,ARG1)) +#define SHOW_CHAT_LOG_2(COMPONANT,MESSAGE,ARG1,ARG2) SHOW_CHAT_LOG(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) +#define SHOW_CHAT_LOG_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) SHOW_CHAT_LOG(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) +#define SHOW_CHAT_LOG_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) SHOW_CHAT_LOG(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) +#define SHOW_CHAT_LOG_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) SHOW_CHAT_LOG(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) +#define SHOW_CHAT_LOG_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) SHOW_CHAT_LOG(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) +#define SHOW_CHAT_LOG_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) SHOW_CHAT_LOG(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) +#define SHOW_CHAT_LOG_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) SHOW_CHAT_LOG(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) #define SHOW_CHAT_INFO(COMPONANT,MESSAGE) INFO_SYS(COMPONANT,MESSAGE,true,false) -#define SHOW_CHAT_INFO_1(COMPONANT,MESSAGE,ARG1) INFO(COMPONANT,FORMAT_1(MESSAGE,ARG1)) -#define SHOW_CHAT_INFO_2(COMPONANT,MESSAGE,ARG1,ARG2) INFO(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) -#define SHOW_CHAT_INFO_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) INFO(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) -#define SHOW_CHAT_INFO_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) INFO(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) -#define SHOW_CHAT_INFO_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) INFO(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) -#define SHOW_CHAT_INFO_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) INFO(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) -#define SHOW_CHAT_INFO_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) INFO(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) -#define SHOW_CHAT_INFO_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) INFO(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) +#define SHOW_CHAT_INFO_1(COMPONANT,MESSAGE,ARG1) SHOW_CHAT_INFO(COMPONANT,FORMAT_1(MESSAGE,ARG1)) +#define SHOW_CHAT_INFO_2(COMPONANT,MESSAGE,ARG1,ARG2) SHOW_CHAT_INFO(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) +#define SHOW_CHAT_INFO_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) SHOW_CHAT_INFO(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) +#define SHOW_CHAT_INFO_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) SHOW_CHAT_INFO(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) +#define SHOW_CHAT_INFO_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) SHOW_CHAT_INFO(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) +#define SHOW_CHAT_INFO_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) SHOW_CHAT_INFO(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) +#define SHOW_CHAT_INFO_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) SHOW_CHAT_INFO(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) +#define SHOW_CHAT_INFO_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) SHOW_CHAT_INFO(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) #define SHOW_CHAT_WARNING(COMPONANT,MESSAGE) WARNING_SYS(COMPONANT,MESSAGE,true,false) -#define SHOW_CHAT_WARNING_1(COMPONANT,MESSAGE,ARG1) WARNING(COMPONANT,FORMAT_1(MESSAGE,ARG1)) -#define SHOW_CHAT_WARNING_2(COMPONANT,MESSAGE,ARG1,ARG2) WARNING(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) -#define SHOW_CHAT_WARNING_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) WARNING(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) -#define SHOW_CHAT_WARNING_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) WARNING(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) -#define SHOW_CHAT_WARNING_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) WARNING(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) -#define SHOW_CHAT_WARNING_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) WARNING(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) -#define SHOW_CHAT_WARNING_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) WARNING(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) -#define SHOW_CHAT_WARNING_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) WARNING(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) +#define SHOW_CHAT_WARNING_1(COMPONANT,MESSAGE,ARG1) SHOW_CHAT_WARNING(COMPONANT,FORMAT_1(MESSAGE,ARG1)) +#define SHOW_CHAT_WARNING_2(COMPONANT,MESSAGE,ARG1,ARG2) SHOW_CHAT_WARNING(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) +#define SHOW_CHAT_WARNING_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) SHOW_CHAT_WARNING(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) +#define SHOW_CHAT_WARNING_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) SHOW_CHAT_WARNING(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) +#define SHOW_CHAT_WARNING_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) SHOW_CHAT_WARNING(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) +#define SHOW_CHAT_WARNING_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) SHOW_CHAT_WARNING(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) +#define SHOW_CHAT_WARNING_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) SHOW_CHAT_WARNING(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) +#define SHOW_CHAT_WARNING_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) SHOW_CHAT_WARNING(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) #define SHOW_CHAT_ERROR(COMPONANT,MESSAGE) ERROR_SYS(COMPONANT,MESSAGE,true,false) -#define SHOW_CHAT_ERROR_1(COMPONANT,MESSAGE,ARG1) ERROR(COMPONANT,FORMAT_1(MESSAGE,ARG1)) -#define SHOW_CHAT_ERROR_2(COMPONANT,MESSAGE,ARG1,ARG2) ERROR(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) -#define SHOW_CHAT_ERROR_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) ERROR(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) -#define SHOW_CHAT_ERROR_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) ERROR(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) -#define SHOW_CHAT_ERROR_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) ERROR(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) -#define SHOW_CHAT_ERROR_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) ERROR(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) -#define SHOW_CHAT_ERROR_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) ERROR(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) -#define SHOW_CHAT_ERROR_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) ERROR(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) +#define SHOW_CHAT_ERROR_1(COMPONANT,MESSAGE,ARG1) SHOW_CHAT_ERROR(COMPONANT,FORMAT_1(MESSAGE,ARG1)) +#define SHOW_CHAT_ERROR_2(COMPONANT,MESSAGE,ARG1,ARG2) SHOW_CHAT_ERROR(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) +#define SHOW_CHAT_ERROR_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) SHOW_CHAT_ERROR(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) +#define SHOW_CHAT_ERROR_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) SHOW_CHAT_ERROR(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) +#define SHOW_CHAT_ERROR_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) SHOW_CHAT_ERROR(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) +#define SHOW_CHAT_ERROR_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) SHOW_CHAT_ERROR(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) +#define SHOW_CHAT_ERROR_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) SHOW_CHAT_ERROR(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) +#define SHOW_CHAT_ERROR_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) SHOW_CHAT_ERROR(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) /* SHOW CHAT SERVER LOG*/ #define SHOW_CHAT_SERVER_LOG(COMPONANT,MESSAGE) LOG_SYS(COMPONANT,MESSAGE,true,true) -#define SHOW_CHAT_SERVER_LOG_1(COMPONANT,MESSAGE,ARG1) LOG(COMPONANT,FORMAT_1(MESSAGE,ARG1)) -#define SHOW_CHAT_SERVER_LOG_2(COMPONANT,MESSAGE,ARG1,ARG2) LOG(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) -#define SHOW_CHAT_SERVER_LOG_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) LOG(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) -#define SHOW_CHAT_SERVER_LOG_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) LOG(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) -#define SHOW_CHAT_SERVER_LOG_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) LOG(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) -#define SHOW_CHAT_SERVER_LOG_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) LOG(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) -#define SHOW_CHAT_SERVER_LOG_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) LOG(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) -#define SHOW_CHAT_SERVER_LOG_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) LOG(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) +#define SHOW_CHAT_SERVER_LOG_1(COMPONANT,MESSAGE,ARG1) SHOW_CHAT_SERVER_LOG(COMPONANT,FORMAT_1(MESSAGE,ARG1)) +#define SHOW_CHAT_SERVER_LOG_2(COMPONANT,MESSAGE,ARG1,ARG2) SHOW_CHAT_SERVER_LOG(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) +#define SHOW_CHAT_SERVER_LOG_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) SHOW_CHAT_SERVER_LOG(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) +#define SHOW_CHAT_SERVER_LOG_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) SHOW_CHAT_SERVER_LOG(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) +#define SHOW_CHAT_SERVER_LOG_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) SHOW_CHAT_SERVER_LOG(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) +#define SHOW_CHAT_SERVER_LOG_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) SHOW_CHAT_SERVER_LOG(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) +#define SHOW_CHAT_SERVER_LOG_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) SHOW_CHAT_SERVER_LOG(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) +#define SHOW_CHAT_SERVER_LOG_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) SHOW_CHAT_SERVER_LOG(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) #define SHOW_CHAT_SERVER_INFO(COMPONANT,MESSAGE) INFO_SYS(COMPONANT,MESSAGE,true,true) -#define SHOW_CHAT_SERVER_INFO_1(COMPONANT,MESSAGE,ARG1) INFO(COMPONANT,FORMAT_1(MESSAGE,ARG1)) -#define SHOW_CHAT_SERVER_INFO_2(COMPONANT,MESSAGE,ARG1,ARG2) INFO(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) -#define SHOW_CHAT_SERVER_INFO_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) INFO(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) -#define SHOW_CHAT_SERVER_INFO_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) INFO(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) -#define SHOW_CHAT_SERVER_INFO_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) INFO(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) -#define SHOW_CHAT_SERVER_INFO_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) INFO(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) -#define SHOW_CHAT_SERVER_INFO_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) INFO(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) -#define SHOW_CHAT_SERVER_INFO_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) INFO(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) +#define SHOW_CHAT_SERVER_INFO_1(COMPONANT,MESSAGE,ARG1) SHOW_CHAT_SERVER_INFO(COMPONANT,FORMAT_1(MESSAGE,ARG1)) +#define SHOW_CHAT_SERVER_INFO_2(COMPONANT,MESSAGE,ARG1,ARG2) SHOW_CHAT_SERVER_INFO(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) +#define SHOW_CHAT_SERVER_INFO_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) SHOW_CHAT_SERVER_INFO(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) +#define SHOW_CHAT_SERVER_INFO_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) SHOW_CHAT_SERVER_INFO(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) +#define SHOW_CHAT_SERVER_INFO_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) SHOW_CHAT_SERVER_INFO(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) +#define SHOW_CHAT_SERVER_INFO_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) SHOW_CHAT_SERVER_INFO(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) +#define SHOW_CHAT_SERVER_INFO_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) SHOW_CHAT_SERVER_INFO(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) +#define SHOW_CHAT_SERVER_INFO_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) SHOW_CHAT_SERVER_INFO(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) #define SHOW_CHAT_SERVER_WARNING(COMPONANT,MESSAGE) WARNING_SYS(COMPONANT,MESSAGE,true,true) -#define SHOW_CHAT_SERVER_WARNING_1(COMPONANT,MESSAGE,ARG1) WARNING(COMPONANT,FORMAT_1(MESSAGE,ARG1)) -#define SHOW_CHAT_SERVER_WARNING_2(COMPONANT,MESSAGE,ARG1,ARG2) WARNING(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) -#define SHOW_CHAT_SERVER_WARNING_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) WARNING(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) -#define SHOW_CHAT_SERVER_WARNING_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) WARNING(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) -#define SHOW_CHAT_SERVER_WARNING_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) WARNING(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) -#define SHOW_CHAT_SERVER_WARNING_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) WARNING(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) -#define SHOW_CHAT_SERVER_WARNING_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) WARNING(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) -#define SHOW_CHAT_SERVER_WARNING_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) WARNING(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) +#define SHOW_CHAT_SERVER_WARNING_1(COMPONANT,MESSAGE,ARG1) SHOW_CHAT_SERVER_WARNING(COMPONANT,FORMAT_1(MESSAGE,ARG1)) +#define SHOW_CHAT_SERVER_WARNING_2(COMPONANT,MESSAGE,ARG1,ARG2) SHOW_CHAT_SERVER_WARNING(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) +#define SHOW_CHAT_SERVER_WARNING_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) SHOW_CHAT_SERVER_WARNING(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) +#define SHOW_CHAT_SERVER_WARNING_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) SHOW_CHAT_SERVER_WARNING(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) +#define SHOW_CHAT_SERVER_WARNING_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) SHOW_CHAT_SERVER_WARNING(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) +#define SHOW_CHAT_SERVER_WARNING_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) SHOW_CHAT_SERVER_WARNING(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) +#define SHOW_CHAT_SERVER_WARNING_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) SHOW_CHAT_SERVER_WARNING(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) +#define SHOW_CHAT_SERVER_WARNING_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) SHOW_CHAT_SERVER_WARNING(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) #define SHOW_CHAT_SERVER_ERROR(COMPONANT,MESSAGE) ERROR_SYS(COMPONANT,MESSAGE,true,true) -#define SHOW_CHAT_SERVER_ERROR_1(COMPONANT,MESSAGE,ARG1) ERROR(COMPONANT,FORMAT_1(MESSAGE,ARG1)) -#define SHOW_CHAT_SERVER_ERROR_2(COMPONANT,MESSAGE,ARG1,ARG2) ERROR(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) -#define SHOW_CHAT_SERVER_ERROR_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) ERROR(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) -#define SHOW_CHAT_SERVER_ERROR_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) ERROR(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) -#define SHOW_CHAT_SERVER_ERROR_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) ERROR(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) -#define SHOW_CHAT_SERVER_ERROR_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) ERROR(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) -#define SHOW_CHAT_SERVER_ERROR_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) ERROR(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) -#define SHOW_CHAT_SERVER_ERROR_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) ERROR(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) +#define SHOW_CHAT_SERVER_ERROR_1(COMPONANT,MESSAGE,ARG1) SHOW_CHAT_SERVER_ERROR(COMPONANT,FORMAT_1(MESSAGE,ARG1)) +#define SHOW_CHAT_SERVER_ERROR_2(COMPONANT,MESSAGE,ARG1,ARG2) SHOW_CHAT_SERVER_ERROR(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) +#define SHOW_CHAT_SERVER_ERROR_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) SHOW_CHAT_SERVER_ERROR(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) +#define SHOW_CHAT_SERVER_ERROR_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) SHOW_CHAT_SERVER_ERROR(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) +#define SHOW_CHAT_SERVER_ERROR_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) SHOW_CHAT_SERVER_ERROR(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) +#define SHOW_CHAT_SERVER_ERROR_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) SHOW_CHAT_SERVER_ERROR(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) +#define SHOW_CHAT_SERVER_ERROR_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) SHOW_CHAT_SERVER_ERROR(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) +#define SHOW_CHAT_SERVER_ERROR_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) SHOW_CHAT_SERVER_ERROR(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) /* SHOW SERVER LOG*/ #define SHOW_SERVER_LOG(COMPONANT,MESSAGE) LOG_SYS(COMPONANT,MESSAGE,false,true) -#define SHOW_SERVER_LOG_1(COMPONANT,MESSAGE,ARG1) LOG(COMPONANT,FORMAT_1(MESSAGE,ARG1)) -#define SHOW_SERVER_LOG_2(COMPONANT,MESSAGE,ARG1,ARG2) LOG(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) -#define SHOW_SERVER_LOG_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) LOG(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) -#define SHOW_SERVER_LOG_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) LOG(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) -#define SHOW_SERVER_LOG_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) LOG(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) -#define SHOW_SERVER_LOG_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) LOG(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) -#define SHOW_SERVER_LOG_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) LOG(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) -#define SHOW_SERVER_LOG_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) LOG(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) +#define SHOW_SERVER_LOG_1(COMPONANT,MESSAGE,ARG1) SHOW_SERVER_LOG(COMPONANT,FORMAT_1(MESSAGE,ARG1)) +#define SHOW_SERVER_LOG_2(COMPONANT,MESSAGE,ARG1,ARG2) SHOW_SERVER_LOG(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) +#define SHOW_SERVER_LOG_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) SHOW_SERVER_LOG(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) +#define SHOW_SERVER_LOG_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) SHOW_SERVER_LOG(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) +#define SHOW_SERVER_LOG_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) SHOW_SERVER_LOG(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) +#define SHOW_SERVER_LOG_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) SHOW_SERVER_LOG(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) +#define SHOW_SERVER_LOG_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) SHOW_SERVER_LOG(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) +#define SHOW_SERVER_LOG_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) SHOW_SERVER_LOG(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) #define SHOW_SERVER_INFO(COMPONANT,MESSAGE) INFO_SYS(COMPONANT,MESSAGE,false,true) -#define SHOW_SERVER_INFO_1(COMPONANT,MESSAGE,ARG1) INFO(COMPONANT,FORMAT_1(MESSAGE,ARG1)) -#define SHOW_SERVER_INFO_2(COMPONANT,MESSAGE,ARG1,ARG2) INFO(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) -#define SHOW_SERVER_INFO_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) INFO(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) -#define SHOW_SERVER_INFO_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) INFO(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) -#define SHOW_SERVER_INFO_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) INFO(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) -#define SHOW_SERVER_INFO_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) INFO(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) -#define SHOW_SERVER_INFO_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) INFO(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) -#define SHOW_SERVER_INFO_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) INFO(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) +#define SHOW_SERVER_INFO_1(COMPONANT,MESSAGE,ARG1) SHOW_SERVER_INFO(COMPONANT,FORMAT_1(MESSAGE,ARG1)) +#define SHOW_SERVER_INFO_2(COMPONANT,MESSAGE,ARG1,ARG2) SHOW_SERVER_INFO(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) +#define SHOW_SERVER_INFO_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) SHOW_SERVER_INFO(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) +#define SHOW_SERVER_INFO_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) SHOW_SERVER_INFO(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) +#define SHOW_SERVER_INFO_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) SHOW_SERVER_INFO(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) +#define SHOW_SERVER_INFO_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) SHOW_SERVER_INFO(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) +#define SHOW_SERVER_INFO_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) SHOW_SERVER_INFO(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) +#define SHOW_SERVER_INFO_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) SHOW_SERVER_INFO(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) #define SHOW_SERVER_WARNING(COMPONANT,MESSAGE) WARNING_SYS(COMPONANT,MESSAGE,false,true) -#define SHOW_SERVER_WARNING_1(COMPONANT,MESSAGE,ARG1) WARNING(COMPONANT,FORMAT_1(MESSAGE,ARG1)) -#define SHOW_SERVER_WARNING_2(COMPONANT,MESSAGE,ARG1,ARG2) WARNING(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) -#define SHOW_SERVER_WARNING_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) WARNING(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) -#define SHOW_SERVER_WARNING_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) WARNING(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) -#define SHOW_SERVER_WARNING_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) WARNING(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) -#define SHOW_SERVER_WARNING_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) WARNING(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) -#define SHOW_SERVER_WARNING_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) WARNING(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) -#define SHOW_SERVER_WARNING_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) WARNING(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) +#define SHOW_SERVER_WARNING_1(COMPONANT,MESSAGE,ARG1) SHOW_SERVER_WARNING(COMPONANT,FORMAT_1(MESSAGE,ARG1)) +#define SHOW_SERVER_WARNING_2(COMPONANT,MESSAGE,ARG1,ARG2) SHOW_SERVER_WARNING(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) +#define SHOW_SERVER_WARNING_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) SHOW_SERVER_WARNING(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) +#define SHOW_SERVER_WARNING_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) SHOW_SERVER_WARNING(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) +#define SHOW_SERVER_WARNING_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) SHOW_SERVER_WARNING(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) +#define SHOW_SERVER_WARNING_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) SHOW_SERVER_WARNING(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) +#define SHOW_SERVER_WARNING_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) SHOW_SERVER_WARNING(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) +#define SHOW_SERVER_WARNING_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) SHOW_SERVER_WARNING(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) #define SHOW_SERVER_ERROR(COMPONANT,MESSAGE) ERROR_SYS(COMPONANT,MESSAGE,false,true) -#define SHOW_SERVER_ERROR_1(COMPONANT,MESSAGE,ARG1) ERROR(COMPONANT,FORMAT_1(MESSAGE,ARG1)) -#define SHOW_SERVER_ERROR_2(COMPONANT,MESSAGE,ARG1,ARG2) ERROR(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) -#define SHOW_SERVER_ERROR_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) ERROR(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) -#define SHOW_SERVER_ERROR_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) ERROR(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) -#define SHOW_SERVER_ERROR_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) ERROR(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) -#define SHOW_SERVER_ERROR_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) ERROR(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) -#define SHOW_SERVER_ERROR_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) ERROR(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) -#define SHOW_SERVER_ERROR_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) ERROR(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) +#define SHOW_SERVER_ERROR_1(COMPONANT,MESSAGE,ARG1) SHOW_SERVER_ERROR(COMPONANT,FORMAT_1(MESSAGE,ARG1)) +#define SHOW_SERVER_ERROR_2(COMPONANT,MESSAGE,ARG1,ARG2) SHOW_SERVER_ERROR(COMPONANT,FORMAT_2(MESSAGE,ARG1,ARG2)) +#define SHOW_SERVER_ERROR_3(COMPONANT,MESSAGE,ARG1,ARG2,ARG3) SHOW_SERVER_ERROR(COMPONANT,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) +#define SHOW_SERVER_ERROR_4(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4) SHOW_SERVER_ERROR(COMPONANT,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) +#define SHOW_SERVER_ERROR_5(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) SHOW_SERVER_ERROR(COMPONANT,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) +#define SHOW_SERVER_ERROR_6(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) SHOW_SERVER_ERROR(COMPONANT,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) +#define SHOW_SERVER_ERROR_7(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) SHOW_SERVER_ERROR(COMPONANT,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) +#define SHOW_SERVER_ERROR_8(COMPONANT,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) SHOW_SERVER_ERROR(COMPONANT,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) From 48c87eb764153f5781ecbec683e8dc29b0c4664c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brostr=C3=B6m=2EA=20=7C=20Evul?= Date: Wed, 17 Jul 2024 12:37:47 +0200 Subject: [PATCH 3/5] Changed attendance functions and module not return a copy pastable dialogue (#1214) --- cScripts/cScripts_postInit.sqf | 2 +- .../functions/init/fn_init_eventHandlers.sqf | 30 +++++++- .../functions/systems/fn_getAttendance.sqf | 74 ++++++++++++++----- 3 files changed, 81 insertions(+), 25 deletions(-) diff --git a/cScripts/cScripts_postInit.sqf b/cScripts/cScripts_postInit.sqf index e070e0b5e..030bc830a 100644 --- a/cScripts/cScripts_postInit.sqf +++ b/cScripts/cScripts_postInit.sqf @@ -29,7 +29,7 @@ if (EGVAR(Settings,showDiaryRecords)) then { call EFUNC(civ,init); onPlayerConnected { - [QEGVAR(log,player), [name player]] call CBA_fnc_serverEvent; + [QEGVAR(log,player), [getPlayerUID player, player]] call CBA_fnc_serverEvent; }; INFO("postInit", "Initialization completed."); diff --git a/cScripts/functions/init/fn_init_eventHandlers.sqf b/cScripts/functions/init/fn_init_eventHandlers.sqf index 889c5f7d3..3622a21e7 100644 --- a/cScripts/functions/init/fn_init_eventHandlers.sqf +++ b/cScripts/functions/init/fn_init_eventHandlers.sqf @@ -40,8 +40,30 @@ INFO("InitEventHandlers","Creating Server EventHandlers"); }] call CBA_fnc_addEventHandler; [QEGVAR(log,player), { - _this params ["_playerName"]; - private _playerLog = missionNamespace getVariable [QEGVAR(log,players), []]; - _playerLog pushBack _playerName; - missionNamespace setVariable [QEGVAR(log,players), _playerLog]; + params ["_guid","_player"]; + private _playerLog = GETMVAR(EGVAR(log,players),createHashMap); + INFO_3("PlayerLog","Connected %1 [%2] (GUID: %3)",name _player,typeOf _player,_guid); + + if (!isNil{_playerLog get _guid}) then { + INFO_1("PlayerLog","Updating Log Entry [%1]", isNil{_playerLog get _guid}); + private _data = _playerLog get _guid; + + private _connections = _data get "connections"; + _connections pushBack systemTimeUTC; + _data set ["connections", _connections]; + + _data set ["loadout", typeOf _player]; + + _playerLog set [_guid,_data]; + } else { + INFO_1("PlayerLog", "Creating Log Entry [%1]", isNil{_playerLog get _guid}); + private _entry = createHashMapFromArray [ + ['name', name _player], + ['loadout', typeOf _player], + ['connectTime', systemTimeUTC], + ['connections', [systemTimeUTC]] + ]; + _playerLog set [_guid,_entry]; + }; + SETMVAR(EGVAR(log,players),_playerLog); }] call CBA_fnc_addEventHandler; \ No newline at end of file diff --git a/cScripts/functions/systems/fn_getAttendance.sqf b/cScripts/functions/systems/fn_getAttendance.sqf index c89a4f7f5..3ab16a4d5 100644 --- a/cScripts/functions/systems/fn_getAttendance.sqf +++ b/cScripts/functions/systems/fn_getAttendance.sqf @@ -15,25 +15,59 @@ * */ -private _playerLog = missionNamespace getVariable [QEGVAR(log,players), []]; +private _loggedPlayer = GETMVAR(EGVAR(log,players),[]); -// Rpt -["=================================================== START", "Attendance"] call FUNC(info); -[format ["Attendance (Entries: %1)", count _playerLog], "Attendance"] call FUNC(info); +private _header = format["=== Attendance (Entries: %1) ===", count _loggedPlayer]; + +private _dateTime = systemTimeUTC apply { if (_x < 10) then { "0" + str _x } else { str _x } }; +private _formatDateTime = format["Date: %1-%2-%3 %4:%5z",_dateTime#0,_dateTime#1,_dateTime#2,_dateTime#3,_dateTime#4]; + +// Export +private _entries = [_header, endl, _formatDateTime, endl, endl]; { - _x params ["_name"]; - [_name, "Attendance", false, false] call FUNC(info); -} forEach _playerLog; - -["=================================================== END", "Attendence"] call FUNC(info); - -// Hint -[ - [], - ["All attended players have been"], - ["to your RPT log..."], - [""], - [""] -] call CBA_fnc_notify; - -_playerLog \ No newline at end of file + private _name = _y get "name"; + + private _loadout = _y get "loadout"; + private _missionConfig = missionConfigFile >> "CfgLoadouts" >> _loadout; + private _displayName = getText (_missionConfig >> "displayName"); + if (_displayName == "") then { + private _config = configFile >> "CfgLoadouts" >> _loadout; + _displayName = getText (_config >> "displayName"); + }; + + private _connectTime = (_y get "connectTime") apply { if (_x < 10) then { "0" + str _x } else { str _x } }; + private _formatConnectTime = format["%1-%2-%3 %4:%5z",_connectTime#0,_connectTime#1,_connectTime#2,_connectTime#3,_connectTime#4]; + + private _connections = count (_y get "connections"); + + _entries append [_name, " (", _displayName, ") ", _formatConnectTime, " (Connected ", str _connections, " time(s))", endl]; +} forEach _loggedPlayer; + +private _export = composeText _entries; +["Mission attendees", str _export] call zen_common_fnc_exportText; + + +// RPT +SHOW_INFO("Attendance",_header); +SHOW_INFO("Attendance",_formatDateTime); +{ + private _name = _y get "name"; + + private _loadout = _y get "loadout"; + private _missionConfig = missionConfigFile >> "CfgLoadouts" >> _loadout; + private _displayName = getText (_missionConfig >> "displayName"); + if (_displayName == "") then { + private _config = configFile >> "CfgLoadouts" >> _loadout; + _displayName = getText (_config >> "displayName"); + }; + + private _connectTime = (_y get "connectTime") apply { if (_x < 10) then { "0" + str _x } else { str _x } }; + private _formatConnectTime = format["%1-%2-%3 %4:%5z",_connectTime#0,_connectTime#1,_connectTime#2,_connectTime#3,_connectTime#4]; + + private _connections = count (_y get "connections"); + + private _output = [_name, " (", _displayName, " [", _loadout,"]) ", _formatConnectTime, " (Connected ", str _connections, " time(s))"] joinString ""; + SHOW_INFO("Attendance",_output); +} forEach _loggedPlayer; + +SHOW_INFO("Attendance","================================"); From b186778dfe80486e7a87f991ad79ab3a7915e0f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brostr=C3=B6m=2EA=20=7C=20Evul?= Date: Wed, 17 Jul 2024 12:38:21 +0200 Subject: [PATCH 4/5] Changed so isCurator now also return true if your a curator and added a missionAdmin check that check if player is curator or admin (#1213) --- cScripts/CfgFunctions.hpp | 2 +- .../functions/players/fn_player_isCurator.sqf | 4 +++- .../players/fn_player_isMissionAdmin.sqf | 21 +++++++++++++++++++ .../functions/systems/fn_allowLoadout.sqf | 1 + 4 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 cScripts/functions/players/fn_player_isMissionAdmin.sqf diff --git a/cScripts/CfgFunctions.hpp b/cScripts/CfgFunctions.hpp index da9d39b66..7fb540af2 100644 --- a/cScripts/CfgFunctions.hpp +++ b/cScripts/CfgFunctions.hpp @@ -68,7 +68,7 @@ class cScripts { class player_getRole {}; class player_isCurator {}; - + class player_isMissionAdmin {}; class unit_setTeamColor {}; class unit_getName {}; diff --git a/cScripts/functions/players/fn_player_isCurator.sqf b/cScripts/functions/players/fn_player_isCurator.sqf index 558331386..6edb4ef24 100644 --- a/cScripts/functions/players/fn_player_isCurator.sqf +++ b/cScripts/functions/players/fn_player_isCurator.sqf @@ -10,10 +10,12 @@ * true/False * * Example: - * call cScripts_fnc_unit_isCurator + * call cScripts_fnc_player_isCurator * */ +if (!isNull (getAssignedCuratorLogic player)) exitWith {true}; + private _curator = player getVariable [QEGVAR(Player,Unit), ""]; _curator = toLower _curator; if (_curator == "s3") exitWith {true}; diff --git a/cScripts/functions/players/fn_player_isMissionAdmin.sqf b/cScripts/functions/players/fn_player_isMissionAdmin.sqf new file mode 100644 index 000000000..523924839 --- /dev/null +++ b/cScripts/functions/players/fn_player_isMissionAdmin.sqf @@ -0,0 +1,21 @@ +#include "..\script_component.hpp"; +/* + * Author: SGT.Brostrom.A + * This function return true if a player is curator or admin + * + * Arguments: + * None + * + * Return Value: + * True/False + * + * Example: + * call cScripts_fnc_player_isMissionAdmin + * + */ + +if (!isNull (getAssignedCuratorLogic player)) exitWith {true}; +if (call BIS_fnc_admin > 1) exitWith {true}; +if (!isMultiplayer || {is3DENMultiplayer}) exitWith {true}; + +false \ No newline at end of file diff --git a/cScripts/functions/systems/fn_allowLoadout.sqf b/cScripts/functions/systems/fn_allowLoadout.sqf index aa518c7d9..849e34263 100644 --- a/cScripts/functions/systems/fn_allowLoadout.sqf +++ b/cScripts/functions/systems/fn_allowLoadout.sqf @@ -33,6 +33,7 @@ if (EGVAR(Staging,showAllLoadouts)) exitWith {true}; // Check if player is Zeus or Debug if (call EFUNC(player,isCurator)) exitWith {true}; +if (call EFUNC(player,isMissionAdmin)) exitWith {true}; // Check if does not have any company private _playerCompany = call EFUNC(player,getCompany); From ccfadf8d7f22d64128a62131201eff224b0a53df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brostr=C3=B6m=2EA=20=7C=20Evul?= Date: Wed, 17 Jul 2024 12:38:59 +0200 Subject: [PATCH 5/5] Removed Tagging system (#1209) --- cScripts/CfgFunctions.hpp | 1 - cScripts/cScripts_preInit.sqf | 5 --- .../functions/init/fn_init_aceTagging.sqf | 44 ------------------- cScripts/initSettings.inc.sqf | 10 ----- 4 files changed, 60 deletions(-) delete mode 100644 cScripts/functions/init/fn_init_aceTagging.sqf diff --git a/cScripts/CfgFunctions.hpp b/cScripts/CfgFunctions.hpp index 7fb540af2..34ec8b890 100644 --- a/cScripts/CfgFunctions.hpp +++ b/cScripts/CfgFunctions.hpp @@ -2,7 +2,6 @@ class cScripts { class init { file = "cScripts\functions\init"; class init_aceArsenal {}; - class init_aceTagging {}; class init_aceItemReplace {}; class init_skillAdjustment {}; diff --git a/cScripts/cScripts_preInit.sqf b/cScripts/cScripts_preInit.sqf index 670fbf9e0..24f1c47aa 100644 --- a/cScripts/cScripts_preInit.sqf +++ b/cScripts/cScripts_preInit.sqf @@ -9,7 +9,6 @@ INFO(if (is3DEN) then {"EDEN"} else {"preInit"}, "Initializing CBA Settings...") // Check installed moduels EGVAR(patches,usesACE) = isClass (configFile >> "CfgPatches" >> "ace_main"); EGVAR(patches,usesACEArsenal) = isClass (configFile >> "CfgPatches" >> "ace_arsenal"); -EGVAR(patches,usesACETagging) = isClass (configFile >> "CfgPatches" >> "ace_tagging"); EGVAR(patches,usesACEX) = isClass (configFile >> "CfgPatches" >> "acex_main"); EGVAR(patches,usesKat) = isClass (configFile >> "CfgPatches" >> "kat_main"); EGVAR(patches,usesACRE) = isClass (configFile >> "CfgPatches" >> "acre_sys_core"); @@ -46,10 +45,6 @@ EGVAR(PYLONS,DONE) = false; GVAR(PYLONS) = call EFUNC(init,pylons); EGVAR(PYLONS,DONE) = true; -if (EGVAR(Settings,allowCustomTagging)) then { - call EFUNC(init,aceTagging); -}; - call EFUNC(init,chatCommands); call EFUNC(init,zenModuels); diff --git a/cScripts/functions/init/fn_init_aceTagging.sqf b/cScripts/functions/init/fn_init_aceTagging.sqf deleted file mode 100644 index cb036ad06..000000000 --- a/cScripts/functions/init/fn_init_aceTagging.sqf +++ /dev/null @@ -1,44 +0,0 @@ -#include "..\script_component.hpp"; -/* - * Author: CPL.Brostrom.A - * This adds custom spray tags to all units. - * - * Example: - * call cScripts_fnc_init_aceTagging - * - * Public: No - */ - -if (!isServer) exitWith {}; -if (!EGVAR(patches,usesACETagging)) exitWith {}; -if (!isNil{missionNamespace getVariable QEGVAR(mission,tagging)}) exitWith {SHOW_WARNING("init", "Tagging already applied.")}; - -[ "cScripts_tagging_cav_black", - "Cav Black", - "ACE_SpraypaintBlack", - ["z\cav\addons\textures\data\tagging\tag_cav_black_ca.paa"], - "z\cav\addons\textures\data\tagging\icon_action_black_ca.paa" -] call ace_tagging_fnc_addCustomTag; - -[ "cScripts_tagging_cav_blue", - "Cav Blue", - "ACE_SpraypaintBlue", - ["z\cav\addons\textures\data\tagging\tag_cav_blue_ca.paa"], - "z\cav\addons\textures\data\tagging\icon_action_blue_ca.paa" -] call ace_tagging_fnc_addCustomTag; - -[ "cScripts_tagging_cav_green", - "Cav Green", - "ACE_SpraypaintGreen", - ["z\cav\addons\textures\data\tagging\tag_cav_green_ca.paa"], - "z\cav\addons\textures\data\tagging\icon_action_green_ca.paa" -] call ace_tagging_fnc_addCustomTag; - -[ "cScripts_tagging_cav_red", - "Cav Red", - "ACE_SpraypaintRed", - ["z\cav\addons\textures\data\tagging\tag_cav_red_ca.paa"], - "z\cav\addons\textures\data\tagging\icon_action_red_ca.paa" -] call ace_tagging_fnc_addCustomTag; - -missionNamespace setVariable [QEGVAR(mission,tagging), true]; diff --git a/cScripts/initSettings.inc.sqf b/cScripts/initSettings.inc.sqf index 240531abe..351810734 100644 --- a/cScripts/initSettings.inc.sqf +++ b/cScripts/initSettings.inc.sqf @@ -86,16 +86,6 @@ private _cScriptSettings = "cScripts Mission Settings"; {}, true ] call CBA_fnc_addSetting; -[ // Tagging - QEGVAR(Settings,allowCustomTagging), - "CHECKBOX", - ["Custom Tagging","Allow players to spray custom taggs."], - [_cScriptSettings, "3; Player"], - true, - true, - {}, - true -] call CBA_fnc_addSetting; [ // Insignia QEGVAR(Settings,allowInsigniaApplication), "CHECKBOX",