Jump to content

Exxor

Member
  • Content Count

    17
  • Joined

  • Last visited

  • Medals

Community Reputation

2 Neutral

About Exxor

  • Rank
    Private First Class
  1. Hello there, for some reason I'm getting this error when trying to use multiple parameters in a while loop. Heres what my code looks like _flag = A; _isCaptured = false; _flagPos = position _flag; while {((alive player) && ( _isCaptured != true))} do { hint "in while"; if(player distance _flag <= 15) then { hint "Capturing flag"; sleep 5; _isCaptured = true; } }; hint "flag captured";
  2. @lexx @Schatten Alright that all makes sense then. Thank you all for your help 🙂
  3. @Larrow Thanks, what you suggested has worked I appreciate it. However, now I get this error msg when trying to use the sleep command inside of the eventHandler. This is what the amended code looks like. _selectedWeapon = [_randomNumber, _commonWeps, _uncommonWeps, _rareWeps] call fn_SelectWeapon; //has to call instead of spawn becasue we are returning a value _spawnedCrate = "Box_NATO_Wps_F" createVehicle _cratePosition; clearWeaponCargoGlobal _spawnedCrate; clearMagazineCargo _spawnedCrate; _spawnedCrate addWeaponCargo [_selectedWeapon, 1]; _crateContents = getItemCargo _spawnedCrate; _spawnedCrate addEventHandler["ContainerClosed", { params["_container"]; //object that the eventhandler is being called on _contents = itemCargo _container + weaponCargo _container + magazineCargo _container + backpackCargo _container; if(_contents isEqualTo []) then { sleep 3; deleteVehicle _container; }; }]; hint format["The weapon you got is %1", _randomNumber]; }; Also, if you could explain why I can't use _contents == 0 and why I have to use _contents isEqualTo [], then that would be greatly appreciated.
  4. @Schatten That didn't work. The box spawns with a weapon as I want it to when it first appears. However, I get errors when doing it the way you suggested. Here is what my code looks like. _spawnedCrate = "Box_NATO_Wps_F" createVehicle _cratePosition; _items = true; _crateContents = getItemCargo _spawnedCrate; clearWeaponCargoGlobal _spawnedCrate; clearMagazineCargo _spawnedCrate; _spawnedCrate addWeaponCargo [_selectedWeapon, 1]; // ERROR IN THIS AREA while {_items} do { hint "Waiting for crate to be empty"; sleep 1; if(_crateContents == 0) then { hint "in if"; sleep 1; deleteVehicle _spawnedCrate; _items = false; }; }; hint format["The weapon you got is %1", _randomNumber]; };
  5. Hello there, I have been trying to delete an ammo crate with sqf if its inventory is empty (the one I'm using is "Box_NATO_Wps_F"). But I can't seem to figure it out. Any and all help is appreciated thanks :). I have tried things such as using getWeaponCargo and counting it to see if I can check if the array is empty but it always stays at 2 even if there is nothing inside the box.
  6. So i am trying to make a dialog. i call the script and it acts like a dialog has appeared but I can not see it :/ if anyone could help me with this that would be great. defines.hpp // Control types #define CT_STATIC 0 #define CT_BUTTON 1 #define CT_EDIT 2 #define CT_SLIDER 3 #define CT_COMBO 4 #define CT_LISTBOX 5 #define CT_TOOLBOX 6 #define CT_CHECKBOXES 7 #define CT_PROGRESS 8 #define CT_HTML 9 #define CT_STATIC_SKEW 10 #define CT_ACTIVETEXT 11 #define CT_TREE 12 #define CT_STRUCTURED_TEXT 13 #define CT_CONTEXT_MENU 14 #define CT_CONTROLS_GROUP 15 #define CT_SHORTCUTBUTTON 16 #define CT_XKEYDESC 40 #define CT_XBUTTON 41 #define CT_XLISTBOX 42 #define CT_XSLIDER 43 #define CT_XCOMBO 44 #define CT_ANIMATED_TEXTURE 45 #define CT_OBJECT 80 #define CT_OBJECT_ZOOM 81 #define CT_OBJECT_CONTAINER 82 #define CT_OBJECT_CONT_ANIM 83 #define CT_LINEBREAK 98 #define CT_USER 99 #define CT_MAP 100 #define CT_MAP_MAIN 101 #define CT_LISTNBOX 102 // Static styles #define ST_POS 0x0F #define ST_HPOS 0x03 #define ST_VPOS 0x0C #define ST_LEFT 0x00 #define ST_RIGHT 0x01 #define ST_CENTER 0x02 #define ST_DOWN 0x04 #define ST_UP 0x08 #define ST_VCENTER 0x0C #define ST_GROUP_BOX 96 #define ST_GROUP_BOX2 112 #define ST_ROUNDED_CORNER ST_GROUP_BOX + ST_CENTER #define ST_ROUNDED_CORNER2 ST_GROUP_BOX2 + ST_CENTER #define ST_TYPE 0xF0 #define ST_SINGLE 0x00 #define ST_MULTI 0x10 #define ST_TITLE_BAR 0x20 #define ST_PICTURE 0x30 #define ST_FRAME 0x40 #define ST_BACKGROUND 0x50 #define ST_GROUP_BOX 0x60 #define ST_GROUP_BOX2 0x70 #define ST_HUD_BACKGROUND 0x80 #define ST_TILE_PICTURE 0x90 #define ST_WITH_RECT 0xA0 #define ST_LINE 0xB0 #define ST_SHADOW 0x100 #define ST_NO_RECT 0x200 #define ST_KEEP_ASPECT_RATIO 0x800 #define ST_TITLE ST_TITLE_BAR + ST_CENTER // Slider styles #define SL_DIR 0x400 #define SL_VERT 0 #define SL_HORZ 0x400 #define SL_TEXTURES 0x10 // progress bar #define ST_VERTICAL 0x01 #define ST_HORIZONTAL 0 // Listbox styles #define LB_TEXTURES 0x10 #define LB_MULTI 0x20 // Tree styles #define TR_SHOWROOT 1 #define TR_AUTOCOLLAPSE 2 // MessageBox styles #define MB_BUTTON_OK 1 #define MB_BUTTON_CANCEL 2 #define MB_BUTTON_USER 4 //////////////// //Base Classes// //////////////// class RscText { access = 0; idc = -1; type = CT_STATIC; style = ST_MULTI; linespacing = 1; colorBackground[] = {0,0,0,0}; colorText[] = {1,1,1,1}; text = ""; shadow = 0; font = "PuristaLight"; SizeEx = 0.02300; fixedWidth = 0; x = 0; y = 0; h = 0; w = 0; }; class RscPicture { access = 0; idc = -1; type = CT_STATIC; style = ST_PICTURE; colorBackground[] = {0,0,0,0}; colorText[] = {1,1,1,1}; font = "PuristaLight"; sizeEx = 0; lineSpacing = 0; text = ""; fixedWidth = 0; shadow = 0; x = 0; y = 0; w = 0.2; h = 0.15; }; class RscButton { access = 0; type = CT_BUTTON; text = ""; colorText[] = {1,1,1,.9}; colorDisabled[] = {0.4,0.4,0.4,0}; colorBackground[] = {0.75,0.75,0.75,0.8}; colorBackgroundDisabled[] = {0,0.0,0}; colorBackgroundActive[] = {0.75,0.75,0.75,1}; colorFocused[] = {0.75,0.75,0.75,.5}; colorShadow[] = {0.023529,0,0.0313725,1}; colorBorder[] = {0.023529,0,0.0313725,1}; soundEnter[] = {"\ca\ui\data\sound\onover",0.09,1}; soundPush[] = {"\ca\ui\data\sound\new1",0,0}; soundClick[] = {"\ca\ui\data\sound\onclick",0.07,1}; soundEscape[] = {"\ca\ui\data\sound\onescape",0.09,1}; style = 2; x = 0; y = 0; w = 0.055589; h = 0.039216; shadow = 2; font = "PuristaLight"; sizeEx = 0.03921; offsetX = 0.003; offsetY = 0.003; offsetPressedX = 0.002; offsetPressedY = 0.002; borderSize = 0; }; class RscFrame { type = CT_STATIC; idc = -1; style = ST_FRAME; shadow = 2; colorBackground[] = {1,1,1,1}; colorText[] = {1,1,1,0.9}; font = "PuristaLight"; sizeEx = 0.03; text = ""; }; class Box { type = CT_STATIC; idc = -1; style = ST_CENTER; shadow = 2; colorBackground[] = { 0.2,0.9,0.5, 0.9}; colorText[] = {1,1,1,0.9}; font = "PuristaLight"; sizeEx = 0.03; text = ""; }; dialogs.hpp class CONQ_Dialog { idd = -1; movingenable = false; enableSimulation = true; class controls { //////////////////////////////////////////////////////// // GUI EDITOR OUTPUT START (by Hong Wong, v1.063, #Qogupy) //////////////////////////////////////////////////////// class Conq_WepSelect_BackGround: RscFrame { idc = 1800; x = -6.6 * GUI_GRID_W + GUI_GRID_X; y = -0.9 * GUI_GRID_H + GUI_GRID_Y; w = 47.5 * GUI_GRID_W; h = 27 * GUI_GRID_H; }; class Conq_WepSelect_AssaultTxt: RscText { idc = 1000; text = "Assault"; //--- ToDo: Localize; x = -6.5 * GUI_GRID_W + GUI_GRID_X; y = -0.5 * GUI_GRID_H + GUI_GRID_Y; w = 10 * GUI_GRID_W; h = 4 * GUI_GRID_H; sizeEx = 2 * GUI_GRID_H; }; class Conq_WepSelect_TrgPic: RscPicture { idc = 1200; text = "#(argb,8,8,3)color(1,1,1,1)"; x = 3.6 * GUI_GRID_W + GUI_GRID_X; y = -0.5 * GUI_GRID_H + GUI_GRID_Y; w = 8.5 * GUI_GRID_W; h = 2.5 * GUI_GRID_H; }; class Conq_WepSelect_TrgView: RscButton { idc = 1600; text = "View "; //--- ToDo: Localize; x = 3.6 * GUI_GRID_W + GUI_GRID_X; y = 2.4 * GUI_GRID_H + GUI_GRID_Y; w = 4 * GUI_GRID_W; h = 1 * GUI_GRID_H; }; class Conq_WepSelect_TrgEquip: RscButton { idc = 1601; text = "Equip"; //--- ToDo: Localize; x = 8.12 * GUI_GRID_W + GUI_GRID_X; y = 2.4 * GUI_GRID_H + GUI_GRID_Y; w = 4 * GUI_GRID_W; h = 1 * GUI_GRID_H; }; class Conq_WepSelect_KatibaPic: RscPicture { idc = 1201; text = "#(argb,8,8,3)color(1,1,1,1)"; x = 12.8 * GUI_GRID_W + GUI_GRID_X; y = -0.5 * GUI_GRID_H + GUI_GRID_Y; w = 8.5 * GUI_GRID_W; h = 2.5 * GUI_GRID_H; }; class Conq_WepSelect_MxPic: RscPicture { idc = 1202; text = "#(argb,8,8,3)color(1,1,1,1)"; x = 21.9 * GUI_GRID_W + GUI_GRID_X; y = -0.5 * GUI_GRID_H + GUI_GRID_Y; w = 8.5 * GUI_GRID_W; h = 2.5 * GUI_GRID_H; }; class Conq_WepSelect_AKMPic: RscPicture { idc = 1203; text = "#(argb,8,8,3)color(1,1,1,1)"; x = 31 * GUI_GRID_W + GUI_GRID_X; y = -0.5 * GUI_GRID_H + GUI_GRID_Y; w = 8.5 * GUI_GRID_W; h = 2.5 * GUI_GRID_H; }; class Conq_WepSelect_KatibaView: RscButton { idc = 1602; text = "View "; //--- ToDo: Localize; x = 12.8 * GUI_GRID_W + GUI_GRID_X; y = 2.4 * GUI_GRID_H + GUI_GRID_Y; w = 4 * GUI_GRID_W; h = 1 * GUI_GRID_H; }; class Conq_WepSelect_KatibaEquip: RscButton { idc = 1603; text = "Equip"; //--- ToDo: Localize; x = 17.2 * GUI_GRID_W + GUI_GRID_X; y = 2.4 * GUI_GRID_H + GUI_GRID_Y; w = 4 * GUI_GRID_W; h = 1 * GUI_GRID_H; }; class Conq_WepSelect_MxView: RscButton { idc = 1604; text = "View "; //--- ToDo: Localize; x = 21.9 * GUI_GRID_W + GUI_GRID_X; y = 2.4 * GUI_GRID_H + GUI_GRID_Y; w = 4 * GUI_GRID_W; h = 1 * GUI_GRID_H; }; class Conq_WepSelect_MxEquip: RscButton { idc = 1605; text = "Equip"; //--- ToDo: Localize; x = 26.35 * GUI_GRID_W + GUI_GRID_X; y = 2.4 * GUI_GRID_H + GUI_GRID_Y; w = 4 * GUI_GRID_W; h = 1 * GUI_GRID_H; }; class Conq_WepSelect_AKMView: RscButton { idc = 1606; text = "View "; //--- ToDo: Localize; x = 31.1 * GUI_GRID_W + GUI_GRID_X; y = 2.4 * GUI_GRID_H + GUI_GRID_Y; w = 4 * GUI_GRID_W; h = 1 * GUI_GRID_H; }; class Conq_WepSelect_AKMEquip: RscButton { idc = 1607; text = "Equip"; //--- ToDo: Localize; x = 35.5 * GUI_GRID_W + GUI_GRID_X; y = 2.4 * GUI_GRID_H + GUI_GRID_Y; w = 4 * GUI_GRID_W; h = 1 * GUI_GRID_H; }; //////////////////////////////////////////////////////// // GUI EDITOR OUTPUT END //////////////////////////////////////////////////////// }; }; init.sqf player addAction ["Choose Weapon", "Dialogs\DFunctions\ConqWepSelect.sqf"]; ConqWepSelect,sqf _ConqDialogWepSpawn = createDialog "CONQ_Dialog"; Thanks in advanced this is really frustrating me :/.
  7. So im trying to make a script that changes the flag's texture i have achieved this. But when i alt-tab or look at my map the texture of the flag resets to what it was on the original obj. So i don't know where to go from here. _CurrentFlag = _this select 0; _Marker_Flag_1 = createMarker ["MarkerA_1", position _CurrentFlag]; "MarkerA_1" setMarkerColor "ColorWhite"; "MarkerA_1" setMarkerShape "RECTANGLE"; "MarkerA_1" setMarkerSize [10, 10]; if ( (side player == WEST) && (typeof _CurrentFlag != "Flag_NATO_F") ) then { waitUntil {((player distance _CurrentFlag) <10)}; hint "Capturing flag A"; sleep 10; if ( (typeOf _CurrentFlag isKindOf "Flag_CSAT_F") || (typeOf _CurrentFlag isKindOf "Flag_White_F") && (player distance _CurrentFlag < 10) ) then { _CurrentFlag setFlagTexture "\A3\Data_F\Flags\Flag_blue_CO.paa"; // Changes the flags texture but when i look at my map or alt-tab it resets back to the original model's texture _CurrentFlag setFlagSide west; "MarkerA_1" setMarkerColor "ColorWEST"; hint "Flag Captured"; }; }; if ( (side player == EAST) && (typeof _CurrentFlag != "Flag_CSAT_F") ) then { waitUntil {((player distance _CurrentFlag) <10)}; hint "Capturing flag A"; sleep 10; if((typeof _CurrentFlag isKindOf "Flag_NATO_F") || (typeOf _CurrentFlag isKindOf "Flag_White_F") && (player distance _CurrentFlag< 10)) then { _CurrentFlag setFlagTexture "\A3\Data_F\Flags\Flag_red_CO.paa"; // Changes the flags texture but when i look at my map or alt-tab it resets back to the original model's texture _CurrentFlag setFlagSide east; "MarkerA_1" setMarkerColor "ColorEAST"; hint "Flag Captured"; }; }; Another way of doing this would be by changing the obj to a different flag but i could not find anything on that :/ Thanks in advanced.
  8. Thanks for the replys i was just wondering i was not sure if it had to be inside of the white box or not :)
  9. So i am wondering how i would make it so i can put huds out side of the white box the GUI editior allows. Here is an example taken from KOTH How would i make things appear on the right hand side? and anywhere else for that matter.
  10. So i have read the params desc on bohemias wiki, and from my understanding it just holds an array of strings? or would it be an array of variables? so therefor when you declare the line _getXP params ["_man","_car","_tank","_aircraft"]; it makes a array of variables, which when one of the variables is used later in the script it calls the xp table fnc ex: if (typeof _killedUnit isKindOf "CAManBase") then {_xp = _man}; is this correct? sorry just trying to understand this also what is the point of the array at the bottom of this FNC MyXpTable = { _man = 5; _car = 10; _tank = 50; _aircraft = 150; [_man,_car,_tank,_aircraft] }; Also where can i find the type of things i am allowed to put inside of the isKindOf command ex: isKindOf "Tank" <--- where do i find stuff to put inside of the string Sorry Another question ): Could you explain what bohemia means with the command typeOf description it is not very discriptive. It states "Returns the class name of a given object." <---- Wth does that mean XD.
  11. I don't understand why I wouldn't use a global variable, Aswell as how you call the function or increase the amount of xp. Thanks in advanced
  12. @ grumpy old man I don't understand what params does and why I wouldn't use a global var to store the xp of a player?
  13. So im trying to make a xp system where if the player kills another player then they gain some xp, or if they capture a objective they would gain some xp. Im new to arma scripting and im just trying to figure this out i tried using the eventHandler MPKilled but it does not seem to work :/. Please tell me what i am doing wrong because i have no idea on what to do, so that it can tell if the player has killed another player. initPlayerLocal.sqf player addMPEventHandler ["MPKilled", _this execVM"fn_PlayerXP.sqf"]; fn_PlayerXP.sqf CONQ_FNC_ADDXP = { if (player == _this select 1) { Conq_Plyr_xp = Conq_Plyr_xp + 100; hint "You have killed a dued"; hint format ["You have killed a dued! %1", Conq_Plyr_xp]; }; };
  14. Thanks for making this im new to the whole creating missions thing so this will help :).
×