What I do is use a couple really simple subroutines to save/recall information from the persistant variable pool:
;------------------------------------------------------------
sub TM_GetPersistantVariable
set #RESULT %1 , _ , #CHARID
set #RESULT * . #RESULT
return #RESULT
;------------------------------------------------------------
sub TM_SetPersistantVariable
set #RESULT %1 , _ , #CHARID
set * . #RESULT %2
return
So when I want to set something into persistant memory, I do:
gosub TM_SetPersistantVariable TM_HEAL_BANDAGE !heal_bandage
and when I want to retrieve this information, I do:
gosub TM_GetPersistantVariable TM_HEAL_BANDAGE
set !heal_bandage #RESULT
Suppose your #CHARID is XXYYZZ1, with these functions the value contained in !heal_bandage is stored in *TM_HEAL_BANDAGE_XXYYZZ1. So now this is character specific.
Hope this helps.
TM