sharedvalue_example
Differences
This shows you the differences between two versions of the page.
| — | sharedvalue_example [2025/02/25 22:20] (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, | ||
| + | </ | ||