Jump to content

Search the Community

Showing results for tags 'getvariable'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • BOHEMIA INTERACTIVE
    • BOHEMIA INTERACTIVE - NEWS
    • BOHEMIA INTERACTIVE - JOBS
    • BOHEMIA INTERACTIVE - GENERAL
  • FEATURED GAMES
    • Vigor
    • DAYZ
    • ARMA 3
    • TAKE ON MARS
    • ARMA 2
    • ARGO
    • YLANDS
  • MOBILE GAMES
    • ARMA MOBILE OPS
    • MINIDAYZ
    • ARMA TACTICS
    • ARMA 2 FIRING RANGE
  • BI MILITARY GAMES FORUMS
  • BOHEMIA INCUBATOR
    • PROJECT LUCIE
  • OTHER BOHEMIA GAMES
    • TAKE ON HELICOPTERS
    • CARRIER COMMAND: GAEA MISSION
    • ARMA: ARMED ASSAULT / COMBAT OPERATIONS
    • ARMA: COLD WAR ASSAULT / OPERATION FLASHPOINT
    • IRON FRONT: LIBERATION 1944
    • BACK CATALOGUE
  • OFFTOPIC
    • OFFTOPIC
  • ArmA Toolmakers's Releases
  • ArmA Toolmakers's General
  • Die Hard OFP Lovers' Club's Topics
  • Japan in Arma's Topics
  • Arma 3 Photography Club's Discussions
  • The Order Of the Wolfs- Unit's Topics
  • 4th Infantry Brigade's Recruitment
  • 11th Marine Expeditionary Unit OFFICIAL | 11th MEU(SOC)'s 11th MEU(SOC) Recruitment Status - OPEN
  • Legion latina semper fi's New Server Legion latina next wick
  • Legion latina semper fi's https://www.facebook.com/groups/legionlatinasemperfidelis/
  • Legion latina semper fi's Server VPN LEGION LATINA SEMPER FI

XBOX Live


PlayStation PSN


Origin


PlayFire


SoundCloud


Pinterest


Reddit


Twitch.Tv


Ustream.Tv


Duxter


Instagram


Location


Interests


Interests


Occupation

