Пример #1
0
# Skills
yeoha_skill_1                 = b'\x01\x04\x0F\x87\x00\x00\x01'
yeoha_skill_2                 = b'\x01\x04\x0E\x87\x00\x00\x01'
yeoha_skill_3                 = b'\x01\x04\x11\x87\x00\x00\x01'
yeoha_skill_4                 = b'\x01\x04\x10\x87\x00\x00\x01'

shaman_skill_1                = b'\x01\x04\x12\x87\x00\x00\x01'
shaman_skill_2                = b'\x01\x04\x13\x87\x00\x00\x01'
shaman_skill_3                = b'\x01\x04\x1A\x87\x00\x00\x01'
shaman_skill_4                = b'\x01\x04\x1B\x87\x00\x00\x01'

# GUI
gui = QtBind.init(__name__,'Auto BOI')

Btn_BOI_solo            = QtBind.createButton(gui,'startSoloBOI',"  Start BOI Solo  ", 150, 50)
Btn_BOI_pt_master       = QtBind.createButton(gui,'startPtBOI_Master',"  Start BOI Party (Master)  ",350, 50)
Btn_BOI_pt_member       = QtBind.createButton(gui,'startPtBOI_Member',"  Start BOI Party (Member)  ", 350,80)
Btn_stop                = QtBind.createButton(gui,'setStopFlag',"  Stop  ", 250, 120)
CBox_hide_log           = QtBind.createCheckBox(gui, 'hide_log','Hide Log', 10, 10)
CBox_hide_attack_log    = QtBind.createCheckBox(gui, 'hide_attack_log','Hide Attack Log', 10, 30)

'''
Btn_debug               = QtBind.createButton(gui,'f_debug',"  Debug  ", 650,10)
'''
# Dataclass for different BOI versions
@dataclass
class boi_dataclass:
    # NPC information
    arena_manager_packet: bytes
    arena_manager_id: int
Пример #2
0
inGame = None
followActivated = False
followPlayer = ''
followDistance = 0

# Graphic user interface
gui = QtBind.init(__name__,pName)
QtBind.createLabel(gui,'Control your party using in-game chat. Leader writes commands and your character will follow it.',11,11)

QtBind.createLabel(gui,'< COMMAND (uppercased) #Variable (required) #Variable? (optional) >',11,30)
QtBind.createLabel(gui,'- START : Start bot\n- STOP : Stop bot\n- TRACE #Player? : Start trace to leader or another player\n- NOTRACE : Stop trace\n- RETURN : Use some "Return Scroll" from your inventory\n- TP #A #B : Use teleport from location A to B\n- RECALL #Town : Set recall on city portal\n- ZERK : Use berserker mode if is available\n- GETOUT : Left party\n- MOVEON #Radius? : Set a random movement\n- MOUNT #PetType? : Mount horse by default\n- DISMOUNT #PetType? : Dismount horse by default\n- SETPOS #PosX? #PosY? #Region? #PosZ? : Set training position\n- SETRADIUS #Radius? : Set training radius\n- SETSCRIPT #Path? : Change script path for training area\n- SETAREA #Name : Changes training area by config name\n- PROFILE #Name? : Loads a profile by his name\n- DC : Disconnect from game',15,45)
QtBind.createLabel(gui,'- INJECT #Opcode #Encrypted? #Data? : Inject packet\n- CHAT #Type #Message : Send any message type\n- FOLLOW #Player? #Distance? : Trace a party player using distance\n- NOFOLLOW : Stop following\n- JUMP : Generate knockback visual effect\n- SIT : Sit or Stand up, depends\n- CAPE #Type? : Use PVP Cape\n- EQUIP #ItemName : Equips an item from inventory\n- UNEQUIP #ItemName : Unequips item from character\n- REVERSE #Type #Name?\n- GETPOS : Gets current position\n- USE #ItemName : Use item from inventory',345,80)

tbxLeaders = QtBind.createLineEdit(gui,"",525,11,110,20)
lstLeaders = QtBind.createList(gui,525,32,110,38)
btnAddLeader = QtBind.createButton(gui,'btnAddLeader_clicked',"    Add   ",635,10)
btnRemLeader = QtBind.createButton(gui,'btnRemLeader_clicked',"     Remove     ",635,32)

# ______________________________ Methods ______________________________ #

# Return xControl folder path
def getPath():
	return get_config_dir()+pName+"\\"

# Return character configs path (JSON)
def getConfig():
	return getPath()+inGame['server'] + "_" + inGame['name'] + ".json"

# Check if character is ingame
def isJoined():
	global inGame
Пример #3
0
#######################################################################

# if folder and files doesn't exists
path = os.getcwd()
if not os.path.exists(path+"/Plugins/"+server+"_"+qafolder+"/"):
    os.makedirs(path+"/Plugins/"+server+"_"+qafolder+"/")
open("Plugins/"+server+"_"+qafolder+"/"+qafile, 'a+').close()

# clear qacache file
open("Plugins/"+server+"_"+qafolder+"/"+qacache, 'w').close()

