ScreenDesigner
ScreenDesigner_Constants
Untitled Custom Script 001
//you may change this in the editor
const string c_arkless_screenDesigner_dataTablePrefix = "arkless_screenDesigner";
const string c_arkless_screenDesigner_dataTablePrefix_movable = "arkless_screenDesigner_moveable"; //+ player + "_"
//changing this during the game may lead to bugs
playergroup c_arkless_screenDesigner_all = PlayerGroupAll();
//you should increase this if you use many different positioning methods
const int c_arkless_screenDesigner_customResizingCount = 20;
//internal //u in front of the type "u(type)" means it exists once for all players
const string c_arkless_screenDesigner_id = "id"; //u(int)
const string c_arkless_screenDesigner_customSize_minX = "boundsMinX"; //(int)
const string c_arkless_screenDesigner_customSize_maxX = "boundsMaxX"; //(int)
const string c_arkless_screenDesigner_customSize_minY = "boundsMinY"; //(int)
const string c_arkless_screenDesigner_customSize_maxY = "boundsMaxY"; //(int)
const string c_arkless_screenDesigner_relativeTo = "relativeTo"; //(string)
const string c_arkless_screenDesigner_isCustomResizing = "isCustomResizing"; //u(int)
const string c_arkless_screenDesigner_customResizing_id = "customResizingId"; //u(int)
const string c_arkless_screenDesigner_customResizing = "customResizing"; //u(int)
const string c_arkless_screenDesigner_customResizing_X = "customResizingX"; //(int)
const string c_arkless_screenDesigner_customResizing_Y = "customResizingY"; //(int)
const string c_arkless_screenDesigner_movableList = "movableList"; //(string)
const string c_arkless_screenDesigner_moveButton = "moveButton"; //u(int)
const string c_arkless_screenDesigner_sizeButton = "sizeButton"; //u(int)
const string c_arkless_screenDesigner_relativeButtons = "relativeButtons"; //u(int) array[9]
const string c_arkless_screenDesigner_skipFinder = "skipFinder"; //(int)
const int c_arkless_screenDesigner_currentAction_none = 0;
const int c_arkless_screenDesigner_currentAction_positionSelect = 1;
const int c_arkless_screenDesigner_currentAction_position = 2;
const int c_arkless_screenDesigner_currentAction_sizeSelect = 3;
const int c_arkless_screenDesigner_currentAction_size = 4;
ScreenDesigner_Variables
Untitled Custom Script 001
funcref<DialogControlSetSize>[c_arkless_screenDesigner_customResizingCount] arkless_screenDesigner_customResizing;
int arkless_screenDesigner_customResizingCount = 0;
int arkless_screenDesigner_dialog;
int arkless_screenDesigner_sizeable;
int arkless_screenDesigner_moveable;
int arkless_screenDesigner_relative;
int arkless_screenDesigner_controller;
int arkless_screenDesigner_activation;
int arkless_screenDesigner_reset;
int arkless_screenDesigner_find;
int arkless_screenDesigner_findNext;
int arkless_screenDesigner_findPrev;
int arkless_screenDesigner_findPick;
bool[16] arkless_screenDesigner_findMode;
string[16] arkless_screenDesigner_findCurrent;
int[16] arkless_screenDesigner_findCurrentAnchor;
int[16] arkless_screenDesigner_findCurrentRelative;
int[16] arkless_screenDesigner_findCurrentRelativeAnchor;
int[16] arkless_screenDesigner_findCurrentOffsetX;
int[16] arkless_screenDesigner_findCurrentOffsetY;
int arkless_screenDesigner_centerSlider;
int[4] arkless_screenDesigner_centerSliderOut;
int arkless_screenDesigner_button_position;
int arkless_screenDesigner_button_size;
int arkless_screenDesigner_x;
int arkless_screenDesigner_labelX;
int arkless_screenDesigner_y;
int arkless_screenDesigner_labelY;
int arkless_screenDesigner_lockXY;
int arkless_screenDesigner_lockXY2;
int arkless_screenDesigner_labelLockXY;
bool[16] arkless_screenDesigner_isActive;
string[16] arkless_screenDesigner_selected;
int[16] arkless_screenDesigner_currentAction;
bool[16] arkless_screenDesigner_mouseInside;
bool[16] arkless_screenDesigner_slideActive;
int[16] arkless_screenDesigner_slideX;
int[16] arkless_screenDesigner_slideY;
ScreenDesigner_Active_Impl
Untitled Custom Script 001
void arkless_screenDesigner_moveFound(int player, string found) {
string control;
playergroup gplayer = PlayerGroupSingle(player);
int dControl;
control = DataTableGetString(true, arkless_screenDesigner_findCurrent[player]);
if (control != "") {
dControl = DataTableGetInt(true, control + c_arkless_screenDesigner_id);
DialogControlSetPositionRelative(dControl, gplayer,
arkless_screenDesigner_findCurrentAnchor[player],
arkless_screenDesigner_findCurrentRelative[player],
arkless_screenDesigner_findCurrentRelativeAnchor[player],
arkless_screenDesigner_findCurrentOffsetX[player],
arkless_screenDesigner_findCurrentOffsetY[player]);
}
if (found != "") {
control = DataTableGetString(true, found);
dControl = DataTableGetInt(true, control + c_arkless_screenDesigner_id);
arkless_screenDesigner_findCurrentAnchor[player] = DialogControlGetPropertyAsInt(dControl, c_triggerControlPropertyAnchor, player);
arkless_screenDesigner_findCurrentRelative[player] = DialogControlGetPropertyAsControl(dControl, c_triggerControlPropertyRelative, player);
arkless_screenDesigner_findCurrentRelativeAnchor[player] = DialogControlGetPropertyAsInt(dControl, c_triggerControlPropertyRelativeAnchor, player);
arkless_screenDesigner_findCurrentOffsetX[player] = DialogControlGetPropertyAsInt(dControl, c_triggerControlPropertyOffsetX, player);
arkless_screenDesigner_findCurrentOffsetY[player] = DialogControlGetPropertyAsInt(dControl, c_triggerControlPropertyOffsetY, player);
DialogControlSetPositionRelative(dControl, c_arkless_screenDesigner_all, c_anchorCenter, arkless_screenDesigner_sizeable, c_anchorCenter, 0, 0);
}
arkless_screenDesigner_findCurrent[player] = found;
}
void arkless_screenDesigner_enableFindMode(int player, bool find) {
playergroup gplayer = PlayerGroupSingle(player);
string found;
string control;
if (find == arkless_screenDesigner_findMode[player]) {
return;
}
arkless_screenDesigner_findMode[player] = find;
if (find) {
DialogControlSetVisible(arkless_screenDesigner_moveable, gplayer, false);
DialogControlSetVisible(arkless_screenDesigner_relative, gplayer, false);
DialogControlSetVisible(arkless_screenDesigner_controller, gplayer, false);
TriggerEnable(arkless_screenDesigner_mouseMoved[EventPlayer()], false);
DialogControlSetVisible(arkless_screenDesigner_reset, gplayer, false);
DialogControlSetVisible(arkless_screenDesigner_findPrev, gplayer, true);
DialogControlSetVisible(arkless_screenDesigner_findNext, gplayer, true);
DialogControlSetVisible(arkless_screenDesigner_findPick, gplayer, true);
found = arkless_dataTable_list_getFirst(c_arkless_screenDesigner_dataTablePrefix_movable + IntToString(player));
while (found != "") {
control = DataTableGetString(true, found);
if (DataTableGetInt(true, control + IntToString(player) + c_arkless_screenDesigner_skipFinder) > 0) {
found = arkless_dataTable_listElement_getNext(found);
} else {
break;
}
}
arkless_screenDesigner_moveFound(player, found);
} else {
DialogControlSetVisible(arkless_screenDesigner_controller, gplayer, true);
TriggerEnable(arkless_screenDesigner_mouseMoved[EventPlayer()], true);
DialogControlSetVisible(arkless_screenDesigner_reset, gplayer, true);
DialogControlSetVisible(arkless_screenDesigner_findPrev, gplayer, false);
DialogControlSetVisible(arkless_screenDesigner_findNext, gplayer, false);
DialogControlSetVisible(arkless_screenDesigner_findPick, gplayer, false);
arkless_screenDesigner_moveFound(player, "");
}
}
bool arkless_screenDesigner_selectMoveableControl_trig(bool a, bool b) {
playergroup gplayer = PlayerGroupSingle(EventPlayer());
arkless_screenDesigner_currentAction[EventPlayer()] = c_arkless_screenDesigner_currentAction_position;
arkless_screenDesigner_selected[EventPlayer()] = DialogControlGetPropertyAsString(EventDialogControl(), c_triggerControlPropertyUnitLink, EventPlayer());
DialogControlSetVisible(arkless_screenDesigner_moveable, gplayer, false);
DialogControlSetVisible(arkless_screenDesigner_relative, gplayer, true);
TriggerEnable(arkless_screenDesigner_mouseMoved[EventPlayer()], true);
return true;
}
bool arkless_screenDesigner_selectSizeableControl_trig(bool a, bool b) {
playergroup gplayer = PlayerGroupSingle(EventPlayer());
arkless_screenDesigner_currentAction[EventPlayer()] = c_arkless_screenDesigner_currentAction_size;
arkless_screenDesigner_selected[EventPlayer()] = DialogControlGetPropertyAsString(EventDialogControl(), c_triggerControlPropertyUnitLink, EventPlayer());
DialogControlSetVisible(arkless_screenDesigner_sizeable, gplayer, false);
TriggerEnable(arkless_screenDesigner_mouseMoved[EventPlayer()], true);
return true;
}
bool arkless_screenDesigner_selectAnchor_trig(bool a, bool b) {
playergroup gplayer = PlayerGroupSingle(EventPlayer());
string relative = DialogControlGetPropertyAsString(EventDialogControl(), c_triggerControlPropertyUnitLink, EventPlayer());
int anchor = DialogControlGetPropertyAsInt(EventDialogControl(), c_triggerControlPropertyRotation, EventPlayer());
string control = arkless_screenDesigner_selected[EventPlayer()];
int dControl = DataTableGetInt(true, control + c_arkless_screenDesigner_id);
string relationChain;
if (relative == control) {
DialogControlSetPositionRelative(dControl, gplayer, anchor,
DialogControlGetPropertyAsControl(dControl, c_triggerControlPropertyRelative, EventPlayer()),
DialogControlGetPropertyAsInt(dControl, c_triggerControlPropertyRelativeAnchor, EventPlayer()),
DialogControlGetPropertyAsInt(dControl, c_triggerControlPropertyOffsetX, EventPlayer()),
DialogControlGetPropertyAsInt(dControl, c_triggerControlPropertyOffsetY, EventPlayer()));
} else {
relationChain = DataTableGetString(true, relative + IntToString(EventPlayer()) + c_arkless_screenDesigner_relativeTo);
while (relationChain != "") {
if (relationChain != control) {
relationChain = DataTableGetString(true, relationChain + IntToString(EventPlayer()) + c_arkless_screenDesigner_relativeTo);
} else {
//message
UIDisplayMessage(gplayer, c_messageAreaChat, StringToText("Unable to create relation cycle => skipping."));
///message
return true;
}
}
DialogControlSetPositionRelative(dControl, gplayer, DialogControlGetPropertyAsInt(dControl, c_triggerControlPropertyAnchor, EventPlayer()),
DataTableGetInt(true, relative + c_arkless_screenDesigner_id), anchor,
0, 0);
DataTableSetString(true, control + IntToString(EventPlayer()) + c_arkless_screenDesigner_relativeTo, relative);
}
return true;
}
bool arkless_screenDesigner_activate_trig(bool a, bool b) {
bool active = !arkless_screenDesigner_isActive[EventPlayer()];
playergroup gplayer = PlayerGroupSingle(EventPlayer());
arkless_screenDesigner_isActive[EventPlayer()] = active;
if (active) {
DialogControlSetVisible(arkless_screenDesigner_controller, gplayer, true);
DialogControlSetVisible(arkless_screenDesigner_reset, gplayer, true);
DialogControlSetVisible(arkless_screenDesigner_find, gplayer, true);
} else {
DialogControlSetVisible(arkless_screenDesigner_moveable, gplayer, false);
DialogControlSetVisible(arkless_screenDesigner_relative, gplayer, false);
DialogControlSetVisible(arkless_screenDesigner_controller, gplayer, false);
TriggerEnable(arkless_screenDesigner_mouseMoved[EventPlayer()], false);
DialogControlSetVisible(arkless_screenDesigner_reset, gplayer, false);
DialogControlSetVisible(arkless_screenDesigner_find, gplayer, false);
arkless_screenDesigner_enableFindMode(EventPlayer(), false);
}
return true;
}
bool arkless_screenDesigner_position_trig(bool a, bool b) {
playergroup gplayer = PlayerGroupSingle(EventPlayer());
arkless_screenDesigner_currentAction[EventPlayer()] = c_arkless_screenDesigner_currentAction_positionSelect;
DialogControlSetVisible(arkless_screenDesigner_moveable, gplayer, true);
DialogControlSetVisible(arkless_screenDesigner_sizeable, gplayer, false);
DialogControlSetVisible(arkless_screenDesigner_relative, gplayer, false);
TriggerEnable(arkless_screenDesigner_mouseMoved[EventPlayer()], false);
return true;
}
bool arkless_screenDesigner_size_trig(bool a, bool b) {
playergroup gplayer = PlayerGroupSingle(EventPlayer());
arkless_screenDesigner_currentAction[EventPlayer()] = c_arkless_screenDesigner_currentAction_sizeSelect;
DialogControlSetVisible(arkless_screenDesigner_sizeable, gplayer, true);
DialogControlSetVisible(arkless_screenDesigner_moveable, gplayer, false);
DialogControlSetVisible(arkless_screenDesigner_relative, gplayer, false);
TriggerEnable(arkless_screenDesigner_mouseMoved[EventPlayer()], false);
return true;
}
void arkless_screenDesigner_mouseMoved_oK(int player, int x, int y) {
string control = arkless_screenDesigner_selected[player];
int dControl = DataTableGetInt(true, control + c_arkless_screenDesigner_id);
int newX;
int newY;
int test;
bool updateX;
bool updateY;
bool custom;
if (!DialogControlGetPropertyAsBool(arkless_screenDesigner_x, c_triggerControlPropertyChecked, player)) {
x = 0;
}
if (!DialogControlGetPropertyAsBool(arkless_screenDesigner_y, c_triggerControlPropertyChecked, player)) {
y = 0;
}
if (DialogControlGetPropertyAsBool(arkless_screenDesigner_lockXY, c_triggerControlPropertyChecked, player)) {
if (AbsI(x) > AbsI(y)) {
y = x;
} else {
x = y;
}
} else if (DialogControlGetPropertyAsBool(arkless_screenDesigner_lockXY2, c_triggerControlPropertyChecked, player)) {
if (AbsI(x) >= AbsI(y)) {
y = -x;
} else {
x = -y;
}
}
if (arkless_screenDesigner_currentAction[player] == c_arkless_screenDesigner_currentAction_position) {
newX = DialogControlGetPropertyAsInt(dControl, c_triggerControlPropertyOffsetX, player);
newY = DialogControlGetPropertyAsInt(dControl, c_triggerControlPropertyOffsetY, player);
newX += x;
newY += y;
DialogControlSetPositionRelative(dControl, PlayerGroupSingle(player),
DialogControlGetPropertyAsInt(dControl, c_triggerControlPropertyAnchor, player),
DialogControlGetPropertyAsControl(dControl, c_triggerControlPropertyRelative, player),
DialogControlGetPropertyAsInt(dControl, c_triggerControlPropertyRelativeAnchor, player),
newX, newY);
} else if (arkless_screenDesigner_currentAction[player] == c_arkless_screenDesigner_currentAction_size) {
custom = DataTableGetBool(true, control + c_arkless_screenDesigner_isCustomResizing);
if (custom) {
newX = DataTableGetInt(true, control + IntToString(player) + c_arkless_screenDesigner_customResizing_X);
newY = DataTableGetInt(true, control + IntToString(player) + c_arkless_screenDesigner_customResizing_Y);
} else {
newX = DialogControlGetPropertyAsInt(dControl, c_triggerControlPropertyWidth, player);
newY = DialogControlGetPropertyAsInt(dControl, c_triggerControlPropertyHeight, player);
}
test = DataTableGetInt(true, control + IntToString(player) + c_arkless_screenDesigner_customSize_minX);
if (test < 1) {
updateX = false;
} else {
updateX = true;
newX = MaxI(test, newX + x);
test = DataTableGetInt(true, control + IntToString(player) + c_arkless_screenDesigner_customSize_maxX);
if (test > 0) {
newX = MinI(test, newX);
}
}
test = DataTableGetInt(true, control + IntToString(player) + c_arkless_screenDesigner_customSize_minY);
if (test < 1) {
updateY = false;
} else {
updateY = true;
newY = MaxI(test, newY + y);
test = DataTableGetInt(true, control + IntToString(player) + c_arkless_screenDesigner_customSize_maxY);
if (test > 0) {
newY = MinI(test, newY);
}
}
if (updateX || updateY) {
if (custom) {
arkless_screenDesigner_customResizing[DataTableGetInt(true, control + c_arkless_screenDesigner_customResizing)](
DataTableGetInt(true, control + c_arkless_screenDesigner_customResizing_id), PlayerGroupSingle(player), newX, newY);
DataTableSetInt(true, control + IntToString(player) + c_arkless_screenDesigner_customResizing_X, newX);
DataTableSetInt(true, control + IntToString(player) + c_arkless_screenDesigner_customResizing_Y, newY);
} else {
DialogControlSetSize(dControl, PlayerGroupSingle(player), newX, newY);
}
}
}
}
bool arkless_screenDesigner_mouseMoved_trig(bool a, bool b) {
if (arkless_screenDesigner_slideActive[EventPlayer()]) {
arkless_screenDesigner_mouseMoved_oK(EventPlayer(),
EventMouseMovedPosXUI() - arkless_screenDesigner_slideX[EventPlayer()],
EventMouseMovedPosYUI() - arkless_screenDesigner_slideY[EventPlayer()]);
}
arkless_screenDesigner_slideX[EventPlayer()] = EventMouseMovedPosXUI();
arkless_screenDesigner_slideY[EventPlayer()] = EventMouseMovedPosYUI();
return true;
}
bool arkless_screenDesigner_mouseIn_trig(bool a, bool b) {
playergroup gplayer = PlayerGroupSingle(EventPlayer());
arkless_screenDesigner_mouseInside[EventPlayer()] = true;
DialogControlSetPropertyAsBool(arkless_screenDesigner_centerSlider, c_triggerControlPropertyAcceptMouseTarget, gplayer, false);
DialogControlSetEnabled(arkless_screenDesigner_centerSlider, gplayer, false);
DialogControlSetVisible(arkless_screenDesigner_centerSliderOut[0], gplayer, true);
DialogControlSetVisible(arkless_screenDesigner_centerSliderOut[1], gplayer, true);
DialogControlSetVisible(arkless_screenDesigner_centerSliderOut[2], gplayer, true);
DialogControlSetVisible(arkless_screenDesigner_centerSliderOut[3], gplayer, true);
UISetDragSelectEnabled(gplayer, false);
return true;
}
bool arkless_screenDesigner_mouseOut_trig(bool a, bool b) {
playergroup gplayer = PlayerGroupSingle(EventPlayer());
arkless_screenDesigner_mouseInside[EventPlayer()] = false;
DialogControlSetPropertyAsBool(arkless_screenDesigner_centerSlider, c_triggerControlPropertyAcceptMouseTarget, gplayer, true);
DialogControlSetEnabled(arkless_screenDesigner_centerSlider, gplayer, true);
DialogControlSetVisible(arkless_screenDesigner_centerSliderOut[0], gplayer, false);
DialogControlSetVisible(arkless_screenDesigner_centerSliderOut[1], gplayer, false);
DialogControlSetVisible(arkless_screenDesigner_centerSliderOut[2], gplayer, false);
DialogControlSetVisible(arkless_screenDesigner_centerSliderOut[3], gplayer, false);
if (!arkless_screenDesigner_slideActive[EventPlayer()]) {
UISetDragSelectEnabled(gplayer, true);
}
return true;
}
bool arkless_screenDesigner_mouseClickDown_trig(bool a, bool b) {
if (arkless_screenDesigner_mouseInside[EventPlayer()]) {
arkless_screenDesigner_slideActive[EventPlayer()] = true;
}
return true;
}
bool arkless_screenDesigner_mouseClickUp_trig(bool a, bool b) {
arkless_screenDesigner_slideActive[EventPlayer()] = false;
if (!arkless_screenDesigner_mouseInside[EventPlayer()]) {
UISetDragSelectEnabled(PlayerGroupSingle(EventPlayer()), true);
}
return true;
}
bool arkless_screenDesigner_resetPosition_trig(bool a, bool b) {
DialogControlSetPositionRelative(arkless_screenDesigner_controller, PlayerGroupSingle(EventPlayer()), c_anchorCenter, arkless_screenDesigner_sizeable, c_anchorCenter, 0, 96);
return true;
}
bool arkless_screenDesigner_findControl_trig(bool a, bool b) {
arkless_screenDesigner_enableFindMode(EventPlayer(), !arkless_screenDesigner_findMode[EventPlayer()]);
return true;
}
bool arkless_screenDesigner_findControlPrev_trig(bool a, bool b) {
string found;
string control;
if (arkless_screenDesigner_findMode[EventPlayer()]) {
found = arkless_screenDesigner_findCurrent[EventPlayer()];
if (found == "") {
return true;
}
found = arkless_dataTable_listElement_getPrevious(found);
while (found != "") {
control = DataTableGetString(true, found);
if (DataTableGetInt(true, control + IntToString(EventPlayer()) + c_arkless_screenDesigner_skipFinder) > 0) {
found = arkless_dataTable_listElement_getPrevious(found);
} else {
break;
}
}
if (found != "") {
arkless_screenDesigner_moveFound(EventPlayer(), found);
}
}
return true;
}
bool arkless_screenDesigner_findControlNext_trig(bool a, bool b) {
string found;
string control;
if (arkless_screenDesigner_findMode[EventPlayer()]) {
found = arkless_screenDesigner_findCurrent[EventPlayer()];
if (found == "") {
return true;
}
found = arkless_dataTable_listElement_getNext(found);
while (found != "") {
control = DataTableGetString(true, found);
if (DataTableGetInt(true, control + IntToString(EventPlayer()) + c_arkless_screenDesigner_skipFinder) > 0) {
found = arkless_dataTable_listElement_getNext(found);
} else {
break;
}
}
if (found != "") {
arkless_screenDesigner_moveFound(EventPlayer(), found);
}
}
return true;
}
bool arkless_screenDesigner_findControlPick_trig(bool a, bool b) {
string found;
playergroup gplayer = PlayerGroupSingle(EventPlayer());
if (arkless_screenDesigner_findMode[EventPlayer()]) {
found = arkless_screenDesigner_findCurrent[EventPlayer()];
if (found != "") {
arkless_screenDesigner_currentAction[EventPlayer()] = c_arkless_screenDesigner_currentAction_position;
arkless_screenDesigner_selected[EventPlayer()] = DataTableGetString(true, found);
DialogControlSetVisible(arkless_screenDesigner_moveable, gplayer, false);
DialogControlSetVisible(arkless_screenDesigner_relative, gplayer, true);
TriggerEnable(arkless_screenDesigner_mouseMoved[EventPlayer()], true);
}
arkless_screenDesigner_enableFindMode(EventPlayer(), false);
}
return true;
}
void arkless_screenDesigner_setupActive() {
string screenControl;
int i;
for (i = 0; i < 16; i += 1) {
arkless_screenDesigner_mouseMoved[i] = TriggerCreate("arkless_screenDesigner_mouseMoved_trig");
TriggerAddEventMouseMoved(arkless_screenDesigner_mouseMoved[i], i);
TriggerEnable(arkless_screenDesigner_mouseMoved[i], false);
}
TriggerAddEventMouseClicked(arkless_screenDesigner_mouseClickDown, -1, c_mouseButtonLeft, true);
TriggerAddEventMouseClicked(arkless_screenDesigner_mouseClickUp, -1, c_mouseButtonLeft, false);
arkless_screenDesigner_dialog = DialogCreate(1, 1, 1, 1, 1, false);
DialogSetFullscreen(arkless_screenDesigner_dialog, true);
DialogSetImageVisible(arkless_screenDesigner_dialog, false);
DialogSetVisible(arkless_screenDesigner_dialog, c_arkless_screenDesigner_all, true);
arkless_screenDesigner_sizeable = DialogControlCreate(arkless_screenDesigner_dialog, c_triggerControlTypePanel);
arkless_screenDesigner_moveable = DialogControlCreate(arkless_screenDesigner_dialog, c_triggerControlTypePanel);
arkless_screenDesigner_relative = DialogControlCreate(arkless_screenDesigner_dialog, c_triggerControlTypePanel);
arkless_screenDesigner_controller = DialogControlCreate(arkless_screenDesigner_dialog, c_triggerControlTypePanel);
DialogControlSetFullDialog(arkless_screenDesigner_sizeable, c_arkless_screenDesigner_all, true);
DialogControlSetFullDialog(arkless_screenDesigner_moveable, c_arkless_screenDesigner_all, true);
DialogControlSetFullDialog(arkless_screenDesigner_relative, c_arkless_screenDesigner_all, true);
DialogControlSetVisible(arkless_screenDesigner_sizeable, c_arkless_screenDesigner_all, false);
DialogControlSetVisible(arkless_screenDesigner_moveable, c_arkless_screenDesigner_all, false);
DialogControlSetVisible(arkless_screenDesigner_relative, c_arkless_screenDesigner_all, false);
DialogControlSetVisible(arkless_screenDesigner_controller, c_arkless_screenDesigner_all, false);
DialogControlSetSize(arkless_screenDesigner_controller, c_arkless_screenDesigner_all, 218, 122);
DialogControlSetPositionRelative(arkless_screenDesigner_controller, c_arkless_screenDesigner_all, c_anchorCenter, arkless_screenDesigner_sizeable, c_anchorCenter, 0, 96);
i = DialogControlCreateInPanel(arkless_screenDesigner_controller, c_triggerControlTypeImage);
DialogControlSetFullDialog(i, c_arkless_screenDesigner_all, true);
DialogControlSetPropertyAsInt(i, c_triggerControlPropertyImageType, c_arkless_screenDesigner_all, 2);
DialogControlSetPropertyAsString(i, c_triggerControlPropertyImage, c_arkless_screenDesigner_all, "Assets\\Textures\\ui_profile_frame_researchlevel.dds");
DialogControlSetPropertyAsColor(i, c_triggerControlPropertyColor, c_arkless_screenDesigner_all, Color(60, 100, 60));
arkless_screenDesigner_activation = DialogControlCreate(arkless_screenDesigner_dialog, c_triggerControlTypeButton);
DialogControlSetSize(arkless_screenDesigner_activation, c_arkless_screenDesigner_all, 64, 64);
DialogControlSetPosition(arkless_screenDesigner_activation, c_arkless_screenDesigner_all, c_anchorBottomRight, 0, 0);
TriggerAddEventDialogControl(arkless_screenDesigner_activate, -1, arkless_screenDesigner_activation, c_triggerControlEventTypeClick);
arkless_screenDesigner_reset = DialogControlCreate(arkless_screenDesigner_dialog, c_triggerControlTypeButton);
DialogControlSetSize(arkless_screenDesigner_reset, c_arkless_screenDesigner_all, 96, 32);
DialogControlSetPropertyAsText(arkless_screenDesigner_reset, c_triggerControlPropertyText, c_arkless_screenDesigner_all, StringToText("reset"));
DialogControlSetPosition(arkless_screenDesigner_reset, c_arkless_screenDesigner_all, c_anchorBottomRight, 64, 0);
TriggerAddEventDialogControl(arkless_screenDesigner_resetPosition, -1, arkless_screenDesigner_reset, c_triggerControlEventTypeClick);
DialogControlSetVisible(arkless_screenDesigner_reset, c_arkless_screenDesigner_all, false);
arkless_screenDesigner_find = DialogControlCreate(arkless_screenDesigner_dialog, c_triggerControlTypeButton);
DialogControlSetSize(arkless_screenDesigner_find, c_arkless_screenDesigner_all, 128, 32);
DialogControlSetPropertyAsText(arkless_screenDesigner_find, c_triggerControlPropertyText, c_arkless_screenDesigner_all, StringToText("find"));
DialogControlSetPositionRelative(arkless_screenDesigner_find, c_arkless_screenDesigner_all, c_anchorBottomRight, arkless_screenDesigner_reset, c_anchorBottomLeft, 0, 0);
TriggerAddEventDialogControl(arkless_screenDesigner_findControl, -1, arkless_screenDesigner_find, c_triggerControlEventTypeClick);
DialogControlSetVisible(arkless_screenDesigner_find, c_arkless_screenDesigner_all, false);
arkless_screenDesigner_findPrev = DialogControlCreate(arkless_screenDesigner_dialog, c_triggerControlTypeButton);
DialogControlSetSize(arkless_screenDesigner_findPrev, c_arkless_screenDesigner_all, 32, 32);
DialogControlSetPropertyAsText(arkless_screenDesigner_findPrev, c_triggerControlPropertyText, c_arkless_screenDesigner_all, StringToText("<"));
DialogControlSetPositionRelative(arkless_screenDesigner_findPrev, c_arkless_screenDesigner_all, c_anchorBottomLeft, arkless_screenDesigner_find, c_anchorTopLeft, 0, 0);
TriggerAddEventDialogControl(arkless_screenDesigner_findControlPrev, -1, arkless_screenDesigner_findPrev, c_triggerControlEventTypeClick);
DialogControlSetVisible(arkless_screenDesigner_findPrev, c_arkless_screenDesigner_all, false);
arkless_screenDesigner_findNext = DialogControlCreate(arkless_screenDesigner_dialog, c_triggerControlTypeButton);
DialogControlSetSize(arkless_screenDesigner_findNext, c_arkless_screenDesigner_all, 32, 32);
DialogControlSetPropertyAsText(arkless_screenDesigner_findNext, c_triggerControlPropertyText, c_arkless_screenDesigner_all, StringToText(">"));
DialogControlSetPositionRelative(arkless_screenDesigner_findNext, c_arkless_screenDesigner_all, c_anchorBottomRight, arkless_screenDesigner_find, c_anchorTopRight, 0, 0);
TriggerAddEventDialogControl(arkless_screenDesigner_findControlNext, -1, arkless_screenDesigner_findNext, c_triggerControlEventTypeClick);
DialogControlSetVisible(arkless_screenDesigner_findNext, c_arkless_screenDesigner_all, false);
arkless_screenDesigner_findPick = DialogControlCreate(arkless_screenDesigner_dialog, c_triggerControlTypeButton);
DialogControlSetSize(arkless_screenDesigner_findPick, c_arkless_screenDesigner_all, 64, 32);
DialogControlSetPropertyAsText(arkless_screenDesigner_findPick, c_triggerControlPropertyText, c_arkless_screenDesigner_all, StringToText("pick"));
DialogControlSetPositionRelative(arkless_screenDesigner_findPick, c_arkless_screenDesigner_all, c_anchorBottom, arkless_screenDesigner_find, c_anchorTop, 0, 0);
TriggerAddEventDialogControl(arkless_screenDesigner_findControlPick, -1, arkless_screenDesigner_findPick, c_triggerControlEventTypeClick);
DialogControlSetVisible(arkless_screenDesigner_findPick, c_arkless_screenDesigner_all, false);
arkless_screenDesigner_centerSlider = DialogControlCreateInPanel(arkless_screenDesigner_controller, c_triggerControlTypeImage);
DialogControlSetSize(arkless_screenDesigner_centerSlider, c_arkless_screenDesigner_all, 48, 48);
DialogControlSetPosition(arkless_screenDesigner_centerSlider, c_arkless_screenDesigner_all, c_anchorCenter, 50, 0);
DialogControlSetPropertyAsBool(arkless_screenDesigner_centerSlider, c_triggerControlPropertyAcceptMouseTarget, c_arkless_screenDesigner_all, true);
DialogControlSetPropertyAsString(arkless_screenDesigner_centerSlider, c_triggerControlPropertyImage, c_arkless_screenDesigner_all, "Assets\\Textures\\btn-command-patrol.dds");
TriggerAddEventDialogControl(arkless_screenDesigner_mouseIn, -1, arkless_screenDesigner_centerSlider, c_triggerControlEventTypeMouseEnter);
for (i = 0; i < 4; i += 1) {
arkless_screenDesigner_centerSliderOut[i] = DialogControlCreate(arkless_screenDesigner_dialog, c_triggerControlTypePanel);
DialogControlSetSize(arkless_screenDesigner_centerSliderOut[i], c_arkless_screenDesigner_all, 10000, 10000);
DialogControlSetPositionRelative(arkless_screenDesigner_centerSliderOut[i], c_arkless_screenDesigner_all, 2*i + (i/2) * 2, arkless_screenDesigner_centerSlider, (i / 4) * 2 + ((i + 1) % 2) * (6 + i), 0, 0);
DialogControlSetVisible(arkless_screenDesigner_centerSliderOut[i], c_arkless_screenDesigner_all, false);
DialogControlSetPropertyAsBool(arkless_screenDesigner_centerSliderOut[i], c_triggerControlPropertyAcceptMouseTarget, c_arkless_screenDesigner_all, true);
TriggerAddEventDialogControl(arkless_screenDesigner_mouseOut, -1, arkless_screenDesigner_centerSliderOut[i], c_triggerControlEventTypeMouseEnter);
}
arkless_screenDesigner_button_position = DialogControlCreateInPanel(arkless_screenDesigner_controller, c_triggerControlTypeButton);
DialogControlSetSize(arkless_screenDesigner_button_position, c_arkless_screenDesigner_all, 128, 36);
DialogControlSetPropertyAsText(arkless_screenDesigner_button_position, c_triggerControlPropertyText, c_arkless_screenDesigner_all, StringToText("Position"));
DialogControlSetPositionRelative(arkless_screenDesigner_button_position, c_arkless_screenDesigner_all, c_anchorTopRight, arkless_screenDesigner_centerSlider, c_anchorTopLeft, -4, 0);
DialogControlSetPropertyAsString(arkless_screenDesigner_button_position, c_triggerControlPropertyImage, c_arkless_screenDesigner_all, "Assets\\Textures\\ui_battle_missionbuttonicon_normalpressed.dds");
DialogControlSetPropertyAsString(arkless_screenDesigner_button_position, c_triggerControlPropertyHoverImage, c_arkless_screenDesigner_all, "Assets\\Textures\\ui_battle_missionbuttonicon_normalpressed.dds");
DialogControlSetPropertyAsColor(arkless_screenDesigner_button_position, c_triggerControlPropertyColor, c_arkless_screenDesigner_all, Color(60, 100, 60));
TriggerAddEventDialogControl(arkless_screenDesigner_position, -1, arkless_screenDesigner_button_position, c_triggerControlEventTypeClick);
arkless_screenDesigner_button_size = DialogControlCreateInPanel(arkless_screenDesigner_controller, c_triggerControlTypeButton);
DialogControlSetSize(arkless_screenDesigner_button_size, c_arkless_screenDesigner_all, 128, 36);
DialogControlSetPropertyAsText(arkless_screenDesigner_button_size, c_triggerControlPropertyText, c_arkless_screenDesigner_all, StringToText("Size"));
DialogControlSetPositionRelative(arkless_screenDesigner_button_size, c_arkless_screenDesigner_all, c_anchorTopLeft, arkless_screenDesigner_button_position, c_anchorBottomLeft, 0, 4);
DialogControlSetPropertyAsString(arkless_screenDesigner_button_size, c_triggerControlPropertyImage, c_arkless_screenDesigner_all, "Assets\\Textures\\ui_battle_missionbuttonicon_normalpressed.dds");
DialogControlSetPropertyAsString(arkless_screenDesigner_button_size, c_triggerControlPropertyHoverImage, c_arkless_screenDesigner_all, "Assets\\Textures\\ui_battle_missionbuttonicon_normalpressed.dds");
DialogControlSetPropertyAsColor(arkless_screenDesigner_button_size, c_triggerControlPropertyColor, c_arkless_screenDesigner_all, Color(60, 100, 60));
TriggerAddEventDialogControl(arkless_screenDesigner_size, -1, arkless_screenDesigner_button_size, c_triggerControlEventTypeClick);
arkless_screenDesigner_x = DialogControlCreateInPanel(arkless_screenDesigner_controller, c_triggerControlTypeCheckBox);
DialogControlSetSize(arkless_screenDesigner_x, c_arkless_screenDesigner_all, 32, 32);
DialogControlSetPropertyAsBool(arkless_screenDesigner_x, c_triggerControlPropertyChecked, c_arkless_screenDesigner_all, true);
DialogControlSetPositionRelative(arkless_screenDesigner_x, c_arkless_screenDesigner_all, c_anchorTopLeft, arkless_screenDesigner_centerSlider, c_anchorBottomLeft, 0, 0);
arkless_screenDesigner_labelX = DialogControlCreateInPanel(arkless_screenDesigner_controller, c_triggerControlTypeLabel);
DialogControlSetSize(arkless_screenDesigner_labelX, c_arkless_screenDesigner_all, 32, 28);
DialogControlSetPropertyAsText(arkless_screenDesigner_labelX, c_triggerControlPropertyText, c_arkless_screenDesigner_all, StringToText("X"));
DialogControlSetPropertyAsString(arkless_screenDesigner_labelX, c_triggerControlPropertyStyle, c_arkless_screenDesigner_all, "AiurChefCenterSize24Bold");
DialogControlSetPositionRelative(arkless_screenDesigner_labelX, c_arkless_screenDesigner_all, c_anchorTopLeft, arkless_screenDesigner_x, c_anchorTopRight, 0, 4);
arkless_screenDesigner_y = DialogControlCreateInPanel(arkless_screenDesigner_controller, c_triggerControlTypeCheckBox);
DialogControlSetSize(arkless_screenDesigner_y, c_arkless_screenDesigner_all, 32, 32);
DialogControlSetPropertyAsBool(arkless_screenDesigner_y, c_triggerControlPropertyChecked, c_arkless_screenDesigner_all, true);
DialogControlSetPositionRelative(arkless_screenDesigner_y, c_arkless_screenDesigner_all, c_anchorBottomLeft, arkless_screenDesigner_centerSlider, c_anchorRight, 0, 0);
arkless_screenDesigner_labelY = DialogControlCreateInPanel(arkless_screenDesigner_controller, c_triggerControlTypeLabel);
DialogControlSetSize(arkless_screenDesigner_labelY, c_arkless_screenDesigner_all, 25, 28);
DialogControlSetPropertyAsText(arkless_screenDesigner_labelY, c_triggerControlPropertyText, c_arkless_screenDesigner_all, StringToText("Y"));
DialogControlSetPropertyAsString(arkless_screenDesigner_labelY, c_triggerControlPropertyStyle, c_arkless_screenDesigner_all, "AiurChefCenterSize24Bold");
DialogControlSetPositionRelative(arkless_screenDesigner_labelY, c_arkless_screenDesigner_all, c_anchorTopLeft, arkless_screenDesigner_centerSlider, c_anchorRight, 7, 2);
arkless_screenDesigner_lockXY = DialogControlCreateInPanel(arkless_screenDesigner_controller, c_triggerControlTypeCheckBox);
DialogControlSetSize(arkless_screenDesigner_lockXY, c_arkless_screenDesigner_all, 32, 32);
DialogControlSetPositionRelative(arkless_screenDesigner_lockXY, c_arkless_screenDesigner_all, c_anchorBottomRight, arkless_screenDesigner_centerSlider, c_anchorTopLeft, 2, -2);
arkless_screenDesigner_lockXY2 = DialogControlCreateInPanel(arkless_screenDesigner_controller, c_triggerControlTypeCheckBox);
DialogControlSetSize(arkless_screenDesigner_lockXY2, c_arkless_screenDesigner_all, 32, 32);
DialogControlSetPositionRelative(arkless_screenDesigner_lockXY2, c_arkless_screenDesigner_all, c_anchorTopLeft, arkless_screenDesigner_lockXY, c_anchorTopRight, 0, 0);
arkless_screenDesigner_labelLockXY = DialogControlCreateInPanel(arkless_screenDesigner_controller, c_triggerControlTypeLabel);
DialogControlSetSize(arkless_screenDesigner_labelLockXY, c_arkless_screenDesigner_all, 128, 28);
DialogControlSetPropertyAsText(arkless_screenDesigner_labelLockXY, c_triggerControlPropertyText, c_arkless_screenDesigner_all, StringToText("diagonals"));
DialogControlSetPropertyAsString(arkless_screenDesigner_labelLockXY, c_triggerControlPropertyStyle, c_arkless_screenDesigner_all, "AiurChefRightSize24Bold");
DialogControlSetPositionRelative(arkless_screenDesigner_labelLockXY, c_arkless_screenDesigner_all, c_anchorBottomRight, arkless_screenDesigner_lockXY, c_anchorBottomLeft, 0, 0);
screenControl = arkless_screenDesigner_addControl(arkless_screenDesigner_relative);
arkless_screenDesigner_controlIsRelative(screenControl, c_arkless_screenDesigner_all);
screenControl = arkless_screenDesigner_addControl(arkless_screenDesigner_controller);
arkless_screenDesigner_setMovable(screenControl, c_arkless_screenDesigner_all);
arkless_screenDesigner_addSkipFinder(screenControl, c_arkless_screenDesigner_all, 1);
}
arkless_screenDesigner_setupActive
ScreenDesigner_Interface
Untitled Custom Script 001
string arkless_screenDesigner_addControl(int id);
void arkless_screenDesigner_removeControl(string control);
void arkless_screenDesigner_controlIsRelative(string control, playergroup targetPlayers);
void arkless_screenDesigner_setMovable(string control, playergroup targetPlayers);
void arkless_screenDesigner_setRelationChain(string control, playergroup targetPlayers, string relativeControl);
void arkless_screenDesigner_setResizeable(string control, playergroup targetPlayers);
void arkless_screenDesigner_setCustomResizeFunction(string control, funcref<DialogControlSetSize> resize, int currentX, int currentY, int resizeId);
void arkless_screenDesigner_setBounds(string control, playergroup targetPlayers, int minX, int maxX, int minY, int maxY);
void arkless_screenDesigner_addSkipFinder(string control, playergroup targetPlayers, int amount);
ScreenDesigner_Impl
Untitled Custom Script 001
string arkless_screenDesigner_addControl(int id) {
int[9] dControl;
int dialogControl;
int i;
string control = arkless_dataTable_list_getListElement(c_arkless_screenDesigner_dataTablePrefix);
int loopInt;
int player;
DataTableSetInt(true, control + c_arkless_screenDesigner_id, id);
for (loopInt = 1; loopInt <= PlayerGroupCount(c_arkless_screenDesigner_all); loopInt += 1) {
player = PlayerGroupPlayer(c_arkless_screenDesigner_all, loopInt);
DataTableSetString(true, control + IntToString(player) + c_arkless_screenDesigner_relativeTo, "");
}
dialogControl = DialogControlCreateInPanel(arkless_screenDesigner_moveable, c_triggerControlTypeButton);
DialogControlSetPropertyAsText(dialogControl, c_triggerControlPropertyText, c_arkless_screenDesigner_all, StringToText("move"));
DialogControlSetSize(dialogControl, c_arkless_screenDesigner_all, 96, 32);
DialogControlSetPositionRelative(dialogControl, c_arkless_screenDesigner_all, c_anchorTopLeft, id, c_anchorTopLeft, 0, 0);
DialogControlSetPropertyAsString(dialogControl, c_triggerControlPropertyUnitLink, c_arkless_screenDesigner_all, control);
DialogControlSetVisible(dialogControl, c_arkless_screenDesigner_all, false);
DataTableSetInt(true, control + c_arkless_screenDesigner_moveButton, dialogControl);
TriggerAddEventDialogControl(arkless_screenDesigner_selectMoveableControl, -1, dialogControl, c_triggerControlEventTypeClick);
dialogControl = DialogControlCreateInPanel(arkless_screenDesigner_sizeable, c_triggerControlTypeButton);
DialogControlSetPropertyAsText(dialogControl, c_triggerControlPropertyText, c_arkless_screenDesigner_all, StringToText("resize"));
DialogControlSetSize(dialogControl, c_arkless_screenDesigner_all, 96, 32);
DialogControlSetPositionRelative(dialogControl, c_arkless_screenDesigner_all, c_anchorTopLeft, id, c_anchorTopLeft, 0, 0);
DialogControlSetPropertyAsString(dialogControl, c_triggerControlPropertyUnitLink, c_arkless_screenDesigner_all, control);
DialogControlSetVisible(dialogControl, c_arkless_screenDesigner_all, false);
DataTableSetInt(true, control + c_arkless_screenDesigner_sizeButton, dialogControl);
TriggerAddEventDialogControl(arkless_screenDesigner_selectSizeableControl, -1, dialogControl, c_triggerControlEventTypeClick);
for (i = 0; i <= 8; i += 1) {
dControl[i] = DialogControlCreateInPanel(arkless_screenDesigner_relative, c_triggerControlTypeButton);
DialogControlSetSize(dControl[i], c_arkless_screenDesigner_all, 32, 32);
DialogControlSetPositionRelative(dControl[i], c_arkless_screenDesigner_all, i, id, i, 0, 0);
DialogControlSetPropertyAsString(dControl[i], c_triggerControlPropertyUnitLink, c_arkless_screenDesigner_all, control);
DialogControlSetPropertyAsInt(dControl[i], c_triggerControlPropertyRotation, c_arkless_screenDesigner_all, i);
DialogControlSetVisible(dControl[i], c_arkless_screenDesigner_all, false);
DataTableSetInt(true, control + c_arkless_screenDesigner_relativeButtons + IntToString(i), dControl[i]);
TriggerAddEventDialogControl(arkless_screenDesigner_selectAnchor, -1, dControl[i], c_triggerControlEventTypeClick);
}
arkless_dataTable_list_addElementAsLast(control);
return control;
}
void arkless_screenDesigner_removeControl(string control) {
arkless_dataTable_list_removeListElement(control);
}
void arkless_screenDesigner_controlIsRelative(string control, playergroup targetPlayers) {
int i;
int loopInt;
int player;
for (i = 0; i <= 8; i += 1) {
for (loopInt = 1; loopInt <= PlayerGroupCount(targetPlayers); loopInt += 1) {
player = PlayerGroupPlayer(targetPlayers, loopInt);
DialogControlSetVisible(DataTableGetInt(true, control + c_arkless_screenDesigner_relativeButtons + IntToString(i)), PlayerGroupSingle(player), true);
}
}
}
void arkless_screenDesigner_setMovable(string control, playergroup targetPlayers) {
string movable;
int loopInt;
int player;
int dialogControl = DataTableGetInt(true, control + c_arkless_screenDesigner_moveButton);
for (loopInt = 1; loopInt <= PlayerGroupCount(targetPlayers); loopInt += 1) {
player = PlayerGroupPlayer(targetPlayers, loopInt);
DialogControlSetVisible(dialogControl, PlayerGroupSingle(player), true);
movable = arkless_dataTable_list_getListElement(c_arkless_screenDesigner_dataTablePrefix_movable + IntToString(player));
DataTableSetString(true, movable, control);
DataTableSetString(true, control + IntToString(player) + c_arkless_screenDesigner_movableList, movable);
arkless_dataTable_list_addElementAsLast(movable);
}
}
void arkless_screenDesigner_setRelationChain(string control, playergroup targetPlayers, string relativeControl) {
int loopInt;
int player;
for (loopInt = 1; loopInt <= PlayerGroupCount(targetPlayers); loopInt += 1) {
player = PlayerGroupPlayer(targetPlayers, loopInt);
DataTableSetString(true, control + IntToString(player) + c_arkless_screenDesigner_relativeTo, relativeControl);
}
}
void arkless_screenDesigner_setResizeable(string control, playergroup targetPlayers) {
int loopInt;
int player;
int dialogControl = DataTableGetInt(true, control + c_arkless_screenDesigner_sizeButton);
for (loopInt = 1; loopInt <= PlayerGroupCount(targetPlayers); loopInt += 1) {
player = PlayerGroupPlayer(targetPlayers, loopInt);
DialogControlSetVisible(dialogControl, PlayerGroupSingle(player), true);
}
}
void arkless_screenDesigner_setCustomResizeFunction(string control, funcref<DialogControlSetSize> resize, int currentX, int currentY, int resizeId) {
int i = 0;
int loopInt;
int player;
while (i < arkless_screenDesigner_customResizingCount) {
if (arkless_screenDesigner_customResizing[i] == resize) {
break;
}
i += 1;
}
if (i == arkless_screenDesigner_customResizingCount) {
if (i == c_arkless_screenDesigner_customResizingCount) {
TriggerDebugOutput(1, StringToText("ERROR: Trying to set more custom resize functions than currently possible. Go to screenDesigner.ScreenDesigner_Constants and increase \"c_arkless_screenDesigner_customResizingCount\"."), true);
return;
}
arkless_screenDesigner_customResizingCount += 1;
arkless_screenDesigner_customResizing[i] = resize;
}
DataTableSetInt(true, control + c_arkless_screenDesigner_customResizing, i);
DataTableSetBool(true, control + c_arkless_screenDesigner_isCustomResizing, true);
DataTableSetInt(true, control + c_arkless_screenDesigner_customResizing_id , resizeId);
for (loopInt = 1; loopInt <= PlayerGroupCount(c_arkless_screenDesigner_all); loopInt += 1) {
player = PlayerGroupPlayer(c_arkless_screenDesigner_all, loopInt);
DataTableSetInt(true, control + IntToString(player) + c_arkless_screenDesigner_customResizing_X, currentX);
DataTableSetInt(true, control + IntToString(player) + c_arkless_screenDesigner_customResizing_Y, currentY);
}
}
void arkless_screenDesigner_setBounds(string control, playergroup targetPlayers, int minX, int maxX, int minY, int maxY) {
int loopInt;
int player;
for(loopInt = 1; loopInt <= PlayerGroupCount(targetPlayers); loopInt += 1) {
player = PlayerGroupPlayer(targetPlayers, loopInt);
DataTableSetInt(true, control + IntToString(player) + c_arkless_screenDesigner_customSize_minX, minX);
DataTableSetInt(true, control + IntToString(player) + c_arkless_screenDesigner_customSize_maxX, maxX);
DataTableSetInt(true, control + IntToString(player) + c_arkless_screenDesigner_customSize_minY, minY);
DataTableSetInt(true, control + IntToString(player) + c_arkless_screenDesigner_customSize_maxY, maxY);
}
}
void arkless_screenDesigner_addSkipFinder(string control, playergroup targetPlayers, int amount) {
int loopInt;
int player;
int current;
for(loopInt = 1; loopInt <= PlayerGroupCount(targetPlayers); loopInt += 1) {
player = PlayerGroupPlayer(targetPlayers, loopInt);
current = DataTableGetInt(true, control + IntToString(player) + c_arkless_screenDesigner_skipFinder);
DataTableSetInt(true, control + IntToString(player) + c_arkless_screenDesigner_skipFinder, current + amount);
}
}
ScreenDesigner_Active
Untitled Custom Script 001
trigger arkless_screenDesigner_selectMoveableControl = TriggerCreate("arkless_screenDesigner_selectMoveableControl_trig");
trigger arkless_screenDesigner_selectSizeableControl = TriggerCreate("arkless_screenDesigner_selectSizeableControl_trig");
trigger arkless_screenDesigner_selectAnchor = TriggerCreate("arkless_screenDesigner_selectAnchor_trig");
trigger arkless_screenDesigner_activate = TriggerCreate("arkless_screenDesigner_activate_trig");
trigger arkless_screenDesigner_position = TriggerCreate("arkless_screenDesigner_position_trig");
trigger arkless_screenDesigner_size = TriggerCreate("arkless_screenDesigner_size_trig");
trigger[16] arkless_screenDesigner_mouseMoved;
trigger arkless_screenDesigner_mouseIn = TriggerCreate("arkless_screenDesigner_mouseIn_trig");
trigger arkless_screenDesigner_mouseOut = TriggerCreate("arkless_screenDesigner_mouseOut_trig");
trigger arkless_screenDesigner_mouseClickDown = TriggerCreate("arkless_screenDesigner_mouseClickDown_trig");
trigger arkless_screenDesigner_mouseClickUp = TriggerCreate("arkless_screenDesigner_mouseClickUp_trig");
trigger arkless_screenDesigner_resetPosition = TriggerCreate("arkless_screenDesigner_resetPosition_trig");
trigger arkless_screenDesigner_findControl = TriggerCreate("arkless_screenDesigner_findControl_trig");
trigger arkless_screenDesigner_findControlPrev = TriggerCreate("arkless_screenDesigner_findControlPrev_trig");
trigger arkless_screenDesigner_findControlNext = TriggerCreate("arkless_screenDesigner_findControlNext_trig");
trigger arkless_screenDesigner_findControlPick = TriggerCreate("arkless_screenDesigner_findControlPick_trig");
Import_ScreenDesigner
ImportScrollable