ModObjectiveGlobal - Quest

From Creation Kit
Jump to: navigation, search

Member of: Quest Script

Mods a global variable in a threadsafe way. Optional parameters allow automatic redisplay and completion (or failure) of a quest objective using this global variable.

Syntax

bool Function ModObjectiveGlobal(float afModValue, GlobalVariable aModGlobal, int aiObjectiveID = -1, float afTargetValue = -1.0, \
  bool abCountingUp = true, bool abCompleteObjective = true, bool abRedisplayObjective = true, \
  bool abAllowRollbackObjective = false)

Parameters

  • afModValue: The value to add to aModGlobal
  • aModGlobal: The global variable we are modifying
  • aiObjectiveID: ObjectiveID to redisplay whenever this function is called.
    • Default: -1 (no objective)
  • afTargetValue: Value you're counting up (or down) towards -- if you pass in a non-negative number, function will return TRUE when the global reaches the target value
    • Default: -1.0 (no target value)
  • abCountingUp: True to count up to target value, false to count down
    • Default: true
  • abCompleteObjective: True to complete the objective when target value is reached, false to fail the objective.
    • Default: true
  • abRedisplayObjective: True to re-display the objective every time the function is called, false to only show on success/failure.
    • Default: true
  • abAllowRollbackObjective: True to re-open a completed objective
    • Default: false

Return Value

True, if there is a target value and the global value reaches the target value.

Examples

; Adds 1 to MyGlobal
MyQuest.ModObjectiveGlobal(1, MyGlobal)


; Adds 1 to MyGlobal, updates objective 10
MyQuest.ModObjectiveGlobal(1, MyGlobal, 10)


; adds 1 to ExteriorDefenderDeadCount, updates objective 30, sets stage 60 when it reaches ExteriorDefenderTotal
if MyQuest.ModObjectiveGlobal(1, ExteriorDefenderDeadCount, 30, ExteriorDefenderTotal.value)
  SetStage(60)
endif

See Also