How to: like [Only registered and activated users can see links. Click Here To Register...] but with my Buffbotv2.3.py file
Download: [Only registered and activated users can see links. Click Here To Register...]
Virus scan: It is a text file only!
What's new:
To do:
Video:
Download: [Only registered and activated users can see links. Click Here To Register...]
Virus scan: It is a text file only!
What's new:
HTML Code:
Add tooltip with names of buff skils. Check cooltime status of skill before use it. Auto restart. Timer delay for skill.
HTML Code:
Telepot to target for use buff skills.
|
[Only registered and activated users can see links. Click Here To Register...]
1. Select a target!
Code: [Only registered and activated users can see links. Click Here To Register...] 2. Press Get ID! [Only registered and activated users can see links. Click Here To Register...] 3. Turn on buff what you want to give! [Only registered and activated users can see links. Click Here To Register...] 4. Set PotBot percent levels and press Start [Only registered and activated users can see links. Click Here To Register...] Code:
import app
import chat
import chr
import locale
import net
import time
import ui
import player
import skill
import chrmgr
import item
IsOnScreen = "0"
buffbotstatus = ""
timing = "0"
cooltimedelay = "0"
delayslide = 0
buff1 = "0"
buff2 = "0"
buff3 = "0"
pothp = "0"
potsp = "0"
class Botdialog(ui.ThinBoard):
def __init__(self):
ui.ThinBoard.__init__(self)
self.LoadBoard()
self.skillname()
def LoadBoard(self):
self.SetCenterPosition()
self.SetSize(340, 170)
self.Show()
self.AddFlag("movable")
self.LoadText()
self.LoadButton()
def LoadText(self):
self.Title = ui.TextLine()
self.Title.SetParent(self)
self.Title.SetDefaultFontName()
self.Title.SetPosition(-90, 4)
self.Title.SetFeather()
self.Title.SetWindowHorizontalAlignCenter()
self.Title.SetText("Buffbot by 3t3r4n & DasKuchen")
self.Title.SetFontColor(1.0, 0.8, 0)
self.Title.SetOutline()
self.Title.Show()
self.TargetName = ui.TextLine()
self.TargetName.SetParent(self)
self.TargetName.SetDefaultFontName()
self.TargetName.SetPosition(-70, 33)
self.TargetName.SetFeather()
self.TargetName.SetWindowHorizontalAlignCenter()
self.TargetName.SetText("None")
self.TargetName.SetOutline()
self.TargetName.Show()
self.Info = ui.TextLine()
self.Info.SetParent(self)
self.Info.SetDefaultFontName()
self.Info.SetPosition(-125, 33)
self.Info.SetFeather()
self.Info.SetWindowHorizontalAlignCenter()
self.Info.SetFontColor(1.0, 0.8, 0)
self.Info.SetText("Target: ")
self.Info.SetOutline()
self.Info.Show()
self.Info2 = ui.TextLine()
self.Info2.SetParent(self)
self.Info2.SetDefaultFontName()
self.Info2.SetPosition(-125, 55)
self.Info2.SetFeather()
self.Info2.SetWindowHorizontalAlignCenter()
self.Info2.SetFontColor(1.0, 0.8, 0)
self.Info2.SetText("ID:")
self.Info2.SetOutline()
self.Info2.Show()
self.ChatEditLine = ui.TextLine()
self.ChatEditLine.SetParent(self)
self.ChatEditLine.SetDefaultFontName()
self.ChatEditLine.SetPosition(100, 55)
self.ChatEditLine.SetFeather()
self.ChatEditLine.SetText("0")
self.ChatEditLine.SetOutline()
self.ChatEditLine.Show()
self.hpper = ui.TextLine()
self.hpper.SetParent(self)
self.hpper.SetFontColor(1.0, 0.8, 0)
self.hpper.SetPosition(20, 100)
self.hpper.SetText("HP - OFF")
self.hpper.Show()
self.spper = ui.TextLine()
self.spper.SetParent(self)
self.spper.SetFontColor(1.0, 0.8, 0)
self.spper.SetPosition(20, 120)
self.spper.SetText("SP - OFF")
self.spper.Show()
self.delayper = ui.TextLine()
self.delayper.SetParent(self)
self.delayper.SetFontColor(1.0, 0.8, 0)
self.delayper.SetPosition(20, 140)
self.delayper.SetText("Delay-0sec")
self.delayper.Show()
def LoadButton(self):
self.CloseButton = ui.Button()
self.CloseButton.SetParent(self)
self.CloseButton.SetPosition(320, 4)
self.CloseButton.SetUpVisual("d:/ymir work/ui/public/close_button_01.sub")
self.CloseButton.SetOverVisual("d:/ymir work/ui/public/close_button_02.sub")
self.CloseButton.SetDownVisual("d:/ymir work/ui/public/close_button_03.sub")
self.CloseButton.SetToolTipText(locale.UI_CLOSE, 0, - 23)
self.CloseButton.SetEvent(ui.__mem_func__(self.Close))
self.CloseButton.Show()
self.BuffBotStartButton = ui.Button()
self.BuffBotStartButton.SetParent(self)
self.BuffBotStartButton.SetUpVisual("d:/ymir work/ui/public/large_button_01.sub")
self.BuffBotStartButton.SetOverVisual("d:/ymir work/ui/public/large_button_02.sub")
self.BuffBotStartButton.SetDownVisual("d:/ymir work/ui/public/large_button_03.sub")
self.BuffBotStartButton.SetText("Start")
self.BuffBotStartButton.SetPosition(130, 75)
self.BuffBotStartButton.SetEvent(ui.__mem_func__(self.StartBuffbot))
self.BuffBotStartButton.Show()
self.GetVIDButton = ui.Button()
self.GetVIDButton.SetParent(self)
self.GetVIDButton.SetUpVisual("d:/ymir work/ui/public/large_button_01.sub")
self.GetVIDButton.SetOverVisual("d:/ymir work/ui/public/large_button_02.sub")
self.GetVIDButton.SetDownVisual("d:/ymir work/ui/public/large_button_03.sub")
self.GetVIDButton.SetText("Get ID")
self.GetVIDButton.SetPosition(245, 30)
self.GetVIDButton.SetEvent(ui.__mem_func__(self.GetVID))
self.GetVIDButton.Show()
self.buf1 = ui.Button()
self.buf1.SetParent(self)
self.buf1.SetUpVisual("d:/ymir work/ui/public/small_button_01.sub")
self.buf1.SetOverVisual("d:/ymir work/ui/public/small_button_02.sub")
self.buf1.SetDownVisual("d:/ymir work/ui/public/small_button_03.sub")
self.buf1.SetText("1-OFF")
self.buf1.SetPosition(290, 60)
self.buf1.SetEvent(ui.__mem_func__(self.stat1))
self.buf1.Show()
self.buf2 = ui.Button()
self.buf2.SetParent(self)
self.buf2.SetUpVisual("d:/ymir work/ui/public/small_button_01.sub")
self.buf2.SetOverVisual("d:/ymir work/ui/public/small_button_02.sub")
self.buf2.SetDownVisual("d:/ymir work/ui/public/small_button_03.sub")
self.buf2.SetText("2-OFF")
self.buf2.SetPosition(290, 90)
self.buf2.SetEvent(ui.__mem_func__(self.stat2))
self.buf2.Show()
self.buf3 = ui.Button()
self.buf3.SetParent(self)
self.buf3.SetUpVisual("d:/ymir work/ui/public/small_button_01.sub")
self.buf3.SetOverVisual("d:/ymir work/ui/public/small_button_02.sub")
self.buf3.SetDownVisual("d:/ymir work/ui/public/small_button_03.sub")
self.buf3.SetText("3-OFF")
self.buf3.SetPosition(290, 120)
self.buf3.SetEvent(ui.__mem_func__(self.stat3))
self.buf3.Show()
self.slidebar1 = ui.SliderBar()
self.slidebar1.SetParent(self)
self.slidebar1.SetPosition(100, 105)
self.slidebar1.SetEvent(ui.__mem_func__(self .slideHP))
self.slidebar1.Show()
self.slidebar2 = ui.SliderBar()
self.slidebar2.SetParent(self)
self.slidebar2.SetPosition(100, 125)
self.slidebar2.SetEvent(ui.__mem_func__(self .slideSP))
self.slidebar2.Show()
self.slidebar3 = ui.SliderBar()
self.slidebar3.SetParent(self)
self.slidebar3.SetPosition(100, 145)
self.slidebar3.SetEvent(ui.__mem_func__(self .slidedelay))
self.slidebar3.Show()
def skillname(self):
##0razb
##2sura
##3saman
##5ninja
te1=int(net.GetMainActorRace())
te2=int(net.GetMainActorSkillGroup())
SkillIndex=1
if te1==3:
SkillIndex = 91
if te2==2:
SkillIndex==106
elif te1==2:
SkillIndex = 61
if te2==2:
SkillIndex==76
elif te1==5:
SkillIndex = 31
if te2==2:
SkillIndex==46
elif te1==0:
SkillIndex = 1
if te2==2:
SkillIndex==16
ski1=skill.GetSkillName(SkillIndex + 3)
ski2=skill.GetSkillName(SkillIndex + 4)
ski3=skill.GetSkillName(SkillIndex + 5)
self.buf1.SetToolTipText(ski1, 75, 2)
self.buf2.SetToolTipText(ski2, 75, 2)
self.buf3.SetToolTipText(ski3, 75, 2)
def __del__(self):
ui.ThinBoard.__del__(self)
def Show(self):
ui.ThinBoard.Show(self)
def Close(self):
player.ClearTarget()
global buffbotstatus, timing, cooltimedelay, delayslide, buff1, buff2, buff3, pothp, potsp, IsOnScreen
buffbotstatus = ""
IsOnScreen = "0"
timing = "0"
cooltimedelay = "0"
delayslide = 0
buff1 = "0"
buff2 = "0"
buff3 = "0"
pothp = "0"
potsp = "0"
self.Hide()
def OnPressEscapeKey(self):
self.Close()
return TRUE
def slidedelay(self):
global delayslide
delayslide=int(self.slidebar3.GetSliderPos()*100)
self.delayper.SetText('Delay-' + str(delayslide) + 'sec')
def slideHP(self):
global pothp
temp = int(self.slidebar1.GetSliderPos()*100)
if temp > 0:
self.hpper.SetText('HP - ' + str(temp) + '%')
pothp = temp
else:
self.hpper.SetText("HP - OFF")
pothp = "0"
def slideSP(self):
global potsp
temp = int(self.slidebar2.GetSliderPos()*100)
if temp > 0:
self.spper.SetText('SP - ' + str(temp) + '%')
potsp = temp
else:
self.spper.SetText("SP - OFF")
potsp = "0"
def delaydef(self):
global timing
if timing=="0":
timing = time.clock()
else:
curtiming = time.clock()
timetowait=timing + 5
if timetowait<curtiming:
timing="0"
net.SendChatPacket("/restart")
def AutoPot(self):
global pothp, potsp
hp = int(player.GetStatus(player.HP))
hpsize = int(player.GetStatus(player.MAX_HP))
sp = int(player.GetStatus(player.SP))
spsize = int(player.GetStatus(player.MAX_SP))
if hp<=0:
self.delaydef()
if potsp != "0":
if sp<spsize/100 * potsp:
for i in xrange(player.INVENTORY_PAGE_SIZE*3):
ItemValue = player.GetItemIndex(i)
if ItemValue == 27004 or ItemValue == 27005 or ItemValue == 27006:
net.SendItemUsePacket(i)
if pothp != "0":
if hp<hpsize/100 * pothp:
for i in xrange(player.INVENTORY_PAGE_SIZE*3):
ItemValue = player.GetItemIndex(i)
if ItemValue == 27001 or ItemValue == 27002 or ItemValue == 27003:
net.SendItemUsePacket(i)
def StartBuffbot(self):
global buffbotstatus,buff1,buff2,buff3,cooltimedelay
vid = int(self.ChatEditLine.GetText())
if buff1=="1" or buff2=="1" or buff3=="1":
if vid != 0:
if buffbotstatus != "":
buffbotstatus = ""
self.BuffBotStartButton.SetText("Start")
else:
buffbotstatus = "1"
cooltimedelay="-1"
self.BuffBotStartButton.SetText("Stop")
name = chr.GetNameByVID(vid)
self.TargetName.SetText(name)
else:
chat.AppendChat(chat.CHAT_TYPE_INFO, "Buffbot - Get an ID first!")
else:
chat.AppendChat(chat.CHAT_TYPE_INFO, "Buffbot - Turn on an buff!")
def GetVID(self):
global buffbotstatus
if buffbotstatus=="":
if self.TargetName.GetText() != "None":
vid = player.GetTargetVID()
self.ChatEditLine.SetText(str(vid))
else:
chat.AppendChat(chat.CHAT_TYPE_INFO, "Buffbot - Select a target first!")
else:
chat.AppendChat(chat.CHAT_TYPE_INFO, "Buffbot - Stop bot first!")
def stat1(self):
global buff1,buffbotstatus
if buffbotstatus=="":
if buff1 != "1":
self.buf1.SetText("1-ON")
buff1 = "1"
else:
self.buf1.SetText("1-OFF")
buff1 = "0"
else:
chat.AppendChat(chat.CHAT_TYPE_INFO, "Buffbot - Stop bot first!")
def stat2(self):
global buff2,buffbotstatus
if buffbotstatus == "":
if buff2 != "1":
self.buf2.SetText("2-ON")
buff2 = "1"
else:
self.buf2.SetText("2-OFF")
buff2 = "0"
else:
chat.AppendChat(chat.CHAT_TYPE_INFO, "Buffbot - Stop bot first!")
def stat3(self):
global buff3,buffbotstatus
if buffbotstatus=="":
if buff3 != "1":
self.buf3.SetText("3-ON")
buff3 = "1"
else:
self.buf3.SetText("3-OFF")
buff3 = "0"
else:
chat.AppendChat(chat.CHAT_TYPE_INFO, "Buffbot - Stop bot first!")
def OnUpdate(self):
targetVID = self.ChatEditLine.GetText()
global buffbotstatus, buff1, buff2, buff3, cooltimedelay, delayslide
if buffbotstatus != "" :
self.AutoPot()
player.SetTarget(int(targetVID))
if cooltimedelay=="0":
cooltimedelay = time.clock()
else:
curtiming = time.clock()
if cooltimedelay=="-1":
timetowait=0
else:
timetowait=cooltimedelay + delayslide
if timetowait<curtiming:
if buff1=="1":
statskill= player.IsSkillCoolTime(4)
if statskill==0:
player.ClickSkillSlot(4)
else:
sk1=1
if buff2=="1":
statskill= player.IsSkillCoolTime(5)
if statskill==0:
player.ClickSkillSlot(5)
else:
sk2=1
if buff3=="1":
statskill= player.IsSkillCoolTime(6)
if statskill==0:
player.ClickSkillSlot(6)
else:
sk3=1
if buff1=="0":
sk1=1
if buff2=="0":
sk2=1
if buff3=="0":
sk3=1
if sk1==1 and sk2==1 and sk3==1:
cooltimedelay="0"
sk1=0
sk2=0
sk3=0
else:
vid = player.GetTargetVID()
name = chr.GetNameByVID(vid)
self.TargetName.SetText(name)
return
class BotStarter(ui.ThinBoard):
def __init__(self):
ui.ThinBoard.__init__(self)
self.LoadBoard2()
def LoadBoard2(self):
self.SetCenterPosition()
self.SetSize(42 ,24)
self.Show()
self.AddFlag("movable")
self.load = ui.Button()
self.load.SetParent(self)
self.load.SetUpVisual("d:/ymir work/ui/public/small_button_01.sub")
self.load.SetOverVisual("d:/ymir work/ui/public/small_button_02.sub")
self.load.SetDownVisual("d:/ymir work/ui/public/small_button_03.sub")
self.load.SetText("Show")
self.load.SetPosition(0, 0)
self.load.SetEvent(ui.__mem_func__(self.shower))
self.load.Show()
def shower(self):
global IsOnScreen
if IsOnScreen=="0":
self.dialstarter=Botdialog()
self.dialstarter.Show()
IsOnScreen="1"
else:
chat.AppendChat(chat.CHAT_TYPE_INFO, "Buffbot - Already is on screen")
StartDialog = BotStarter()
StartDialog.Show()
YES it work on GF servers !!! Just redownload file, rename it to logininfo.py and put it in metin2 folder! Press show button only after you are in map with character!!! Special thanks to DasKuchen for the base of hack!
07/02/2012 23:42
Saschax#2
Virus scan?
07/03/2012 00:44
adrixmetalcore#3
Does it work on GF servers?
07/03/2012 00:59
kamarun#4
Hi you are using the technology of dasKuchen
you will enter no credits releasest something, I'm already a littele insert because of the root, well it is indeed a vileicht looked yet where are the thank-you for the people who made this possible and I say to you without the download ashamed even without the credits [Only registered and activated users can see links. Click Here To Register...] p.s: and where are the thank you for doing my little else you could not schuldigung ich verweisse abunzu auf in meiner Siggi unter sonstiges erste Reihe an Manchen Tagen is gut an andren halt schlechter aber ich bin am Lerhnen
07/03/2012 01:08
Freaky Desire#5
work for GF servers... ?
07/03/2012 01:15
kamarun#6
When I got the ok from dasKuchen I relase with the root of all GF but there mus dasKuchen just say ok
07/03/2012 01:30
'Rayzor#7
Check net wie der geht
07/03/2012 15:34
Turundeth#8
#deleted
07/05/2012 20:34
3t3r4n#9
YES it work on GF servers !!!
Just rename it to logininfo.py and put it in metin2 folder!
07/05/2012 22:48
Timer#10
Hello, very good, but can you had a timer, to decrease the frequency of buff.
Thx a lot
07/13/2012 15:33
3t3r4n#11
BUMP & UPDATE
07/13/2012 16:23
noahrmal#12
If you add the following button, you can set a button under the minni atlas to show the gui without a gui for the button.
add under the imports: ShowButton = ui.Button() ShowLine = ui.TextLine() add the following text under LoadButton: PHP Code:
07/13/2012 16:56
[uLow]Beni#13
i haven't test it, but i think it is nice
i hope the tele feature comes soon.
08/04/2012 00:22
sloba2424#14
How to use it on private server???
08/04/2012 01:03
iNN3frNo#15
Good work .! +1
Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google
Privacy Policy and
Terms of Service apply.
|