|
Vitae Enchanter
Joined: 17 Jun 2005 Posts: 673 Location: New York
|
Posted: Tue Aug 12, 2008 11:19 pm
Quick (hopefully) question about #oninput |
#ONINPUT {^antimagic shell} {#IF (%ismember( Mage, @current_classes) AND @current_level >= %eval( 114-(@tier*10))) {castspell antimagic shell}}
#ONINPUT {^test} {#IF (%ismember( Mage, @current_classes) AND @current_level >= %eval( 114-(@tier*10))) {castspell antimagic shell}}
As part of a spellup script I have this and it works perfectly:
#ONINPUT {^antimagic shell} {#IF (%ismember( Mage, @current_classes) AND @current_level >= %eval( 114-(@tier*10))) {cast '167'} {#GAG}}
But you can't cast that spell along with another spell (which also works perfectly):
#ONINPUT {^globe of invulnerability} {#IF ((%ismember( Mage, @current_classes) AND @current_level >= %eval( 177-(@tier*10))) OR (%ismember( Psionicist, @current_classes) AND @current_level >= %eval( 126-(@tier*10)))) {cast '174'} {#GAG}}
When you cast a spell it's removed from the spellup list with a trigger/alias
#TRIGGER {^You conjure forth an anti-magic shell about you.} {castspell antimagic shell}
#ALIAS castspell {#IF (%ismember( %-1, @spellup_yeslist)) {#IF (%ismember( %-1, @spellup_templist)) {spellup_templist=%delitem( %-1, @spellup_templist)}}}
So i decided that logically (and since I prefer globe over shell):
#ONINPUT {^antimagic shell} {#IF ((%ismember( Mage, @current_classes) AND @current_level >= %eval( 177-(@tier*10))) OR (%ismember( Psionicist, @current_classes) AND @current_level >= %eval( 126-(@tier*10)))) {castspell antimagic shell} {#IF (%ismember( Mage, @current_classes) AND @current_level >= %eval( 114-(@tier*10))) {cast '167'} {#GAG}}}
But it sends some command to the mud and I have NO idea what that command even is. But I have a feeling that it's sending the command castspell antimagic shell straight to the mud.
I tried this as a test:
#ONINPUT {^antimagic shell} {#IF (%ismember( Mage, @current_classes) AND @current_level >= %eval( 114-(@tier*10))) {castspell antimagic shell}}
And it always throws an error from the mud.
Is there something about #oninput that don't allow alias's to fire?
I'd rather keep the commands as they are because #oninput displays cleanly for me, and am willing to toss Anti even tho i get it 12 lvls sooner.
Of course there's OTHER spells/skills that I'd rather not toss and want to use.
Yes, I know I can maintain the var list that it loads up the spells and delete anti, and add it in when I remort, but i want as little to do with remembering to add/remove spells as I can :-) |
|
|
|
Vitae Enchanter
Joined: 17 Jun 2005 Posts: 673 Location: New York
|
Posted: Thu Aug 14, 2008 9:55 pm |
??
|
|
|
|
ralgith Sorcerer
Joined: 13 Jan 2006 Posts: 715
|
Posted: Fri Aug 15, 2008 12:39 am |
That SHOULD Work. I triple checked for missing brackets or flawed logic, and found none.
NOTE: Thats on your smaller testing version. Can you turn on the echoing and see whats being sent?
Also you could try #EXEC castspell....
That should FORCE it to work. |
|
_________________ CrossOver: Windows Compatibility on Mac and Linux CMUD Advocate |
|
|
|
Vitae Enchanter
Joined: 17 Jun 2005 Posts: 673 Location: New York
|
Posted: Fri Aug 15, 2008 10:01 pm |
I've turned on all the echoing i can find in the Prefs and NOTHING gets echoed for some reason. Just the error msg by the mud.
I thought of the #exec and tried it and it still didn't work :(
Thing is,
#ONINPUT {^antimagic shell} {#IF (%ismember( Mage, @current_classes) AND @current_level >= %eval( 114-(@tier*10))) {cast '167'} {#GAG}}
and
#ONINPUT {^antimagic shell} {#IF (%ismember( Mage, @current_classes) AND @current_level >= %eval( 114-(@tier*10))) {castspell antimagic shell}}
don't have any more or less brackets and it all flows the same. So there's nothing that should be stopping it from working.
And yes, i also tried the non-working one with and without the #GAG |
|
|
|
Vitae Enchanter
Joined: 17 Jun 2005 Posts: 673 Location: New York
|
Posted: Sat Aug 16, 2008 12:15 am |
Follow up. The builder of Aard was kind enuf to snoop me to see what might be being sent.
Winds up that the "castspell" part is totally being ignored as if it wasn't even there.
15 Aug 19:38 - Lasher tells you '[15 Aug 19:33:30] DaemonChilde tried 'antimagic shell''
I was running this script
#ONINPUT {^antimagic shell} {#IF ((%ismember( Mage, @current_classes) AND @current_level >= %eval( 177-(@tier*10))) OR (%ismember( Psionicist, @current_classes) AND @current_level >= %eval( 126-(@tier*10)))) {castspell antimagic shell} {#IF (%ismember( Mage, @current_classes) AND @current_level >= %eval( 114-(@tier*10))) {cast '167'} {#GAG}}}
I tried:
#noop castspell antimagic shell
#send castspell antimagic shell
#exec castspell antimagic shell
thinking that MAYBE it's just ignoring the 1st part and will work with the rest i tried
#noop {};castspell antimagic shell
#send {};castspell antimagic shell
#exec {};castspell antimagic shell
and still nothing.
BUT, even tho it's NOT at all what I want, I've decided to go with a normal alias for these "special spells"
Reason I liked #oninput was because there IS no display to the screen when it's being input.
With the Alias i have to do {#GAG;cast '167'} and that makes my screen do a little jump and i can't stand that.
If ANY one can come up with the solution as to the #oninput problem, PLEASE let me know! |
|
|
|
ralgith Sorcerer
Joined: 13 Jan 2006 Posts: 715
|
Posted: Sat Aug 16, 2008 3:00 pm |
Just for kicks... try this one?
Code: |
#ONINPUT {^antimagic shell} {#IF ((%ismember( Mage, @current_classes) AND @current_level >= %eval( 177-(@tier*10))) OR ((%ismember( Psionicist, @current_classes) AND @current_level >= %eval( 126-(@tier*10))))) {castspell antimagic shell} {#IF (%ismember( Mage, @current_classes) AND @current_level >= %eval( 114-(@tier*10))) {cast '167'} {#GAG}}} |
I think that should fix it :)
You didn't have the second portion of your if properly bracketed to work with the AND/OR/AND
As for your first examples of:
Quote: |
Thing is,
#ONINPUT {^antimagic shell} {#IF (%ismember( Mage, @current_classes) AND @current_level >= %eval( 114-(@tier*10))) {cast '167'} {#GAG}}
and
#ONINPUT {^antimagic shell} {#IF (%ismember( Mage, @current_classes) AND @current_level >= %eval( 114-(@tier*10))) {castspell antimagic shell}} |
Both worked fine for me as long as all 3 vars were properly set (Mage being in current_classes and capped, current_level set to 200, and tier set to 10)
Here is the code I tested the second evolution with:
Code: |
#CLASS {TestOnINP}
#VAR current_classes {Mage|Sorcerer|Paladin}
#VAR current_level {200}
#VAR tier {10}
#ONINPUT {^antimagic shell} {#IF (%ismember( Mage, @current_classes) AND @current_level >= %eval( 114-(@tier*10))) {
#ECHO {~#IF Fired Successfully}
castspell antimagic shell
} {#ECHO {~#IF Fired Incorrectly}}} "" {notrig}
#CLASS 0 |
And my result:
50504Hp 50127Ma 50000Mv> #IF Fired Successfully
castspell antimagic shell
Huh?!?
With no castspell alias. If I make this: #ALIAS castspell {cast '%-1'}
I instead get:
50504Hp 50127Ma 50000Mv> #IF Fired Successfully
cast 'antimagic shell'
Cast what?!?
Now when I test my solution above... it still gives me:
50504Hp 50127Ma 50000Mv> #IF Fired Successfully
cast 'antimagic shell'
Cast what?!? |
|
_________________ CrossOver: Windows Compatibility on Mac and Linux CMUD Advocate |
|
|
|
Tech GURU
Joined: 18 Oct 2000 Posts: 2733 Location: Atlanta, USA
|
Posted: Sat Aug 16, 2008 4:00 pm |
[Ignore me] Me ralgith's post seems much more helpful and I am very late in responding.
|
|
_________________ Asati di tempari! |
|
|
|
MattLofton GURU
Joined: 23 Dec 2000 Posts: 4834 Location: USA
|
Posted: Sun Aug 17, 2008 1:18 am |
:pokes Tech:
Now's a good time to play with your new superpowers, fellow Guru. |
|
_________________ EDIT: I didn't like my old signature |
|
|
|
Vitae Enchanter
Joined: 17 Jun 2005 Posts: 673 Location: New York
|
Posted: Mon Aug 18, 2008 1:51 pm |
ralgith wrote: |
Just for kicks... try this one?
Code: |
#ONINPUT {^antimagic shell} {#IF ((%ismember( Mage, @current_classes) AND @current_level >= %eval( 177-(@tier*10))) OR ((%ismember( Psionicist, @current_classes) AND @current_level >= %eval( 126-(@tier*10))))) {castspell antimagic shell} {#IF (%ismember( Mage, @current_classes) AND @current_level >= %eval( 114-(@tier*10))) {cast '167'} {#GAG}}} |
I think that should fix it :)
You didn't have the second portion of your if properly bracketed to work with the AND/OR/AND |
Don't work. And was properly bracketed the way I had it. No () was missing, and worked fine with the Globe of Invulnerability. At least to me that means that everything was proper.
Still sends JUST "antimagic shell" |
|
|
|
ralgith Sorcerer
Joined: 13 Jan 2006 Posts: 715
|
Posted: Mon Aug 18, 2008 7:32 pm |
Weird, since I tested it more than once snooping myself on my own mud :)
Something else has to be affecting it. So now I'm lost. If you want you can email me your settings file for this character (with password info removed) and I will import it and test directly on your MUD if you'd like.
ralgith@dubrin.net |
|
_________________ CrossOver: Windows Compatibility on Mac and Linux CMUD Advocate |
|
|
|
Vitae Enchanter
Joined: 17 Jun 2005 Posts: 673 Location: New York
|
Posted: Mon Aug 18, 2008 7:46 pm |
Well, you'd have to get to lvl 177 as a Mage to test it :-)
Figured out that if i'm in note mode i will get the output of the spells
With your Script:
cast '118'
cast '119'
antimagic shell
cast '422'
cast '164' |
|
|
|
Tech GURU
Joined: 18 Oct 2000 Posts: 2733 Location: Atlanta, USA
|
Posted: Thu Aug 21, 2008 6:31 am |
I've tried this myself and it works as ralgith described. Have you tried disabling your other triggers when you test this?
|
|
_________________ Asati di tempari! |
|
|
|
Vitae Enchanter
Joined: 17 Jun 2005 Posts: 673 Location: New York
|
Posted: Thu Aug 21, 2008 9:35 pm |
Yeap. Disabled all the other stuff and still sends JUST antimagic shell
Since my last post, I've remorted and won't be at the correct lvl for quite a while to further test.
EDIT:
DUH, of course i COULD just edit the current_lvl var.
Will check it again
Well, that didn't work. I had turned off all my #oninputs and all it did was send the command (which i expected):
flesh armor
frenzy
giant strength
antimagic shell
godly embrace
harden body
holy aura
indestructible aura
inertial barrier
With the #oninputs activated again:
cast '119'
cast '49'
cast '51'
antimagic shell
cast '425'
cast '422'
cast '164'
cast '91'
cast '121'
And I am using Ralgith's code:
Code: |
#ONINPUT {^antimagic shell} {#IF ((%ismember( Mage, @current_classes) AND @current_level >= %eval( 177-(@tier*10))) OR ((%ismember( Psionicist, @current_classes) AND @current_level >= %eval( 126-(@tier*10))))) {castspell antimagic shell} {#IF (%ismember( Mage, @current_classes) AND @current_level >= %eval( 114-(@tier*10))) {cast '167'} {#GAG}}} |
|
|
|
|
TonDiening GURU
Joined: 26 Jul 2001 Posts: 1958 Location: Canada
|
Posted: Thu Aug 21, 2008 10:17 pm |
Could this just be a case that the trigger has [] trigger on trigger disabled or some other weird checked/unchecked setting?
|
|
|
|
Vitae Enchanter
Joined: 17 Jun 2005 Posts: 673 Location: New York
|
Posted: Fri Aug 22, 2008 11:22 pm |
I took the working #oninput for antimagic shell and made a copy of it, and the only change i made was the body of the trigger.
Effectively it's an exact copy of the old one in the settings. |
|
|
|
ralgith Sorcerer
Joined: 13 Jan 2006 Posts: 715
|
Posted: Wed Aug 27, 2008 3:43 pm |
Well, The offer is still open to test this live with your settings files if you'd like. Though it may be some time. My computers got fried in an electric storm (my entire beowulf cluster!!!) and I'm getting the insurance to buy new ones. I'll check in once I get that far.
|
|
_________________ CrossOver: Windows Compatibility on Mac and Linux CMUD Advocate |
|
|
|
ralgith Sorcerer
Joined: 13 Jan 2006 Posts: 715
|
Posted: Mon Sep 15, 2008 5:32 pm |
Ok, on my new laptop Vitae, if you'd like to relook at this I can install zMUD at any time.
|
|
_________________ CrossOver: Windows Compatibility on Mac and Linux CMUD Advocate |
|
|
|
Rappy Wanderer
Joined: 15 Jul 2005 Posts: 96
|
Posted: Tue Sep 16, 2008 9:28 pm |
Curious on this, could you have had an alias named 'castspell' that was sending %-1. Could be something to look in to, possibly it got added by accident.
-Rappy |
|
_________________ Windows 11 Pro,
cMUD 3.34 |
|
|
|
Vitae Enchanter
Joined: 17 Jun 2005 Posts: 673 Location: New York
|
Posted: Wed Sep 17, 2008 1:53 pm |
@ Ralgith - Sent
@ Rappy - I thought of that too, and there's only one alias named castspell, and that's the one that is supposed to be there. |
|
|
|
ralgith Sorcerer
Joined: 13 Jan 2006 Posts: 715
|
Posted: Wed Sep 17, 2008 7:16 pm |
Ok, I'm installing zMUD on the new laptop tonight, and I'll get back to you in a few days.
|
|
_________________ CrossOver: Windows Compatibility on Mac and Linux CMUD Advocate |
|
|
|
ralgith Sorcerer
Joined: 13 Jan 2006 Posts: 715
|
Posted: Wed Sep 17, 2008 7:47 pm |
Mmmm, not seeing any files in either email... all I got from ya is a PM here on the site ;)
|
|
_________________ CrossOver: Windows Compatibility on Mac and Linux CMUD Advocate |
|
|
|
Vitae Enchanter
Joined: 17 Jun 2005 Posts: 673 Location: New York
|
Posted: Thu Sep 18, 2008 11:21 am |
I sent it to ralgith@dubrin.net
Maybe you should check your spam folder :-)
Subject was "My spellup script"
I'll resend just in case |
|
|
|
ralgith Sorcerer
Joined: 13 Jan 2006 Posts: 715
|
Posted: Fri Sep 19, 2008 1:31 am |
Got it, I'll use the email for all further correspondence on this issue so's we don't spam the forums ;)
|
|
_________________ CrossOver: Windows Compatibility on Mac and Linux CMUD Advocate |
|
|
|
ralgith Sorcerer
Joined: 13 Jan 2006 Posts: 715
|
Posted: Wed Oct 01, 2008 8:48 pm |
Ok everyone, here's what I found to be the problem, and how I solved it.
In this code:
Code: |
#ONINPUT {^antimagic shell} {#IF ((%ismember( Mage, @current_classes) AND @current_level >= %eval( 177-(@tier*10))) OR ((%ismember( Psionicist, @current_classes) AND @current_level >= %eval( 126-(@tier*10))))) {castspell antimagic shell} {#IF (%ismember( Mage, @current_classes) AND @current_level >= %eval( 114-(@tier*10))) {cast '167'} {#GAG}}} |
The castspell antimagic shell sends nothing to the MUD, so the initial firing text (antimagic shell) is sent.
This seems to me a limitation in the way #ONINPUT is implemented.
To solve it I tried putting a #GAG immediately after castspell antimagic shell. This did not fix it, even though in other #ONI's such as:
#ONINPUT {^globe} {#If (0 > 1) {save} {#GAG}}
The gag stops there from being any output. I determined this only worked if the #GAG was the LAST non-bracket part of a #ONI.
So... Solution:
Code: |
#ONINPUT {^antimagic shell} {#IF ((%ismember( Mage, @current_classes) AND @current_level < %eval( 177-(@tier*10)) AND (%ismember( Mage, @current_classes) AND @current_level >= %eval( 114-(@tier*10)))) AND ((%ismember( Psionicist, @current_classes) AND @current_level < %eval( 126-(@tier*10))))) {cast '167'} {
castspell antimagic shell
#GAG
}} |
Which works. At least for me. Vitae should be back to me momentarily on if it works on the actual live MUD. |
|
_________________ CrossOver: Windows Compatibility on Mac and Linux CMUD Advocate |
|
|
|
ralgith Sorcerer
Joined: 13 Jan 2006 Posts: 715
|
Posted: Wed Oct 01, 2008 11:37 pm |
ralgith wrote: |
So... Solution:
Code: |
#ONINPUT {^antimagic shell} {#IF ((%ismember( Mage, @current_classes) AND @current_level < %eval( 177-(@tier*10)) AND (%ismember( Mage, @current_classes) AND @current_level >= %eval( 114-(@tier*10)))) AND ((%ismember( Psionicist, @current_classes) AND @current_level < %eval( 126-(@tier*10))))) {cast '167'} {
castspell antimagic shell
#GAG
}} |
Which works. At least for me. Vitae should be back to me momentarily on if it works on the actual live MUD. |
And that doesn't work if Psionicist isn't in current_classes
So, here is the proper solution:
Code: |
#ONINPUT {^antimagic shell} {
#VARIABLE test_am_shell 0
#IF (%ismember( Mage, @current_classes) AND @current_level >= %eval( 114-(@tier*10))) {#VARIABLE test_am_shell 1}
#IF (%ismember( Mage, @current_classes) AND @current_level >= %eval( 177-(@tier*10))) {#VARIABLE test_am_shell 0}
#IF (%ismember( Psionicist, @current_classes) AND @current_level >= %eval( 126-(@tier*10))) {#VARIABLE test_am_shell 0}
#IF (@test_am_shell > 0) {cast '167'} {
castspell antimagic shell
#GAG
}} |
|
|
_________________ CrossOver: Windows Compatibility on Mac and Linux CMUD Advocate |
|
|
|
|
|