

mash6
Member-
Content Count
31 -
Joined
-
Last visited
-
Medals
Everything posted by mash6
-
Hey, Today I'm gonna tell you how to import a font to Arma 3. This tutorial is Windows only. First of all sorry for the mistakes in English, I'm french. Because I am a kid, i'll take a kid font for demonstration. Here is the demonstration font : http://www.dafont.com/fr/soymilk.font First of all, download it. Then you'll find a .ttf (In this case, Denne-Soymilk.ttf). Open it and you'll see something like this (Sorry, french screen) : Have a look on the yellow part, the name of the font, Soymilk. Write it somewhere, it's gonna be useful. Now click on Install. Now, download BI Tools 2.5.1 and install at least the FontToTGA and TexView 2 Done ? Well ! Go in your BI Tools installation directory (By default : C:\Program Files (x86)\Bohemia Interactive\Tools) and you'll find the FontToTga folder. Go in ! Here we are, right click on generateFontFamily.bat and then "Modifiy" You'll have something like this : call generateOneSize Arial 06 call generateOneSize Arial 07 call generateOneSize Arial 08 call generateOneSize Arial 09 call generateOneSize Arial 10 call generateOneSize Arial 11 But there is a problem with it... First, we don't want the Arial font, but Soymilk font, so replace Arial by Soymilk And, we want more sizes of font than 6 to 11. So here is what I have : call generateOneSize Soymilk 06 call generateOneSize Soymilk 07 call generateOneSize Soymilk 08 call generateOneSize Soymilk 09 call generateOneSize Soymilk 10 call generateOneSize Soymilk 11 call generateOneSize Soymilk 12 call generateOneSize Soymilk 13 call generateOneSize Soymilk 14 call generateOneSize Soymilk 15 call generateOneSize Soymilk 16 call generateOneSize Soymilk 17 call generateOneSize Soymilk 18 call generateOneSize Soymilk 19 call generateOneSize Soymilk 20 call generateOneSize Soymilk 21 call generateOneSize Soymilk 22 call generateOneSize Soymilk 23 call generateOneSize Soymilk 24 call generateOneSize Soymilk 25 call generateOneSize Soymilk 26 call generateOneSize Soymilk 27 call generateOneSize Soymilk 28 call generateOneSize Soymilk 29 call generateOneSize Soymilk 30 call generateOneSize Soymilk 31 call generateOneSize Soymilk 32 call generateOneSize Soymilk 33 call generateOneSize Soymilk 34 call generateOneSize Soymilk 35 call generateOneSize Soymilk 36 call generateOneSize Soymilk 37 call generateOneSize Soymilk 38 call generateOneSize Soymilk 39 call generateOneSize Soymilk 40 I'm going to size 40. It's enough for me. Now, run the file we just modified, it will create a folder Fonts with 175 files. I won't explain what are these files, cause it's only a functionnal tutorial and not an explanation about how it works. We now want to convert the .tga files to.paa Run CMD and go to your TexView2 folder inside of the CMD. Now, you must type the line to convert your files. Here is mine (Check your own path) : Pal2PacE C:\Program Files (x86)\Bohemia Interactive\Tools\FontToTga\Fonts Now you can delete all hte TGA files and keep only the PAA and FXY files. You must now create an addon. Create a folder where you want and name it "fontTest". Ok ? Well go inside and create a config.cpp file. Here is my config for example : class CfgPatches { class fontTest { units[] = {}; weapons[] = {}; requiredVersion = 0.1; requiredAddons[] = {}; }; }; class CfgFontFamilies { class Soymilk { fonts[] = {"\fontTest\Soymilk\Soymilk06","\fontTest\Soymilk\Soymilk07","\fontTest\Soymilk\Soymilk08","\fontTest\Soymilk\Soymilk09","\fontTest\Soymilk\Soymilk10","\fontTest\Soymilk\Soymilk11","\fontTest\Soymilk\Soymilk12","\fontTest\Soymilk\Soymilk13","\fontTest\Soymilk\Soymilk14","\fontTest\Soymilk\Soymilk15","\fontTest\Soymilk\Soymilk16","\fontTest\Soymilk\Soymilk17","\fontTest\Soymilk\Soymilk18","\fontTest\Soymilk\Soymilk19","\fontTest\Soymilk\Soymilk20","\fontTest\Soymilk\Soymilk21","\fontTest\Soymilk\Soymilk22","\fontTest\Soymilk\Soymilk23","\fontTest\Soymilk\Soymilk24","\fontTest\Soymilk\Soymilk25","\fontTest\Soymilk\Soymilk26","\fontTest\Soymilk\Soymilk27","\fontTest\Soymilk\Soymilk28","\fontTest\Soymilk\Soymilk29","\fontTest\Soymilk\Soymilk30","\fontTest\Soymilk\Soymilk31","\fontTest\Soymilk\Soymilk32","\fontTest\Soymilk\Soymilk33","\fontTest\Soymilk\Soymilk34","\fontTest\Soymilk\Soymilk35","\fontTest\Soymilk\Soymilk36","\fontTest\Soymilk\Soymilk37","\fontTest\Soymilk\Soymilk38","\fontTest\Soymilk\Soymilk39","\fontTest\Soymilk\Soymilk40"}; spaceWidth = 0.7; spacing = 0.13; }; }; Create a Soymilk folder in your addon and place all PAA and FXY files. Pack it into a PBO, put in a modfolder, and run your game, then test it. It's done. Have fun !
-
[Tutorial] Import Font on Arma 3
mash6 replied to mash6's topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
You should just export bigger sizes from the font ;) Then change the sizeEx value in your dialog -
BloodLust (Version 2022.04.13)
mash6 replied to zooloo75's topic in ARMA 3 - ADDONS & MODS: COMPLETE
Here are some screenshots from MP testing session with zooloo : Was nice to test it with you ;) -
Signature check "No error" but got "Wrong signature" when join server
mash6 replied to TacBacon's topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
Try to binarize -
Avoiding AGM dependency and Helmet visor
mash6 replied to SGT Fuller's topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
AGM_Present = if ("agm_core" IN activatedAddons) then {true} else {false}; -
Hi, I am trying to make a script execute when you double click on a item in your backpack, your uniform or your vest, and an other script when you double click on your backpack. So I need to edit RscDisplayInventory. I writed the following code : Same on pastebin : http://pastebin.com/6cH6f5sn (Edited lines 647, 677, 695, 708) class RscDisplayInventory { scriptName = "RscDisplayInventory"; scriptPath = IGUI; onLoad = "[""onLoad"",_this,""RscDisplayInventory"",'IGUI'] call (uinamespace getvariable 'BIS_fnc_initDisplay')"; onUnload = "[""onUnload"",_this,""RscDisplayInventory"",'IGUI'] call (uinamespace getvariable 'BIS_fnc_initDisplay')"; idd = 602; enableSimulation = 1; class Colors { dragValidBgr[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])", "(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])", "(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])", 0.5}; dragInvalidBgr[] = {"(profilenamespace getvariable ['IGUI_ERROR_RGB_R',0.8])", "(profilenamespace getvariable ['IGUI_ERROR_RGB_G',0.0])", "(profilenamespace getvariable ['IGUI_ERROR_RGB_B',0.0])", 0.5}; dragValidBar[] = {"(profilenamespace getvariable ['IGUI_WARNING_RGB_R',0.8])", "(profilenamespace getvariable ['IGUI_WARNING_RGB_G',0.5])", "(profilenamespace getvariable ['IGUI_WARNING_RGB_B',0.0])", 0.5}; dragInvalidBar[] = {"(profilenamespace getvariable ['IGUI_ERROR_RGB_R',0.8])", "(profilenamespace getvariable ['IGUI_ERROR_RGB_G',0.0])", "(profilenamespace getvariable ['IGUI_ERROR_RGB_B',0.0])", 0.5}; progressBar[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])", "(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])", "(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])", 1}; progressBarBgr[] = {"(profilenamespace getvariable ['IGUI_BCG_RGB_R',0])", "(profilenamespace getvariable ['IGUI_BCG_RGB_G',1])", "(profilenamespace getvariable ['IGUI_BCG_RGB_B',1])", 0.75}; highlight[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])", "(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])", "(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])", 0.5}; }; class controlsBackground {}; class controls { class Background {}; class Title {}; class ButtonOK {}; class ButtonCancel {}; class CA_ContainerBackground : RscText { idc = 1001; x = "1 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "12 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "23 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorBackground[] = {0.05, 0.05, 0.05, 0.7}; }; class CA_PlayerBackground : RscText { idc = 1002; x = "14.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "24.4 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "22 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorBackground[] = {0.05, 0.05, 0.05, 0.7}; }; class TitleBackground : RscText { idc = 1020; x = "14.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "24.4 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorBackground[] = {0.1, 0.1, 0.1, 1}; }; class PlayersName : RscText { idc = 111; text = $STR_DIARY_PLAYER_NAME; x = "15.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "19.8 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class RankBackground : RscText { idc = 1014; x = "15.1 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "1.25 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "0.6 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "0.6 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorBackground[] = {1, 1, 1, 0.2}; }; class RankPicture : RscPicture { idc = 1203; text = "\A3\Ui_f\data\GUI\Cfg\Ranks\corporal_gs.paa"; x = "15.1 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "1.25 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "0.6 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "0.6 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class ButtonBack : RscActiveText { idc = 2; style = 48; color[] = {1, 1, 1, 0.7}; text = "\A3\Ui_f\data\GUI\Rsc\RscDisplayArcadeMap\icon_exit_cross_ca.paa"; x = "38 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "1 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorText[] = {1, 1, 1, 0.7}; colorActive[] = {1, 1, 1, 1}; tooltip = $STR_DISP_CLOSE; }; class BackgroundSlotPrimary : RscPicture { idc = 1242; x = "26.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "6 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "11.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "3 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class BackgroundSlotPrimaryMuzzle : BackgroundSlotPrimary { idc = 1243; x = "26.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "9.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class BackgroundSlotPrimaryFlashlight : BackgroundSlotPrimary { idc = 1244; x = "29.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "9.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class BackgroundSlotPrimaryOptics : BackgroundSlotPrimary { idc = 1245; x = "32.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "9.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class BackgroundSlotPrimaryMagazine : BackgroundSlotPrimary { idc = 1246; x = "35.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "9.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class BackgroundSlotSecondary : BackgroundSlotPrimary { idc = 1247; x = "26.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "11.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "11.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "3 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class BackgroundSlotSecondaryMuzzle : BackgroundSlotPrimary { idc = 1248; x = "26.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "14.6 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class BackgroundSlotSecondaryFlashlight : BackgroundSlotPrimary { idc = 1249; x = "29.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "14.6 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class BackgroundSlotSecondaryOptics : BackgroundSlotPrimary { idc = 1250; x = "32.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "14.6 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class BackgroundSlotSecondaryMagazine : BackgroundSlotPrimary { idc = 1251; x = "35.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "14.6 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class BackgroundSlotHandgun : BackgroundSlotPrimary { idc = 1252; x = "26.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "17 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "11.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "3 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class BackgroundSlotHandgunMuzzle : BackgroundSlotPrimary { idc = 1253; x = "26.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "20.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class BackgroundSlotHandgunFlashlight : BackgroundSlotPrimary { idc = 1254; x = "29.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "20.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class BackgroundSlotHandgunOptics : BackgroundSlotPrimary { idc = 1255; x = "32.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "20.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class BackgroundSlotHandgunMagazine : BackgroundSlotPrimary { idc = 1256; x = "35.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "20.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class BackgroundSlotHeadgear : BackgroundSlotPrimary { idc = 1257; x = "26.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2.9 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class BackgroundSlotGoggles : BackgroundSlotPrimary { idc = 1258; x = "29.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2.9 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class BackgroundSlotHMD : BackgroundSlotPrimary { idc = 1259; x = "32.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2.9 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class BackgroundSlotBinoculars : BackgroundSlotPrimary { idc = 1260; x = "35.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2.9 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class BackgroundSlotMap : BackgroundSlotPrimary { idc = 1261; x = "15.1 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "20.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.12 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class BackgroundSlotGPS : BackgroundSlotPrimary { idc = 1262; x = "17.32 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "20.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.12 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class BackgroundSlotCompass : BackgroundSlotPrimary { idc = 1263; x = "21.76 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "20.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.12 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class BackgroundSlotRadio : BackgroundSlotPrimary { idc = 1264; x = "19.54 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "20.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.12 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class BackgroundSlotWatch : BackgroundSlotPrimary { idc = 1265; x = "23.98 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "20.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.12 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class ExternalContainerBackground : RscPicture { colorText[] = {1, 1, 1, 0.1}; idc = 1240; x = "1.5 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "3.7 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "11 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "18.4 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class PlayerContainerBackground : ExternalContainerBackground { idc = 1241; x = "15.1 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "6 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "11 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "14 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class GroundTab : RscActiveText { idc = 6321; colorBackgroundSelected[] = {1, 1, 1, 1}; colorFocused[] = {1, 1, 1, 0}; soundDoubleClick[] = {"", 0.1, 1}; color[] = {1, 1, 1, 1}; colorBackground[] = {0, 0, 0, 1}; x = "1.5 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "5.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class SoldierTab : GroundTab { idc = 6401; x = "7 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "5.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class GroundContainer : RscListBox { idc = 632; sizeEx = "0.8 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; sizeEx2 = "0.8 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; rowHeight = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; canDrag = 1; colorText[] = {1, 1, 1, 1}; colorBackground[] = {0, 0, 0, 0}; itemBackground[] = {1, 1, 1, 0.1}; itemSpacing = 0.001; x = "1.5 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "3.7 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "11 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "18.4 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class SoldierContainer : GroundContainer { idc = 640; }; class GroundFilter : RscCombo { idc = 6554; x = "1.5 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "2.6 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "11 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class GroundLoad : RscProgress { idc = 6307; texture = ""; textureExt = ""; colorBar[] = {0.9, 0.9, 0.9, 0.9}; colorExtBar[] = {1, 1, 1, 1}; colorFrame[] = {1, 1, 1, 1}; x = "1.5 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "22.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "11 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class SlotPrimary : GroundTab { idc = 610; style = 0x30 + 0x800; color[] = {1, 1, 1, 1}; colorBackground[] = {1, 1, 1, 0.1}; colorBackgroundSelected[] = {1, 1, 1, 0.1}; colorFocused[] = {0, 0, 0, 0}; canDrag = 1; x = "26.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "6 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "11.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "3 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorText[] = {0, 0, 0, 0.5}; }; class SlotPrimaryMuzzle : SlotPrimary { idc = 620; x = "26.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "9.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorText[] = {0, 0, 0, 0.5}; }; class SlotPrimaryGrip : SlotPrimary { idc = -1; w = 0; h = 0; x = "39 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "9 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; colorText[] = {0, 0, 0, 0.5}; }; class SlotPrimaryFlashlight : SlotPrimary { idc = 622; x = "29.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "9.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorText[] = {0, 0, 0, 0.5}; }; class SlotPrimaryOptics : SlotPrimary { idc = 621; x = "32.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "9.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorText[] = {0, 0, 0, 0.5}; }; class SlotPrimaryMagazine : SlotPrimary { idc = 623; x = "35.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "9.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorText[] = {0, 0, 0, 0.5}; }; class SlotSecondary : SlotPrimary { idc = 611; x = "26.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "11.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "11.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "3 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorText[] = {0, 0, 0, 0.5}; }; class SlotSecondaryMuzzle : SlotPrimary { idc = 624; x = "26.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "14.6 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorText[] = {0, 0, 0, 0.5}; }; class SlotSecondaryGrip : SlotPrimary { idc = -1; w = 0; h = 0; x = "39 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "14.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; colorText[] = {0, 0, 0, 0.5}; }; class SlotSecondaryFlashlight : SlotPrimary { idc = 626; x = "29.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "14.6 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorText[] = {0, 0, 0, 0.5}; }; class SlotSecondaryOptics : SlotPrimary { idc = 625; x = "32.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "14.6 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorText[] = {0, 0, 0, 0.5}; }; class SlotSecondaryMagazine : SlotPrimary { idc = 627; x = "35.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "14.6 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorText[] = {0, 0, 0, 0.5}; }; class SlotHandgun : SlotPrimary { idc = 612; x = "26.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "17 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "11.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "3 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorText[] = {0, 0, 0, 0.5}; }; class SlotHandgunMuzzle : SlotPrimary { idc = 628; x = "26.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "20.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorText[] = {0, 0, 0, 0.5}; }; class SlotHandgunGrip : SlotPrimary { idc = -1; w = 0; h = 0; x = "39 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "20 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; colorText[] = {0, 0, 0, 0.5}; }; class SlotHandgunFlashlight : SlotPrimary { idc = 630; x = "29.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "20.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorText[] = {0, 0, 0, 0.5}; }; class SlotHandgunOptics : SlotPrimary { idc = 629; x = "32.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "20.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorText[] = {0, 0, 0, 0.5}; }; class SlotHandgunMagazine : SlotPrimary { idc = 631; x = "35.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "20.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorText[] = {0, 0, 0, 0.5}; }; class SlotHeadgear : SlotPrimary { idc = 6240; x = "26.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2.9 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorText[] = {0, 0, 0, 0.5}; }; class SlotGoggles : SlotPrimary { idc = 6216; x = "29.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2.9 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorText[] = {0, 0, 0, 0.5}; }; class SlotHMD : SlotPrimary { idc = 6217; x = "32.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2.9 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorText[] = {0, 0, 0, 0.5}; }; class SlotBinoculars : SlotPrimary { idc = 6238; x = "35.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2.9 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorText[] = {0, 0, 0, 0.5}; }; class SlotMap : SlotPrimary { idc = 6211; x = "15.16 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "20.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorText[] = {0, 0, 0, 0.5}; }; class SlotGPS : SlotPrimary { idc = 6215; x = "17.38 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "20.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorText[] = {0, 0, 0, 0.5}; }; class SlotCompass : SlotPrimary { idc = 6212; x = "21.82 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "20.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorText[] = {0, 0, 0, 0.5}; }; class SlotRadio : SlotPrimary { idc = 6214; x = "19.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "20.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorText[] = {0, 0, 0, 0.5}; }; class SlotWatch : SlotPrimary { idc = 6213; x = "24.04 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "20.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "2 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorText[] = {0, 0, 0, 0.5}; }; class UniformTab : GroundTab { idc = 6332; x = "15.1 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "3.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "3 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorBackground[] = {1, 1, 1, 0.5}; }; class UniformSlot : SlotPrimary { idc = 6331; x = "15.35 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "3 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "3 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorText[] = {0, 0, 0, 0.5}; }; class UniformLoad : GroundLoad { idc = 6304; x = "15.1 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "5.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "3.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "0.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class UniformContainer : GroundContainer { idc = 633; x = "15.1 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "6 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "11 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "14 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; onMouseButtonDblClick = "_this call inv_fnc_useItem"; }; class VestTab : UniformTab { idc = 6382; x = "18.85 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "3.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "3 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class VestSlot : SlotPrimary { idc = 6381; x = "19.1 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "3 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "3 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorText[] = {0, 0, 0, 0.5}; }; class VestLoad : GroundLoad { idc = 6305; x = "18.85 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "5.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "3.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "0.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class VestContainer : UniformContainer { idc = 638; onMouseButtonDblClick = "_this call inv_fnc_useItem"; }; class BackpackTab : UniformTab { idc = 6192; x = "22.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "3.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "3 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class BackpackSlot : SlotPrimary { idc = 6191; x = "22.85 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "3 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "3 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorText[] = {0, 0, 0, 0.5}; onMouseButtonDblClick = "_this call inv_fnc_backpackBuild"; }; class BackpackLoad : GroundLoad { idc = 6306; x = "22.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "5.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "3.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "0.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class BackpackContainer : UniformContainer { idc = 619; onMouseButtonDblClick = "_this call inv_fnc_useItem"; }; class TotalLoad : GroundLoad { idc = 6308; x = "15.1 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "22.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "23.4 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class ContainerMarker : GroundTab { idc = 6325; x = "0 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "24 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "1 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class GroundMarker : ContainerMarker { idc = 6385; x = "1.5 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "24 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "1 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class SoldierMarker : ContainerMarker { idc = 6405; x = "3 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "24 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "1 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; }; }; I included it in a config.cpp file in addon, games starts well but in game, when I try to open inventory, it crashed. In RPT it tells : 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/GroundContainer 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/SoldierContainer 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/SlotPrimary 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/SlotPrimaryMuzzle 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/SlotPrimaryGrip 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/SlotPrimaryFlashlight 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/SlotPrimaryOptics 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/SlotPrimaryMagazine 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/SlotSecondary 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/SlotSecondaryMuzzle 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/SlotSecondaryGrip 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/SlotSecondaryFlashlight 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/SlotSecondaryOptics 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/SlotSecondaryMagazine 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/SlotHandgun 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/SlotHandgunMuzzle 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/SlotHandgunGrip 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/SlotHandgunFlashlight 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/SlotHandgunOptics 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/SlotHandgunMagazine 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/SlotHeadgear 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/SlotGoggles 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/SlotHMD 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/SlotBinoculars 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/SlotMap 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/SlotGPS 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/SlotCompass 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/SlotRadio 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/SlotWatch 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/UniformSlot 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/UniformContainer 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/VestSlot 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/VestContainer 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/BackpackSlot 23:14:21 Warning: no type entry inside class RscDisplayInventory/controls/BackpackContainer I don't know what I'm failling... I just added som onMouseButtonDblClick on controls... If you can help me... Best regards ---------- Post added 03-25-2015 at 12:13 AM ---------- Previous post was 03-24-2015 at 11:27 PM ---------- Autofixed - Sorry, misplaced some base classes declarations
-
Hey, found it in ui_f/config.bin ;) Unbinarized with unrap with the option "1 file by class" and it's OK ;)
-
try texture = "\8thPatch\Data\8th_Patch.paa";
-
No entry error FullAuto.displayName?
mash6 replied to SpaceNavy's topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
You can try this : class cfgWeapons { class close; class short; class medium; class far; class autocannon_Base_F; class autocannon_40mm_CTWS; class TEI_Frig_PDG: autocannon_40mm_CTWS { scope = 2; displayName = "M910 Point Defense Gun"; model = ""; minRange = 5; minRangeProbab = 0.7; midRange = 1200; midRangeProbab = 0.7; maxRange = 2500; maxRangeProbab = 0.1; reloadTime = 0.12; aiRateOfFire = 0.6; aiRateOfFireDistance = 500; magazineReloadTime = 2; autoReload = 1; ballisticsComputer = 1; canLock = 2; autoFire = 1; modes[] = {"player","close","short","medium","far"}; shotFromTurret = 1; showAimCursorInternal = 0; muzzles[] = {"HE"}; class player: Mode_FullAuto { sounds[] = {"StandardSound"}; class StandardSound { begin1[] = {"A3\Sounds_F\weapons\30mm\30mm_st_02",1.99526,1,1500}; soundBegin[] = {"begin1",1}; weaponSoundEffect = "DefaultRifle"; }; soundContinuous = 0; reloadTime = 0.12; dispersion = 0.00035; }; class HE: autocannon_Base_F { displayName = "50mm Point Defense Gun"; magazines[] = {"TEI_100rd_50mm"}; class player: player { dispersion = 0.00055; }; class close: close { dispersion = 0.00055; }; class short: short { dispersion = 0.00055; }; class medium: medium { dispersion = 0.00055; }; class far: far { dispersion = 0.00055; }; }; }; }; class cfgAmmo { class B_30mm_AP; class TEI_50mm_PDG_ammo: B_30mm_AP { hit = 80; indirectHit = 8; indirectHitRange = 0.2; caliber = 4.2; visibleFire = 32; audibleFire = 32; visibleFireTime = 3; cost = 50; model = "\A3\Weapons_f\Data\bullettracer\tracer_white"; tracerScale = 2.5; tracerStartTime = 0.1; tracerEndTime = 2; muzzleEffect = ""; deflecting = 10; typicalSpeed = 1651; airlock = 1; }; }; class cfgMagazines { class 250Rnd_30mm_HE_shells; class TEI_100rd_50mm: 250Rnd_30mm_HE_shells { scope = 2; model = ""; displayName = "100rd 50mm Shells"; displayNameShort = "50mm"; ammo = "TEI_50mm_PDG_ammo"; count = 100; initSpeed = 1651; maxLeadSpeed = 300; nameSound = "cannon"; tracersEvery = 1; weight = 126; }; }; -
You can eventually add an handleDamage eventhandler and set damage to a lower value than 1 if velocity < a certain value and if projectile is an empty string Not sure it's going to work
-
Make map buildings indesructable!
mash6 replied to Moon_chilD's topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
_position = getMarkerPos "CenterMarkerOfYourBase"; _radius = 111; // Change with the radius around marker _objects = _position nearObjects ["building",_radius]; { _x allowDamage 0; } foreach _objects; -
Any similar function like AssignedUnits, but for uniforms?
mash6 replied to billyh's topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
Not a command problem but script problem. And you were speaking about uniform but your config is vest bomberVests = ["SVS", "SVL"]; [] spawn { while {true} do { if ((vest player) IN bomberVest) then { arm = player addAction ["Arm Bomb","SUICIDE_VESTS\armbomb.sqf"] ; } else { player removeAction det; player removeAction deac; player removeAction arm; }; }; }; Or simply bomberVests = ["SVS", "SVL"]; arm = player addAction["Arm Bomb","SUICIDE_VESTS\armbomb.sqf","",0,false,false,"",'alive player && ((vest player) IN bomberVests)']]; -
Any similar function like AssignedUnits, but for uniforms?
mash6 replied to billyh's topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
bomberVests = ["SVS", "SVL"]; if (((uniform player) == "SVS") OR ((uniform player) == "SVL")) then {arm = player addAction ["Arm Bomb","SUICIDE_VESTS\armbomb.sqf"] } else [removeAction det, removeAction deac, removeAction arm]; -
Hi, Not sure it's the best way but this may work : _count = 0; { if((side _x) == west) then {_count = _count + 1}; } foreach playableUnits; And for original thread : //REARMING SWITCH, CAN BE SUBSTITUDED BY VARIABLE, USED TO PREVENT //MULTIPLE INSTANCES OF SAME FUNCTION AT ONCE WaitUntil {sleep 0.01;((_A10C getVariable ["Rearming_done_switch",0]) == 1)};
-
How to edit DMS scope (were to find config.bin e.t.c.)
mash6 replied to boombastic's topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
Hi, You need to extract weapons_f and unbin the acc/config.bin Check class optic_DMS Best regards -
rscTitle pictures coming up as masks only.
mash6 replied to rimblock's topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
Hi man, Your textures needs to be in ^2. Example : 1000x500 won't work But 1024x512 will work Best regards. -
Players count box in lobby class?
mash6 replied to tachi's topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
Hi man, Not sure but it must be : RscDisplayMultiplayerSetup CA_B_West CA_B_East CA_B_Guerrila CA_B_Civilian class CA_B_West : RscActiveText { picture = "\A3\ui_f\data\gui\rsc\RscDisplayMultiplayerSetup\flag_bluefor_empty_ca.paa"; text = $STR_WEST; idc = 104; sideToggle = "A3\ui_f\data\gui\rsc\RscDisplayMultiplayerSetup\flag_bluefor_ca.paa"; sideDisabled = "A3\ui_f\data\gui\rsc\RscDisplayMultiplayerSetup\flag_none_ca.paa"; pictureHeight = 1; pictureWidth = 1; color[] = {"(profilenamespace getvariable ['Map_BLUFOR_R',0])", "(profilenamespace getvariable ['Map_BLUFOR_G',1])", "(profilenamespace getvariable ['Map_BLUFOR_B',1])", 0.75}; colorActive[] = {"(profilenamespace getvariable ['Map_BLUFOR_R',0])", "(profilenamespace getvariable ['Map_BLUFOR_G',1])", "(profilenamespace getvariable ['Map_BLUFOR_B',1])", 1}; colorDisabled[] = {1, 1, 1, 0}; colorShade[] = {1, 1, 1, 1}; colorText[] = {1, 1, 1, 1}; textHeight = 0.38; x = "1.45 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (SafezoneX)"; y = "7 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY)"; w = "3 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class CA_B_East : CA_B_West { text = $STR_EAST; idc = 105; picture = "A3\ui_f\data\gui\rsc\RscDisplayMultiplayerSetup\flag_opfor_empty_ca.paa"; sideToggle = "A3\ui_f\data\gui\rsc\RscDisplayMultiplayerSetup\flag_opfor_ca.paa"; color[] = {"(profilenamespace getvariable ['Map_OPFOR_R',0])", "(profilenamespace getvariable ['Map_OPFOR_G',1])", "(profilenamespace getvariable ['Map_OPFOR_B',1])", 0.75}; colorActive[] = {"(profilenamespace getvariable ['Map_OPFOR_R',0])", "(profilenamespace getvariable ['Map_OPFOR_G',1])", "(profilenamespace getvariable ['Map_OPFOR_B',1])", 1}; x = "1.45 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (SafezoneX)"; y = "8.7 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY)"; w = "3 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class CA_B_Guerrila : CA_B_West { text = $STR_GUERRILA; idc = 106; picture = "A3\ui_f\data\gui\rsc\RscDisplayMultiplayerSetup\flag_indep_empty_ca.paa"; sideToggle = "A3\ui_f\data\gui\rsc\RscDisplayMultiplayerSetup\flag_indep_ca.paa"; color[] = {"(profilenamespace getvariable ['Map_Independent_R',0])", "(profilenamespace getvariable ['Map_Independent_G',1])", "(profilenamespace getvariable ['Map_Independent_B',1])", 0.75}; colorActive[] = {"(profilenamespace getvariable ['Map_Independent_R',0])", "(profilenamespace getvariable ['Map_Independent_G',1])", "(profilenamespace getvariable ['Map_Independent_B',1])", 1}; x = "1.45 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (SafezoneX)"; y = "10.4 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY)"; w = "3 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class CA_B_Civilian : CA_B_West { text = $STR_CIVILIAN; idc = 107; picture = "A3\ui_f\data\gui\rsc\RscDisplayMultiplayerSetup\flag_civil_empty_ca.paa"; sideToggle = "A3\ui_f\data\gui\rsc\RscDisplayMultiplayerSetup\flag_civil_ca.paa"; color[] = {"(profilenamespace getvariable ['Map_Civilian_R',0])", "(profilenamespace getvariable ['Map_Civilian_G',1])", "(profilenamespace getvariable ['Map_Civilian_B',1])", 0.75}; colorActive[] = {"(profilenamespace getvariable ['Map_Civilian_R',0])", "(profilenamespace getvariable ['Map_Civilian_G',1])", "(profilenamespace getvariable ['Map_Civilian_B',1])", 1}; x = "1.45 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (SafezoneX)"; y = "12.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY)"; w = "3 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; Increasing textHeight value must work -
I have read the first post but it is a workaroud. Instead of using initPlayerLocal + init.sqf, you could unse initPlayerLocal + initServer
-
Hey ! Why don't you only use initPlayerLocal ? In addition with initServer, you can do the same as init.sqf. Nice day !
-
Disable control of a vehicle?
mash6 replied to profcupcake's topic in ARMA 3 - MISSION EDITING & SCRIPTING
I think you already know that but you can also do a disableUserInputs if it is a quick lose of control -
Server admin functions from multiplayer server side script
mash6 replied to anthall's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Just in case you don't wan't to create an extension, you can just do a BEFilter that kicks player broadcasting a specific publicVariable. Put this in publicvariable.txt in your server's battleye folder : 5 "playerKick" Then in your killed eventhandler do something like this : playerKick = true; publicVariableServer "playerKick"; Just a workaround, but I think Battle Royal use this. But keep in mind that when you allow kicking using script, you allow hackers to kick clients by remotely executing the "kick code" Player will get kicked and see a public variable restriction message. Nice day ! -
Hello ! First of all I'm french and I will do my best to be understandable but excuse me for the bad english. I'm currently working on a dayz-like loot system. Here is the problem. SYSTEM : Clientside : Every 5 secondes, check for houses in a 200 meters radius and check if houses needs to be loot spawned. For each house, it sends the house object to serverside function to spawn loot. Clientside works good because debug markers are spawned serverside and they works. Serverside : Receive house object and get all predefines loot positions from custom configfile. then it randomly select the item from a loot table and spawn it into a groundWeaponHolder using the right function depending if it is an item/magazine/backpack/weapon for debug, it also adds a marker and the marker text is equal to the item classname and spawn an empty blue barrel to check if position is correct How it looks like In-Game : Markers are spawned like it must be. Barrels are spawned also good. Items, Weapons and Magazines are spawned about 1 time of 30. So if I go on a marker, the classname on the marker text is OK, I see the blue barrel, but there is no loot. Serverside code is following: { _pos = _house modelToWorld _x; _checker = createVehicle ["Land_BarrelEmpty_F",_pos, [], 0, "can_Collide"]; sleep 0.5; _holder = createVehicle ["groundWeaponHolder",_pos, [], 0, "can_Collide"]; _random = random(100); _handled = false; for "_i" from 0 to ((count _itemArray)-1) do { if(_handled) exitWith {}; if(((_itemArray select _i) select 1) >= _random) then { _handled = true; _item = (_itemArray select _i) select 0; if(isClass (configFile >> "CFGWeapons" >> _item)) then { _magazines = getArray (configFile / "CfgWeapons" / _item / "magazines"); _holder addWeaponCargoGlobal [_item, 1]; if(count _magazines > 0) then { _magazineClass = _magazines call bis_fnc_selectRandom; _magCount = round(random 2); _holder addMagazineCargoGlobal [_magazineClass, _magCount]; }; } else { if (isClass (configFile >> "CFGMagazines" >> _item)) then { _holder addMagazineCargoGlobal [_item, 1]; } else { if (((_itemArray select 0) select 0) == "B_AssaultPack_blk") then { _holder addBackpackCargoGlobal [_item, 1]; } else { _holder addItemCargoGlobal [_item, 1]; }; }; }; if (_debug) then { _id=format ["%1",_pos]; _debugM = createMarker [_id,GETPOS _holder]; _debugM setMarkerShape "ICON"; _debugM setMarkerType "hd_dot"; _debugM setMarkerColor "ColorBlue"; _debugM setMarkerText format["%1",_item]; }; }; }; } foreach _validBuildingPos; I also posted it on PasteBin with C++ syntax coloration : http://pastebin.com/cHZe8xzf Thank's a lot by advance for reading my post ;)
-
Problem with groungWeaponHolder
mash6 replied to mash6's topic in ARMA 3 - MISSION EDITING & SCRIPTING
@DreadedEntity : Thank's for your response. It can not be that I excluded all items because I see the classname on the marker text so a classname has been found... So the command failed... I will make it serverside only you are right, it will be better. @lifemanlive : Thank you for your response, I will try to use you code to improve mine ;) -
Hi everybody. I've got a little problem with a weapon. I'm trying to make a Baikal MP153 in game. The weapon works pretty good, the model is perfect (got a free to use model on internet) et texture is good. In fact, everything is perfect except the handanim... I used the "standard" BIS Skeleton P3D, placed my weapon, moved the hand, placed the weapon bone on my gun and all was perfect in Oxygen but in-game, it's not cool at all. I post a screenshot because I don't know how to explain Here is my folder config : -anim --model.cfg --mp153_handAnim.rtm -data --mp153_CO.paa --mp153_NOHQ.paa -sound/ --MP153firing.wav --MP153reload.wav -UI/ --gear_mp153_x_CA.paa config.cpp model.cfg mp153.p3d My handAnim[] : handAnim[] = {"OFP2_ManSkeleton","\baikal_mp153\anim\mp153_handAnim.rtm"}; I comfirm that my .pbo is binarized and .rtm are also but I tried with and without binarizing .rtm The weapon bone is in the hands of the character on the BIS_Skeleton ans the finger is on the trigger Can you tell me where I made an error please ? Thank's for reading & helping, Bye :) (Sorry for the English I'm from France)
-
Hi man, I followed all this tutorial, re-readed it and in particular this part and checked his files but I don't see where I got my error... Thank's for helping ;) P.S. : I sent you a PM :)