Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » CMUD General Discussion
Tech
GURU


Joined: 18 Oct 2000
Posts: 2733
Location: Atlanta, USA

PostPosted: Fri Jul 18, 2008 10:08 am   

[2.32] CMUDPro - Packages Not Downloading properly from the settings editor
 
Try downloading either of the Company Issue packages for Core MUD. If you add it to your session you get an access violation and then open the session offline

Here's the original for the Mining Package
Code:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<cmud>
<module name="CoreMining" global="true" copy="yes">
  <uid>{4EB3F31F-DFC4-47DF-96D5-6E8D7DD281A3}</uid>
  <macro key="F3" copy="yes">
    <value>drillore</value>
  </macro>
  <button autosize="false" width="50" height="15" autopos="false" left="440" toolbar="2" copy="yes">
    <caption>Drill</caption>
    <value>drillore</value>
  </button>
  <alias name="drillore" copy="yes">
    <value>drill ore</value>
  </alias>
  <trigger name="SatchelCheck" priority="40" trigontrig="false" stop="true" copy="yes">
    <pattern>The satchel can stretch to fit (%d) more units of ore.$</pattern>
    <value>#IF (%1 > @//Variables/CoreMining/MxSatchel) { //Variables/CoreMining/MxSatchel = %1}

//Variables/CoreMining/Satchel=(@//Variables/CoreMining/MxSatchel-%1)</value>
  </trigger>
  <trigger name="DrillCheck" priority="50" trigontrig="false" stop="true" copy="yes">
    <pattern>^This is the *{ion|laser|plasma} drill.</pattern>
    <trigger trigontrig="false">
      <pattern>The internal power supply contains a charge of (%d)/(%d) gerks.</pattern>
      <value>//Variables/CoreMining/DrillPower=%1
