Hey guys,
Here’s my plugin for reforming your party until you reach the wanted value. This is especially useful for those patry matching events.
from phBot import *
import phBotChat
import QtBind
import time
import threading
import struct
gui = QtBind.init(__name__, 'Party Match Event')
labelParty = QtBind.createLabel(gui, "Party number to reach: ", 10, 50)
labelDelay = QtBind.createLabel(gui, "Delay: ", 10, 69)
textBoxParty = QtBind.createLineEdit(gui, '100', 125, 50, 77, 16)
textBoxDelay = QtBind.createLineEdit(gui, '500', 125, 69, 77, 16)
button1 = QtBind.createButton(gui, 'button_clicked', 'Start Matching', 10, 90)
started = False
pName = 'Party Match Event'
pVersion = '1.0.0'
logging = True
def button_clicked():
global started
if started == True:
if logging == True:
log("Matching has been stopped!")
started = False
QtBind.setText(gui, button1, "Start Matching")
else:
if logging == True:
log("Matching has been started!")
started = True
reformParty()
QtBind.setText(gui, button1, "Stop Matching")
def handle_joymax(opcode, data):
global started
readableOpcode = '0x' + '{:02X}'.format(opcode)
if readableOpcode == "0xB069":
#log("Server: (Opcode) 0x" + '{:02X}'.format(opcode) + " (Data) "+ ("None" if not data else ' '.join('{:02X}'.format(x) for x in data)))
data = ("None" if not data else ' '.join('{:02X}'.format(x) for x in data))
data = data.split()
data = data[1]
partyNumber = int(data, 16)
checkPartyNumber(partyNumber)
elif readableOpcode == "0xB06B":
data = ("None" if not data else ' '.join('{:02X}'.format(x) for x in data))
data = data.split()
if data[0] == "02" and data[1] == "1C" and data[2] == "2C":
started = False
QtBind.setText(gui, button1, "Start Matching")
log("Please remove your party from the matching manually!")
return True
def checkPartyNumber(number):
global started
if started == True:
textParty = QtBind.text(gui, textBoxParty)
intParty = int(textParty)
if intParty > number:
reformParty(number)
else:
started = False
QtBind.setText(gui, button1, "Start Matching")
def reformParty(number=0):
delay = QtBind.text(gui, textBoxDelay)
delay = int(delay)
delay /= 1000
if number == 0:
packetData = b'\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x01\x6E\x01\x00\x31'
inject_joymax(0x7069, packetData, True)
if logging == True:
log("Party has been created!")
else:
packetData = struct.pack('<I', number)
packetData += b'\x00\x00\x00'
inject_joymax(0x706B, packetData, True)
if logging == True:
log("Party has been removed!")
time.sleep(delay)
packetData = b'\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x01\x6E\x01\x00\x31'
inject_joymax(0x7069, packetData, True)
if logging == True:
log("Party has been created!")
log('Plugin: '+pName+' v'+pVersion+' succesfully loaded')