# GUI
gui = QtBind.init(__name__, pName)
QtBind.createLabel(gui, 'triviaBot is automatically answers trivia event questions and automatically adds new questions.', 10, 10)
QtBind.createLabel(gui, 'Questions List', 11, 38)
QtBind.createButton(gui, 'gui_qlist', '   Refresh List   ', 448, 35)
QtBind.createButton(gui, 'gui_answer', '   Selected Question\'s Answer    ', 534, 35)
QtBind.createLabel(gui, 'Added Questions:', 587, 255)
qlist = QtBind.createList(gui, 10, 55, 680, 190)
qnumber = QtBind.createLabel(gui, '0', 680, 255)
qanswer = QtBind.createLabel(gui, 'Answer: ', 11, 255)

# its need to avoid conflict
def joined_game():
	global qacache
	qacache = get_character_data()['name']+"_cache.txt"
	open("Plugins/"+server+"_"+qafolder+"/"+qacache, 'w').close()
	return False

def gui_qlist():
	a = 0
Пример #4
0
import os
from threading import Timer
import urllib.request

pName = 'xKervanKey'
pVersion = '0.1.0'

# SET YOUR CUSTOM "xkervankey.txt" PATH HERE.
# xkervankey_path = r"C:\Users\MyUser\Downloads\phBot\Plugins\xkervankey.txt" # EXAMPLE
xkervankey_path = ""

# Initializing GUI
gui = QtBind.init(__name__, pName)
lblKey = QtBind.createLabel(gui, "KervanKey:", 21, 11)
tbxKey = QtBind.createLineEdit(gui, "", 130, 12, 150, 18)
btnKey = QtBind.createButton(gui, "btnKey_clicked", "Save", 300, 11)


# Return kervankey file path
def getKervanKeyPath():
    if xkervankey_path:
        return xkervankey_path
    return os.path.dirname(os.path.realpath(__file__)) + "\\xkervankey.txt"


# Save the kervankey from phBot GUI to update all bots
def btnKey_clicked():
    key = QtBind.text(gui, tbxKey)
    if key:
        with open(getKervanKeyPath(), "w") as f:
            f.write(key.strip())
Пример #5
0
lblDescription = QtBind.createLabel(
    gui,
    "xTrivia can automatically save all the questions with the answers if you supply the correct pattern (regex).\nIt is working with Notice chat only and sending the question to General chat by default.",
    6, 10)

lblQuestionPattern = QtBind.createLabel(gui, "Question Pattern :", 6, 45)
tbxQuestionPattern = QtBind.createLineEdit(gui, "", 98, 43, 350, 19)

lblAnswerPattern = QtBind.createLabel(gui, "Answer Pattern :", 6, 65)
tbxAnswerPattern = QtBind.createLineEdit(gui, "", 90, 63, 358, 19)

lblReplyTo = QtBind.createLabel(gui, "Reply To :", 480, 55)
tbxReplyTo = QtBind.createLineEdit(gui, "", 530, 53, 80, 19)

btnSaveConfig = QtBind.createButton(gui, 'saveConfigs', "     Save     ", 645,
                                    4)

lblQuestion = QtBind.createLabel(gui, "Question :", 6, 105)
tbxQuestion = QtBind.createLineEdit(gui, "", 59, 103, 180, 19)
lblAnswer = QtBind.createLabel(gui, "Answer :", 59 + 180 + 6, 105)
tbxAnswer = QtBind.createLineEdit(gui, "", 59 + 180 + 6 + 48, 103, 90, 19)
btnAddTrivia = QtBind.createButton(gui, 'btnAddTrivia_clicked',
                                   "     Add     ", 59 + 180 + 6 + 48 + 90 + 6,
                                   105 - 4)
btnRemTrivia = QtBind.createButton(gui, 'btnRemTrivia_clicked',
                                   "     Remove     ", 720 - 75 - 6, 105 - 4)
lstTriviaData = QtBind.createList(gui, 6, 125, 720 - 12, 18 * 8 - 3)

# ______________________________ Methods ______________________________ #

Пример #6
0
from phBot import *
import QtBind
import urllib.request
import re
import os

pName = 'xPluginUpdater'
pVersion = '0.1.0'
pUrl = 'https://raw.githubusercontent.com/JellyBitz/phBot-xPlugins/master/xPluginUpdater.py'

# Initializing GUI
gui = QtBind.init(__name__, pName)
lblPlugins = QtBind.createLabel(gui, "Plugins found from your folder", 21, 11)
lstPlugins = QtBind.createList(gui, 21, 30, 700, 200)
btnCheck = QtBind.createButton(gui, 'btnCheck_clicked', "  Check Updates  ",
                               350, 8)
btnUpdate = QtBind.createButton(gui, 'btnUpdate_clicked',
                                "  Update Plugin (Selected)  ", 450, 8)


# List and check all plugins from the same plugin folder
def btnCheck_clicked():
    # List all files around
    files = os.listdir()
    for filename in files:
        # Check only python files
        if (re.search("[.]py", filename)):
            with open(filename, "r") as f:
                pyCode = str(f.read())
                # Read file and check his version
                if re.search("\npVersion = [0-9.'\"]*", pyCode):
Пример #7
0
bot_path = os.getcwd()
character_data = None
AVATAR_TEST_UID_MAX = 0xFFFFFFFE
avatarTestingUID = 0
isSearching = False

# Graphic user interface
gui = QtBind.init(__name__, pName)

