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
➜ Creating a Skill/Spell Adepting Bot in MUSHClient
Creating a Skill/Spell Adepting Bot in MUSHClient
|
It is now over 60 days since the last post. This thread is closed.
Refresh page
Posted by
| Zurk
(2 posts) Bio
|
Date
| Sat 19 Nov 2005 12:35 PM (UTC) |
Message
| I was curious, as I used to use zMUD until it stopped working with Windows XP, as to if it were possible to create bots using mushclient to adept skills and spells. I know in zmud you could do this by making classes to add triggers, variables, etc into and be able to turn the classes on and off. I'd made several bots for skills and spells, gold runs, and leveling in zmud, but now that i've switched to mush client (which i've found to be better than zmud in most cases) i can't seem to create any bots. any help? | Top |
|
Posted by
| Ekerim
Sweden (18 posts) Bio
|
Date
| Reply #1 on Sat 19 Nov 2005 05:58 PM (UTC) Amended on Sat 19 Nov 2005 06:00 PM (UTC) by Ekerim
|
Message
| Hmmm...define "bots".
MushClient doesn't have "Classes" but it does have "Groups" which amounts to the same thing I guess, at least you can enable and disable a whole group of Triggers/Aliases/Timers.
When it comes to what can be done with MushClient I would say pretty much anything, if you have a library that lets you grind and boil coffee you could most likely find a way to use it from MushClient.
It all comes down to if you can code any of the programming languages MushClient can handle (Lua, Perl, Python, JavaScript or VB I believe). I know I prefer Perl, which is a language completely dedicated to text processing (It can do ALOT more) but you might prefer an other language for other reasons. If you need to write a threaded application Python and Lua are your best choices.
// Fredrik | Top |
|
Posted by
| Zurk
(2 posts) Bio
|
Date
| Reply #2 on Sun 20 Nov 2005 02:18 AM (UTC) |
Message
| Well, by bots I mean a system of triggers that allow the fully automated process of adepting spells and skills. For instance, you gain a spell at 20% complete, instead of having to sit at the computer for and hour or so maxing it at 95% you can set up a bot to run while you're not sitting at the computer. It would cast the spell, regain mana, cancel any effects the spell placed on you, and start again from the casting of the spell. It's kind of hard to explain, but you may get the point from the example I just gave.
=\ Hope that helped somewhat? | Top |
|
Posted by
| Ekerim
Sweden (18 posts) Bio
|
Date
| Reply #3 on Sun 20 Nov 2005 04:25 PM (UTC) |
Message
| That should be doable with a combination of Triggers and Timers :) but if I were an admin at that mud I would frown on the use of bots. They didn't code the mud so that people could run bots to max out thier skill...doesn't that kinda take the fun out of playing ? If it doesn't bother them, why didn't they code the player object with 95%+ in all skills and spells from the start.
I would probably do it like this though:
1.) Activate a trigger that would match on some word in the failed effect of the spell/skill.
2.) Activate a trigger that would match on some word in the event that you don't have enough mana/moves (or whatever skills costs) to use the spell/skill.
3.) Activate a trigger that would match some words in the effect of the spell/skill ending.
4.) Start the looping.
First trigger:
This trigger would just try to recast the spell or reuse the skill. Nothing fancy.
Second trigger:
This trigger would make you sleep/rest or whatever lets you regain mana/moves on your mud and then set up a one-shot timer to call a function that would wake you up and recast the spell or reuse the skill.
Third trigger:
This one would first check the percentage of the spell/skill and if it has reached the target level the trigger would disable itself and the other two triggers and terminate. If the desired percentage has not been reached it would recast the spell or reuse the skill.
I would use a variable to store the commands to cast the spell/use the skill. for example 'cast strength me'.
I would use a variable to store the commands to regain mana/moves. for example 'rest'
I would use a variable to store the commands to be ready for the next try after resting/sleeping. for example 'stand'
This way I could change them depending on if it was a skill or spell I wanted to train so that I could reuse the triggers without having to have special cases for spells or skills.
// Fredrik | Top |
|
Posted by
| Nick Gammon
Australia (23,133 posts) Bio
Forum Administrator |
Date
| Reply #4 on Mon 21 Nov 2005 01:33 AM (UTC) |
Message
|
Quote:
... you could do this by making classes to add triggers, variables, etc into and be able to turn the classes on and off.
You can do this in 2 major ways in MUSHclient. The first is to simply put related things (triggers etc.) into groups, which you can do in the GUI interface, and then use EnableGroup script function which enables/disables the entire group. See:
http://www.gammon.com.au/scripts/doc.php?function=EnableGroup
However the best way is probably to make each bot, or function you are trying to do, into a separate plugin. See this page for an explanation of how you can make plugins easily:
http://www.gammon.com.au/mushclient/plugins/
I would recommend you develop each bot separately, then make it into a plugin using the method described there. That effectively moves every (selected) trigger/alias/timer/variable into that plugin along with its related scripts.
That "clear them out" of your main worldfile, ready for making another one. You can then install that plugin whenever you want that particular bot (and re-use them in other worlds with a minimum of fuss).
You can then either simply install theh plugin when you want the bot active, or use EnablePlugin to enable or disable the entire plugin.
http://www.gammon.com.au/scripts/doc.php?function=EnablePlugin
|
- 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.
17,862 views.
It is now over 60 days since the last post. This thread is closed.
Refresh page
top