Skip to content

Instantly share code, notes, and snippets.

@tom4897
Last active August 18, 2019 15:02
Show Gist options
  • Save tom4897/287f54a6cf901f1bbeb77336a0bfc8ef to your computer and use it in GitHub Desktop.
Save tom4897/287f54a6cf901f1bbeb77336a0bfc8ef to your computer and use it in GitHub Desktop.
Respawn
#define SUPERTRUE 2
#define CT_STATIC 0
#define CT_BUTTON 1
#define CT_EDIT 2
#define CT_SLIDER 3
#define CT_COMBO 4
#define CT_LISTBOX 5
#define CT_TOOLBOX 6
#define CT_CHECKBOXES 7
#define CT_PROGRESS 8
#define CT_HTML 9
#define CT_STATIC_SKEW 10
#define CT_ACTIVETEXT 11
#define CT_TREE 12
#define CT_STRUCTURED_TEXT 13
#define CT_CONTEXT_MENU 14
#define CT_CONTROLS_GROUP 15
#define CT_SHORTCUTBUTTON 16
#define CT_XKEYDESC 40
#define CT_XBUTTON 41
#define CT_XLISTBOX 42
#define CT_XSLIDER 43
#define CT_XCOMBO 44
#define CT_ANIMATED_TEXTURE 45
#define CT_OBJECT 80
#define CT_OBJECT_ZOOM 81
#define CT_OBJECT_CONTAINER 82
#define CT_OBJECT_CONT_ANIM 83
#define CT_LINEBREAK 98
#define CT_ANIMATED_USER 99
#define CT_MAP 100
#define CT_MAP_MAIN 101
#define CT_LISTNBOX 102
#define ST_POS 0x0F
#define ST_HPOS 0x03
#define ST_VPOS 0x0C
#define ST_LEFT 0x00
#define ST_RIGHT 0x01
#define ST_CENTER 0x02
#define ST_DOWN 0x04
#define ST_UP 0x08
#define ST_VCENTER 0x0c
#define ST_TYPE 0xF0
#define ST_SINGLE 0
#define ST_MULTI 16
#define ST_TITLE_BAR 32
#define ST_PICTURE 48
#define ST_FRAME 64
#define ST_BACKGROUND 80
#define ST_GROUP_BOX 96
#define ST_GROUP_BOX2 112
#define ST_HUD_BACKGROUND 128
#define ST_TILE_PICTURE 144
#define ST_WITH_RECT 160
#define ST_LINE 176
#define ST_SHADOW 0x100
#define ST_NO_RECT 0x200
#define ST_KEEP_ASPECT_RATIO 0x800
#define ST_TITLE ST_TITLE_BAR + ST_CENTER
#define SL_DIR 0x400
#define SL_VERT 0
#define SL_HORZ 0x400
#define SL_TEXTURES 0x10
#define LB_TEXTURES 0x10
#define LB_MULTI 0x20
#define GUI_FONT_CODE "LucidaConsoleB"
#define GUI_FONT_NORMAL "PuristaMedium"
#define GUI_FONT_BOLD "PuristaSemibold"
#define GUI_FONT_MONO "EtelkaMonospaceProBold"
#define GUI_FONT_SMALL "PuristaMedium"
#define GUI_FONT_THIN "PuristaLight"
//COLORS RED GREEN BLUE ALPHA
#define COLOR_GREEN {0.7, 1.0, 0.3, 1.0}
#define COLOR_LIGHTBROWN {0.776, 0.749, 0.658, 1}
#define COLOR_HALF_BLACK {0, 0, 0, 0.5}
#define COLOR_FULL_BLACK {0, 0, 0, 1}
#define COLOR_TRANSPARENT {0, 0, 0, 0}
#define COLOR_RED {1.0, 0.3, 0.2, 1.0}
#define COLOR_GREY {0.7, 0.7, 0.7, 1.0}
#define COLOR_CYAN {0.5, 1, 1, 1}
#define COLOR_WHITE {1, 1, 1, 1}
// Others
#define toStr(var1) #var1
#define __PathToInsignia(className) toStr(data\CfgInsigna\className.paa)
#define __defineInsignia(className) class className { \
displayName = toStr(className); \
texture = __PathToInsignia(className); \
textureVehicle = ""; \
}
#ifdef BIS_DEBUG
#define diagLog(varname) diag_log format [QUOTE(__fileName) + ": " + QUOTE(varname) + " = %1", varname]
#define diagBOF(varname) _BOF = diag_tickTime; \
diag_log format ["FILE: %1 --> BEGIN OF FILE @%2ms", QUOTE(varname), _BOF];
#define diagEOF(varname) _EOF = diag_tickTime; \
diag_log format ["FILE: %1 --> END OF FILE at @%2ms (after: %3 ms)", QUOTE(varname), _EOF, (_EOF - _BOF)];
#else
#define diagLog(varname) comment QUOTE(varname)
#define diagBOF(varname) comment QUOTE(varname)
#define diagEOF(varname) comment QUOTE(varname)
#endif
// Simple alias
#define toStr(var1) #var1
#define QUOTE(qtext) #qtext
#define __EOF if (true) exitwith {};
#define __serverOnly if (!local server) exitWith {}
#define __clientOnly if (local server && !isDedicated) exitWith {}
#define __EXIT(cond) if (cond) exitWith {}
// Prevent bad version between player & server
//// Keys are now in P:\development\level\key.cpp
// Variables
#define bracket(varname) [varname]
#define __sel(varname,value) varname select value
#define __setPublicVar(varname, value) varname = value ; publicVariable(QUOTE(varname))
#define __setVar(varname, value) varname = value
#define __subVar(parent,child) parent##_##child
#define __merge(v1,v2) v1##v2
// Command rewrite
#define R_forEach(var,stmt) { \
stmt \
} forEach var
// Maths
#define __INC(vari) vari = vari + 1
#define __DEC(vard) vard = vard - 1
// Functions
#define __compile(varname) = compile preprocessFileLineNumbers QUOTE(varname) //GRP_FNC_NAME __compile(path) __EOL
#define __callCompile(varname) call compile preprocessFileLineNumbers QUOTE(varname)
#define __dyno(what,where) [[(position where select 0), (position where select 1)], ((getDir where) - 180), what] \
__callCompile(ca\modules\dyno\data\scripts\objectmapper.sqf);
#define __mkTask(varname,title,description) varname = player createSimpleTask [title];\
varname setSimpleTaskDescription [description, title, ""];\
varname setTaskState "Created";\
bracket(varname) call TM4_fnc_taskhint;
//// UPSMON
#define __ups_manPatroll(groupName, markerName, value1, value2) [groupName, markerName, "nowait", "noveh", "randomdn", "trigger", "min:",value1, "max:",value2] execVM "scripts\upsmon.sqf";
#define __ups_carPatroll(groupName, markerName, value1, value2) [groupName, markerName, "nowait", "randomdn", "onroad", "trigger", "min:",value1, "max:",value2] execVM "scripts\upsmon.sqf";
#define __ups_fortify(groupName, markerName) [groupName, markerName, "nowait", "noveh", "randomdn", "min:",1, "max:",1] execVM "scripts\upsmon.sqf";
//// bis_fnc
////// bis_fnc_locations
#define __setLocation(varname) [QUOTE(varname),[getPos varname, triggerArea varname select 1],false] call bis_fnc_locations;
// Object handling
#define __hideMarker(markername) QUOTE(markername) setMarkerAlpha 0; QUOTE(markername) setMarkerAlphaLocal 0
#define __showMarker(markername) QUOTE(markername) setMarkerAlpha 1; QUOTE(markername) setMarkerAlphaLocal 1
#define __setHeightATL(varname,value) varname setPosATL [getPosATL varname select 0, getPosATL varname select 1, value]
#define __setHeightASL(varname,value) varname setPosASL [getPosASL varname select 0, getPosASL varname select 1, value]
#define __setHeight(varname,value) varname setPos [getPosASL varname select 0, getPos varname select 1, value]
#define __setWeather(transition,value1,value2,value3) transition setOvercast value1 ; transition setRain value2 ; transition setFog value3
#define __EOL ;
#define __NULL2 [0,0]
#define __NULL3 [0,0,0]
#define __NULL4 [0,0,0,0]
#define __this(varname,value) varname = _this select value
#define ColorCorrecAdj [1, 1.03, -0.003, \
[0.0, 0.0, 0.0, 0.0], \
[1, 0.8, 0.8, 0.7], \
[0.5199, 0.587, 0.114, 0.0]]
#define particuleRand1 [1.51, [1,1,0.3], [0.2, 0.2, 0.2], 0, 0.8, [0.05, 0.05, 0.05, 0], 0, 0]
#define particuleRand2 [0.2, [1, 1, 0.15], [0.3, 0.3, 1], 0, 0.3, [0, 0, 0, 0], 0, 0]
#define RED [1, 0, 0 , 1]
#define BLUE [0, 0, 1, 1]
#define GREEN [0, 1, 0, 1]
#define CYAN [0, 1, 1, 1]
#define PINK [1, .5, 1, 1]
#define PURPLE [.5, 0, .5, 1]
#define BLACK [0, 0, 0, 1]
#define WHITE [1, 1, 1, 1]
#define ORANGE [1, .7, .4, 1]
#define YELLOW [1, 1, .5, 1]
#define OLIVE [.2, .4, .2, 1]
#define BLUEDARK [0,0,1.0]
#define BLUEAM [0,0,0.5]
#define AMBER [1,0.45098,0.141176]
#define REDA1 [0.77,0.05,0.23]
#define BLUEA1 [0.49,0.67,0.95]
#define AMBERA1 [1,0.45098,0.141176,1]
#define GREENA1 [0, 1, 0]
#define CYANA1 [0, 1, 1]
#define PINKA1 [1, .5, 1]
#define PURPLEA1 [.5, 0, .5]
#define BLACKA1 [0, 0, 0]
#define WHITEA1 [1, 1, 1]
#define ORANGEA1 [1, .7, .4]
#define YELLOWA1 [1, 1, .5]
#define OLIVEA1 [.2, .4, .2]
//------------------------------------------------------------------------------
// DEVELOPER INFO
//------------------------------------------------------------------------------
#define COLOR_NORMAL "#ffffff"
#define COLOR_HIGHLIGHT "#55cbe9"
#define COLOR_DISABLED "#80ffffff"
#define COLOR_GHOST "#00ffffff"
#define STYLE_H1(text) format["OUTPUTLOG => <t color='%2' size='1.2' align='center'>%1</t>",##text##,COLOR_HIGHLIGHT]
#define STYLE_NORMAL(text) format["<t color='%2' align='left'>%1</t>",##text##,COLOR_NORMAL]
#define STYLE_HIGHLIGHT(text) format["<t color='%2' align='left'>%1</t>",##text##,COLOR_HIGHLIGHT]
#define STYLE_DISABLED(text) format["<t color='%2' align='left'>%1</t>",##text##,COLOR_DISABLED]
#define STYLE_GHOST(text) format["<t color='%2' align='left'>%1</t>",##text##,COLOR_GHOST]
//------------------------------------------------------------------------------
// Carbage collector
//------------------------------------------------------------------------------
#define MGR_NONE 0
#define MGR_ALL 1
#define MGR_NONE_BUT_RESPAWNED 2
#define MGR_ALL_BUT_RESPAWNED 3
//------------------------------------------------------------------------------
// RESPAWN
//------------------------------------------------------------------------------
#define RESPAWN_NONE 0
#define RESPAWN_BIRD 1
#define RESPAWN_INSTANT 2
#define RESPAWN_BASE 3
#define RESPAWN_GROUP 4
#define RESPAWN_SIDE 5
//------------------------------------------------------------------------------
// Channels
//------------------------------------------------------------------------------
#define CHAN_GLOBAL 0
#define CHAN_SIDE 1
#define CHAN_COMMAND 2
#define CHAN_GROUP 3
#define CHAN_VEHICLE 4
#define CHAN_DIRECT 5
#define CHAN_SYSTEM 6
//------------------------------------------------------------------------------
// TIME
//------------------------------------------------------------------------------
#define MINUTES(NUMBER) (NUMBER * 60)
//------------------------------------------------------------------------------
// TASK TYPE
//------------------------------------------------------------------------------
#define TASK_CREATED "CREATED"
#define TASK_ASSIGNED "ASSIGNED"
#define TASK_AUTOASSIGNED "AUTOASSIGNED"
#define TASK_SUCCEEDED "SUCCEEDED"
#define TASK_FAILED "FAILED"
#define TASK_CANCELED "CANCELED"
#define RESPAWN_TEMPLATE "Counter","MenuPosition"
respawnOnStart = false;
respawn = RESPAWN_BASE;
respawnDelay = 30;
respawnVehicleDelay = 680;
respawnDialog = true;
respawnTemplates[] = {RESPAWN_TEMPLATE};
respawnTemplatesWest[] = {RESPAWN_TEMPLATE};
respawnTemplatesEast[] = {RESPAWN_TEMPLATE};
respawnTemplatesGuer[] = {RESPAWN_TEMPLATE};
respawnTemplatesCiv[] = {RESPAWN_TEMPLATE};
respawnTemplatesVirtual[]= {};
reviveDelay = 6;
reviveForceRespawnDelay = 3;
reviveBleedOutDelay = 120;
// Corpses
corpseManagerMode = MGR_NONE_BUT_RESPAWNED;
corpseLimit = 15;
corpseRemovalMinTime= MINUTES(15);
corpseRemovalMaxTime= MINUTES(30);
// Wreckage
wreckManagerMode = MGR_NONE_BUT_RESPAWNED;
wreckLimit = 30;
wreckRemovalMinTime = MINUTES(45);
wreckRemovalMaxTime = MINUTES(60);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment