[Home] [Downloads] [Search] [Help/forum]


Register forum user name Search FAQ

Gammon Forum

[Folder]  Entire forum
-> [Folder]  MUSHclient
. -> [Folder]  General
. . -> [Subject]  alias question

alias question

It is now over 60 days since the last post. This thread is closed.     [Refresh] Refresh page


Posted by Brianz19   (11 posts)  [Biography] bio
Date Tue 12 Sep 2006 09:43 AM (UTC)
Message
i have a couple alias's set for targets, so i type 'j dog' or whatever it sets one alias to kill dog, etc. but when i type j dog i want a message to show up saying target1 is dog or something to that effect. anyone know?
[Go to top] top

Posted by Nick Gammon   Australia  (22,973 posts)  [Biography] bio   Forum Administrator
Date Reply #1 on Tue 12 Sep 2006 08:58 PM (UTC)
Message
I don't quite understand that. If you type 'j dog' don't you know you are targetting a dog?

Anyway, if you do "send to script" in the alias, you can find the contents of variables with a small script, like this:


Note ("Target is " .. GetVariable ("target"))

- Nick Gammon

www.gammon.com.au, www.mushclient.com
[Go to top] top

Posted by NeoFryBoy   USA  (42 posts)  [Biography] bio
Date Reply #2 on Wed 13 Sep 2006 04:11 AM (UTC)
Message
Or...

j *

world.send "kill %1"
world.note "Target is %1"
[Go to top] top

Posted by Brianz19   (11 posts)  [Biography] bio
Date Reply #3 on Wed 13 Sep 2006 05:39 AM (UTC)
Message
Well in the heat of things you can sometimes miss type something and i just want to be sure..i tried both of those things and they didn't work..i think my mushclient is using lua scripting if that helps.

that world.note thing that neofry boy said is exactly what im looking for though perhaps in a different color than white if at all possible. thx in advance
[Go to top] top

Posted by Nick Gammon   Australia  (22,973 posts)  [Biography] bio   Forum Administrator
Date Reply #4 on Wed 13 Sep 2006 06:01 AM (UTC)
Message
Lua is case-sensitive, so it would be:


Send "kill %1"
Note "Target is %1"


For different colours, check out:

http://www.gammon.com.au/scripts/doc.php?function=ColourNote

- Nick Gammon

www.gammon.com.au, www.mushclient.com
[Go to top] top

Posted by Brianz19   (11 posts)  [Biography] bio
Date Reply #5 on Wed 13 Sep 2006 08:29 AM (UTC)

Amended on Wed 13 Sep 2006 08:40 AM (UTC) by Brianz19

Message
hmm..i tried that it didn't work..let me explain how my alias is set up cause that might be the problem here


so i use the numpad to move and the number 1 on numpad is set to "188"

now there are 2 alias's i have set up for just 1 of these kill alias's -->

alias : j *

send : %1

variable : target

send to : variable


and then the 2nd alias

alias : 188

send : k @target

send to : world

and it has expand variables checked.