# Search
_y = 12
_x = 6
QtBind.createLabel(gui, "Item name :", _x, _y)
tbxSearchItem = QtBind.createLineEdit(gui, "", _x + 63, _y - 3, 568, 20)
btnSearchItem = QtBind.createButton(gui, 'btnSearchItem_clicked',
                                    "     Search     ", _x + 63 + 568 + 3,
                                    _y - 5)
_y += 22
lvwItems = QtBind.createList(gui, _x, _y, 720 - 12, 106)
lvwItemsData = []
_y += 106
btnAddItem = QtBind.createButton(gui, 'btnAddItem_clicked', "     Add     ",
                                 _x, _y + 3)

# Builder
_x += 90
_y += 10
QtBind.createLabel(gui, "* Hat", _x, _y)
QtBind.createLabel(gui, "* Dress", _x + 152 + 3, _y)
QtBind.createLabel(gui, "* Accesory", _x + 152 + 3 + 152 + 3, _y)
QtBind.createLabel(gui, "* Flag", _x + 152 + 3 + 152 + 3 + 152 + 3, _y)
Пример #8
0
# Custom Nickname will be random if you leave it empty
# Custom Race will be as default CH
SEQUENCE_DEFAULT_NUMBER = 100

# Globals
isCreatingCharacter = False
CreatingNickname = ""

# Initializing GUI
gui = QtBind.init(__name__, pName)
cbxEnabled = QtBind.createCheckBox(gui, 'cbxDoNothing', 'Enabled', 6, 10)

lblProfileName = QtBind.createLabel(gui, "Config profile name :", 345, 10)
tbxProfileName = QtBind.createLineEdit(gui, "", 450, 7, 110, 19)

btnSaveConfig = QtBind.createButton(gui, 'btnSaveConfig_clicked', "  Save  ",
                                    580, 7)
btnLoadConfig = QtBind.createButton(gui, 'btnLoadConfig_clicked', "  Load  ",
                                    630, 7)

lblNickname = QtBind.createLabel(gui, "Custom Nickname :", 6, 35)
tbxNickname = QtBind.createLineEdit(gui, "", 100, 32, 102, 19)

lblSequence = QtBind.createLabel(gui, "Number sequence :", 6, 55)
tbxSequence = QtBind.createLineEdit(gui, "", 102, 52, 100, 19)

lblRace = QtBind.createLabel(gui, "Custom Race :", 6, 75)
cmbxRace = QtBind.createCombobox(gui, 79, 72, 123, 19)
QtBind.append(gui, cmbxRace, "CH")
QtBind.append(gui, cmbxRace, "EU")

