Jump to content
Sign in to follow this  
mr_shadow

GPS script create dialog

Recommended Posts

Hello,

I'm currently now making an addon of mobile phone, so I would like in one of the options - the gps, basically it will create a gps/map/uav dialog on the screen even if the person dont have any of them.

Does someone know how to call this dialog?

Appriciate your help.

Share this post


Link to post
Share on other sites

I'm pretty new to scripting, but if I understand you correctly you want to have a map in your dialog, right?

you might want to have a look at this https://community.bistudio.com/wiki/Dialog_Control_Map , but it's "outdated", meaning the symbol paths still relate to Arma 2.

This is the map I have in my dialog, I don't really know how it works but it gets the job done.

part of my defines.hpp:

class RscMapControl

{

access = 1;

type = 101;

idc = 51;

style = 48;

colorBackground[] = {0.969,0.957,0.949,1};

colorOutside[] = {0,0,0,1};

colorText[] = {0,0,0,1};

font = "TahomaB";

sizeEx = 0.029;

colorSea[] = {0.467,0.631,0.851,0.5};

colorForest[] = {0.624,0.78,0.388,0.5};

colorRocks[] = {0,0,0,0.3};

colorCountlines[] = {0.572,0.354,0.188,0.25};

colorMainCountlines[] = {0.572,0.354,0.188,0.5};

colorCountlinesWater[] = {0.491,0.577,0.702,0.3};

colorMainCountlinesWater[] = {0.491,0.577,0.702,0.6};

colorForestBorder[] = {0,0,0,0};

colorRocksBorder[] = {0,0,0,0};

colorPowerLines[] = {0.1,0.1,0.1,1};

colorRailWay[] = {0.8,0.2,0,1};

colorNames[] = {0.1,0.1,0.1,0.9};

colorInactive[] = {1,1,1,0.5};

colorLevels[] = {0.286,0.177,0.094,0.5};

colorTracks[] = {0.84,0.76,0.65,0.15};

colorRoads[] = {0.7,0.7,0.7,1};

colorMainRoads[] = {0.9,0.5,0.3,1};

colorTracksFill[] = {0.84,0.76,0.65,1};

colorRoadsFill[] = {1,1,1,1};

colorMainRoadsFill[] = {1,0.6,0.4,1};

colorGrid[] = {0.1,0.1,0.1,0.6};

colorGridMap[] = {0.1,0.1,0.1,0.6};

stickX[] = {0.2,{"Gamma",1,1.5}};

stickY[] = {0.2,{"Gamma",1,1.5}};

class Legend

{

colorBackground[] = {1,1,1,0.5};

color[] = {0,0,0,1};

x = "SafeZoneX + ( ((safezoneW / safezoneH) min 1.2) / 40)";

y = "SafeZoneY + safezoneH - 4.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";

w = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40)";

h = "3.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";

font = "PuristaMedium";

sizeEx = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";

};

class ActiveMarker

{

color[] = {0.3,0.1,0.9,1};

size = 50;

};

class Command

{

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa";

size = 18;

importance = 1;

coefMin = 1;

coefMax = 1;

};

class Task

{

colorCreated[] = {1,1,1,1};

colorCanceled[] = {0.7,0.7,0.7,1};

colorDone[] = {0.7,1,0.3,1};

colorFailed[] = {1,0.3,0.2,1};

color[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])"};

icon = "\A3\ui_f\data\map\mapcontrol\taskIcon_CA.paa";

iconCreated = "\A3\ui_f\data\map\mapcontrol\taskIconCreated_CA.paa";

iconCanceled = "\A3\ui_f\data\map\mapcontrol\taskIconCanceled_CA.paa";

iconDone = "\A3\ui_f\data\map\mapcontrol\taskIconDone_CA.paa";

iconFailed = "\A3\ui_f\data\map\mapcontrol\taskIconFailed_CA.paa";

size = 27;

importance = 1;

coefMin = 1;

coefMax = 1;

};

class CustomMark

