User Tools

Site Tools


arma2:scripting

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
arma2:scripting [2009-05-31 16:58]
snakeman created scripting initial page.
arma2:scripting [2015-06-08 02:24]
Line 1: Line 1:
-====== Scripting ====== 
  
-**initJIPcompatible.sqf** is automatically started at unknown time, best guess would be when JIP player joins? 
- 
- 
-====== Scripting Commands ====== 
- 
-There'​s a lot of cool scripts (functions) available in Modules.pbo - especially under "​Functions"​ and even an multiplayer Framework in "​MP"​. 
- 
-Since ArmA 2 you must first initialize a variable before you reference it in your scripts. In ArmA, it was not a problem, at least for conditions. 
-<code cpp> 
-// this will error if myBoolean was not previously defined. 
-if (myBoolean) then { hint "​test"​ }; 
-</​code>​ 
-Usage of isNil is still valid. 
- 
- 
-===== BIS fnc locations ===== 
- 
-BIS fnc locations 
- 
-Description:​ Creates or registers location logics (used in various modules, like [[arma2:​editor_modules:​alice|Ambient Civilians]],​ [[arma2:​editor_modules:​silvie|Ambient Civilian Vehicles]] or Warfare 2). 
- 
-Upon registering,​ function will set following variables into location logic'​s variable space: 
- 
-  * "​class"​ - unique class of location (either BIS_loc_<​configname>​ or BIS_loc_custom_<​ID>​) 
-  * "​name"​ - name of location from config or setName command. If none is defined, class is used 
-  * "​type"​ - config type 
-  * "​neighbors"​ - config defined neighbor locations ​ 
- 
-If you're registering currently existing object and some of variables above is already stored in it, it won't be replaced. 
- 
-Syntax 
- 
-Syntax: [type(s),​area,​debug] call BIS_fnc_locations 
- 
-Parameters: type(s): String or Array of strings\\ 
-area: Array in format [center,​distance]\\ 
-debug: (Optional): Boolean 
- 
-Return Value: Array - List of registered locations 
- 
-Alternative Syntax 
- 
-Syntax: [objects] call BIS_fnc_locations 
- 
-Parameters: objects: Array of Objects or Locations - list of specific locations to be registered 
- 
-Return Value: Array - List of registered locations 
- 
-Examples 
- 
-Example 1: 
-<code cpp> 
-["​CityCenter",​[position player,​1000]] call bis_fnc_locations;​ 
-</​code>​ 
- 
-Example 2: 
-<code cpp> 
-[["​acityc_dolina"​]] call bis_fnc_locations;​ 
-</​code>​ 
- 
-Example 3: 
-<code cpp> 
-[[myLocation1,​myLocation2],​[],​true] call bis_fnc_locations;​ 
-</​code>​ 
- 
-See also: 
- 
-Functions Library (above hehe) 
- 
-===== allowDamage ===== 
- 
-Description:​ Allow an object to be damaged (or injured, or killed). 
- 
-Syntax: object allowDamage allow 
- 
-Parameters: object: Object - allow: Boolean - 
- 
-Example 1: 
-<code cpp> 
-player allowDamage false 
-</​code>​ 
- 
- 
-===== setVariable ===== 
- 
-setVariable now has a 3rd parameter: Global. 
- 
-If you set the 3rd parameter to true, the variable will broadcast its value to every machine. 
-<code cpp> 
-_myObject setVariable ["​myVariable",​ 1, true]; 
-</​code>​ 
- 
-setVariable is now usable on any object, like groups for instance. This was not the case in ArmA. 
- 
- 
-===== uiNameSpace ===== 
- 
-Working with UI related scripting commands, is not accepted in global or private variable space, and needs to be done inside uiNameSpace by using setVariable. 
- 
-example: 
-<code cpp> 
-// set it 
-uiNameSpace setVariable ["​myVariable",​ ctrl...]; 
-// use it 
-ctrl.... (uiNameSpace getVariable "​myVariable"​);​ 
-</​code>​ 
- 
- 
-===== createDiaryRecord ===== 
- 
-createDiaryRecord 
- 
-<code cpp> 
-_diary = player createDiaryRecord ["​Diary",​ ["​Technische Details",​ "​Keine"​]];​ 
-</​code>​ 
- 
- 
-===== createSimpleTask ===== 
- 
-createSimpleTask 
- 
-<code cpp> 
-task1 = player createSimpleTask ["​obj1"​];​ 
-</​code>​ 
- 
- 
-===== setSimpleTaskDescription ===== 
- 
-setSimpleTaskDescription 
- 
-<code cpp> 
-task1 setSimpleTaskDescription ["​Description <marker name=""​Start"">​Start</​marker>​ posit.","​more text","​more text"​];​ 
-</​code>​ 
- 
- 
-===== setSimpleTaskDestination ===== 
- 
-setSimpleTaskDestination 
- 
-<code cpp> 
-task1 setSimpleTaskDestination markerPos "​Start";​ 
-</​code>​ 
- 
- 
-===== setTaskState ===== 
- 
-setTaskState 
- 
-<code cpp> 
-task1 setTaskState "​Created";​ 
-</​code>​ 
- 
- 
-===== setCurrentTask ===== 
- 
-setCurrentTask 
- 
-<code cpp> 
-player setCurrentTask task1; 
-</​code>​ 
- 
- 
-===== attachTo ===== 
- 
-attachTo, see also detach. 
- 
-<code cpp> 
-// Make player float exactly 2m above center of car, automatically changing vectordir + relative position as car moves. 
-player attachTo [car, [0,0,2]]; 
-detach player; 
-</​code>​ 
arma2/scripting.txt ยท Last modified: 2015-06-08 02:24 (external edit)