• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Solved Elfbot Hotkey

Tobbz

New Member
Joined
Jan 7, 2008
Messages
35
Reaction score
3
Location
Sweden
Hello i got i problem with a elfbot hotkey. :(

"auto 200 if [$lastmsg.content ? 'You have reached the max level please go make rebirth.'] gotolabel back"

The problem is "You have reached the max level please go make rebirth." text comes in the serverlog, so that hotket can't read it ;/
 
Last edited:
Well, i said this some times around here:
Elfbots "in-game message recognition system" ($lastmsg, $curmsg, foreach 'newmessages') does not works 100%. It misses a lot of in-game messages, specially if your ping is high (100+).

In order to maximize the CHANCE that elfbot will "read" some message you should use "auto 1", that means that elfbot will execute the hotkey 1000 times per second.

then your hotkey should be:

auto 1 if [$lastmsg.content ? 'You have reached the max level please go make rebirth.'] gotolabel back

That hotkey will check 1000 times per second if the last message (of any kind) your client received contains "You have reached the max level please go make rebirth."

If you received that message and the hotkey didn't work, that is, the condition was not true. Then the most likely cause is that elfbot did NOT read the message properly. Elfbot did NOT detect that message. This i can't explain exactly because i dont have the source code of elfbot :). But in my experience i noticed that this "chance" of detection by elfbot is higher when your ping with the server is lower. I have another theories but it is not the case.
What is important: the hotkey is correct and the problem is with elfbot.

BUT lets be optimists and think that elfbot read properly the message and the problem is with the function used. It is POSSIBLE that the function/system used by $lastmsg is different than the one that foreach 'newmessages' uses.

Then you can try:

auto 1 foreach 'newmessages' $b if [$b.content ? 'You have reached the max level please go make rebirth.'] gotolabel back

If that does not work:
Reasons:
1- Elfbot missed the message (if that is the case it should work sometimes, we are talking about possibilities/chances)
2- Elfbot could not identify that message, what means that it can't be read by elfbot.

Another approach:
What are you trying to do? Can this be done differently?
Post an image of that message in server log.

Some notes
1- Risk in using "auto 1": since it will spam your connection 1000 times per second it can lag you if your ping with the server is high. Using too many auto 1 hotkeys and you CPU may complain :)
2- I'm assuming that you are doing EVERYTHING else correctly, the label, the cavebot and any other scripts.
 
Last edited:
Well, i said this some times around here:
Elfbots "in-game message recognition system" ($lastmsg, $curmsg, foreach 'newmessages') does not works 100%. It misses a lot of in-game messages, specially if your ping is high (100+).

In order to maximize the CHANCE that elfbot will "read" some message you should use "auto 1", that means that elfbot will execute the hotkey 1000 times per second.

then your hotkey should be:

auto 1 if [$lastmsg.content ? 'You have reached the max level please go make rebirth.'] gotolabel back

That hotkey will check 1000 times per second if the last message (of any kind) your client received contains "You have reached the max level please go make rebirth."

If you received that message and the hotkey didn't work, that is, the condition was not true. Then the most likely cause is that elfbot did NOT read the message properly. Elfbot did NOT detect that message. This i can't explain exactly because i dont have the source code of elfbot :). But in my experience i noticed that this "chance" of detection by elfbot is higher when your ping with the server is lower. I have another theories but it is not the case.
What is important: the hotkey is correct and the problem is with elfbot.

BUT lets be optimists and think that elfbot read properly the message and the problem is with the function used. It is POSSIBLE that the function/system used by $lastmsg is different than the one that foreach 'newmessages' uses.

Then you can try:

auto 1 foreach 'newmessages' $b if [$b.content ? 'You have reached the max level please go make rebirth.'] gotolabel back

If that does not work:
Reasons:
1- Elfbot missed the message (if that is the case it should work sometimes, we are talking about possibilities/chances)
2- Elfbot could not identify that message, what means that it can't be read by elfbot.

Another approach:
What are you trying to do? Can this be done differently?
Post an image of that message in server log.

Some notes
1- Risk in using "auto 1": since it will spam your connection 1000 times per second it can lag you if your ping with the server is high. Using too many auto 1 hotkeys and you CPU may complain :)
2- I'm assuming that you are doing EVERYTHING else correctly, the label, the cavebot and any other scripts.

thanks alot for the good answear! REP++
 
Back
Top