[Release] Betting Bot

04/22/2023 22:40 Shikadai28#1
Yo guys i'm releasing a little betting bot made with Python for pvp servers

What it does ?
- It simply bet your weapon/armor until it get the shell that you want
- When it get the shell, it send a discord message to you and close the bot

What it doesn't do ?
- Check if you have Champion Blessing Amulet equipped
- Check if you still have Cella/golds/Amulet
- Check if the item that you want to bet is in the first slot of your inventory


How to run ?
PACKET LOGGER
- Download BladeTiger's PacketLogger from here [Only registered and activated users can see links. Click Here To Register...]
- Move all the files from the PacketLogger folder to the Nostale game folder
- Inject the PacketLogger with an injector (like Cheat Engine for example)

if the game crash when you are trying to inject BladeTiger's PacketLogger to the game, retry with the old PKL version i drop here, it may work.

IN GAME
- Put the item that you want to bet in the first slot of your inventory
- Equip the amulet
- Hide somewhere where there are no players lol (or bet once before start the bot to get the dance view for other players, then u can start bot in front of everyone)

BETTING BOT
- Open betting bot file
- Put what options you want in the shell in line 90
- If you want to get a discord message when the shell is found, you have to create a discord bot [Only registered and activated users can see links. Click Here To Register...], copy token bot and paste it in line 135
- Also copy your discord user id and paste it in line 138

Everything is ok, you can start the bot in command prompt : python betting-bot.py (of course you must have Python installed, if it tell you "no module named blabla" just import it with pip, example pip install pywin32)

If you dont want to get discord message, just comment line from line 129 to line 150

Thanks to BladeTiger12 for his PacketLogger :D
04/23/2023 03:57 Diartios#2
Nice tool but not sure is it good to share for free
04/23/2023 07:22 Arpes#3
no entiendo muy bien alguien me ayudaria?
ç
04/23/2023 17:49 Shikadai28#4
Quote:
Originally Posted by osmancity3162 View Post
Nice tool but not sure is it good to share for free
it's okay idc

Quote:
Originally Posted by Arpes View Post
no entiendo muy bien alguien me ayudaria?
ç
what's wrong ?
04/26/2023 23:21 Fizo55#5
Quote:
Originally Posted by osmancity3162 View Post
Nice tool but not sure is it good to share for free
why shouldn't it be good to share it for free ?

tell me a good reason ?
04/30/2023 01:33 Limoo#6
Quote:
Originally Posted by wujekstalin12 View Post
- Put what options you want in the shell in line 90

Where can I find line 90? What do you mean?
Count the lines from the beginning
1
2
3
4
05/01/2023 10:21 TheSuperMario#7
Quote:
Originally Posted by Shikadai28 View Post
what's wrong ?
Hes just jewing around
05/02/2023 00:34 Diartios#8
Quote:
Originally Posted by wujekstalin12 View Post
- Put what options you want in the shell in line 90

Where can I find line 90? What do you mean?
i recommend to use visual studio code for easy editing
05/03/2023 17:47 wujekstalin12#9
Is it possible to run on 2 account on one computer?
05/03/2023 19:50 Limoo#10
Quote:
Originally Posted by wujekstalin12 View Post
Is it possible to run on 2 account on one computer?
Copy and paste and change the port in both files
05/03/2023 20:28 Vedosz#11
why when i'm injected packet looger game is closed?

how to write what options i need
05/04/2023 00:07 wujekstalin12#12
Quote:
Originally Posted by Limoo View Post
Copy and paste and change the port in both files

Could you explain the path of how I should do this? I don't quite understand, sorry
05/05/2023 05:03 Diartios#13
Quote:
Originally Posted by wujekstalin12 View Post
Could you explain the path of how I should do this? I don't quite understand, sorry
editing it little bit u can make the program that chooses the port you want(i am not sure about the code but it should work i write it in few mins)

Code:
# Get PacketLogger port function
def enum_windows_callback(hwnd, port):
    if re.search(r"BladeTiger", win32gui.GetWindowText(hwnd)):
        title = win32gui.GetWindowText(hwnd)
        port.append(int(title[-5:]))


port = []
win32gui.EnumWindows(enum_windows_callback, port) # Get PacketLogger port
 
# Connection to socket
def choose_port():
    chosenport = 0;
    index = 0
    while True:
        try:
            for i in range(len(port)):
                print(i , ")" , port[i])
            index = int(input("choose the port:\n"))
            chosenport = port[index]
            return chosenport
        except:
            continue 
server_address = ('127.0.0.1', choose_port())
Quote:
Originally Posted by Vedosz View Post
why when i'm injected packet looger game is closed?

how to write what options i need
you should install the packetlogger as it should be

and about the write options here is an example in the source
Code:
shell = [Options.ENHANCEDDAMAGE.value, Options.SRELA.value, Options.STUN.value, Options.TODAMAGEPVP.value]
05/07/2023 17:45 wargen20#14
Since Osmancity contributed a little here I will post my "update" too.

Currently a bot can handle only one "set" of the shells.
Usually you would also want to setup multiple sets of shells.

Here is how to do it:
Replace:
Code:
shell = [Options.ENHANCEDDAMAGE.value, Options.SRELA.value, Options.STUN.value, Options.TODAMAGEPVP.value]
with:
Code:
shell_sets = [
[Options.GAINMOREGOLD.value, Options.SLDAMAGE.value],
[Options.SLOVERALL.value, Options.SLDAMAGE.value],
#[Options.INCREASECRITICALDAMAGE.value, Options.INCREASECHANCEOFCRITICALHIT.value, Options.SLPROPERTY.value]
]
and replace
Code:
while stop == 0:
    data = sock.recv(1024)
    packet = data.decode("windows-1252") 

    state = 1 
    if "Speaker" not in packet and "e_info" in packet:
        for opt in shell:
            if opt not in packet:
                state = 0
        if state == 0:
            print("There are not all the options")
        else:
            print("Shell found")
            stop_thread = True
            send_thread.join()
            break
with
Code:
while stop == 0:
    data = sock.recv(1024)
    packet = data.decode("windows-1252") 

    state = 1 
    if "Speaker" not in packet and "e_info" in packet:
        for shell in shell_sets:
            state = all(opt in packet for opt in shell)
            if state:
                print("Shell found")
                stop_thread = True
                send_thread.join()
                stop = 1
                break
        if not state:
            print("There are not all the options")
Then in the "shell_sets" you can configure your sets.

example:
Code:
[Options.GAINMOREGOLD.value, Options.SLDAMAGE.value],
[Options.SLOVERALL.value, Options.SLDAMAGE.value],
[Options.INCREASECRITICALDAMAGE.value, Options.INCREASECHANCEOFCRITICALHIT.value, Options.SLPROPERTY.value]
You can add as many sets you want. Just add new line of the shell options as in the example above.

In this configuration bot will stop if shell has:
Gain more gold and SL Damage
OR
SL Overall and SL Damage
OR
Crit DMG increase, Crit chance increase and SL property


Keep in mind that I am not a big fan of Python. Code works...but same as the original code this solution is a shit. Same as my python knowledge.


Here is already modified code with removed discord webhook,
Instead of a webhook you gonna hear noise "BEEP" when shell is found.

05/08/2023 02:33 Jizukane#15
Ich bin leider nicht sehr wissend im coding bereich aber wenn jmd so nett wäre würde er mir erklären wie ich den bot laufen lasse weil ich habe das problem das ich die fehler meldung kriege module not found win32gui