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
ralgith
Sorcerer


Joined: 13 Jan 2006
Posts: 715

PostPosted: Sat Aug 06, 2011 2:45 pm   

#WAIT or #LOOP issue
 
Setup:
Character Session Window 1:
Has an automatic practice script that uses #WAIT

Character Session Window 2:
Has an extra package attached to it and 2 other windows, but not to windows 1 above for Combat Macros

Only shared extra package between the two windows is the "Everyone" package

However, while the autoprac script is running, I cannot get any macros to work on windows 2,3,4 (3 & 4 are the same setup as 2 above, and share that combat macros package)

Any ideas?


Autoprac Script (Issue is most likely in the RunPrac alias):
Code:

<class name="Automatic Practice" id="480">
  <alias name="pracon" id="481">
    <value>#t+ pscan
#CLASS {Automatic Practice}
#VAR PracStatus "On"
#CLASS 0</value>
  </alias>
  <alias name="pracoff" id="482">
    <value>#t- pscan
#CLASS {Automatic Practice}
#VAR PracStatus "Off"
#CLASS 0</value>
  </alias>
  <alias name="addprac" id="483">
    <value>#IF (%1 = "" | %2 = "") {
  #EXEC prachelp
  #ABORT 1
  }
#CLASS {Automatic Practice}
#IF (%ismember( %1, @PracListSpell)) {
  #ECHO This spell is already part of the practice list. Updating the matching spell percentage with percentage listed now and also updating the target.
  #VAR PracListMax  %replaceitem( %2, %ismember( %1, @PracListSpell), @PracListMax)
  #IF (%3) {#VAR PracListTarget  %replaceitem( %3, %ismember( %1, @PracListSpell), @PracListTarget)}
  } {
  #VAR PracListSpell  %additem( %1, @PracListSpell)
  #VAR PracListMax  %additem( %2, @PracListMax)
  #IF (%3) {#VAR PracListTarget  %additem( %3, @PracListTarget)} {#VAR PracListTarget  %additem( "Blank", @PracListTarget)}
  }</value>
  </alias>
  <alias name="nextprac" id="484">
    <value>spell =  %pop( PracListSpell)
max =  %pop( PracListMax)
#IF (%item( @PracListTarget, 1) = "Blank") {
  targ = ""
  #DELNITEM PracListTarget 1
  } {targ =  %pop( PracListTarget)}</value>
  </alias>
  <alias name="prachelp" id="485">
    <value>#ECHO %cr
#ECHO {Erian's Automatic Practice Script}
#ECHO {Version: @APvers}
#ECHO {----------------------------------------------------------------------------------------------------}
#ECHO {Please Use This Format: addprac ~ ~ ~[SpellTarget~]}
#ECHO {SpellTarget is only required for combat spells and locate object, identify, or remove curse (use item in inventory).}
#ECHO {Please remember to add prereqs in proper order, BEFORE the higher spells in the chain.}
#ECHO {NOTE: You must encapsulate multi-word spell names in quotes. Example: addprac ~"word of recall~" 90}
#ECHO {Requirements: MudReader Plugin}
#ECHO {Designed for Eternal Darkness MUD ( ed.wolfpaw.net )}
#ECHO {Requirement Exception: You may skip using MudReader Plugin if you manually edit all of the ~#SPEAK into ~#ECHO}
%cr</value>
  </alias>
  <var name="maxma" id="486">4181</var>
  <var name="spell" id="487">cure blindness</var>
  <var name="targ" type="Literal" id="488"/>
  <var name="max" id="489">83</var>
  <var name="APvers" type="String" id="490">3.0.1 Beta</var>
  <var name="NonDummyList" type="StringList" id="491">
    <value>darkness|plant growth</value>
    <json>["darkness","plant growth"]</json>
  </var>
  <var name="PracName" type="String" id="492">%char</var>
  <var name="PracListSpell" type="StringList" id="493">
    <value>cure disease|heal|power heal|group heal|restoration|group restoration</value>
    <json>["cure disease","heal","power heal","group heal","restoration","group restoration"]</json>
  </var>
  <var name="PracListMax" type="StringList" id="494">
    <value>83|83|83|83|83|83</value>
    <json>[83,83,83,83,83,83]</json>
  </var>
  <var name="PracListTarget" type="StringList" id="495">
    <value>Blank|Blank|Blank|Blank|Blank|Blank</value>
    <json>["Blank","Blank","Blank","Blank","Blank","Blank"]</json>
  </var>
  <var name="PracMana" id="496">3831</var>
  <var name="PracPrompt" type="Literal" id="497">Yes</var>
  <var name="FleeAct" type="String" id="498">flee</var>
  <trigger priority="4990" newline="false" prompt="true" id="499">
    <pattern>%dhp (%d)m %dmv></pattern>
    <value>#CLASS {Automatic Practice}