//Variables/CoreMining/MxDrillPower=%2</value>
    </trigger>
  </trigger>
  <button type="Gauge" variable="@//Variables/CoreMining/DrillPower" autosize="false" width="120" height="15" autopos="false" left="240" top="17" toolbar="2" image="BOLT" transparent="false" color="#0A64F0" gaugelowcol="#8080FF" gaugebackcol="white" copy="yes">
    <caption>Drill Power</caption>
    <value>look at drill</value>
    <gaugemax>@//CoreMining/Variables/MxDrillPower</gaugemax>
    <gaugelow>@//CoreMining/Variables/MxDrillPower / 5</gaugelow>
    <tooltip>You have @DrillPower gerks left</tooltip>
  </button>
  <button type="Gauge" variable="@//Variables/CoreMining/Satchel" autosize="false" width="120" height="15" autopos="false" left="240" toolbar="2" transparent="false" color="olive" gaugelowcol="silver" gaugebackcol="#C8BE82" copy="yes">
    <caption>Satchel</caption>
    <value>look at satchel</value>
    <gaugemax>@//CoreMining/Variables/MxSatchel</gaugemax>
    <tooltip>Your satchel contains @//Variables/CoreMining/Satchel units of ore.</tooltip>
  </button>
  <button type="Multistate" autosize="false" width="50" height="15" autopos="false" left="385" toolbar="2" iconleft="false" copy="yes">
    <caption>Mining</caption>
    <state caption="Satchel Capacity">look at satchel</state>
    <state caption="Power Drill">charge_drill</state>
    <state caption="Inspect Drill">inspect drill</state>
    <state caption="Repair Drill">repair drill</state>
  </button>
  <alias name="ss" copy="yes">
    <value>shaft status</value>
  </alias>
  <alias name="sb" copy="yes">
    <value>shaft brief</value>
  </alias>
  <macro key="F2" copy="yes">
    <value>inspect drill</value>
  </macro>
  <macro key="F4" copy="yes">
    <value>repair drill</value>
  </macro>
  <var name="MiningStatus" copy="yes"><![CDATA[                           <color aliceblue><u>Mining Status Menu</u></color>


<color gray>Shift:</color>    <color gray>Rank:</color> C   <color gray>Mine:</color>

<color gray>Mining Skill:</color> 33 <color gray>/</color> 33

<color gray>Off-Duty Drills:</color>   <color gray>Total Ore:</color>

<color gray>Last Mined: </color>

]]></var>
  <alias name="co" copy="yes">
    <value>say clocking out</value>
  </alias>
  <event event="displayMiningStatus" priority="310" copy="yes">
    <value><![CDATA[#IF (@//Test/Debug) {#echo Show Mining Stats}

$spacer=%crlf + %crlf

$MStatus="                           <color aliceblue><u>Mining Status Menu</u></color>" + %crlf +$spacer
$MStatus=$MStatus + "<color gray>Shift:</color> " + @//Variables/CoreMining/Shift + "   <color gray>Rank:</color> " + %db( @//Variables/CoreStatus/Rank, Miner) + "   <color gray>Mine:</color> " +@//Variables/CoreMining/Mine + $spacer

#IF (@//Variables/Skills/CurSkillLevel) {$MStatus=$MStatus + "<color gray>Mining Skill:</color> " + %db(@//Variables/Skills/CurSkillLevel, Mining) +" <color gray>/</color> " + %db(@//Variables/Skills/MaxSkillLevel, Mining) + $spacer}

$MStatus=$MStatus +"<color gray>Off-Duty Drills:</color>" + @//Variables/CoreMining/OffDutyCredit + "   <color gray>Total Ore:</color> "@//Variables/CoreMining/TotalMined + $spacer

$MStatus=$MStatus +"<color gray>Last Mined: </color>" + @//Variables/CoreMining/LastMineDate + $spacer

MiningStatus=$MStatus
#VAR %concat( "//", $name, "/StatusDisplay") %concat(@MiningStatus,@//CoreStatus/BackToMain)

//#IF (@//Test/Debug) {#echo @//CoreStatus/StatusDisplay}]]></value>
    <arglist>$name</arglist>
  </event>
  <trigger priority="351" copy="yes">
    <pattern>^Mining shifts on duty: (*)$</pattern>
    <value>#IF (%match ( %1, @//Variables/CoreMining/Shift)) {//Variables/CoreMining/ShiftStatus = "On Duty"} {//Variables/CoreMining/ShiftStatus = "Off Duty"  }</value>
  </trigger>
  <trigger type="Alarm" priority="370" copy="yes">
    <pattern>*:00:01</pattern>
    <value>date
</value>
  </trigger>
  <event event="onLoad" priority="380" copy="yes">
    <value>#ALARM +2 {
  #RAISEEVENT registerStatusMenuItem CoreMining displayMiningStatus "Mining Statistics"
  //Variables/ChargeCmd={recharge}
  //Variables/PowerSource={powercell}
}</value>
  </event>
  <alias name="charge_drill" copy="yes">
    <value>@//Variables/ChargeCmd drill from @//Variables/PowerSource</value>
  </alias>
  <event event="onEnterRefinery" priority="400" copy="yes">
    <value>//Variables/ChargeCmd={charge}</value>
  </event>
  <event event="onExitRefinery" priority="410" copy="yes">
    <value>//Variables/ChargeCmd={recharge}</value>
  </event>
</module>
  <alias name="charge_drill" copy="yes">
    <value>@//Variables/ChargeCmd drill from @//Variables/PowerSource</value>
  </alias>
  <alias name="co" copy="yes">
    <value>say clocking out</value>
  </alias>
  <alias name="drillore" copy="yes">
    <value>drill ore</value>
  </alias>
  <alias name="sb" copy="yes">
    <value>shaft brief</value>
  </alias>
  <alias name="ss" copy="yes">
    <value>shaft status</value>
  </alias>
  <var name="MiningStatus" copy="yes"><![CDATA[                           <color aliceblue><u>Mining Status Menu</u></color>


<color gray>Shift:</color>    <color gray>Rank:</color> C   <color gray>Mine:</color>

<color gray>Mining Skill:</color> 33 <color gray>/</color> 33

<color gray>Off-Duty Drills:</color>   <color gray>Total Ore:</color>

<color gray>Last Mined: </color>

]]></var>
  <trigger type="Alarm" priority="370" copy="yes">
    <pattern>*:00:01</pattern>
    <value>date
</value>
  </trigger>
  <trigger name="DrillCheck" priority="50" trigontrig="false" stop="true" copy="yes">
    <pattern>^This is the *{ion|laser|plasma} drill.</pattern>
    <trigger trigontrig="false">
      <pattern>The internal power supply contains a charge of (%d)/(%d) gerks.</pattern>
      <value>//Variables/CoreMining/DrillPower=%1
//Variables/CoreMining/MxDrillPower=%2</value>
    </trigger>
  </trigger>
  <trigger name="SatchelCheck" priority="40" trigontrig="false" stop="true" copy="yes">
    <pattern>The satchel can stretch to fit (%d) more units of ore.$</pattern>
    <value>#IF (%1 > @//Variables/CoreMining/MxSatchel) { //Variables/CoreMining/MxSatchel = %1}

//Variables/CoreMining/Satchel=(@//Variables/CoreMining/MxSatchel-%1)</value>
  </trigger>
  <trigger priority="351" copy="yes">
    <pattern>^Mining shifts on duty: (*)$</pattern>
    <value>#IF (%match ( %1, @//Variables/CoreMining/Shift)) {//Variables/CoreMining/ShiftStatus = "On Duty"} {//Variables/CoreMining/ShiftStatus = "Off Duty"  }</value>
  </trigger>
  <macro key="F2" copy="yes">
    <value>inspect drill</value>
  </macro>
  <macro key="F3" copy="yes">
    <value>drillore</value>
  </macro>
  <macro key="F4" copy="yes">
    <value>repair drill</value>
  </macro>
  <button autosize="false" width="50" height="15" autopos="false" left="440" toolbar="2" copy="yes">
    <caption>Drill</caption>
    <value>drillore</value>
  </button>
  <button type="Gauge" variable="@//Variables/CoreMining/DrillPower" autosize="false" width="120" height="15" autopos="false" left="240" top="17" toolbar="2" image="BOLT" transparent="false" color="#0A64F0" gaugelowcol="#8080FF" gaugebackcol="white" copy="yes">
    <caption>Drill Power</caption>
    <value>look at drill</value>
    <gaugemax>@//CoreMining/Variables/MxDrillPower</gaugemax>
    <gaugelow>@//CoreMining/Variables/MxDrillPower / 5</gaugelow>
    <tooltip>You have @DrillPower gerks left</tooltip>
  </button>
  <button type="Multistate" autosize="false" width="50" height="15" autopos="false" left="385" toolbar="2" iconleft="false" copy="yes">
    <caption>Mining</caption>
    <state caption="Satchel Capacity">look at satchel</state>
    <state caption="Power Drill">charge_drill</state>
    <state caption="Inspect Drill">inspect drill</state>
    <state caption="Repair Drill">repair drill</state>
  </button>
  <button type="Gauge" variable="@//Variables/CoreMining/Satchel" autosize="false" width="120" height="15" autopos="false" left="240" toolbar="2" transparent="false" color="olive" gaugelowcol="silver" gaugebackcol="#C8BE82" copy="yes">
    <caption>Satchel</caption>
    <value>look at satchel</value>
    <gaugemax>@//CoreMining/Variables/MxSatchel</gaugemax>
    <tooltip>Your satchel contains @//Variables/CoreMining/Satchel units of ore.</tooltip>
  </button>
  <event event="displayMiningStatus" priority="310" copy="yes">
    <value><![CDATA[#IF (@//Test/Debug) {#echo Show Mining Stats}

$spacer=%crlf + %crlf

$MStatus="                           <color aliceblue><u>Mining Status Menu</u></color>" + %crlf +$spacer
$MStatus=$MStatus + "<color gray>Shift:</color> " + @//Variables/CoreMining/Shift + "   <color gray>Rank:</color> " + %db( @//Variables/CoreStatus/Rank, Miner) + "   <color gray>Mine:</color> " +@//Variables/CoreMining/Mine + $spacer

#IF (@//Variables/Skills/CurSkillLevel) {$MStatus=$MStatus + "<color gray>Mining Skill:</color> " + %db(@//Variables/Skills/CurSkillLevel, Mining) +" <color gray>/</color> " + %db(@//Variables/Skills/MaxSkillLevel, Mining) + $spacer}

$MStatus=$MStatus +"<color gray>Off-Duty Drills:</color>" + @//Variables/CoreMining/OffDutyCredit + "   <color gray>Total Ore:</color> "@//Variables/CoreMining/TotalMined + $spacer

$MStatus=$MStatus +"<color gray>Last Mined: </color>" + @//Variables/CoreMining/LastMineDate + $spacer

MiningStatus=$MStatus
#VAR %concat( "//", $name, "/StatusDisplay") %concat(@MiningStatus,@//CoreStatus/BackToMain)

//#IF (@//Test/Debug) {#echo @//CoreStatus/StatusDisplay}]]></value>
    <arglist>$name</arglist>
  </event>
  <event event="onEnterRefinery" priority="400" copy="yes">
    <value>//Variables/ChargeCmd={charge}</value>
  </event>
  <event event="onExitRefinery" priority="410" copy="yes">
    <value>//Variables/ChargeCmd={recharge}</value>
  </event>
  <event event="onLoad" priority="380" copy="yes">
    <value>#ALARM +2 {
  #RAISEEVENT registerStatusMenuItem CoreMining displayMiningStatus "Mining Statistics"
  //Variables/ChargeCmd={recharge}
  //Variables/PowerSource={powercell}
}</value>
  </event>
</cmud>

_________________
Asati di tempari!
Reply with quote
Tech
GURU


Joined: 18 Oct 2000
Posts: 2733
Location: Atlanta, USA

PostPosted: Tue Jul 22, 2008 6:57 pm   
 
Did anyone look into this?
_________________
Asati di tempari!
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Tue Jul 22, 2008 7:08 pm   
 
Sorry I didn't catch this for some reason.

But I'm confused by your post. In the XML that you posted, you have a MODULE called CoreMining that contains a bunch of settings. But then you have a duplicate of all of the settings after the closing of the module without being contained within any other module or window.

So I'm not sure how you created that XML in the first place.

When I downloaded the Mining Package, the package in the library also seems to be corrupted. There are several settings that seem to exist outside of any module or window. So maybe it was corrupted when you uploaded it? Certainly uploading the XML that you posted would cause problems because of all of the settings outside of a module.

If you have a clean *.PKG file that you want me to test uploading and downloading to the library, please email it to sales@zuggsoft.com for me to test. I didn't get any problems with my own package upload/download testing.
Reply with quote
Tech
GURU


Joined: 18 Oct 2000
Posts: 2733
Location: Atlanta, USA

PostPosted: Tue Jul 22, 2008 9:07 pm   
 
I agree if the uploaded package was corrupted then that would explain it. Not sure how it wasn't picked. And it probably happened to both too. I'll try and clean up the packages and try uploading them again. I'm not even sure how they got corrupted.

I recall messing around with them when trying update a particular package. If I run into it again, or can provide more details then I'll let you know. Thanks for info, and I hope this wasn't too distracting. Smile
_________________
Asati di tempari!
Reply with quote
Tech
GURU


Joined: 18 Oct 2000
Posts: 2733
Location: Atlanta, USA

PostPosted: Tue Jul 22, 2008 10:46 pm   
 
[Update] Ok so I was playing around and I figured out how got XML like that. If you just a module selected and click copy, you will get the XML for all settings under that module. But if you have the module expanded and you select the module and the settings, you'll get both sets of XML copied and ended up with XML like I posted above.

This can be pretty nasty depending on how folks are using the XML to back up their scripts.
_________________
Asati di tempari!
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Wed Jul 23, 2008 12:35 am   
 
Yeah, when you select and copy an individual setting, CMUD creates XML for it that isn't rooted in any particular class. This allows you to copy/paste a setting into a different folder, package, etc. When you select and copy a class folder, or module, or window, XML for the entire class/module/window is created. So yes, if you also select the settings within the folder, then you get duplicates in the XML as you mentioned. CMUD wasn't designed to require you to select everything within a folder...just select the folder itself.

But I can see that problem this might cause with some people, so I'll see if I can find a way to detect this and not export the individual settings that are within the class when they are also selected.

Of course, the way you are *supposed* to backup your scripts is with the File/Export command, which exports the entire package to an XML file without duplicating anything. It's only the "Export Selected" command that has the problem with duplicates when the items in the folder are also selected.

Anyway, glad you figured it out!
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD General Discussion All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© 2009 Zugg Software. Hosted by Wolfpaw.net