{

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\custommark_ca.paa";

size = 24;

importance = 1;

coefMin = 1;

coefMax = 1;

};

class Tree

{

color[] = {0.45,0.64,0.33,0.4};

icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";

size = 12;

importance = "0.9 * 16 * 0.05";

coefMin = 0.25;

coefMax = 4;

};

class SmallTree

{

color[] = {0.45,0.64,0.33,0.4};

icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";

size = 12;

importance = "0.6 * 12 * 0.05";

coefMin = 0.25;

coefMax = 4;

};

class Bush

{

color[] = {0.45,0.64,0.33,0.4};

icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";

size = "14/2";

importance = "0.2 * 14 * 0.05 * 0.05";

coefMin = 0.25;

coefMax = 4;

};

class Church

{

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\church_CA.paa";

size = 24;

importance = 1;

coefMin = 0.85;

coefMax = 1;

};

class Chapel

{

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\Chapel_CA.paa";

size = 24;

importance = 1;

coefMin = 0.85;

coefMax = 1;

};

class Cross

{

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\Cross_CA.paa";

size = 24;

importance = 1;

coefMin = 0.85;

coefMax = 1;

};

class Rock

{

color[] = {0.1,0.1,0.1,0.8};

icon = "\A3\ui_f\data\map\mapcontrol\rock_ca.paa";

size = 12;

importance = "0.5 * 12 * 0.05";

coefMin = 0.25;

coefMax = 4;

};

class Bunker

{

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa";

size = 14;

importance = "1.5 * 14 * 0.05";

coefMin = 0.25;

coefMax = 4;

};

class Fortress

{

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa";

size = 16;

importance = "2 * 16 * 0.05";

coefMin = 0.25;

coefMax = 4;

};

class Fountain

{

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\fountain_ca.paa";

size = 11;

importance = "1 * 12 * 0.05";

coefMin = 0.25;

coefMax = 4;

};

class ViewTower

{

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\viewtower_ca.paa";

size = 16;

importance = "2.5 * 16 * 0.05";

coefMin = 0.5;

coefMax = 4;

};

class Lighthouse

{

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\lighthouse_CA.paa";

size = 24;

importance = 1;

coefMin = 0.85;

coefMax = 1;

};

class Quay

{

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\quay_CA.paa";

size = 24;

importance = 1;

coefMin = 0.85;

coefMax = 1;

};

class Fuelstation

{

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\fuelstation_CA.paa";

size = 24;

importance = 1;

coefMin = 0.85;

coefMax = 1;

};

class Hospital

{

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\hospital_CA.paa";

size = 24;

importance = 1;

coefMin = 0.85;

coefMax = 1;

};

class BusStop

{

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\busstop_CA.paa";

size = 24;

importance = 1;

coefMin = 0.85;

coefMax = 1;

};

class Transmitter

{

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\transmitter_CA.paa";

size = 24;

importance = 1;

coefMin = 0.85;

coefMax = 1;

};

class Stack

{

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\stack_ca.paa";

size = 20;

importance = "2 * 16 * 0.05";

coefMin = 0.9;

coefMax = 4;

};

class Ruin

{

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\ruin_ca.paa";

size = 16;

importance = "1.2 * 16 * 0.05";

coefMin = 1;

coefMax = 4;

};

class Tourism

{

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\tourism_ca.paa";

size = 16;

importance = "1 * 16 * 0.05";

coefMin = 0.7;

coefMax = 4;

};

class Watertower

{

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\watertower_CA.paa";

size = 24;

importance = 1;

coefMin = 0.85;

coefMax = 1;

};

class Waypoint

{

color[] = {0,0,0,1};

size = 24;

importance = 1;

coefMin = 1;

coefMax = 1;

icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa";

};

class WaypointCompleted

{

color[] = {0,0,0,1};

size = 24;

importance = 1;

coefMin = 1;

coefMax = 1;

icon = "\A3\ui_f\data\map\mapcontrol\waypointCompleted_ca.paa";

};