lblFullCharacters = QtBind.createLabel(
Пример #9
0
import os

pVersion = '0.3.3'
pName = 'xAutoDungeon'
pUrl = 'https://raw.githubusercontent.com/JellyBitz/phBot-xPlugins/master/xAutoDungeon.py'

# Initializing GUI
gui = QtBind.init(__name__, pName)

lblMobs = QtBind.createLabel(
    gui,
    '#    Add monster names to avoid    #\n#          from Monster counter         #',
    511, 11)
tbxMobs = QtBind.createLineEdit(gui, "", 511, 43, 100, 20)
lstMobs = QtBind.createList(gui, 511, 64, 176, 198)
btnAddMob = QtBind.createButton(gui, 'btnAddMob_clicked', "    Add    ", 612,
                                42)
btnRemMob = QtBind.createButton(gui, 'btnRemMob_clicked', "     Remove     ",
                                560, 261)

lblPreferences = QtBind.createLabel(
    gui, "Monster counter preferences (Orderer by priority) :", 21, 11)
lstAvoid = []
lstOnly = []

lblUnique = QtBind.createLabel(gui, 'Unique', 21, 30)
cbxAvoidUnique = QtBind.createCheckBox(gui, 'cbxAvoidUnique_clicked', 'Avoid',
                                       80, 30)
cbxOnlyUnique = QtBind.createCheckBox(gui, 'cbxOnlyUnique_clicked', 'Only',
                                      150, 30)

Пример #10
0
SERVER_GAME_PETITION_REQUEST = 0x3080
SERVER_EXCHANGE_PLAYER_CONFIRMED = 0x3086
CLIENT_EXCHANGE_CONFIRM_REQUEST = 0x7082
SERVER_EXCHANGE_CONFIRM_RESPONSE = 0xB082
CLIENT_EXCHANGE_APPROVE_REQUEST = 0x7083

# Initializing GUI
gui = QtBind.init(__name__, pName)

_x = 6
_y = 9

QtBind.createLabel(gui, '*  Exchangers list (Party required)', _x, _y)
_y += 20
tbxExchangerName = QtBind.createLineEdit(gui, "", _x, _y, 100, 20)
QtBind.createButton(gui, 'btnAddExchanger_clicked', "    Add    ", _x + 101,
                    _y - 2)
_y += 20
lvwExchangers = QtBind.createList(gui, _x, _y, 176, 60)
_y += 60
QtBind.createButton(gui, 'btnRemExchanger_clicked', "     Remove     ",
                    _x + 49, _y - 2)
_y += 20 + 10

cbxReplyAccept = QtBind.createCheckBox(gui, 'checkbox_changed',
                                       'Auto accept reply', _x, _y)
_y += 20
cbxReplyApprove = QtBind.createCheckBox(gui, 'checkbox_changed',
                                        'Auto approve reply', _x, _y)

_x += 185
_y = 9
Пример #11
0
lSilverC = QtBind.createLabel(gui, 'Silver Coin', 565, 235)
lCopperC = QtBind.createLabel(gui, 'Copper Coin', 565, 251)
lIronC = QtBind.createLabel(gui, 'Iron Coin', 565, 268)
qgold = QtBind.createLabel(gui, '0', 684, 220)
qsilver = QtBind.createLabel(gui, '0', 684, 235)
qcopper = QtBind.createLabel(gui, '0', 684, 251)
qiron = QtBind.createLabel(gui, '0', 684, 268)

lLIST = QtBind.createList(gui, 150, 40, 1, 207)
lLIST2 = QtBind.createList(gui, 303, 40, 1, 220)
lLIST3 = QtBind.createList(gui, 455, 40, 1, 240)
lLIST4 = QtBind.createList(gui, 540, 135, 1, 155)
lLIST5 = QtBind.createList(gui, 720, 135, 1, 155)
lBUTTONBG = QtBind.createList(gui, 540, 15, 180, 88)
lNEREYAZI = QtBind.createLabel(gui, 'Where do you want to look?', 565, 8)
btnStorage = QtBind.createButton(gui, 'btnStorage_clicked',
                                 "  Look at Storage  ", 584, 52)
btnGuildStorage = QtBind.createButton(gui, 'btnGuildStorage_clicked',
                                      "  Look at Guild Storage  ", 572, 75)
btnInventory = QtBind.createButton(gui, 'btnInventory_clicked',
                                   "  Look at Inventory  ", 579, 29)
leDegree = QtBind.createLineEdit(gui, "11", 470, 150, 19, 19)
lDegree = QtBind.createLabel(gui, 'Degree', 494, 153)


def btnStorage_clicked():
    countIn = 'Storage'
    countItems(countIn)


def btnGuildStorage_clicked():
    countIn = 'GuildStorage'
Пример #12
0
from phBot import *
import phBotChat
from time import sleep
import re
from pathlib import Path
import urllib.request
import struct
from threading import Timer
import os
import QtBind

gui = QtBind.init(__name__, 'Super DC')
button1 = QtBind.createButton(gui, 'dc_traders', 'DC ALL TRADERS', 100, 120)


def dc_traders():
    phBotChat.Private('chapito01', '.')
    phBotChat.Private('chapito02', '.')
    phBotChat.Private('chapito03', '.')
    phBotChat.Private('chapito04', '.')


players = [
    'chapito01', 'chapito02', 'chapito03', 'chapito04', 'xTai', 'Xiomi',
    'Tiranicuz', 'Sheon', 'Nelliel1123'
]
hunters = [
    'chapito01', 'chapito02', 'chapito03', 'chapito04', 'Nelliel1123',
    'BLACKandBLUE', '_Sophiia_', 'Mysophiia', 'chapito02'
]
Пример #13
0
gui_stop_processing_position_x = gui_window_padding_x + 0
gui_stop_processing_position_y = gui_window_padding_y + 0

gui_sort_items_position_x = gui_window_padding_x + 150
gui_sort_items_position_y = gui_window_padding_y + 0

gui_store_take_gold_position_x = gui_window_padding_x + 300
gui_store_take_gold_position_y = gui_window_padding_y + 0

gui_debug_position_x = gui_window_padding_x + 0
gui_debug_position_y = gui_window_padding_y + 80

# ---

QtBind.createLabel(gui, 'stop current process:', gui_stop_processing_position_x, gui_stop_processing_position_y)
QtBind.createButton(gui, 'stop_processing', 'stop', gui_stop_processing_position_x + 15,
                    gui_stop_processing_position_y + 20)

QtBind.createLabel(gui, 'sort items:', gui_sort_items_position_x, gui_sort_items_position_y)
QtBind.createButton(gui, 'sort_items_inventory', 'inventory', gui_sort_items_position_x + 15,
                    gui_sort_items_position_y + 20)
QtBind.createButton(gui, 'sort_items_storage', 'storage', gui_sort_items_position_x + 15,
                    gui_sort_items_position_y + 20 + 30)
QtBind.createButton(gui, 'sort_items_guild_storage', 'guild-storage', gui_sort_items_position_x + 15,
                    gui_sort_items_position_y + 20 + 60)

QtBind.createLabel(gui, 'store/take gold:', gui_store_take_gold_position_x, gui_store_take_gold_position_y)
QtBind.createLabel(gui, 'storage', gui_store_take_gold_position_x + 15, gui_store_take_gold_position_y + 20)
store_take_gold_storage_amount_widget_widget = QtBind.createLineEdit(gui,
                                                                     store_take_gold_storage_amount_widget_widget_default,
                                                                     gui_store_take_gold_position_x + 15,
                                                                     gui_store_take_gold_position_y + 20 + 20, 100, 22)
Пример #14
0
CH_ARMOR = [SEARCH_OPCODE, "XX 00 07 00 00 00 ** 00 00"] # armor
CH_PRO = [SEARCH_OPCODE, "XX 00 08 00 00 00 ** 00 00"] # pro
CH_GARMENT = [SEARCH_OPCODE, "XX 00 09 00 00 00 ** 00 00"] # garment

JOB_WEAPON = [SEARCH_OPCODE, "XX 00 3A 00 00 00 00 00 00"] # job weapon
JOB_PRO = [SEARCH_OPCODE, "XX 00 3B 00 00 00 ** 00 00"] # job pro items
JOB_ACC = [SEARCH_OPCODE, "XX 00 3C 00 00 00 ** 00 00"] # job item acc
JOB_UPGRADE = [SEARCH_OPCODE, "XX 00 3D 00 00 00 ** 00 00"] # job plus + blue
JOB_ITEMS = [SEARCH_OPCODE, "XX 00 3E 00 00 00 00 00 00"] # stone, ticket etc.

gui = QtBind.init(__name__, pName)



# UI ELEMENTS
searchBtn = QtBind.createButton(gui, 'onSearch', 'Search', 526, 20) # search button

WINDOW_HEIGHT = 230
WINDOW_WIDTH = 500
WINDOW_LEFT_START = 100
WINDOW_TOP_START = 50
DROPDOWN_WIDTH = 150
DROPDOWN_HEIGHT = 21
UI_ELEMENTS_GAP = 10

typeDropdown = QtBind.createCombobox(gui, WINDOW_LEFT_START, DROPDOWN_HEIGHT, DROPDOWN_WIDTH, DROPDOWN_HEIGHT) # type dropdown
degreeDropdown = QtBind.createCombobox(gui, WINDOW_LEFT_START + DROPDOWN_WIDTH + UI_ELEMENTS_GAP, DROPDOWN_HEIGHT, DROPDOWN_WIDTH, DROPDOWN_HEIGHT) # degree dropdown

ALL_DEGREES = ["1", "2", "3", "4", "5", "6", "7", "8", "9"]
JOB_DEGREES = ["1", "2", "3"]
DEFAULT_DEGREES = ["1"]
Пример #15
0
import json
import threading
import urllib3
import shutil
import os
from random import randint
import pyqrcode
import sys

http = urllib3.PoolManager()
gui = QtBind.init(__name__, 'Silkroad Remote')
String1 = QtBind.createLabel(gui, 'Veri', 20, 20)
String2 = QtBind.createLabel(gui, 'text', 20, 260)
String3 = QtBind.createLabel(gui, 'text', 20, 40)
String4 = QtBind.createLabel(gui, 'text', 600, 260)
send = QtBind.createButton(gui, 'createQR', 'Create QR Code', 20, 70)
stop = QtBind.createButton(gui, 'stop', 'Stop', 120, 70)
path = "http://www.mechayazilim.com/dataSave.php"
notificationPath = "http://www.mechayazilim.com/notificationIn.php"
bottingDataPath = "http://www.mechayazilim.com/dataReceive.php"
deadCounter = 0
oldReceiveTrainingRadius = "0"
oldReceiveTrainingAreaX = "0"
oldReceiveTrainingAreaY = "0"
oldReceiveStartBot = "0"
oldReceiveStopBot = "0"
oldMessageCount = 0
setState = False
chatSetState = False
connectedState = True
deger = 1
Пример #16
0
# ______________________________ Initializing ______________________________ #

# globals
character_data = None

# Initializing GUI
gui = QtBind.init(__name__, pName)
cbxEnabled = QtBind.createCheckBox(gui, 'cbxDoNothing', 'Enabled', 6, 9)
cbxDefensive = QtBind.createCheckBox(gui, 'cbxDoNothing', 'Defensive Mode', 85,
                                     9)

QtBind.createLabel(gui, '* Leader list', 11, 35)
tbxLeaders = QtBind.createLineEdit(gui, "", 6, 51, 100, 20)
lvwLeaders = QtBind.createList(gui, 6, 72, 176, 60)
btnAddLeader = QtBind.createButton(gui, 'btnAddLeader_clicked', "    Add    ",
                                   107, 50)
btnRemLeader = QtBind.createButton(gui, 'btnRemLeader_clicked',
                                   "     Remove     ", 55, 131)

# ______________________________ Methods ______________________________ #


# Return folder path
def getPath():
    return get_config_dir() + pName + "\\"


# Return character configs path (JSON)
def getConfig():
    return getPath(
    ) + character_data['server'] + "_" + character_data['name'] + ".json"
Пример #17
0
locale = None

# Create UI
gui = QtBind.init(__name__,pName)
cbxTranslateIncomingChat = QtBind.createCheckBox(gui,'','Incoming chat messages to',10,8)
cmbxTranslateIncomingLang = QtBind.createCombobox(gui,165,8,130,19)
cbxTranslateOutgoingChat = QtBind.createCheckBox(gui,'','Outgoing chat messages to',10,28)
cmbxTranslateOutgoingLang = QtBind.createCombobox(gui,167,28,128,19)
# Fill with supported langs
for key in SUPPORTED_LANGUAGES:
	QtBind.append(gui,cmbxTranslateIncomingLang,key)
	QtBind.append(gui,cmbxTranslateOutgoingLang,key)

lstTranslatedMessages = QtBind.createList(gui,10,54,710,226)

btnSaveConfig = QtBind.createButton(gui,'save_configs','     Save Changes     ',615,4)
btnClearChat = QtBind.createButton(gui,'btnClearChat_clicked','     Clear chat     ',635,30)

# ______________________________ Methods ______________________________ #

# Return folder path
def get_path():
	return get_config_dir()+pName+"\\"

# Return character configs path (JSON)
def get_config():
	return get_path()+character_data['server'] + "_" + character_data['name'] + ".json"

# Check if character is ingame
def is_joined():
	global character_data
Пример #18
0
    'Inject Packets to Client/Server through bot, or just to parse what you need.',
    21, 15)

