sharedvalue_example
Differences
This shows you the differences between two versions of the page.
— | sharedvalue_example [2022/09/03 23:25] (current) – created - external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Set Shared Value ====== | ||
+ | < | ||
+ | Misc.SetSharedValue(" | ||
+ | </ | ||
+ | |||
+ | ====== Get that Shared Value====== | ||
+ | < | ||
+ | test = Misc.ReadSharedValue(" | ||
+ | # test should now contain "Some value set for key" | ||
+ | </ | ||
+ | |||
+ | ====== Example Usage====== | ||
+ | |||
+ | |||
+ | In practice I use this to dynamically affect script behavior. | ||
+ | |||
+ | For instance I have a fight script that I want to sometimes use whirlwind and sometimes use momentum based on the fighting situation. I don't want to stop mid fight and change the script, and I don't want to copy the whole script just to get this ability to change behavior. | ||
+ | |||
+ | In my fight script I have: | ||
+ | < | ||
+ | if Misc.CheckSharedValue(" | ||
+ | use_momentum = Misc.ReadSharedValue(" | ||
+ | else: | ||
+ | use_momentum = True | ||
+ | if use_momentum and (not Player.SpellIsEnabled(' | ||
+ | Spells.CastBushido(' | ||
+ | Misc.Pause(500) | ||
+ | else: | ||
+ | Use_weapon_special(weapon) | ||
+ | </ | ||
+ | |||
+ | Then, in another script attached to a hot key: | ||
+ | < | ||
+ | if Misc.CheckSharedValue(" | ||
+ | Misc.SetSharedValue(" | ||
+ | else: | ||
+ | Misc.SetSharedValue(" | ||
+ | |||
+ | Mobiles.Message(Player.Serial, | ||
+ | </ | ||