#VAR PracMana %1
#VAR PracPrompt "Yes"
#CLASS 0</value>
  </trigger>
  <class name="Run Prac" initdisable="true" id="500">
    <alias name="PerformPrac" id="501">
      <value>#THREAD "autoprac_zaem" {
  #IF (%ismember( @spell, @NonDummyList)) {e} {w}
  #T- pscan
  #WHILE (%int( %eval( @PracMana * 100 /  @maxma)) > 15 &amp;&amp; @PracStatus = "On") {
    #CLASS {Automatic Practice}
    #VAR PracPrompt "No"
    #CLASS 0
    c '@spell'  @targ
    #WHILE (@PracPrompt = "No") {
      #IF (@PracNoFight) {
        #5  @FleeAct east
        #CLASS {Automatic Practice}
        #VAR PracNoFight {}
        #CLASS 0
        #EXIT
        }
      #IF (@PracNoMana) {
        #IF (@targ = "dummy") {#5  @FleeAct east} {e}
        #CLASS {Automatic Practice}
        #VAR PracNoMana {}
        #CLASS 0
        #EXIT
        }
      #WAIT 2000
      }
    }
  #IF (%ismember( @spell, @NonDummyList)) {w} {#IF (@targ = "dummy") {#5  @FleeAct east} {e}}
  prac  @spell
  #T+ pscan
  }</value>
    </alias>
    <trigger name="blah" priority="5020" id="502">
      <pattern>@spell%s(%d)</pattern>
      <value>#IF (%1 =  @max) {
  #ECHO {@PracName has completed practice on @spell}
  #IF (@PracListSpell) {
    #ECHO {@PracName moving on to next spell, %item( @PracListSpell, 1)}
    nextprac
    } {
    #ECHO {@PracName has completed all current practice requirements.}
    pracoff
    }
  } {#ECHO {@PracName @spell at %1 percent.}}</value>
    </trigger>
    <trigger priority="5030" id="503">
      <pattern>Impossible!  You can't concentrate enough!</pattern>
      <value>#CLASS {Automatic Practice}
#VAR PracNoFight 1
#CLASS 0</value>
    </trigger>
    <trigger priority="5040" id="504">
      <pattern>You haven't the energy to cast that spell!</pattern>
      <value>#CLASS {Automatic Practice}
#VAR PracNoMana 1
#CLASS 0</value>
    </trigger>
    <class name="pscan" enabled="false" id="505">
      <trigger priority="5060" newline="false" prompt="true" id="506">
        <pattern>(%d)hp (%d)m (%d)mv></pattern>
        <value>#IF (%2 ==  @maxma) {PerformPrac}</value>
      </trigger>
    </class>
  </class>
  <var name="PracStatus" type="Literal" id="507">On</var>
  <var name="PracNoMana" type="String" id="509"/>
</class>
_________________
CrossOver: Windows Compatibility on Mac and Linux CMUD Advocate
Reply with quote
ralgith
Sorcerer


Joined: 13 Jan 2006
Posts: 715

PostPosted: Sat Aug 06, 2011 2:47 pm   
 
<edited>
_________________
CrossOver: Windows Compatibility on Mac and Linux CMUD Advocate
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