moveOnEdges = 0;//1;

x = "SafeZoneXAbs";

y = "SafeZoneY + 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";

w = "SafeZoneWAbs";

h = "SafeZoneH - 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";

shadow = 0;

ptsPerSquareSea = 5;

ptsPerSquareTxt = 3;

ptsPerSquareCLn = 10;

ptsPerSquareExp = 10;

ptsPerSquareCost = 10;

ptsPerSquareFor = 9;

ptsPerSquareForEdge = 9;

ptsPerSquareRoad = 6;

ptsPerSquareObj = 9;

showCountourInterval = 0;

scaleMin = 0.001;

scaleMax = 2.0;

scaleDefault = 2.0;

maxSatelliteAlpha = 0.85;

alphaFadeStartScale = 2.1;

alphaFadeEndScale = 2.1;

fontLabel = "PuristaMedium";

sizeExLabel = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";

fontGrid = "TahomaB";

sizeExGrid = 0.02;

fontUnits = "TahomaB";

sizeExUnits = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";

fontNames = "PuristaMedium";

sizeExNames = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8) * 2";

fontInfo = "PuristaMedium";

sizeExInfo = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";

fontLevel = "PuristaMedium";

sizeExLevel = 0.02;

text = "#(argb,8,8,3)color(1,1,1,1)";

//text = "\a3\ui_f\data\map_background2_co.paa";

class power

{

icon = "\A3\ui_f\data\map\mapcontrol\power_CA.paa";

size = 24;

importance = 1;

coefMin = 0.85;

coefMax = 1;

color[] = {1,1,1,1};

};

class powersolar

{

icon = "\A3\ui_f\data\map\mapcontrol\powersolar_CA.paa";

size = 24;

importance = 1;

coefMin = 0.85;

coefMax = 1;

color[] = {1,1,1,1};

};

class powerwave

{

icon = "\A3\ui_f\data\map\mapcontrol\powerwave_CA.paa";

size = 24;

importance = 1;

coefMin = 0.85;

coefMax = 1;

color[] = {1,1,1,1};

};

class powerwind

{

icon = "\A3\ui_f\data\map\mapcontrol\powerwind_CA.paa";

size = 24;

importance = 1;

coefMin = 0.85;

coefMax = 1;

color[] = {1,1,1,1};

};

class shipwreck

{

icon = "\A3\ui_f\data\map\mapcontrol\shipwreck_CA.paa";

size = 24;

importance = 1;

coefMin = 0.85;

coefMax = 1;

color[] = {1,1,1,1};

};

};

I don't know you open your dialog, at the moment i open mine via a radio trigger, this seems to cause a bug that you cannot scroll with the mousewheel, in this case you have to use numpad + and -.

this also works if you don't have a map equipped.

Share this post


Link to post
Share on other sites

It's relatively simple, you will need to add dialog configuration in your CONFIG.cpp [if addon base is used] or description.ext [if mission pbo is used] and then writing couple of functions to make it behave as u want.

Example to pull a map dialog:

class MY_GPS_UI

{

idd = 3000;

movingenable = "false";

//this onload is used to assign unique name to leaded asset so you can latter access it thru function via

//_ui = uiNamespace getVariable "MY_GPS_Display";

onLoad = "uiNamespace setVariable ['MY_GPS_Display', (_this select 0)]";

class controlsBackground

{

class MY_GPS_MAP : RscMapControl

{

idc = 1200;

maxSatelliteAlpha = 0;

//recommended is to use safezone as a base reference to position UI overlay

//values can be obtained thru ingame UI editor once u pause the game in editor [sP]

x = 0.358265 * safezoneW + safezoneX;

y = 0.259146 * safezoneH + safezoneY;

w = 0.28211 * safezoneW;

h = 0.464952 * safezoneH;

};

};

};

Share this post


Link to post
Share on other sites

Is there any way to make this dialog like on ctrl+m so player will able to move? I have tryed the cutrsc but then I can not zoom in it.

Edited by mr_shadow

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×