Difference between revisions of "Goto"

From the Fallout3 GECK Wiki
Jump to navigation Jump to search
imported>Qazaaq
m (redirect to GoTo)
 
imported>JT
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
#REDIRECT [[GoTo]]
{{Function
|origin = FOSE1
|summary = Jump to ("go to") a labeled position in the script previously defined by a call to Label. Execution will return to the label, simulating a loop. Be careful to provide an exit condition to avoid creating infinite loops.
|name = Goto
|returnType = void
|arguments =
  {{FunctionArgument
  |Name = labelID
  |Type = int
  |Value = 0-255
  }}
|example = int GetNextActor
set GetNextActor to 1
Label GetNextActor
; Do something
if SomeCondition
    GoTo GetNextActor
endif
}}
 
==Notes==
* There are 256 available slots for Labels, enabling IDs from 0 to 255 inclusively. Values outside of this range will not work.
* If using NVSE since version 4, Label/Goto should be replaced by [[While]] or [[Foreach]] in all but exceptional cases, as these are more powerful, readable and reliable. Use of Label/Goto for creating loops should be considered outdated and bad form.
 
==See Also==
* [[Label]]
* [[While]]
* [[Foreach]]
 
==External Links==
* [http://www.cipscis.com/fallout/tutorials/loops.aspx Loops]
* [http://fose.silverlock.org/fose_command_doc.html#Goto FOSE Documentation]
 
[[Category:Functions_(FOSE)]]

Latest revision as of 00:07, 22 August 2015

< [[::Category:Functions|Category:Functions]]

A function added by the Fallout Script Extender.

Description

Jump to ("go to") a labeled position in the script previously defined by a call to Label. Execution will return to the label, simulating a loop. Be careful to provide an exit condition to avoid creating infinite loops.

Syntax

[help]
Goto labelID:int{0-255}

Example

int GetNextActor
set GetNextActor to 1
Label GetNextActor
; Do something
if SomeCondition
   GoTo GetNextActor
endif

Notes

  • There are 256 available slots for Labels, enabling IDs from 0 to 255 inclusively. Values outside of this range will not work.
  • If using NVSE since version 4, Label/Goto should be replaced by While or Foreach in all but exceptional cases, as these are more powerful, readable and reliable. Use of Label/Goto for creating loops should be considered outdated and bad form.

See Also

External Links