cbxSro = QtBind.createCheckBox(gui, 'cbxSro_clicked',
                               'Show Client packets [C->S]', 395, 13)
cbxSro_checked = False
cbxJmx = QtBind.createCheckBox(gui, 'cbxJmx_clicked',
                               'Show Server packets [S->C]', 560, 13)
cbxJmx_checked = False

lblUsing = QtBind.createLabel(gui, 'Opcode:\t              Data:', 41, 47)
txtOpcode = QtBind.createLineEdit(gui, "", 85, 45, 40, 20)
txtData = QtBind.createLineEdit(gui, "", 163, 45, 450, 20)
cbxEncrypted = QtBind.createCheckBox(gui, 'cbxEnc_clicked', 'Encrypted', 620,
                                     47)
btnInjectPacket = QtBind.createButton(gui, 'btnInjectPacket_clicked',
                                      "  Inject Packet  ", 348, 65)

cbxDontShow = QtBind.createCheckBox(gui, 'cbxDontShow_clicked', "Don't show",
                                    25, 90)
cbxOnlyShow = QtBind.createCheckBox(gui, 'cbxOnlyShow_clicked', "Only Show",
                                    120, 90)
QtBind.setChecked(gui, cbxDontShow,
                  True)  # using two checkbox like radiobutton
