Difference between revisions of "SetLevel"

From the Oblivion ConstructionSet Wiki
Jump to navigation Jump to search
imported>Haama
(→‎Notes: Added note)
imported>Haama
(→‎Notes: Link is unnecessary in this case)
Line 22: Line 22:
*Although called on a reference, this function actually changes the value on the base actor (thus the base value on all references of that base actor).
*Although called on a reference, this function actually changes the value on the base actor (thus the base value on all references of that base actor).
*Using setlevel on an actor who carries a bow results in a CTD for both as a console command and in a script.
*Using setlevel on an actor who carries a bow results in a CTD for both as a console command and in a script.
http://www.bethsoft.com/bgsforums/index.php?showtopic=811462
**To prevent this, first remove all bows, then use '''SetLevel''', then add the bows back.
**To prevent this, first remove all bows, then use '''SetLevel''', then add the bows back.



Revision as of 11:04, 19 February 2008

Syntax:

SetLevel iNewLevel, LevelToPCFlag, MinLevel (optional), MaxLevel (optional)

For NPCs and Creatures, this function allows you to completely change their level as well as whether they are leveled to the player or not.

  • LevelToPCFlag == 1 means that level is an offset to the player's level
  • LevelToPCFlag == 0 means that level is a straight level (also that Min and Max params are meaningless)

If an actor has PCOffset-Flag set in the editor, the LevelToPCFlag == 0 is meaningless (doesn't work) and the level is always offset to the player's level.

MinLevel and MaxLevel correspond to the Calc Min and Calc Max settings on the NPC and Creature tabs in the editor.

Calling SetLevel will also immediately recalc an actor's stats and equipment (as if the player just leveled up).

Example:

SetLevel 10     ; sets the actor's level to 10
SetLevel 2, 1   ; sets the actor's level to PC+2
SetLevel 0, 1, 6, 0    ; sets the actor's level to PC+0, min 6, no maximum

Notes

  • This function can be called on the player and will change the player's level, but not any of his/her stats (and the world will not "level up" with the player until he goes through a loading door, or changes cells), so this is not recommended. Use AdvancePCLevel instead.
  • Although called on a reference, this function actually changes the value on the base actor (thus the base value on all references of that base actor).
  • Using setlevel on an actor who carries a bow results in a CTD for both as a console command and in a script.
    • To prevent this, first remove all bows, then use SetLevel, then add the bows back.

See Also