call: Difference between revisions
| Sarogahtyp (talk | contribs) mNo edit summary | Lou Montana (talk | contribs)  m (Page (little) lifting) | ||
| Line 1: | Line 1: | ||
| {{Command|=  | {{Command|Comments= | ||
| ____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| | ofpr | | | ofpr |Game name= | ||
| |1.85| | |1.85|Game version= | ||
| ____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| | Executes given set of compiled instructions with an option to pass arguments to the executed [[Code]]. In [[ | | Executes given set of compiled instructions with an option to pass arguments to the executed [[Code]]. | ||
| {{Important|In [[:Category:{{ofp}}|{{ofp}}]] this command used to accept [[String]] as well as [[Code]]. This does not apply to {{arma}} and later titles (see [[compile]]).}}|Description= | |||
| ____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| |  | | [[call]] code |Syntax= | ||
| |p1= code: [[Code]] - [[compile]]d instructions | |p1= code: [[Code]] - [[compile]]d instructions|Parameter 1= | ||
| | [[Anything]] - The last value given in the function is returned. See the topic [[Function#Return_Values|Function]] for more information. | | | [[Anything]] - The last value given in the function is returned. See the topic [[Function#Return_Values|Function]] for more information. |Return value= | ||
| | s2= args  | |s2= args [[call]] code |Alt Syntax= | ||
| |p21= args: [[Anything]] -  Arguments that are passed to the function in the [[_this]] variable | |p21= args: [[Anything]] -  Arguments that are passed to the function in the [[_this]] variable |Alt Parameter 1= | ||
| |p22= code: [[Code]] - [[compile]] | |p22= code: [[Code]] - [[compile|compiled]] instructions|Alt Parameter 2= | ||
| |r2= [[Anything]] - The last value given in the function is returned. See the topic [[Function#Return_Values|Function]] for more information. | | |r2= [[Anything]] - The last value given in the function is returned. See the topic [[Function#Return_Values|Function]] for more information. |Return value 2= | ||
| ____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| |x1= <code>[[call]] {[[hint]] [[str]] 123};</code> | | |x1= <code>[[call]] { [[hint]] [[str]] 123; };</code> |Example 1= | ||
| |x2= <code>123 [[call]] {[[hint]] [[str]] _this};</code>| | |x2= <code>123 [[call]] { [[hint]] [[str]] _this; };</code> |Example 2= | ||
| |x3= <code>_sum = [1, 2] [[call]] {(_this [[select]] 0) + (_this [[select]] 1)}; | |x3= <code>_sum = [1, 2] [[call]] { ([[_this]] [[select]] 0) + ([[_this]] [[select]] 1); }; | ||
| [[hint]] [[str]] _sum; //3</code> | | [[hint]] [[str]] _sum; {{codecomment|// displays 3}}</code> |Example 3= | ||
| |x4= <code>123 [[call]] [[compile]] "[[hint]] [[str]] _this";</code>| | |x4= <code>123 [[call]] [[compile]] "[[hint]] [[str]] _this;";</code> |Example 4= | ||
| |x5= <code>_result = 123 [[call]] [[compile]] [[preprocessFileLineNumbers]] " | |x5= <code>_result = 123 [[call]] [[compile]] [[preprocessFileLineNumbers]] "myFile.sqf";</code> |Example 5= | ||
| ____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| | [[spawn]], [[execVM]], [[canSuspend]], [[compile]], [[preprocessFile]] | | | [[spawn]], [[execVM]], [[canSuspend]], [[compile]], [[preprocessFile]], [[remoteExec]], [[remoteExecCall]] |See also= | ||
| }} | }} | ||
| Line 50: | Line 50: | ||
| <h3 style="display:none">Bottom Section</h3> | <h3 style="display:none">Bottom Section</h3> | ||
| [[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]] | |||
| [[Category:Scripting Commands| | [[Category:Scripting Commands OFP 1.96|{{uc:{{PAGENAME}}}}]] | ||
| [[Category:Scripting Commands OFP 1. | [[Category:Scripting Commands OFP 1.99|{{uc:{{PAGENAME}}}}]] | ||
| [[Category:Scripting Commands OFP 1. | [[Category:Scripting Commands ArmA|{{uc:{{PAGENAME}}}}]] | ||
| [[Category:Scripting Commands ArmA| | |||
| [[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]] | [[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]] | ||
| [[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]] | |||
| [[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]] | [[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]] | ||
| [[Category: | [[Category:Command Group: Program Flow|{{uc:{{PAGENAME}}}}]] | ||
| <!-- CONTINUE Notes --> | <!-- CONTINUE Notes --> | ||
| <dl class="command_description"> | <dl class="command_description"> | ||
| <dd class="notedate">Posted on July 5, 2014 - 16:00 (UTC)</dd> | <dd class="notedate">Posted on July 5, 2014 - 16:00 (UTC)</dd> | ||
| <dt class="note"> | <dt class="note">[[User:MattAka Horner|MattAka Horner]]</dt> | ||
| <dd class="note"> | <dd class="note">A called function may only use suspension ([[sleep]], [[uiSleep]], [[waitUntil]]) if it originates in a [[Scheduler#Scheduled_Environment|scheduled environment]]. If the called function originates in a [[Scheduler#Unscheduled_Environment|non-scheduled environment]] it will return a generic error: | ||
| <code>{{codecomment|// *** [[Scheduler#Unscheduled_Environment|non-scheduled]] origin ***}} | |||
| A called function may only use suspension ([[sleep]], [[uiSleep]], [[waitUntil]]) if it originates in a [[Scheduler#Scheduled_Environment|scheduled environment]]. If the called function originates in a [[Scheduler#Unscheduled_Environment|non-scheduled environment]] it will return a generic error | |||
| <code>// *** [[Scheduler#Unscheduled_Environment|non-scheduled]] origin *** | |||
| [] [[spawn]] { | [] [[spawn]] { | ||
| 	// *** [[Scheduler#Scheduled_Environment|scheduled]] scope *** | 	{{codecomment|// *** [[Scheduler#Scheduled_Environment|scheduled]] scope ***}} | ||
| 	[] [[call]] { | 	[] [[call]] { | ||
| 		// *** [[Scheduler#Scheduled_Environment|scheduled]] scope *** | 		{{codecomment|// *** [[Scheduler#Scheduled_Environment|scheduled]] scope ***}} | ||
| 		[[sleep]] 3; // <- OK | 		[[sleep]] 3; {{codecomment|// <- OK}} | ||
| 		[[hintSilent]] "Hello World!"; | 		[[hintSilent]] "Hello World!"; | ||
| 	}; | 	}; | ||
| }; | };</code> | ||
| </code> | |||
| <code>// *** [[Scheduler#Unscheduled_Environment|non-scheduled]] origin *** | <code>{{codecomment|// *** [[Scheduler#Unscheduled_Environment|non-scheduled]] origin ***}} | ||
| [] [[call]] { | [] [[call]] { | ||
| 	// *** [[Scheduler#Unscheduled_Environment|non-scheduled]] scope*** | 	{{codecomment|// *** [[Scheduler#Unscheduled_Environment|non-scheduled]] scope***}} | ||
| 	[] [[call]] { | 	[] [[call]] { | ||
| 		// *** [[Scheduler#Unscheduled_Environment|non-scheduled]] scope *** | 		{{codecomment|// *** [[Scheduler#Unscheduled_Environment|non-scheduled]] scope ***}} | ||
| 		[[sleep]] 3; // <- NOT OK | 		[[sleep]] 3; {{codecomment|// <- NOT OK}} | ||
| 		[[hintSilent]] "Hello World!"; | 		[[hintSilent]] "Hello World!"; | ||
| 	}; | 	}; | ||
| }; | };</code> | ||
| </code> | |||
| <code>// *** [[Scheduler#Scheduled_Environment|scheduled]] origin *** | <code>{{codecomment|// *** [[Scheduler#Scheduled_Environment|scheduled]] origin ***}} | ||
| [] [[spawn]] { | [] [[spawn]] { | ||
| 	// *** [[Scheduler#Scheduled_Environment|scheduled]] scope *** | 	{{codecomment|// *** [[Scheduler#Scheduled_Environment|scheduled]] scope ***}} | ||
| 	[] [[call]] { | 	[] [[call]] { | ||
| 		// *** [[Scheduler#Scheduled_Environment|scheduled]] scope *** | 		{{codecomment|// *** [[Scheduler#Scheduled_Environment|scheduled]] scope ***}} | ||
| 		[[sleep]] 3; // <- OK | 		[[sleep]] 3; {{codecomment|// <- OK}} | ||
| 		[[hintSilent]] "Hello World!"; | 		[[hintSilent]] "Hello World!"; | ||
| 	}; | 	}; | ||
| }; | };</code> | ||
| </code> | |||
| <code>// *** [[Scheduler#Scheduled_Environment|scheduled]] origin *** | <code>{{codecomment|// *** [[Scheduler#Scheduled_Environment|scheduled]] origin ***}} | ||
| [] [[call]] { | [] [[call]] { | ||
| 	// *** [[Scheduler#Scheduled_Environment|scheduled]] scope*** | 	{{codecomment|// *** [[Scheduler#Scheduled_Environment|scheduled]] scope ***}} | ||
| 	[] [[call]] { | 	[] [[call]] { | ||
| 		// *** [[Scheduler#Scheduled_Environment|scheduled]] scope *** | 		{{codecomment|// *** [[Scheduler#Scheduled_Environment|scheduled]] scope ***}} | ||
| 		[[sleep]] 3; // <- OK | 		[[sleep]] 3; {{codecomment|// <- OK}} | ||
| 		[[hintSilent]] "Hello World!"; | 		[[hintSilent]] "Hello World!"; | ||
| 	}; | 	}; | ||
| }; | };</code> | ||
| </code> | |||
| </dd> | </dd> | ||
| <dd class="notedate">Posted on February 17, 2015 - 11:02 (UTC)</dd> | <dd class="notedate">Posted on February 17, 2015 - 11:02 (UTC)</dd> | ||
| <dt class="note">[[User:Patriot821|Patriot821]]</dt> | <dt class="note">[[User:Patriot821|Patriot821]]</dt> | ||
| <dd class="note"> | <dd class="note">If the code is in [[Scheduler#Unscheduled_Environment|non-scheduled]] scope and contains while-do statement, the code runs only 10,000 times at the maximum, even if the statement makes infinite loop. (ARMA3 Ver. 1.38.128937) | ||
| If the code is in [[Scheduler#Unscheduled_Environment|non-scheduled]] scope and contains while-do statement, the code runs only 10,000 times at the maximum, even if the statement makes infinite loop. (ARMA3 Ver. 1.38.128937) | <code>{{codecomment|// *** [[Scheduler#Unscheduled_Environment|non-scheduled]] origin ***}} | ||
| <code>// *** [[Scheduler#Unscheduled_Environment|non-scheduled]] origin *** | [] [[call]] { | ||
| [] call { | 	{{codecomment|// *** [[Scheduler#Unscheduled_Environment|non-scheduled]] scope ***}} | ||
| 	// *** [[Scheduler#Unscheduled_Environment|non-scheduled]] scope*** | 	[] [[call]] { | ||
| 	[] call { | 		{{codecomment|// *** [[Scheduler#Unscheduled_Environment|non-scheduled]] scope ***}} | ||
| 		// *** [[Scheduler#Unscheduled_Environment|non-scheduled]] scope *** | 		_a = 0; | ||
| 		_a | 		[[while]] { _a < 15000 } [[do]] { | ||
| 		while{_a<15000} do{ | 			_a = _a + 1; | ||
| 			_a | |||
| 		}; | 		}; | ||
| 		hint str | 		[[hint]] [[str]] _a; {{codecomment|// displays 10000}} | ||
| 	}; | 	};	 | ||
| };</code> | };</code> | ||
| </dd> | </dd> | ||
| </dl> | </dl> | ||
| <!-- DISCONTINUE Notes --> | <!-- DISCONTINUE Notes --> | ||
Revision as of 00:34, 3 July 2018
Description
- Description:
- Executes given set of compiled instructions with an option to pass arguments to the executed Code.
- Groups:
- Uncategorised
Syntax
- Syntax:
- call code
- Parameters:
- code: Code - compiled instructions
- Return Value:
- Anything - The last value given in the function is returned. See the topic Function for more information.
Alternative Syntax
- Syntax:
- args call code
- Parameters:
- args: Anything - Arguments that are passed to the function in the _this variable
- code: Code - compiled instructions
- Return Value:
- Anything - The last value given in the function is returned. See the topic Function for more information.
Examples
- Example 1:
- call { hint str 123; };
- Example 2:
- 123 call { hint str _this; };
- Example 3:
- _sum = [1, 2] call { (_this select 0) + (_this select 1); }; hint str _sum; // displays 3
- Example 4:
- 123 call compile "hint str _this;";
- Example 5:
- _result = 123 call compile preprocessFileLineNumbers "myFile.sqf";
Additional Information
Notes
- 
Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
 Only post proven facts here! Add Note
Notes
Bottom Section
- Posted on July 5, 2014 - 16:00 (UTC)
- MattAka Horner
- A called function may only use suspension (sleep, uiSleep, waitUntil) if it originates in a scheduled environment. If the called function originates in a non-scheduled environment it will return a generic error:
// *** non-scheduled origin *** [] spawn { // *** scheduled scope *** [] call { // *** scheduled scope *** sleep 3; // <- OK hintSilent "Hello World!"; }; };// *** non-scheduled origin *** [] call { // *** non-scheduled scope*** [] call { // *** non-scheduled scope *** sleep 3; // <- NOT OK hintSilent "Hello World!"; }; };// *** scheduled origin *** [] spawn { // *** scheduled scope *** [] call { // *** scheduled scope *** sleep 3; // <- OK hintSilent "Hello World!"; }; };// *** scheduled origin *** [] call { // *** scheduled scope *** [] call { // *** scheduled scope *** sleep 3; // <- OK hintSilent "Hello World!"; }; };
- Posted on February 17, 2015 - 11:02 (UTC)
- Patriot821
- If the code is in non-scheduled scope and contains while-do statement, the code runs only 10,000 times at the maximum, even if the statement makes infinite loop. (ARMA3 Ver. 1.38.128937)
// *** non-scheduled origin *** [] call { // *** non-scheduled scope *** [] call { // *** non-scheduled scope *** _a = 0; while { _a < 15000 } do { _a = _a + 1; }; hint str _a; // displays 10000 }; };
Categories: 
- Scripting Commands
- Introduced with Operation Flashpoint: Resistance version 1.85
- Operation Flashpoint: Resistance: New Scripting Commands
- Operation Flashpoint: Resistance: Scripting Commands
- Command Group: Uncategorised
- Scripting Commands OFP 1.96
- Scripting Commands OFP 1.99
- Scripting Commands ArmA
- Scripting Commands ArmA2
- Scripting Commands Take On Helicopters
- Scripting Commands Arma 3
- Command Group: Program Flow
 
	