oyunun içindeki pythonun açık dosyaları yoksa yapamazsın
Kullandığım bir python hilesi var oyunun içerisinde direkt olarak çalışan ama bunu entegre edemedim. Aşağıdaki kodları oyunda direkt olarak çalıştırmak istiyorum. Importları düzgün girsemde çalışmıyor. Injector de kullanmak istemiyorum.
import textTail
import ui
import dbg
import app
import net
import chr
import time
import player
import thread
import item
import chat
import os
class PickUpBot(ui.ScriptWindow):
MODE_YANG = 2
MODE_ALL = 1
def __init__(self, parentUI, mode=0):
ui.ScriptWindow.__init__(self)
self.iPL = []
self.Run = 1
self.delay = 0.003
self.Ghostmode = 0
self.NYList = []
self.mode = mode
self.parentUI = parentUI
self.Movespeed = 100
self.x, self.y = 0, 0
def SetMode(self, mode):
if mode == PickUpBot.MODE_ALL:
self.GetVIDs = self.GetItems
elif mode == PickUpBot.MODE_YANG:
self.GetVIDs = self.GetYang
self.mode = mode
def SetGhostmode(self, flag=True):
self.Ghostmode = flag
def __del__(self):
self.Cancel()
ui.ScriptWindow.__del__(self)
def Cancel(self):
self.Run = 0
def PickList(self, ToPick):
for i in ToPick:
time.sleep(self.delay)
self.sendPickUp(i)
def Revive(self):
net.SendChatPacket("/restart", 2)
chat.AppendChat(1, "<Dreamfancy> Pickup bot başlatıldı.")
self.isAlive = 1
def GetItems(self):
List = []
Picker = textTail.Pick
for y in xrange(125, 600, 9): # xrange(125,600,9)
for x in xrange(300, 825, 31): # xrange(300,825,25)
iVID = Picker(x, y)
if iVID != -1 and iVID not in List:
List.append(iVID)
return List
def GetVIDs(self):
pass
def GetYang(self):
List = []
Picker = textTail.Pick
for y in xrange(125, 600, 9): # xrange(125,600,4)
for x in xrange(300, 825, 25): # xrange(300,825,5)
FirstCoord = None
LastCoord = None
iVID = Picker(x, y)
if iVID != -1:
if iVID not in self.NYList and iVID not in List:
for i in xrange(1, 29):
if Picker(x - i, y) != iVID:
FirstCoord = x - i + 1
break
if FirstCoord is None:
self.NYList.append(iVID)
continue
for i in xrange(1, 29):
if Picker(FirstCoord + i, y) != iVID:
LastCoord = FirstCoord + i - 1
break
if LastCoord is None:
self.NYList.append(iVID)
continue
List.append(iVID)
return List
def CountEvents(self, count):
self.parentUI.GhostLeftTimer(count)
chr.Revive()
def OnUpdate(self):
pStatus = player.GetStatus
chr.SetMoveSpeed(self.Movespeed)
x, y = player.GetMainCharacterPosition()[:2]
DifX = self.x - x
DifY = self.y - y
if DifX < 0:
DifX *= -1
if DifY < 0:
DifY *= -1
if (DifX + DifY) > 2200: # 2499-2000
chr.PushOnceMotion(chr.MOTION_WAIT)
self.x, self.y = player.GetMainCharacterPosition()[:2] # X,Y
if self.Ghostmode and self.isAlive and pStatus(player.HP) < 1:
chr.Revive()
self.TimeOutWaiter = CountDown()
self.TimeOutWaiter.SAFE_SetTimeOverEvent(self.Revive)
self.TimeOutWaiter.eventCountEvent = self.CountEvents
self.TimeOutWaiter.Open(119)
self.isAlive = 0
if self.Ghostmode and self.isAlive == 0 and pStatus(player.HP) > 0:
self.TimeOutWaiter.Close()
self.CountEvents(120)
self.isAlive = 1
if not self.Run:
return
sendPickUp = net.SendItemPickUpPacket
for item in self.GetVIDs():
sendPickUp(item)
def Start(self):
self.Run = 1
if self.mode == 0:
self.parentUI.UseDefaultModus()
self.isAlive = 1
self.Show()
def FlagRun(self):
self.Run = 1
def Stop(self):
self.Run = 0
self.Hide()
class CountDown(ui.ScriptWindow):
def __init__(self):
ui.ScriptWindow.__init__(self)
self.eventTimeOver = lambda *arg: None
self.eventExit = lambda *arg: None
self.eventCountEvent = lambda *arg: None
def __del__(self):
ui.ScriptWindow.__del__(self)
def Open(self, waitTime):
curTime = time.clock()
self.endTime = curTime + 1
self.Counter = waitTime + 1
self.Show()
def Close(self):
self.Hide()
def Destroy(self):
self.Hide()
def SAFE_SetTimeOverEvent(self, event):
self.eventTimeOver = ui.__mem_func__(event)
def SAFE_SetCountEvent(self, event):
self.eventCountEvent = ui.__mem_func__(event)
def SAFE_SetExitEvent(self, event):
self.eventExit = ui.__mem_func__(event)
def OnUpdate(self):
lastTime = max(0, self.endTime - time.clock())
if lastTime == 0:
self.endTime = time.clock() + 1
self.Counter -= 1
self.eventCountEvent(self.Counter)
if self.Counter < 1:
self.Close()
self.eventTimeOver()
UPversion = "2.4_2"
Pversion = "1.0"
Pdate = "20.01.2013"
class About(ui.Window):
def __init__(self):
ui.Window.__init__(self)
self.Board = ui.ThinBoard()
self.Board.SetSize(300, 120)
self.Board.SetCenterPosition()
self.Board.AddFlag('movable')
self.Board.AddFlag('float')
self.comp = Component()
self.lines = (
self.comp.TextLine(self.Board, 'Unpublic-Version: %s' % (UPversion), 50, 20, self.comp.RGB(0, 229, 650)),
self.comp.TextLine(self.Board, 'Public-Version: %s' % (Pversion), 50, 30, self.comp.RGB(0, 229, 650)),
self.comp.TextLine(self.Board, '(Un)Public version from %s' % (Pdate), 50, 40, self.comp.RGB(0, 229, 650)),
self.comp.TextLine(self.Board, 'Changelog: Empty', 50, 55, self.comp.RGB(0, 229, 650)),
self.comp.TextLine(self.Board, '2.4 -> 2.4_1:', 50, 65, self.comp.RGB(0, 229, 650)),
self.comp.TextLine(self.Board, 'Improved Performance because of no threads', 50, 75, self.comp.RGB(0, 229, 650)),
self.comp.TextLine(self.Board, 'and unused variables/functions has been removed.', 50, 85, self.comp.RGB(0, 229, 650)),
)
def __del__(self):
ui.Window.__del__(self)
def Show1(self):
self.Board.Show()
def Hide1(self):
self.Board.Hide()
def IsShow1(self):
return self.Board.IsShow()
def Close(self):
self.Board.Hide()
class Dialog1(ui.Window):
def __init__(self):
ui.Window.__init__(self)
self.PickUpBot = PickUpBot(self)
self.BuildWindow()
self.x = net.SendItemDropPacketNew
net.SendItemDropPacketNew = self.DropPacketNew
def DropPacketNew(self, *args):
self.PickUpBot.Run = 0
self.XX = CountDown()
self.XX.eventTimeOver = (lambda SLF=self.PickUpBot: SLF.FlagRun())
self.XX.Open(5)
return self.x(*args)
def __del__(self):
ui.Window.__del__(self)
def BuildWindow(self):
self.Ghostmode = 0
self.Board = ui.ThinBoard()
self.Board.SetSize(299, 136)
self.Board.SetCenterPosition()
self.Board.AddFlag('movable')
self.Board.AddFlag('float')
self.Board.Show()
self.About = About()
self.comp = Component()
self.titleBar = self.comp.TextLine(self.Board, '<Dreamfancy> Pickup-Bot', 95, 8, self.comp.RGB(0, 229, 650))
self.startbutton = self.comp.Button(self.Board, 'Başlat', 'd:/ymir work/ui/game/guild/meeting/minus_button_01.sub',
'd:/ymir work/ui/game/guild/meeting/minus_button_02.sub',
'd:/ymir work/ui/game/guild/meeting/minus_button_03.sub', 10, 35,
self.PickUpBot.Start)
self.stopbutton = self.comp.Button(self.Board, 'Durdur', 'd:/ymir work/ui/game/guild/meeting/minus_button_01.sub',
'd:/ymir work/ui/game/guild/meeting/minus_button_02.sub',
'd:/ymir work/ui/game/guild/meeting/minus_button_03.sub', 105, 35,
self.PickUpBot.Stop)
self.ghostbutton = self.comp.Button(self.Board, 'Ghostmode', 'd:/ymir work/ui/game/guild/meeting/minus_button_01.sub',
'd:/ymir work/ui/game/guild/meeting/minus_button_02.sub',
'd:/ymir work/ui/game/guild/meeting/minus_button_03.sub', 200, 35,
self.GhostMode)
self.aboutbutton = self.comp.Button(self.Board, 'Hakkında', 'd:/ymir work/ui/game/guild/meeting/minus_button_01.sub',
'd:/ymir work/ui/game/guild/meeting/minus_button_02.sub',
'd:/ymir work/ui/game/guild/meeting/minus_button_03.sub', 10, 65,
self.About.Show1)
self.mode = self.comp.Button(self.Board, 'Topla', 'd:/ymir work/ui/game/guild/meeting/minus_button_01.sub',
'd:/ymir work/ui/game/guild/meeting/minus_button_02.sub',
'd:/ymir work/ui/game/guild/meeting/minus_button_03.sub', 200, 65,
self.SetMode)
self.Board.Hide()
def UseDefaultModus(self):
self.PickUpBot.SetMode(PickUpBot.MODE_YANG)
self.mode.SetText('Yang')
self.GhostMode(False)
def GhostLeftTimer(self, count):
self.ghostbutton.SetText(str(count))
def SetMode(self):
if self.PickUpBot.mode == PickUpBot.MODE_YANG:
self.PickUpBot.SetMode(PickUpBot.MODE_ALL)
self.mode.SetText('All')
else:
self.UseDefaultModus()
def GhostMode(self, flag=None):
if flag is not None:
self.PickUpBot.SetGhostmode(flag)
return
self.Ghostmode = not self.Ghostmode
self.PickUpBot.SetGhostmode(self.Ghostmode)
def Close(self):
self.Board.Hide()
self.About.Hide1()