Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to verify your details, confirm your email, resolve issues, making threats, or asking for money, are
spam. We do not email users with any such messages. If you have lost your password you can obtain a new one by using the
password reset link.
Due to spam on this forum, all posts now need moderator approval.
Entire forum
➜ MUSHclient
➜ General
➜ Please help, been trying to figure this out for a few hours now :(
Please help, been trying to figure this out for a few hours now :(
|
It is now over 60 days since the last post. This thread is closed.
Refresh page
Pages: 1 2
Posted by
| AaronM86
(42 posts) Bio
|
Date
| Mon 29 Mar 2010 12:28 AM (UTC) |
Message
| How can I get the following trigger to work??
<triggers>
<trigger
enabled="y"
expand_variables="y"
group="Basic - Support"
match="^(.*?) says \'(.*?) me\'$"
regexp="y"
send_to="12"
sequence="100"
>
<send>if "%1" == "self" then
world.send ("say Not going to happen")
elseif "%1" == "anythingotherthanthewordself" then
world.send ("cast %2 %1")
end</send>
</trigger>
</triggers> | Top |
|
Posted by
| Twisol
USA (2,257 posts) Bio
|
Date
| Reply #1 on Mon 29 Mar 2010 12:44 AM (UTC) Amended on Mon 29 Mar 2010 12:45 AM (UTC) by Twisol
|
Message
| First: What's not working? It's hard to help you when we don't know what the symptoms are.
Second: it's world.Send, not world.send. Case matters.
Third: And... you can just use else instead of elseif "%1" == "something else" then . |
'Soludra' on Achaea
Blog: http://jonathan.com/
GitHub: http://github.com/Twisol | Top |
|
Posted by
| AaronM86
(42 posts) Bio
|
Date
| Reply #2 on Mon 29 Mar 2010 01:03 AM (UTC) |
Message
| Sorry for the quick post without explanation. I'm playing a MUD. I'm trying to make it so that if "Self" is seen as the sender of a say message, it will send say Not gonna happen.
But if anything other than the word "Self" is seen then it will cast on the sender of the say message if their message looks like this. Timmy says 'heal me' / I then send: cast heal timmy. I also want to have heal represented by %2 so I can send what spell they wish to be cast upon them. The reason I am trying to out Self is so that I cannot be tricked into casting damage spells onto myself. | Top |
|
Posted by
| Twisol
USA (2,257 posts) Bio
|
Date
| Reply #3 on Mon 29 Mar 2010 01:18 AM (UTC) |
Message
|
AaronM86 said: Sorry for the quick post without explanation. I'm playing a MUD. I'm trying to make it so that if "Self" is seen as the sender of a say message, it will send say Not gonna happen. The reason I am trying to out Self is so that I cannot be tricked into casting damage spells onto myself.
Oh, yes, I understand that. My point is that you can do it much more simply.
Here's a version of the <send> script with my suggested changes (which you didn't say whether they worked or not):
if "%1" == "self" then
world.Send("say Not going to happen")
else
world.Send("cast %2 %1")
end
|
'Soludra' on Achaea
Blog: http://jonathan.com/
GitHub: http://github.com/Twisol | Top |
|
Posted by
| AaronM86
(42 posts) Bio
|
Date
| Reply #4 on Mon 29 Mar 2010 03:02 AM (UTC) |
Message
| Hrm, thank you for your help first off... I entered that in my trigger but for some reason now I can't even get the trigger to fire when it sees the appropriate message. | Top |
|
Posted by
| AaronM86
(42 posts) Bio
|
Date
| Reply #5 on Mon 29 Mar 2010 03:22 AM (UTC) |
Message
| Would using Jscript as my drop-down bar menu selection, under the Scripts sub-menu, for Scripting main-menu, pose any sort of problem as to why it's not firing at all now? I had a script file with jscript from a friend that I was using, does setting the trigger send to: Script conflict because it's written differently? | Top |
|
Posted by
| Nick Gammon
Australia (23,133 posts) Bio
Forum Administrator |
Date
| Reply #6 on Mon 29 Mar 2010 04:28 AM (UTC) |
Message
| I would use Lua unless you have a big reason not to.
As for the trigger, can you post the line (from the MUD) that you think it should match on, but doesn't? |
- Nick Gammon
www.gammon.com.au, www.mushclient.com | Top |
|
Posted by
| Twisol
USA (2,257 posts) Bio
|
Date
| Reply #7 on Mon 29 Mar 2010 04:43 AM (UTC) Amended on Mon 29 Mar 2010 04:45 AM (UTC) by Twisol
|
Message
|
AaronM86 said:
Would using Jscript as my drop-down bar menu selection, under the Scripts sub-menu, for Scripting main-menu, pose any sort of problem as to why it's not firing at all now? I had a script file with jscript from a friend that I was using, does setting the trigger send to: Script conflict because it's written differently?
Yes, that code uses Lua, not JScript. You can't use two different scripting languages at once. The exception is when you have scripts in a plugin, because a plugin can run separately from the world and other plugins.
It might not keep the trigger from firing, but it would cause problems, certainly. |
'Soludra' on Achaea
Blog: http://jonathan.com/
GitHub: http://github.com/Twisol | Top |
|
Posted by
| AaronM86
(42 posts) Bio
|
Date
| Reply #8 on Mon 29 Mar 2010 04:59 AM (UTC) |
Message
| Okay this has gotten me further. First changed scripting to Lua, and trigger still wasn't firing. Disabled my chat_redirector plugin that was pulling my says to log in another world window. And now it is firing the new say trigger for this setup we're discussing; except it seems to be ignoring the ifcheck on the Self and still casting on me. | Top |
|
Posted by
| AaronM86
(42 posts) Bio
|
Date
| Reply #9 on Mon 29 Mar 2010 05:11 AM (UTC) |
Message
| The line I'm trying to fire off of is Trigger: * says '* me'
I also tried converting to regular expression, but I have the same problem occur, where it's now ignoring the ifcheck for Self and still casting on me. | Top |
|
Posted by
| Twisol
USA (2,257 posts) Bio
|
Date
| Reply #10 on Mon 29 Mar 2010 06:00 AM (UTC) |
Message
| He meant the line on the MUD that you're trying to trigger on, not the pattern line you're using to do it. An example of real output from the MUD you're trying to respond to. |
'Soludra' on Achaea
Blog: http://jonathan.com/
GitHub: http://github.com/Twisol | Top |
|
Posted by
| AaronM86
(42 posts) Bio
|
Date
| Reply #11 on Mon 29 Mar 2010 06:08 AM (UTC) |
Message
| Self the male Gryphon Cub says 'distort me' | Top |
|
Posted by
| Twisol
USA (2,257 posts) Bio
|
Date
| Reply #12 on Mon 29 Mar 2010 06:15 AM (UTC) Amended on Mon 29 Mar 2010 06:18 AM (UTC) by Twisol
|
Message
|
AaronM86 said:
Self the male Gryphon Cub says 'distort me'
Okay, I think this is your issue. This is your pattern:
^(.*?) says \'(.*?) me\'$
It will catch everything up to the "says" for capture 1. So %1 is "Self the male Grphon Cub". What I expect you really want is this:
^([^ ]+).*says '(.*?) me'$
That little voodoo there means "one or more of anything but a space". It'll capture up until the first space, which means it should capture "Self". I also have .* after it so that you can have stuff like suffixes and titles after the name - which you do have here - without actually capturing it.
The final issue I'm seeing is that "Self" is not the same as "self". Case matters! You should either check the "ignore case" checkbox for this trigger, or use this instead to compare:
if string.lower("%1") == "self" then
That'll return a lowercased version of the capture, which would be "self" in this case. |
'Soludra' on Achaea
Blog: http://jonathan.com/
GitHub: http://github.com/Twisol | Top |
|
Posted by
| AaronM86
(42 posts) Bio
|
Date
| Reply #13 on Mon 29 Mar 2010 06:23 AM (UTC) |
Message
| Excellent, the ignore case checkmark wouldn't work, still casted on me in that circumstance. But your string.lower check fixed everything. Thank you so much for your patience with me tonight; you have helped me to learn alot. I'm just a beginner with alot of these kinds of things. I've been learning from my friends jscript file that he put together for me by just copying his functions and what not and trying to piece together my own inventions from that lol. If I can get Lua to work through my triggers like this more efficiently then I'll surely do more research into that language. Again, I truly appreciate your help. | Top |
|
Posted by
| Twisol
USA (2,257 posts) Bio
|
Date
| Reply #14 on Mon 29 Mar 2010 06:34 AM (UTC) |
Message
| Not a problem! I'm glad I could help. :) |
'Soludra' on Achaea
Blog: http://jonathan.com/
GitHub: http://github.com/Twisol | Top |
|
The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).
To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.
50,206 views.
This is page 1, subject is 2 pages long: 1 2
It is now over 60 days since the last post. This thread is closed.
Refresh page
top