User Tools

Site Tools


arma2:scripting

Differences

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


Previous revision
arma2:scripting [2009/06/01 13:01] – added diag_log scripting command. snakeman
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> 
- 
- 
-===== diag_log ===== 
- 
-diag_log writes any variable ([_fish, _frog] or "Hello, I'm starting to initialize myself") directly to the log, without needing to pass it via format/str and without any extra text. 
arma2/scripting.txt · Last modified: 2024/08/01 22:38 by snakeman

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki

All PMC web site download services are temporarily suspended until web site yearly fees have been recovered, want to download addons/mods? Then Support PMC.

If you are grateful for all the work PMC has done in the past 25 years, use Support PMC page.