cbxDontShow_checked = True
lblOpcodes = QtBind.createLabel(gui,
                                "The following list of opcodes ( Filter )", 21,
                                110)
tbxOpcodes = QtBind.createLineEdit(gui, "", 21, 129, 100, 20)
lstOpcodes = QtBind.createList(gui, 21, 151, 176, 109)
btnAddOpcode = QtBind.createButton(gui, 'btnAddOpcode_clicked',
                                   "      Add      ", 123, 129)
Пример #19
0
from phBot import *
import QtBind

pVersion = 'v0.1.0'
pName = 'xNPC'
pUrl = 'https://raw.githubusercontent.com/JellyBitz/phBot-xPlugins/master/xNPC.py'

# Needed for phbot GUI
gui = QtBind.init(__name__, pName)
lblNpcs = QtBind.createLabel(gui, "List of NPC's near to you..", 21, 11)
btnNpcs = QtBind.createButton(gui, 'btnNpcs_clicked', "  Refresh list  ", 645,
                              8)
lstNpcs = QtBind.createList(gui, 21, 30, 700, 200)


# Clear and load the list of NPCs
def btnNpcs_clicked():
    # Get all NPCs and teleporters
    npcs = get_npcs()
    # Clear list
    QtBind.clear(gui, lstNpcs)
    # Add header
    QtBind.append(gui, lstNpcs, '[Name] [ServerName] [ModelID] (UniqueID)')
    if npcs:
        # Header data separation
        QtBind.append(gui, lstNpcs, ' -')
        for UniqueID, NPC in npcs.items():
            # Append every NPC description to the list
            QtBind.append(
                gui, lstNpcs, "[" + NPC['name'] + "] [" + NPC['servername'] +
                "] [" + str(NPC['model']) + "] (" + str(UniqueID) + ")")
Пример #20
0
from phBot import *

import QtBind
import binascii

gui = QtBind.init(__name__, 'PacketLogger')

padding_left = 260
padding_top = 125

QtBind.createLabel(gui, 'client to server', padding_left + 11,
                   padding_top + 10)
QtBind.createButton(gui, 'log_client_start', 'start', padding_left + 10,
                    padding_top + 30)
QtBind.createButton(gui, 'log_client_stop', 'stop', padding_left + 10,
                    padding_top + 60)

QtBind.createLabel(gui, 'server to client', padding_left + 111,
                   padding_top + 10)
QtBind.createButton(gui, 'log_server_start', 'start', padding_left + 110,
                    padding_top + 30)
QtBind.createButton(gui, 'log_server_stop', 'stop', padding_left + 110,
                    padding_top + 60)

log_client = False
log_server = False


def handle_silkroad(opcode, data):
    if log_client:
        if opcode == 0x2002:
Пример #21
0
timerCheck = None
character_data = None

# Initializing GUI
gui = QtBind.init(__name__, pName)
cbxEnabled = QtBind.createCheckBox(gui, 'checkbox_clicked',
                                   'Enable ' + pName + ' plugin', 21, 13)

lblFromTime = QtBind.createLabel(gui, "FROM", 21, 45)
strFromTime = "00:00"
tbxFromTime = QtBind.createLineEdit(gui, strFromTime, 55, 43, 37, 20)

lblToTime = QtBind.createLabel(gui, "TO", 101, 45)
strToTime = "23:59"
tbxToTime = QtBind.createLineEdit(gui, strToTime, 121, 43, 37, 20)
btnSaveTimes = QtBind.createButton(gui, 'btnSaveTimes_clicked', "  Save  ",
                                   165, 43)


# Return folder path
def getPath():
    return get_config_dir() + pName + "\\"


# Return character configs path (JSON)
def getConfig():
    return getPath(
    ) + character_data["server"] + "_" + character_data["name"] + ".json"