does that change anything? i also dont want the note to be sent to the mud cause then it will waste a command ( that's what it deos when i put what you wrote in the 'send' box. also i want the message to be sent when i activate the first alias)

sorry for the trouble =[

edit: was just testing what you wrote and what is happening is when i add the note "Target is %1" it doesn't activate when i type j dog, it activates when i hit the button that actually does the kill alias which is not what i want because then it will do it every time i want to hit that target, and also it's not showing up as a world note it shows up liek this :

k dog
Note "Target is dog"
They aren't here.

* HP:Healthy MV:Fresh > Arglebargle, glop-glyf!?!
[Go to top] top

Posted by Onoitsu2   USA  (248 posts)  [Biography] bio
Date Reply #6 on Wed 13 Sep 2006 12:22 PM (UTC)
Message
well with Nick's latest answer it is somewhat lacking, such as lacking the parenthesis ()

Send("kill %1")
Note("Target is %1")

that is the full syntax, and if that does not work then you might need to turn on the scripting (Ctrl+Shift+6)
and check enable script next to the pulldown list.

Hope you can get this working properly.

Laterzzz,
Onoitsu2
[Go to top] top

Posted by Ked   Russia  (524 posts)  [Biography] bio
Date Reply #7 on Wed 13 Sep 2006 01:38 PM (UTC)
Message
You can simply replace your "j *" alias with this one. Copy the following and paste it in your Aliases dialogue.


<aliases>
  <alias
   match="j *"
   enabled="y"
   send_to="12"
   sequence="100"
  >
  <send>world.SetVariable("target", "%1")
world.Note("Target set to: %1" )</send>
  </alias>
</aliases>

[Go to top] top

Posted by Brianz19   (11 posts)  [Biography] bio
Date Reply #8 on Wed 13 Sep 2006 02:56 PM (UTC)
Message
Thank you everyone for help, and thanks ked that's exactly what i was looking for =]
[Go to top] top

Posted by David Haley   USA  (3,881 posts)  [Biography] bio
Date Reply #9 on Wed 13 Sep 2006 03:12 PM (UTC)
Message
Quote:
well with Nick's latest answer it is somewhat lacking, such as lacking the parenthesis ()
Actually that is a special case in Lua's syntax, left over from its data description days. You may call a function that takes only a single string as an argument without parentheses, as long as it is unambigously a function call (which it is, in this case).

Personally I prefer the parentheses because I'm so used to seeing them, but you don't technically need to use them in this particular case.

David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone

http://david.the-haleys.org
[Go to top] top

Posted by Onoitsu2   USA  (248 posts)  [Biography] bio
Date Reply #10 on Thu 14 Sep 2006 09:28 AM (UTC)
Message
Well I stated that because every time I would attempt that it would complain to high heaven about missing parenthesis.

So I have never had it work without parenthesis, even on a single string argument that us unambiguous as you have stated.

I have never seen documentation on LUA where it is not using the parenthesis either, so I have ALWAYS used them, well except for my very early days of porting my scripts from VB to LUA. Boy that was a doozy of errors about missing parenthesis.

Laterzzz,
Onoitsu2
[Go to top] top

Posted by Nick Gammon   Australia  (22,973 posts)  [Biography] bio   Forum Administrator
Date Reply #11 on Thu 14 Sep 2006 09:01 PM (UTC)
Message
Try it, it does work, with a single string argument, but variations won't:


print "hello"  --> hello

print string.upper ("hello")  --> error: '=' expected near 'string'

print "hello" .. " world" --> error: unexpected symbol near '..'

print 42  --> '=' expected near '42'


Quote:

I have never seen documentation on LUA where it is not using the parenthesis either ...


See:

http://www.lua.org/manual/5.0/manual.html

Section 2.5.7 - Function calls.




A call of the form f{...} is syntactic sugar for f({...}), that is, the argument list is a single new table. A call of the form f'...' (or f"..." or f[[...]]) is syntactic sugar for f('...'), that is, the argument list is a single literal string.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
[Go to top] 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.


31,003 views.

It is now over 60 days since the last post. This thread is closed.     [Refresh] Refresh page

Go to topic:           Search the forum


[Go to top] top

Quick links: MUSHclient. MUSHclient help. Forum shortcuts. Posting templates. Lua modules. Lua documentation.

Information and images on this site are licensed under the Creative Commons Attribution 3.0 Australia License unless stated otherwise.

[Home]


Written by Nick Gammon - 5K   profile for Nick Gammon on Stack Exchange, a network of free, community-driven Q&A sites   Marriage equality

Comments to: Gammon Software support
[RH click to get RSS URL] Forum RSS feed ( https://gammon.com.au/rss/forum.xml )

[Best viewed with any browser - 2K]    [Hosted at HostDash]