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
➜ Want an alias to repeat a number of commands at a certain time
Want an alias to repeat a number of commands at a certain time
|
It is now over 60 days since the last post. This thread is closed.
Refresh page
Posted by
| Xandler
(52 posts) Bio
|
Date
| Mon 05 Jul 2021 04:59 PM (UTC) |
Message
| Trying to build something out so my character will do X amount of things at a certain time (ie eat 30 pieces of bread at midnight).
I have adapted the alias found here:
https://www.gammon.com.au/forum/?id=8473
to something similar (just changed the initial repeat symbol)
<aliases>
<alias
name="itemrepeat"
match="^@\s*(\d+) (.*?)$"
enabled="y"
regexp="y"
send_to="12"
sequence="100"
>
<send>-- check at least 1 repeat
if %1 < 1 then
ColourNote ("white", "red", "Too few repeats specified (%1)")
return
end -- if
-- check not more than 1000 repeats
if %1 > 1000 then
ColourNote ("white", "red", "Too many repeats specified (%1)")
return
end -- if
-- execute (send to command processor) the command
for i = 1, %1 do
Execute "%2"
end -- for loop</send>
</alias>
</aliases>
Is there a way to adapt this into doing a set amount of things at a certain time like I stated initially? I figure it would be some sort of timer that's set to At this time instead of every interval, but that's as far as I've gotten. I have no idea how to produce the result I want. Any help would be fantastic! | Top |
|
Posted by
| Nick Gammon
Australia (23,133 posts) Bio
Forum Administrator |
Date
| Reply #1 on Mon 05 Jul 2021 10:39 PM (UTC) |
Message
| Timers can fire at a certain time, so this example shows how a script executes every day at 9:30 AM. You could change that to 23:59, if you wanted it to fire close to midnight.
<timers>
<timer enabled="y"
hour="9"
minute="30"
second="0.00"
send_to="12"
at_time="y"
>
<send>
print ("Timer fired at 9:30 AM")
</send>
</timer>
</timers>
|
For advice on how to copy the above, and paste it into MUSHclient, please see Pasting XML.
|
My example sends to "Script" but you could send to "Execute" if you want to do thing like aliases which are set up elsewhere.
If you want to make an alias to do this (rather than just making the timer) you can use the addxml module documented here: http://www.gammon.com.au/forum/?id=7123
So now your alias can add a timer (like below) and the thing to send, and the time to send it could be passed into the code below rather than being hard-coded.
require "addxml"
addxml.timer { name = "mytimer",
hour = 9,
minute = 35,
-- the thing to send
send = [[
print ("hi there!")
]],
enabled = true,
at_time = true,
send_to = sendto.script,
}
|
- Nick Gammon
www.gammon.com.au, www.mushclient.com | Top |
|
Posted by
| Xandler
(52 posts) Bio
|
Date
| Reply #2 on Tue 06 Jul 2021 12:29 AM (UTC) |
Message
| I understand what you're saying (I don't think it's quite what I'm looking for), long story short, I want the alias to do say @30 eat bread at a certain time (which would process eat bread 30 times), is there a way to adapt that alias into a timed interval so it fires at a certain time of day? | Top |
|
Posted by
| Nick Gammon
Australia (23,133 posts) Bio
Forum Administrator |
Date
| Reply #3 on Tue 06 Jul 2021 03:53 AM (UTC) |
Message
| Well, you do what I said in reply #1, and make it send to "execute" and in that do your other alias to do something 30 times. |
- Nick Gammon
www.gammon.com.au, www.mushclient.com | 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.
11,341 views.
It is now over 60 days since the last post. This thread is closed.
Refresh page
top