Download

In v12.1.55 of the testing release, Python 3.4 plugin support has been added. Plugins allow you to extend the bot with Python by sending packets or starting/stopping the bot.

Any .py file you place in the ‘Plugins’ directory will be loaded at runtime. This requires you to also have the Python 3.4 ‘Lib’ folder inside ‘Plugins\python34’. It is included in the download below.

An example Python script has been included to give you a list of available functions. You should not call any functions that return a lot of data (eg. ‘get_inventory’) very frequently otherwise it will increase the CPU usage significantly.

from phBot import *

# Called when the bot successfully connects to the game server
def connected():
    pass

# All packets received from Silkroad will be passed to this function
# Returning True will keep the packet and False will not forward it to the game server
def handle_silkroad(opcode, data):
    log('Python: (Silkroad) 0x%02X' % opcode)
    return True

# All packets received from Joymax will be passed to this function
# Returning True will keep the packet and False will not forward it to the client
def handle_joymax(opcode, data):
    log('Python: (Joymax) 0x%02X' % opcode)
    return True

# Called when the character enters the game world
def joined_game():
    pass

# Called when the character teleports
# This function will also be called after the "joined_game" function
def teleported():
    pass

log('[%s] Loaded' % __name__)

Download
v2.0.1

3 Likes

v2.0.1 now has the TkInter libs necessary to create GUIs. Your mileage may vary as to how well it works.

import sys
from phBot import *
import tkinter as tk
from tkinter import filedialog

# required
if not hasattr(sys, 'argv'):
	sys.argv = ['']

root = tk.Tk()
root.overrideredirect(1)
root.withdraw() # hide the root window

try:
	path = filedialog.askopenfilename(initialdir = "/", title = "Select file", filetypes = (("Text Documents","*.txt"), ("All Files", "*.*")))
	log(path)
except Exception as e:
	log('%s' % e)
1 Like