WoW:API SetCVar: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
(Updated with new information)
m (Move page script moved page API SetCVar to API SetCVar without leaving a redirect)
 
(2 intermediate revisions by 2 users not shown)
Line 8: Line 8:


:;cvar : String - CVar to modify
:;cvar : String - CVar to modify
:;value : New value of the CVar, the game
:;value : New value of the CVar - This value is stored in Config.wtf as plain text. Passing anything other than a string or number is just silly.
:;scriptCVar : String - First argument for the CVAR_UPDATE event, if none is passed then the event isn't fired
:;scriptCVar : String - First argument for the CVAR_UPDATE event, if none is passed then the event isn't fired


Line 17: Line 17:
Some options require a call to [[API_RestartGx|RestartGx]]() before they take effect.
Some options require a call to [[API_RestartGx|RestartGx]]() before they take effect.


If you try and pass an invalid CVar you'll get an error, check [[Config.wtf defaults]] for a list of valid CVars.
If you try and pass an invalid CVar you'll get an error, check [[Console variables]] for a list of valid CVars.


By default CVAR_UPDATE is not fired when you call SetCVar, to make sure it does you need to pass the third argument scriptCVar which will be the first argument in the event when it's fired.
By default CVAR_UPDATE is not fired when you call SetCVar, to make sure it does you need to pass the third argument scriptCVar which will be the first argument in the event when it's fired.




== Notes ==
From Ohklus: '''Do not overwrite this function!''' You'll have a very hard time finding the reason for those nasty "sry, your addon was blocked cause it called a secure function" errors.
My example: hitting the escape key should just open the game menu. If you overwrite SetCVar you'll get the error each time you press Esc (except when closing a window). The error is released by the Blizzard UI functions [[API_SpellStopCasting]], [[API_SpellStopTargeting]] and [[API_ClearTarget]], because they appear in [[API_ToggleGameMenu]]. I've got no idea why SetCVar is called between hitting Esc and reaching [[API_ToggleGameMenu]].


__NOTOC__
__NOTOC__

Latest revision as of 04:47, 15 August 2023

WoW API < SetCVar

Changes a variable located inside Config.wtf

 SetCVar( "cvar", value[, "scriptCVar"] );

Parameters

Arguments

cvar
String - CVar to modify
value
New value of the CVar - This value is stored in Config.wtf as plain text. Passing anything other than a string or number is just silly.
scriptCVar
String - First argument for the CVAR_UPDATE event, if none is passed then the event isn't fired

Details

Settings that are changed using this will be applied to the game UI immediately, however settings are not saved until exit and settings which were previously not defined in Config.wtf are not available to GetCVar until the file has been saved at logout.

Some options require a call to RestartGx() before they take effect.

If you try and pass an invalid CVar you'll get an error, check Console variables for a list of valid CVars.

By default CVAR_UPDATE is not fired when you call SetCVar, to make sure it does you need to pass the third argument scriptCVar which will be the first argument in the event when it's fired.