# Load default configs
def loadDefaultConfig():
Пример #22
0
inGame = False

# Globals
followActivated = False
followPlayer = ''
followDistance = 0
followDelay = 1.0 # float, seconds

# Initializing GUI
gui = QtBind.init(__name__,pName)
lblxControl01 = QtBind.createLabel(gui,'Manage your partys easily using the ingame chat.\nThe Leader(s) is the character that write chat commands.\nIf you character have Leader(s) into the leader list, this will follow his orders.\n\n* UPPERCASE is required to use the command, all his data is separated by spaces.\n* #Variable (required) #Variable? (optional)\n Supported commands :\n - START : Start bot\n - STOP : Stop bot\n - TRACE #Player? : Start trace to leader or another character\n - NOTRACE : Stop trace\n - SETAREA : Set training area using the actual location\n - SETAREA #Radius? : Set training radius.\n - SIT : Sit or Stand up, depends\n - CAPE #Type? : Use PVP Cape\n - ZERK : Use berserker mode if is available\n - RETURN : Use some "Return Scroll" from your inventory\n - TELEPORT #A #B : Use teleport from location A to B\n - INJECT #Opcode #Encrypted? #Data : Inject packet\n - CHAT #Type #Message : Send any message type',21,11)
lblxControl02 = QtBind.createLabel(gui,' - MOVEON #Radius? : Set a random movement\n - FOLLOW #Player? #Distance? : Trace a party player using distance\n - NOFOLLOW : Stop following\n - PROFILE #Name? : Loads a profile by his name\n - JUMP : Generate knockback visual effect',345,101)

tbxLeaders = QtBind.createLineEdit(gui,"",511,11,100,20)
lstLeaders = QtBind.createList(gui,511,32,176,48)
btnAddLeader = QtBind.createButton(gui,'btnAddLeader_clicked',"    Add    ",612,10)
btnRemLeader = QtBind.createButton(gui,'btnRemLeader_clicked',"     Remove     ",560,79)

# Return xControl folder path
def getPath():
	return get_config_dir()+pName+"\\"

# Return character configs path (JSON)
def getConfig():
	return getPath()+get_character_data()['server'] + "_" + get_character_data()['name'] + ".json"

# Load default configs
def loadDefaultConfig():
	# Clear data
	QtBind.clear(gui,lstLeaders)
Пример #23
0
# Globals
isCreatingCharacter = False
isDeletingCharacter = False
CreatingNickname = ""
isRestarted = False

# Graphic user interface
gui = QtBind.init(__name__, pName)
cbxEnabled = QtBind.createCheckBox(gui, 'cbxDoNothing', 'Enabled', 6, 9)

# Profiles
_x = 350
_y = 10
lblProfileName = QtBind.createLabel(gui, "Config profile name :", _x, _y)
tbxProfileName = QtBind.createLineEdit(gui, "", _x + 102, _y - 3, 110, 19)
btnSaveConfig = QtBind.createButton(gui, 'btnSaveConfig_clicked', "  Save  ",
                                    _x + 102 + 110 + 3, _y - 5)
btnLoadConfig = QtBind.createButton(gui, 'btnLoadConfig_clicked', "  Load  ",
                                    _x + 102 + 110 + 3 + 75, _y - 5)

# Basic config
_x = 6
_y = 40
cbxSelectChar = QtBind.createCheckBox(gui, 'cbxDoNothing',
                                      'Select ( if level < 40 )', _x, _y - 1)
cbxSelectCharOnAcademy = QtBind.createCheckBox(
    gui, 'cbxDoNothing', 'Select ( if level 40~50 and has academy )', _x + 200,
    _y - 1)
_y += 20
cbxCreateChar = QtBind.createCheckBox(gui, 'cbxDoNothing',
                                      'Create ( if none has been selected )',
                                      _x, _y - 1)
Пример #24
0
# ______________________________ Initializing ______________________________ #

# Globals
selectedUID = 0
isActived = False
isAutoRefresh = False
# Check if the version can show HP
showHP = tuple(map(int, (get_version().split(".")))) >= (23,8,5)

# Graphic user interface
gui = QtBind.init(__name__,pName)

lblMobs = QtBind.createLabel(gui,"* List of monsters near to you",6,10)
lstMobs = QtBind.createList(gui,6,30,510,229)
lstMobsData = []
btnRefreshMobs = QtBind.createButton(gui,'btnRefreshMobs_clicked',"   Refresh   ",6,259)
cbxAutoRefreshMobs = QtBind.createCheckBox(gui,'cbxAutoRefreshMobs_checked','Automatically',6+75,258)
btnAddMob = QtBind.createButton(gui,'btnAddMob_clicked',"  Add  ",6+510-75,259)

lblAutoSelectMobs = QtBind.createLabel(gui,"* Auto select mobs from this list",720-200,10)
lstAutoSelectMobs = QtBind.createList(gui,720-200,30,200,229)
lstAutoSelectMobsData = []
btnScanMobs = QtBind.createButton(gui,'btnScanMobs_clicked',"",720-84,259)
btnRemMob = QtBind.createButton(gui,'btnRemMob_clicked',"  Remove  ",720-200,259)

# ______________________________ Methods ______________________________ #

