by *juggleblood* » Tue Jan 26, 2016 4:16 pm
Ok, mudlet 3.0 has the same issue as 2.1 regarding special characters. The box symbol that is used in the msdpvars is an illegal character in xml. So what happens is you write a nice script that works in mudlet, but then when you close mudlet and reload from your xml file, everything in your scripts below the special character vanishes.
The workaround is to use string.cut to chop the special chars off the ends and then string.gsub with a wildcard character "." to sub out the special character for a comma.
Here is what I have that works without saving any illegal characters into your profile:
function updateGroup()
groupString=atcp.MSDPGROUP
memberTable={}
groupTable={}
groupMana={}
groupHp={}
groupMaxMana={}
groupMaxHp={}
groupMove={}
groupMaxMove={}
groupPosition={}
groupStatus={}
groupClass={}
groupLevel={}
groupString=string.gsub(groupString,"NAME.",",")
groupString=string.gsub(groupString,"HITPOINTS.",",")
groupString=string.gsub(groupString,"MAX_HITPOINTS.",",")
groupString=string.gsub(groupString,"MANA.",",")
groupString=string.gsub(groupString,"MAX_MANA.",",")
groupString=string.gsub(groupString,"MOVES.",",")
groupString=string.gsub(groupString,"MAX_MOVES.",",")
groupString=string.gsub(groupString,"POSITION.",",")
groupString=string.gsub(groupString,"STATUS.",",")
groupString=string.gsub(groupString,"CLASS.",",")
groupString=string.gsub(groupString,"LEVELS.",",")
groupString=string.gsub(groupString,"MAX_","")
groupString=string.cut(groupString,groupString:len()-2)
groupString=string.reverse(groupString)
groupString=string.cut(groupString,groupString:len()-8)
groupString=string.reverse(groupString)
groupTable=groupString:split("MEMBER")
for i=1,#groupTable do
memberTable[i]=groupTable[i]:split(",")
for j=1,#memberTable[i] do
memberTable[i][j]=string.cut(memberTable[i][j],memberTable[i][j]:len()-1)
end
--display(memberTable)
end
groupTable={}
for i=1,#memberTable do
groupTable[i]=memberTable[i][2]
groupHp[memberTable[i][2]]=0+memberTable[i][3]
groupMaxHp[memberTable[i][2]]=0+memberTable[i][4]
groupMana[memberTable[i][2]]=0+memberTable[i][5]
groupMaxMana[memberTable[i][2]]=0+memberTable[i][6]
groupMove[memberTable[i][2]]=0+memberTable[i][7]
groupMaxMove[memberTable[i][2]]=0+memberTable[i][8]
groupPosition[memberTable[i][2]]=memberTable[i][9]
groupStatus[memberTable[i][2]]=memberTable[i][10]
groupClass[memberTable[i][2]]=memberTable[i][11]
groupLevel[memberTable[i][2]]=0+memberTable[i][12]
end
end
Talk to the clown.