User Tools

Site Tools


sharedvalue_example

Set Shared Value

Misc.SetSharedValue("Key", "Some value set for key")

Get that Shared Value

test = Misc.ReadSharedValue("Key")
# 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("UseMomentum"):
    use_momentum = Misc.ReadSharedValue("UseMomentum")
else:    
    use_momentum = True
if use_momentum and (not Player.SpellIsEnabled('Momentum Strike')):    
    Spells.CastBushido('Momentum Strike')
    Misc.Pause(500)
else:
    Use_weapon_special(weapon)

Then, in another script attached to a hot key:

if Misc.CheckSharedValue("UseMomentum"):
    Misc.SetSharedValue("UseMomentum", not(Misc.ReadSharedValue("UseMomentum")))
else:    
    Misc.SetSharedValue("UseMomentum", False)

Mobiles.Message(Player.Serial, 5, "Use Momentum: {}".format(Misc.ReadSharedValue("UseMomentum")))
sharedvalue_example.txt · Last modified: 2025/02/25 22:20 by 127.0.0.1

Exception: Git command failed to perform periodic pull: Warning: Permanently added 'github.com,140.82.114.4' (ECDSA) to the list of known hosts. From github.com:RazorEnhanced/razorenhanced.github.io * branch main -> FETCH_HEAD error: Your local changes to the following files would be overwritten by merge: doc/api/CUO.html doc/api/Gumps.html doc/api/Item.html doc/api/Items.html doc/api/Journal.html doc/api/Misc.html doc/api/Mobile.html doc/api/PacketLogger.html doc/api/PathFinding.html doc/api/Player.html doc/api/Spells.html doc/api/Target.html doc/api/Trade.html doc/api/Vendor.html Please commit your changes or stash them before you merge. Aborting

Exception: Git command failed to perform periodic pull: Warning: Permanently added 'github.com,140.82.114.4' (ECDSA) to the list of known hosts. From github.com:RazorEnhanced/razorenhanced.github.io * branch main -> FETCH_HEAD error: Your local changes to the following files would be overwritten by merge: doc/api/CUO.html doc/api/Gumps.html doc/api/Item.html doc/api/Items.html doc/api/Journal.html doc/api/Misc.html doc/api/Mobile.html doc/api/PacketLogger.html doc/api/PathFinding.html doc/api/Player.html doc/api/Spells.html doc/api/Target.html doc/api/Trade.html doc/api/Vendor.html Please commit your changes or stash them before you merge. Aborting

An unforeseen error has occured. This is most likely a bug somewhere. It might be a problem in the gitbacked plugin.

More info has been written to the DokuWiki error log.