erazmus Beginner
Joined: 05 Apr 2004 Posts: 11 Location: New Zealand
|
Posted: Sat Apr 24, 2004 1:30 pm
Some help please.... |
I have 2 aliases which are part of an eq changing routine.
However I find that while it *seems* to be set out right, the output is not correct.
In the following please ignore the :'s along the left hand side, they're just there to keep spacing and don't appear in the real thing...
The first trigger is called eqChangeCombat and is as follows...
#IF (isAsleep) {
::wake
::wokenUp = true
::isAsleep = false
} {}
#IF (%arrget( locFloat, @wornIsInvis) or %arrget( locFloat, @combatIsInvis)) {
::#IF (@canSeeInvis) {eqSwap locFloat @eqCombat @eqCombatContainer} {
::::get @detectFood @detectContainer
::::eat @detectFood
::::eqSwap locFloat @eqCombat @eqCombatContainer
::}
} {eqSwap locFloat @eqCombat @eqCombatContainer}
From what I can tell this seems to be working correctly.
The 2nd alias is called eqSwap and you see it called a few times above and I think it is this that is screwing up....
I have changed the layout a little from how zMud tries to display it to hopefully make it more readable but it has exactly the same content.
;eqSwap %1 %2 %3
;Parameters : %1 is the location,%2 is the @eqIndex ie. @eqCombat etc, and %3 is the container for the new eq.
;also if the location being changed is the light then do things in a different order, so as to avoid being left in
;the dark
#IF (%1 <> "locLight") {
::#IF (%arrget( %1, @eqWorn)<>%arrget( %1, %2)) {
::::get %arrget( %1, %2) %3
::::remove %arrget( %1, @eqWorn)
::::put %arrget( %1, @eqWorn) %arrget( %1, @eqWornContainer)
::::wear %arrget( %1, %2)
::::#NOOP %arrset( %1, @eqWorn, %arrget( %1, %2))
::::#NOOP %arrset( %1, @eqWornContainer, %3)
::}{#ECHO xxAlreadyWornxx}
}{
::#IF (%arrget( %1, @eqWorn)<>%arrget( %1, %2)) {
::::get %arrget( %1, %2) %3
::::wear %arrget( %1, %2)
::::put %arrget( %1, @eqWorn) %arrget( %1, @eqWornContainer)
::::#NOOP %arrset( %1, @eqWorn, %arrget( %1, %2))
::::#NOOP %arrset( %1, @eqWornContainer, %3)
::}{#ECHO xxAlreadyWornxx}
}
What I am finding is that these 2 combined are producing the following output, so the mud follows as far as the first line then ????? -
wake<new_line>
{#IF (Zed<>Glowing) {get Glowing Sack;remove Zed;put Zed Sack;wear Glowing;#NOOP Glowing;#NOOP Sack}
{#ECHO xxAlreadyWornxx}}{#IF (Glowing<>Glowing) {get Glowing Sack;wear Glowing;put Glowing Sack;#NOOP Glowing;#NOOP Sack} {#ECHO xxAlreadyWornxx}}<all_one_long_line!>
Any help would be appreciated :)
Cheers,
Erazmus. |
|