Found 6 results

  1. Hello, I have a question about the getVariable command. when a player first connects, they need to run a welcome-esque script before being assigned a variable for them to skip this for future connects. So I have it working if you assign the variable to profileNamespace, obviously, but then comparing it to something that isn't there means it doesn't work. I understand this, it makes sense. However how am I supposed to detect if a player has has a variable there or not? (I'm probably missing something here). So for example (quick mockup) inside say, the initPlayerLocal I could have... switch (profileNamespace getVariable "ReturningPlayer") do { case true: { 0 = execVM "someFileForReturningPlayers"; }; case false: { scopeName "Failsafe"; 0 = execVM "someFileForNewPlayers"; profileNamespace setVariable ["ReturningPlayer",true]; saveProfileNamespace; }; default {breakTo "Failsafe"; hint "Breaking to failsafe";}; }; using default as the fallthrough as it's ran if nothing is there, however this wont work. Tried If else as well but I couldn't get this working. Help is appreciated :) Fixed with a isNil inside the condition.
  2. Alright. Welcome everyone. I have a very interesting problem, and I couldn't find a solution for it. I have been really trying to get past this but I can't solve this riddle. I have this small code snippet inside the initPlayerLocal.sqf: if (didJIP) then { [getPlayerUID player] remoteExecCall ["CHAB_fnc_jipcam",[-2,-(clientOwner)],false]; }; And here is the CHAB_fnc_jipcam: _uid = _this select 0; private "_player"; private "_local"; private "_localID"; { if ((getPlayerUID _x) isEqualTo _uid) then{_player = _x;}; } forEach allPlayers; _local = ???; _localID = ???; As you can see, I clearly have no clue who is the owner of machine ? In my mind's eye remoteExec sends a message to every player that they have to run this script with the given parameters. Here is what I tried so far: Create a global variable (not public) for each player and give it the playerUID -> Result is that inside the jipcam the returned value is "any" on each PC. Create a missionnamespace variable (global but not public) and give it the playerUID -> same results as before I have completely run out of ideas, I tried mostly everything I could think of. Is there anyone who has more tricks up his sleeve?
  3. Hey guys, I've just registered so, many greets to you all:D Allright, here's the idea: Last night I was bored and played some Tropico, then I thought: How about implementing some small economy to the different locations like the lumberjack camps or banana plantations on Tanoa to hire some guys to work for your Team and earn some money with it. It could lead to a persistent rebell mission where you have to buy new weapons and stuff and defend your economy against the local government or something, don't know exactly, just been playing around, but here is my point: I have set up a first dialog that opens at a laptop at the plantation office like this: If you klick on the different inactive buttons (in fact these are pictures, but I will call them buttons from here on), the script will hire some workers, pay them as you want and you will need some trucks to move the stuff your guys harvestet. Example: If no budget button is active, they all have transparency 0.2. If you just hover over it, transparency is set to 1 to indicate to the player that he can click something. In the case of no active buttons, if player for example clicks on budget button #3, all buttons left from #3 including #3 will switch to active, color transparency changes from 0.2 to 1, colorActive transparency switches from 1 to 0.2. Now you are paying some money, right;D If player now clicks on maybe button #2, buttons #2 and #3 will "deactivate" and change transparency back again. Everything is working fine so far, you get the idea, right? So here are the problems, finally: I need a method that allows me to create just one class (inside controls in dialog.hpp) for the "budget buttons", one for the "worker buttons" and just one for "trucks buttons", wich I can access dynamically via some script to set their position and transparency. Right now, every single button has its own class, so just for this dialog i needed to write 17 classes RscActiveText. I did this because I needed to change the transparency of "color[] = ...." and "colorActive[]=..." every time you click on a button and for this I declared three unique variables for every button, makes 51 global variables in total just to change transparency. First one to let the script know if the button is already clicked, and the two other ones to change the transparency of color and colorActive back and forth, depending on the state of the button. Heres a little summary of a part of the dialog.hpp and the script activated by clicking the buttons. The 51 global variables (and more) ar predefined after init. dialog.hpp: class budg_bttn1: RscActiveText { idc = 1601; text = "pics\moneyPile.paa"; x = 0.840312 * safezoneW + safezoneX; y = 0.258 * safezoneH + safezoneY; w = 0.0154688 * safezoneW; h = 0.022 * safezoneH; color[] = {1, 1, 1, missionNamespace getVariable "bttn_col1"}; //global variable#1 for transparency colorActive[] = {1, 1, 1, missionNamespace getVariable "bttn_actCol1"}; //global variable#2 for transparency onMouseButtonClick = "[_this] execVM 'oumere_plantations\moneyBttns.sqf';"; }; class budg_bttn2: RscActiveText { idc = 1602; text = "pics\moneyPile.paa"; x = 0.87125 * safezoneW + safezoneX; y = 0.258 * safezoneH + safezoneY; w = 0.0154688 * safezoneW; h = 0.022 * safezoneH; color[] = {1, 1, 1, missionNamespace getVariable 'bttn_Col2'}; colorActive[] = {1, 1, 1, missionNamespace getVariable 'bttn_actCol2'}; onMouseButtonClick = "[_this] execVM 'oumere_plantations\moneyBttns.sqf';"; }; class budg_bttn3: RscActiveText { idc = 1603; text = "pics\moneyPile.paa"; x = 0.902187 * safezoneW + safezoneX; y = 0.258 * safezoneH + safezoneY; w = 0.0154688 * safezoneW; h = 0.022 * safezoneH; color[] = {1, 1, 1, missionNamespace getVariable 'bttn_Col3'}; colorActive[] = {1, 1, 1, missionNamespace getVariable 'bttn_actCol3'}; onMouseButtonClick = "[_this] execVM 'oumere_plantations\moneyBttns.sqf';"; //..........etc. etc. moneyBttns.sqf: disableSerialization; _display = findDisplay 5000; _control = (_this select 0) select 0; _controls = [_display displayCtrl 1601, _display displayCtrl 1602, _display displayCtrl 1603, _display displayCtrl 1604, _display displayCtrl 1605]; //_activeButtons = []; //_inacitveButtons = []; switch (ctrlIDC _control) do { case 1601: //checks wich button is clicked on { switch (bttn_active1) do //checks, if button is already active. bttn_active1 switches between 0 and 1 { case 0: { missionNamespace setVariable ["plantationIndex", 1, true]; //plantationIndex tells how many buttons are active in total missionNamespace setVariable [format ["bttn_active%1", 1], 1, true];//sets the buttons active state missionNamespace setVariable [format ["bttn_Col%1", 1], 1, true];//changing of transparency, in this case, button will.. missionNamespace setVariable [format ["bttn_actCol%1", 1], 0.2, true];//...appear with transp. if you hover over it (_controls select 0) ctrlSetTextColor [1,1,1, bttn_Col1];//sending transparency state to class (_controls select 0) ctrlSetActiveColor [1,1,1, bttn_actCol1]; if (debug) then {systemChat format ["PlantationIndex = %1", plantationIndex];}; }; case 1: { plantationIndex = 0; missionNamespace setVariable [format ["bttn_active%1", 1], 0, true]; missionNamespace setVariable [format ["bttn_Col%1", 1], 0.2, true]; missionNamespace setVariable [format ["bttn_actCol%1", 1],1, true]; (_controls select 0) ctrlSetTextColor [1,1,1, bttn_Col1]; (_controls select 0) ctrlSetActiveColor [1,1,1, bttn_actCol1]; for "_i" from 1 to 5 do { missionNamespace setVariable [format ["bttn_active%1", _i], 0, true]; missionNamespace setVariable [format ["bttn_Col%1", _i], 0.2, true]; missionNamespace setVariable [format ["bttn_actCol%1", _i], 1, true]; (_controls select (_i-1)) ctrlSetActiveColor [1,1,1, call compile format ["bttn_actCol%1", _i]]; (_controls select (_i-1)) ctrlSetTextColor [1,1,1, call compile format ["bttn_Col%1", _i]]; }; if (debug) then {systemChat format ["PlantationIndex = %1", plantationIndex];}; }; }; }; case 1602: { switch (bttn_active2) do { case 0: { plantationIndex = 2; for "_i" from 1 to 2 do { missionNamespace setVariable [format ["bttn_active%1", _i], 1, true]; missionNamespace setVariable [format ["bttn_Col%1", _i], 1, true]; missionNamespace setVariable [format ["bttn_actCol%1", _i], 0.2, true]; (_controls select (_i-1)) ctrlSetActiveColor [1,1,1, call compile format ["bttn_actCol%1", _i]]; (_controls select (_i-1)) ctrlSetTextColor [1,1,1, call compile format ["bttn_Col%1", _i]]; }; if (debug) then {systemChat format ["PlantationIndex = %1", plantationIndex];}; }; case 1: { plantationIndex = 1; for "_i" from 2 to 5 do { missionNamespace setVariable [format ["bttn_active%1", _i], 0, true]; missionNamespace setVariable [format ["bttn_Col%1", _i], 0.2, true]; missionNamespace setVariable [format ["bttn_actCol%1", _i], 1, true]; (_controls select (_i-1)) ctrlSetActiveColor [1,1,1, call compile format ["bttn_actCol%1", _i]]; (_controls select (_i-1)) ctrlSetTextColor [1,1,1, call compile format ["bttn_Col%1", _i]]; }; if (debug) then {systemChat format ["PlantationIndex = %1", plantationIndex];}; }; }; }; case 1603: { switch (bttn_active3) do { case 0: { plantationIndex = 3; for "_i" from 1 to 3 do { missionNamespace setVariable [format ["bttn_active%1", _i], 1, true]; missionNamespace setVariable [format ["bttn_Col%1", _i], 1, true]; missionNamespace setVariable [format ["bttn_actCol%1", _i], 0.2, true]; (_controls select (_i-1)) ctrlSetActiveColor [1,1,1, call compile format ["bttn_actCol%1", _i]]; (_controls select (_i-1)) ctrlSetTextColor [1,1,1, call compile format ["bttn_Col%1", _i]]; }; if (debug) then {systemChat format ["PlantationIndex = %1", plantationIndex];}; }; case 1: { plantationIndex = 2; for "_i" from 3 to 5 do { missionNamespace setVariable [format ["bttn_active%1", _i], 0, true]; missionNamespace setVariable [format ["bttn_Col%1", _i], 0.2, true]; missionNamespace setVariable [format ["bttn_actCol%1", _i], 1, true]; (_controls select (_i-1)) ctrlSetActiveColor [1,1,1, call compile format ["bttn_actCol%1", _i]]; (_controls select (_i-1)) ctrlSetTextColor [1,1,1, call compile format ["bttn_Col%1", _i]]; }; if (debug) then {systemChat format ["PlantationIndex = %1", plantationIndex];}; }; }; };//....etc.etc. So, can someone imagine a better practice to solve this idea? As you can imagine, if I want to create more businesses on the island, I need to write a huge amount of classes and variables for every location. The problem is, that If I just use one class using the same global vars for the budget buttons, all buttons change transparency even when I just click a single one. I don't really unserstand how to refer between classes and variables using uiNamespace, maybe there's a solution in there? I hope I explained this one well enough and any help is highly appreciatet. Greets from Germany;D
  4. Hey. I have a sector module with its costInfantry variable being set to 0.5 on mission start. I have placed triggers that use the setVariable command to change this mid-game and can confirm that the variables change using: hint format ["%1", SECTORNAME getVariable 'costInfantry']; afterwards. However the module doesn't update its variables. By changing this variable to 0, the module should become un-cappable by infantry but as I've found out, this is not the case. Q: Is there a function to force a module to update and use the variables set upon it after initialisation of that module? Thanks.
  5. I'm trying to access an object while only having the object's name in string format. For instance, I have an object Box_East_WpsSpecial_F named "ammoBox_23". There are another 22 ammo boxes, so I need to reference this specific one. How can I do something like hideObjectGlobal or removeMPEventHandler when they expect the format OBJECT hideObjectGlobal BOOLEAN?
  6. I would like to access a variable with getVariable in setWaypointStatements. However, the variable name is dynamic, because I don't know how many variables there will be set. Referring to this post I came up with the following: params ["_group", "_pos", "_type", "_additionalStatements"]; private ["_wp", "_ref", "_refString"]; _wp = _group addWaypoint [_pos, 0]; _wp setWaypointType _type; // Make sure chopper lands on the spot _ref = "Land_HelipadCivil_F" createvehicle (_pos); // Save reference to Helipad on group leader _refString = "land_"+ str random [0, 5000, 10000]; _group setVariable [_refString, _ref, true]; hint format ["Reference to helipad: %1", _refString, _ref]; // Use reference on group leader to clean up Helipad after landing call compile format ["_wp setWaypointStatements [""true"", ""deleteVehicle ((group this) getVariable '%1'); %2""]", _refString, _additionalStatements]; (_wp) This works. But I have 2 objections: 1) It's not super-easy to read 2) Adding another format inside the statement (eg: `hint format ["%1", _someVar]` ) will break it. Does anyone know a better way? Thanks! **Edit: Actually objection #2 does work :rolleyes: . It was a different error I got... So basically the only thing that remains of the question is if it can be done neater. But hey, maybe I should just get used to it ;)
×