# Return character configs path (JSON)
def getConfig():
	return get_config_dir()+pName+ ".json"
Пример #25
0
# Globals
character_data = None
dimensionalItemUsed = None

# Graphic user interface
gui = QtBind.init(__name__, pName)

lblMobs = QtBind.createLabel(
    gui,
    '#   Add monster names to ignore    #\n#          from Monster Counter         #',
    31, 6)
tbxMobs = QtBind.createLineEdit(gui, "", 31, 35, 100, 20)
lstMobs = QtBind.createList(gui, 31, 56, 176, 203)
lstMobsData = []
btnAddMob = QtBind.createButton(gui, 'btnAddMob_clicked', "    Add    ", 132,
                                34)
btnRemMob = QtBind.createButton(gui, 'btnRemMob_clicked', "     Remove     ",
                                80, 258)

lblMonsterCounter = QtBind.createLabel(
    gui, "#                 Monster Counter                 #", 520, 6)
lstMonsterCounter = QtBind.createList(gui, 520, 23, 197, 237)
QtBind.append(gui, lstMonsterCounter, 'Name (Type)')  # Header

lblPreferences = QtBind.createLabel(
    gui, "#             Monster Counter preferences            #", 240, 6)
lstIgnore = []
lstOnlyCount = []

_y = 26
lblGeneral = QtBind.createLabel(gui, 'General (0)', 240, _y)
Пример #26
0
# Globals
character_data = None
party_data = None
hasStall = False
checking_disconnect = False
checking_disconnect_counter = 0
discord_fetch_counter = 0
discord_chat_handlers = []

# Graphic user interface
gui = QtBind.init(__name__,pName)

lblChannels = QtBind.createLabel(gui,"Discord Channels ID",6,10)
tbxChannels = QtBind.createLineEdit(gui,"",6,25,80,19)
lstChannels = QtBind.createList(gui,6,46,156,212)
btnAddChannel = QtBind.createButton(gui,'btnAddChannel_clicked',"   Add   ",86,25)
btnRemChannel = QtBind.createButton(gui,'btnRemChannel_clicked',"     Remove     ",45,257)
QtBind.createLineEdit(gui,"",169,10,1,257) # Separator line

lblToken = QtBind.createLabel(gui,"Token :",175,10)
tbxToken = QtBind.createLineEdit(gui,"",215,7,155,19)

lblUrl = QtBind.createLabel(gui,"Website :",390,10)
tbxWebsite = QtBind.createLineEdit(gui,'',440,7,155,19)

btnSaveConfig = QtBind.createButton(gui,'saveConfigs',"     Save Changes     ",615,7)

lblTriggers = QtBind.createLabel(gui,"Select the Discord channel to send the notification ( Filters are using regex )",175,35)

## Adding triggers options
# Login
Пример #27
0
    gui,
    'Inject Packets to Client/Server through bot, or analyze the packets you need.',
    6, 10)

# Injection
_x = 6
_y = 50
lblOpcode = QtBind.createLabel(gui, 'Opcode:', _x, _y)
txtOpcode = QtBind.createLineEdit(gui, "", _x + 45, _y - 3, 32, 20)
lblData = QtBind.createLabel(gui, 'Data:', _x + 45 + 32 + 6, _y)
txtData = QtBind.createLineEdit(gui, "", _x + 45 + 32 + 6 + 32, _y - 3, 385,
                                20)
cbxEncrypted = QtBind.createCheckBox(gui, 'cbxEnc_clicked', 'Encrypted',
                                     _x + 432, _y - 20)
_y += 25
btnInjectClient = QtBind.createButton(gui, 'btnInjectClient_clicked',
                                      "  Inject To Client  ", _x + 308, _y)
btnInjectServer = QtBind.createButton(gui, 'btnInjectServer_clicked',
                                      "  Inject To Server  ", _x + 404, _y)

# Filter
_x = 720 - 176
_y = 12
QtBind.createLineEdit(gui, "", _x - 26, _y, 1, 265)  # Separator line

cbxSro = QtBind.createCheckBox(gui, 'cbxShowClient_checked',
                               'Show Client packets [C->S]', _x + 10, _y)
cbxShowClient = False
_y += 20
cbxJmx = QtBind.createCheckBox(gui, 'cbxShowServer_checked',
                               'Show Server packets [S->C]', _x + 10, _y)
cbxShowServer = False
Пример #28
0
import os
from urllib import request, parse

pName = 'SmartBot'
pVersion = '1.0.0'
pUrl = 'https://raw.githubusercontent.com/rawsly/phbot-plugins/main/SmartBot.py'

path = get_config_dir() + pName + "\\"
gui = QtBind.init(__name__, pName)
apiUrl = "http://*****:*****@gmail.com", 30, 50, 200, 20)
PasswordLabel = QtBind.createLabel(gui, 'Password', 30, 80)
PasswordTextbox = QtBind.createLineEdit(gui, "123456", 30, 100, 200, 20)
connectBtn = QtBind.createButton(gui, 'handleConnectionBtn', 'Connect', 30,
                                 125)  # search button

connectionStatus = False


def handleConnectionBtn():
    if connectionStatus == True:
        disconnect()
        enableFields()
    else:
        userId = connect()
        if userId is not None:
            char = getCharData(userId)
            if char is not None:
                saveConfig(userId, char['charId'])
                disableFields()