|
You last visited: Today at 11:52
Advertisement
Switchbot Problem
Discussion on Switchbot Problem within the Metin2 Private Server forum part of the Metin2 category.
10/24/2014, 16:36
|
#1
|
elite*gold: 48
Join Date: Oct 2014
Posts: 209
Received Thanks: 70
|
Switchbot Problem
Heyho liebe Com,
da ich noch relativ neu in der Metin2-Szene bin, wollte ich euch nun um Hilfe bitten, da ich mit einem Switchbot nicht mehr weiter komme.
Es sieht wie folgt aus:
Der Switchbot, der Ingame eingefügt ist kann per F6 gestartet werden. Dann öffnet er sich ganz normal und ich kann mein Item rein ziehen. Unten ist dabei ein Kasten, der für Vorschläge ist. Dort sind 3 Sachen eingespeichert --> PvP Mento usw.
Gehe ich nun in die Datei und will die Bonis anpassen und mehrere Sachen dazu schreibe, heißt PvP Rüssi o.ä dann funktioniert der Bot Ingame nicht mehr. Wenn ich F6 drücke öffnet er sich einfach nicht mehr. Hier mal die veränderte Botdatei.
Code:
import shop
import player
import item
import ui
import net
import locale
import chat
import grp
import wndMgr
import mouseModule
from uitooltip import ItemToolTip
# Switchbot by Mijago ; v 2.2.1
WEAR_NAMES = ItemToolTip.WEAR_NAMES
AFFECT_DICT = ItemToolTip.AFFECT_DICT
### Hier die Boni angeben, die auf dem Server aktiviert sind. Die angegebene Liste ist nur ein Beispiel und MUSS angepasst werden!
BONI_AVAIL = [1,2,3,4,5,6,9,10,12,13,14,15,16,17,18,19,20,21,22,23,27,28,29,30,31,32,33,34,37,39,41,43,44,45,48,53,71,72]
# Hier 6/7 Boni angeben!
BONI_RARE_AVAIL = [1,2]
# Das Switch-Item
SWITCH_VNUM = 71084
SWITCH_RARE_VNUM = 71052
# Die folgenden zahlen geben den MINMAX Bereich des Reglers an, der die Zeit angibt.
MIN_SWITCH_DELAY = 35
MAX_SWITCH_DELAY_APPEND = 120
# Max 10!!
MAX_NUM = 7
proposals = {
1: { # 1 = Weapon
"PVP (Wasu)":[
[9,20],
[4,20],
[15,20],
[17,20],
[12,20],
[3,8],
],
"PVP (Masu)":[
[9,20],
[4,20],
[15,20],
[17,20],
[6,20],
[3,8],
],
"PvP (Koerper) ":[
[5,20],
[15,20],
[16,20],
[17,20],
[12,20],
[,],
],
"PVP (Mental)":[
[9,20],
[15,20],
[17,20],
[6,20],
[5,20],
[,],
],
"PvP (Ninja) ":[
[6,20],
[5,20],
[9,20],
[15,20],
[17,20],
[,],
],
"PvP (Glocke) ":[
[4,20],
[12,20],
[9,20],
[17,20],
[17,20],
[,],
],
"PvP (Faecher) ":[
[4,20],
[6,20],
[9,20],
[15,20],
[17,20],
[,],
],
"PvP (Ruessi4fach) ":[
[1,6500],
[29,20],
[30,20],
[31,20],
[34,20],
[,],
],
"PvP (Ruessi3fach) ":[
[1,20],
[29,20],
[30,20],
[31,20],
[,20],
[,],
],
"PvP (Ohrringe) ":[
[17,20],
[29,20],
[30,20],
[31,20],
[34,20],
[,],
],
"PvP (Armband) ":[
[1,6500],
[17,20],
[37,15],
[16,20],
[,],
[,],
],
"PvP (Schuhe4fach) ":[
[1,6500],
[29,20],
[30,20],
[31,20],
[34,20],
[,],
],
"PvP (Schuhe3fach) ":[
[1,6500],
[29,20],
[30,20],
[31,20],
[15,20],
[,],
],
"PvP (Kette4fach) ":[
[1,6500],
[29,20],
[30,20],
[31,20],
[34,20],
[,],
],
"PvP (Kette) ":[
[1,6500],
[29,20],
[30,20],
[31,20],
[15,20],
[,],
],
"PvP (SchildIntStr) ":[
[48,1],
[4,20],
[5,20],
[17,20],
[27,20],
[,],
],
"PvP (SchildDexStr) ":[
[48,1],
[6,20],
[5,20],
[17,20],
[27,20],
[,],
],
"PvP (SchildIntDex) ":[
[48,1],
[4,20],
[6,20],
[17,20],
[27,20],
[,],
],
"PvP (Helm) ":[
[17,20],
[37,15],
[12,20],
[28,20],
[,],
[,],
],
"PvM (Gifti50Dss) ":[
[72,50],
[,],
],
"PVM": [
[,],
[,],
],
},
2: [ # Armor
[ #BODY,
],
[ #HEAD,
],
[ #SHIELD,
],
[ #WRIST,
],
[ #FOOTS,
],
[ #NECK,
],
[ #EAR,
],
],
}
# Farben :)
# COLOR_BG = grp.GenerateColor(0.0, 0.0, 0.0, 0.5)
# COLOR_INACTIVE = grp.GenerateColor(0.0, 0.0, 1.0, 0.2)
# COLOR_ACTIVE = grp.GenerateColor(0.1, 0.6, 1.0, 0.2)
# COLOR_FINISHED = grp.GenerateColor(0.0, 0.8, 1.0, 0.3)
# COLOR_INACTIVE_RARE = grp.GenerateColor(0.0, 0.2, 1.0, 0.2)
# COLOR_ACTIVE_RARE = grp.GenerateColor(0.2, 0.7, 1.0, 0.2)
# COLOR_HIGHLIGHT_RARE = grp.GenerateColor(0.2, 0.2, 1.0, 0.05)
# COLOR_PIN_HINT = grp.GenerateColor(0.0, 0.5, 1.0, 0.3)
# COLOR_CHECKBOX_NOT_SELECTED = grp.GenerateColor(0.0, 0.3, 1.0, 0.1)
# COLOR_CHECKBOX_SELECTED = grp.GenerateColor(0.0, 0.3, 1.0, 0.3)
# Standardfarben:
COLOR_BG = grp.GenerateColor(0.0, 0.0, 0.0, 0.5)
COLOR_INACTIVE = grp.GenerateColor(1.0, 0.0, 0.0, 0.2)
COLOR_ACTIVE = grp.GenerateColor(1.0, 0.6, 0.1, 0.2)
COLOR_FINISHED = grp.GenerateColor(0.0, 1.0, 0.0, 0.2)
COLOR_INACTIVE_RARE = grp.GenerateColor(1.0, 0.2, 0.0, 0.2)
COLOR_ACTIVE_RARE = grp.GenerateColor(1.0, 0.7, 0.2, 0.2)
COLOR_HIGHLIGHT_RARE = grp.GenerateColor(1.0, 0.2, 0.2, 0.05)
COLOR_PIN_HINT = grp.GenerateColor(0.0, 0.5, 1.0, 0.3)
COLOR_CHECKBOX_NOT_SELECTED = grp.GenerateColor(1.0, 0.3, 0.0, 0.1)
COLOR_CHECKBOX_SELECTED = grp.GenerateColor(0.3, 1.0, 1.0, 0.3)
DISTANCE_BOTTOM = 36
class Bar(ui.Bar):
def __init__(self,layer = "UI"):
ui.Bar.__init__(self,layer)
def SetColor(self,color):
wndMgr.SetColor(self.hWnd, color)
self.color = color
class BonusSelector(ui.Bar):
def Activate(self):
self.sub_parent.resetSwitch()
self.Status_new.SetColor(COLOR_ACTIVE)
self.sub_parent.StatusBar.SetColor(COLOR_ACTIVE)
self.sub_parent.StatusText.SetText("Aktiv")
self.Starter.SetText("Switchen ("+str(self.index+1)+") anhalten")
self.sub_parent.boni_active = 1
if self.parentWindow.parentWindow.gameWindow != None:
self.sub_parent.blockBar.swib_normal.SetColor(COLOR_ACTIVE)
pass
def Deactivate(self):
self.sub_parent.resetSwitch()
self.Status_new.SetColor(COLOR_INACTIVE)
self.sub_parent.StatusBar.SetColor(COLOR_INACTIVE)
self.sub_parent.StatusText.SetText("Inaktiv")
self.Starter.SetText("Switchen ("+str(self.index+1)+") starten")
self.sub_parent.boni_active = 0
if self.sub_parent.parentWindow.parentWindow.gameWindow != None:
self.sub_parent.blockBar.swib_normal.SetColor(COLOR_INACTIVE)
pass
def Activate_rare(self):
self.sub_parent.resetSwitch_rare()
self.sub_parent.StatusBar_rare.SetColor(COLOR_ACTIVE_RARE)
self.sub_parent.StatusText_rare.SetText("6/7 Aktiv")
self.Starter_rare_boni.SetText("6/7 anhalten")
self.sub_parent.boni_rare_active = 1
if self.parentWindow.parentWindow.gameWindow != None:
self.sub_parent.blockBar.swib_rare.SetColor(COLOR_ACTIVE_RARE)
pass
def Deactivate_rare(self):
self.sub_parent.resetSwitch_rare()
# self.Status_new.SetColor(COLOR_INACTIVE)
self.sub_parent.StatusBar_rare.SetColor(COLOR_INACTIVE_RARE)
self.sub_parent.StatusText_rare.SetText("6/7 Inaktiv")
self.Starter_rare_boni.SetText("6/7 starten")
self.Starter_rare_boni.SetUp()
self.sub_parent.boni_rare_active = 0
if self.sub_parent.parentWindow.parentWindow.gameWindow != None:
self.sub_parent.blockBar.swib_rare.SetColor(COLOR_INACTIVE_RARE)
pass
def Finish(self):
self.Status_new.SetColor(COLOR_FINISHED)
self.sub_parent.StatusBar.SetColor(COLOR_FINISHED)
self.sub_parent.StatusText.SetText("Fertig")
self.Starter.SetText("Switchen ("+str(self.index+1)+") fortsetzen")
self.sub_parent.boni_active = 0
if self.sub_parent.parentWindow.parentWindow.gameWindow != None:
self.sub_parent.blockBar.swib_normal.SetColor(COLOR_FINISHED)
pass
def Finish_rare(self):
# self.Status_new.SetColor(COLOR_FINISHED)
self.sub_parent.StatusBar_rare.SetColor(COLOR_FINISHED)
self.sub_parent.StatusText_rare.SetText("6/7 Fertig")
self.Starter_rare_boni.SetText("6/7 fortsetzen")
self.sub_parent.boni_rare_active = 0
if self.sub_parent.parentWindow.parentWindow.gameWindow != None:
self.sub_parent.blockBar.swib_rare.SetColor(COLOR_FINISHED)
pass
def Block(self):
self.BlockBar.Show()
self.BlockBar.sub.Show()
self.Starter.Hide()
pass
def Unblock(self):
self.BlockBar.sub.Hide()
self.BlockBar.Hide()
self.Starter.Show()
pass
def enable_rare_boni(self):
for i in range(0,4):
self.boni[6][i].Show()
self.boni[7][i].Show()
self.Starter.SetPosition(0,140+45)
self.bg_rare_boni.Show()
self.bg_rare_boni_but.Show()
self.Starter_rare_boni.Show()
self.sub_parent.StatusBar_rare.Show()
if self.sub_parent.parentWindow.parentWindow.gameWindow != None:
self.sub_parent.blockBar.Enable_rare(1)
def disable_rare_boni(self):
for i in range(0,4):
self.boni[6][i].Hide()
self.boni[7][i].Hide()
self.Starter.SetPosition(0,140)
self.bg_rare_boni.Hide()
self.bg_rare_boni_but.Hide()
self.Starter_rare_boni.Hide()
self.sub_parent.StatusBar_rare.Hide()
self.Deactivate_rare()
if self.sub_parent.parentWindow.parentWindow.gameWindow != None:
self.sub_parent.blockBar.Enable_rare(0)
def __init__(self,sub_parent):
ui.Bar.__init__(self, "UI")
self.sub_parent = sub_parent
self.index = sub_parent.index
self.SetColor(COLOR_BG)
self.SetSize(500,225+10)
self.boni = {}
self.Status_new = ui.Bar()
self.Status_new.SetParent(self)
self.Status_new.SetColor(COLOR_INACTIVE)
self.Status_new.SetSize(500,5)
self.Status_new.Show()
self.bg_rare_boni = ui.Bar()
self.bg_rare_boni.SetColor(COLOR_HIGHLIGHT_RARE)
self.bg_rare_boni.SetParent(self)
self.bg_rare_boni.SetPosition(0,132)
self.bg_rare_boni.SetSize(500,51)
self.bg_rare_boni.Hide()
self.bg_rare_boni_but = ui.Bar()
self.bg_rare_boni_but.SetColor(COLOR_HIGHLIGHT_RARE)
self.bg_rare_boni_but.SetParent(self)
self.bg_rare_boni_but.SetPosition(400,133+50)
self.bg_rare_boni_but.SetSize(100,25)
self.bg_rare_boni_but.Hide()
self.EnableRareBoni = CheckBox("6/7 Einblenden")
self.EnableRareBoni.SetParent(self)
self.EnableRareBoni.SetPosition(10,185)
self.EnableRareBoni.eventUp = self.disable_rare_boni
self.EnableRareBoni.eventDown = self.enable_rare_boni
self.EnableRareBoni.Show()
self.Starter = ui.ToggleButton()
self.Starter.SetWindowHorizontalAlignCenter()
self.Starter.SetParent(self)
self.Starter.SetUpVisual("d:/ymir work/ui/public/XLarge_Button_01.sub")
self.Starter.SetOverVisual("d:/ymir work/ui/public/XLarge_button_02.sub")
self.Starter.SetDownVisual("d:/ymir work/ui/public/XLarge_button_03.sub")
self.Starter.SetPosition(0,140)
self.Starter.SetText("Switchen starten")
self.Starter.SetToggleDownEvent(self.Activate)
self.Starter.SetToggleUpEvent(self.Deactivate)
self.Starter.Show()
self.Starter_rare_boni = ui.ToggleButton()
self.Starter_rare_boni.SetWindowHorizontalAlignCenter()
self.Starter_rare_boni.SetParent(self)
self.Starter_rare_boni.SetUpVisual("d:/ymir work/ui/public/Large_Button_01.sub")
self.Starter_rare_boni.SetOverVisual("d:/ymir work/ui/public/Large_button_02.sub")
self.Starter_rare_boni.SetDownVisual("d:/ymir work/ui/public/Large_button_03.sub")
self.Starter_rare_boni.SetPosition(200,140+45)
self.Starter_rare_boni.SetText("6/7 Starten")
self.Starter_rare_boni.SetToggleDownEvent(self.Activate_rare)
self.Starter_rare_boni.SetToggleUpEvent(self.Deactivate_rare)
self.Starter_rare_boni.Hide()
for i in range(7,5,-1):
vas = i
self.boni[vas] = {}
self.boni[vas][0] = ui.TextLine()
self.boni[vas][0].SetParent(self)
self.boni[vas][0].SetText("Bonus "+str(vas))
self.boni[vas][0].SetPosition(15,10+25*(vas-1))
self.boni[vas][0].Hide()
self.boni[vas][1] = DropDown(self,"- Keiner -")
self.boni[vas][1].SetPosition(70,10+25*(vas-1))
for x in AFFECT_DICT:
if x in BONI_RARE_AVAIL:
self.boni[vas][1].AppendItem(str(AFFECT_DICT[x](0)),x)
self.boni[vas][1].SetSize(330,20)
self.boni[vas][1].Hide()
self.boni[vas][2] = ui.Bar("UI")
self.boni[vas][2].SetParent(self)
self.boni[vas][2].SetPosition(410,10+25*(vas-1))
self.boni[vas][2].SetColor(0xC0000000)
self.boni[vas][2].SetSize(80,20)
self.boni[vas][2].Hide()
self.boni[vas][3] = Edit2("0",14)
self.boni[vas][3].SetParent(self.boni[vas][2])
self.boni[vas][3].SetNumberMode()
self.boni[vas][3].SetSize(80,20)
self.boni[vas][3].SetPosition(4,3)
self.boni[vas][3].Hide()
for i in range(0,5):
vas = 5-i
self.boni[vas] = {}
self.boni[vas][0] = ui.TextLine()
self.boni[vas][0].SetParent(self)
self.boni[vas][0].SetText("Bonus "+str(vas))
self.boni[vas][0].SetPosition(15,10+25*(vas-1))
self.boni[vas][0].Show()
self.boni[vas][1] = DropDown(self,"- Keiner -")
self.boni[vas][1].SetPosition(70,10+25*(vas-1))
for x in AFFECT_DICT:
if x in BONI_AVAIL:
self.boni[vas][1].AppendItem(str(AFFECT_DICT[x](0)),x)
self.boni[vas][1].SetSize(330,20)
self.boni[vas][1].Show()
self.boni[vas][2] = ui.Bar("UI")
self.boni[vas][2].SetParent(self)
self.boni[vas][2].SetPosition(410,10+25*(vas-1))
self.boni[vas][2].SetColor(0xC0000000)
self.boni[vas][2].SetSize(80,20)
self.boni[vas][2].Show()
self.boni[vas][3] = Edit2("0",14)
self.boni[vas][3].SetParent(self.boni[vas][2])
self.boni[vas][3].SetNumberMode()
self.boni[vas][3].SetSize(80,20)
self.boni[vas][3].SetPosition(4,3)
self.boni[vas][3].Show()
self.but_propose = DropDown(self,'Vorschlaege',0)
self.but_propose.SetParent(self)
self.but_propose.SetPosition(380,210)
self.but_propose.OnChange=self.change_boni
self.but_propose.Show()
self.BlockBar = ui.Bar()
self.BlockBar.SetParent(self)
self.BlockBar.SetColor(COLOR_INACTIVE)
self.BlockBar.SetPosition(0,5)
self.BlockBar.SetSize(500,170-5+35+2)
self.BlockBar.Hide()
self.BlockBar.sub = ui.Bar()
self.BlockBar.sub.SetParent(self)
self.BlockBar.sub.SetColor(COLOR_INACTIVE)
self.BlockBar.sub.SetPosition(500-122,5+170-5+35+2)
self.BlockBar.sub.SetSize(122,30)
self.BlockBar.sub.Hide()
self.BlockText = ui.TextLine()
self.BlockText.SetParent(self.BlockBar)
self.BlockText.SetWindowHorizontalAlignCenter()
self.BlockText.SetHorizontalAlignCenter()
self.BlockText.SetPosition(0,140)
self.BlockText.SetText("Dieses Item kannst du nicht switchen.")
self.BlockText.Show()
self.prepare_propose()
def change_boni(self):
use = self.but_propose.DropList.GetSelectedItem().value
bon = 1
item.SelectItem(self.sub_parent.vnum)
for x in use:
# TODO: Check if bonus exists on item!!
ok = 1
for i in xrange(item.ITEM_APPLY_MAX_NUM):
(affectType, affectValue) = item.GetAffect(i)
if affectType == x[0]:
ok = 0
if ok == 0:
continue
y = self.boni[bon][1]
y.SelectByAffectId(x[0])
self.boni[bon][1].act.SetText(y.DropList.GetSelectedItem().textBox.GetText())
self.boni[bon][3].SetText(str(x[1]))
bon+=1
for x in range(bon,6):
y = self.boni[x][1].DropList
y.SelectIndex(0)
self.boni[x][1].act.SetText(y.GetSelectedItem().textBox.GetText())
self.boni[x][3].SetText("0")
def prepare_propose(self):
self.but_propose.DropList.RemoveAllItems()
self.but_propose.maxh = 95
self.but_propose.c = 0
self.but_propose.AppendItem("Leer",[])
item.SelectItem(self.sub_parent.vnum)
type = item.GetItemType()
use = proposals[type]
if type == 2:
use = use[item.GetItemSubType()]
for prop in use:
self.but_propose.AppendItem(prop,use[prop])
class ItemTabBar(ui.Window):
class BlockBar(ui.Window):
size_res = 32
multi = 1
def SetSize(self,i=1):
self.multi = i
ui.Window.SetSize(self,self.size_res,self.size_res*i)
if self.rare_enabled == 1:
self.swib_normal.SetSize(self.size_res,self.size_res*i/3*2)
pos1 = int(1.0*self.size_res*i/3.0*2.0)
self.swib_normal.SetSize(self.size_res,pos1)
self.swib_rare.SetSize(self.size_res,self.size_res*i-pos1)
self.swib_rare.SetPosition(0,pos1)
self.swib_rare.Show()
else:
self.swib_normal.SetSize(self.size_res,self.size_res*i)
self.swib_rare.Hide()
def Enable_rare(self,o = 1):
self.rare_enabled = o
self.SetSize(self.multi)
def __init__(self):
ui.Window.__init__(self)
self.rare_enabled = 0
self.swib_normal = ui.Bar()
self.swib_normal.SetParent(self)
self.swib_normal.SetSize(self.size_res,self.size_res*self.multi)
self.swib_normal.SetColor(COLOR_INACTIVE)
self.swib_normal.SetPosition(0,0)
self.swib_normal.Show()
self.swib_rare = ui.Bar()
self.swib_rare.SetParent(self)
self.swib_rare.SetSize(self.size_res,self.size_res)
self.swib_rare.SetColor(COLOR_INACTIVE_RARE)
self.swib_rare.SetPosition(0,0)
self.swib_rare.Hide()
self.SetSize(1)
class ItemTab(ui.Bar):
height_selected = 36*3+8
height_unselected = 36*3+5
def Destroy(self):
self.parentWindow.parentWindow.enable_rebuy.SetParent(self.parentWindow.parentWindow)
self.parentWindow.parentWindow.but_speed.SetParent(self.parentWindow.parentWindow)
self.parentWindow.parentWindow.help_show_rare.SetParent(self.parentWindow.parentWindow)
self.parentWindow.parentWindow.help_rebuy.SetParent(self.parentWindow.parentWindow)
# self.parentWindow.parentWindow.help_stop_all.SetParent(self.parentWindow.parentWindow)
self.parentWindow.parentWindow.help_duration.SetParent(self.parentWindow.parentWindow)
# self.parentWindow.parentWindow.but_deactivate_all.SetParent(self.parentWindow.parentWindow)
# self.parentWindow.parentWindow.but_deactivate_all.Hide()
self.parentWindow.parentWindow.enable_rebuy.Hide()
self.parentWindow.parentWindow.but_speed.Hide()
self.bonusSelector.Hide()
self.bonusSelector.__del__()
self.Hide()
self.__del__()
def DeleteMe(self):
self.parentWindow.DeleteTab(self.tabnum)
def __init__(self,parent,tabnum,index = 0,vnum = 0): ## Init ItemTab
ui.Bar.__init__(self)
self.SetColor(COLOR_BG)
self.SetSize(self.width,self.height_unselected)
self.index = index
self.tabnum = tabnum
self.vnum = vnum
self.count = 0
self.count_rare = 0
self.parentWindow = parent
self.SetParent(parent)
if self.parentWindow.parentWindow.gameWindow != None:
self.blockBar = ItemTabBar.BlockBar()
self.blockBar.SetParent(self.parentWindow.parentWindow.gameWindow.interface.wndInventory.wndItem)
ipi = self.parentWindow.parentWindow.gameWindow.interface.wndInventory.inventoryPageIndex
self.blockBar.Show()
ip2 = self.index - ipi*45
self.blockBar.SetPosition(((ip2-int(ip2/5)*5)*self.blockBar.size_res),int(ip2/5)*self.blockBar.size_res)
self.ItemIcon = ui.ImageBox()
self.ItemIcon.SetParent(self)
self.ItemIcon.AddFlag("not_pick")
self.ItemIcon.SetWindowHorizontalAlignCenter()
self.ItemIcon.SetWindowVerticalAlignCenter()
self.ItemIcon.Show()
self.SlotName = ui.TextLine()
self.SlotName.SetParent(self)
self.SlotName.SetWindowHorizontalAlignCenter()
self.SlotName.SetHorizontalAlignCenter()
self.SlotName.SetPosition(0,5)
self.SlotName.SetText("Slot %d" % (self.index+1))
self.SlotName.AddFlag("not_pick")
self.SlotName.Show()
self.StatusBar = Bar() # Special Bar
self.StatusBar.SetParent(self)
self.StatusBar.SetWindowVerticalAlignBottom()
self.StatusBar.SetSize(self.width,20)
self.StatusBar.SetPosition(0,20)
self.StatusBar.SetColor(COLOR_INACTIVE)
self.StatusBar.AddFlag("not_pick")
self.StatusBar.Show()
self.StatusText = ui.TextLine()
self.StatusText.SetParent(self.StatusBar)
# self.StatusText.SetParent(self)
self.StatusText.SetWindowHorizontalAlignCenter()
self.StatusText.SetWindowVerticalAlignCenter()
self.StatusText.SetHorizontalAlignCenter()
self.StatusText.SetVerticalAlignCenter()
self.StatusText.SetPosition(0,0)
self.StatusText.SetText("Inaktiv")
self.StatusText.Show()
self.StatusBar_rare = Bar() # Special Bar
self.StatusBar_rare.SetParent(self)
self.StatusBar_rare.SetWindowVerticalAlignBottom()
self.StatusBar_rare.SetSize(self.width,20)
self.StatusBar_rare.SetPosition(0,40)
self.StatusBar_rare.SetColor(COLOR_INACTIVE_RARE)
self.StatusBar_rare.AddFlag("not_pick")
self.StatusBar_rare.Hide()
self.StatusText_rare = ui.TextLine()
self.StatusText_rare.SetParent(self.StatusBar_rare)
self.StatusText_rare.SetWindowHorizontalAlignCenter()
self.StatusText_rare.SetWindowVerticalAlignCenter()
self.StatusText_rare.SetHorizontalAlignCenter()
self.StatusText_rare.SetVerticalAlignCenter()
self.StatusText_rare.SetPosition(0,0)
self.StatusText_rare.SetText("6/7 Inaktiv")
self.StatusText_rare.Show()
self.CloseBut = ui.Button()
self.CloseBut.SetParent(self)
self.CloseBut.SetUpVisual("d:/ymir work/ui/public/close_button_01.sub")
self.CloseBut.SetOverVisual("d:/ymir work/ui/public/close_button_02.sub")
self.CloseBut.SetDownVisual("d:/ymir work/ui/public/close_button_03.sub")
self.CloseBut.SetToolTipText("Tab schliessen", 0, -23)
self.CloseBut.SetEvent(self.DeleteMe)
self.CloseBut.SetPosition(0,0)
self.CloseBut.Show()
self.OnMouseLeftButtonDown = lambda: self.Select()
self.boni_active = 0
self.boni_rare_active = 0
self.bonusSelector = BonusSelector(self)
self.bonusSelector.SetParentProxy(self.parentWindow.parentWindow)
self.bonusSelector.SetPosition(10,35+36*3+4*2)
self.bonusSelector.Hide()
self.vnum = 0
self.SetIndex(index)
self.resetSwitch()
self.resetSwitch_rare()
def IsActive(self):
return self.boni_active == 1
def IsActive_rare(self):
return self.boni_rare_active == 1
def SetParentProxy(self,parent):
ui.Bar.SetParentProxy(self,parent)
def Select(self):
for a in self.parentWindow.tabList:
self.parentWindow.tabList[a].UnSelect()
self.parentWindow.tabList[a].bonusSelector.Hide()
self.bonusSelector.Show()
self.SetSize(self.width,self.height_selected)
self.Update()
# self.parentWindow.parentWindow.but_deactivate_all.SetParent(self.bonusSelector)
# self.parentWindow.parentWindow.but_deactivate_all.SetPosition(415-10,200+10)
# self.parentWindow.parentWindow.but_deactivate_all.Show()
self.parentWindow.parentWindow.enable_rebuy.SetParent(self.bonusSelector)
self.parentWindow.parentWindow.enable_rebuy.SetPosition(10,200+10)
self.parentWindow.parentWindow.enable_rebuy.Show()
self.parentWindow.parentWindow.but_speed.SetParent(self.bonusSelector)
self.parentWindow.parentWindow.but_speed.SetPosition(0,205+10)
self.parentWindow.parentWindow.but_speed.Show()
self.parentWindow.parentWindow.help_show_rare.SetParent(self.bonusSelector)
self.parentWindow.parentWindow.help_rebuy.SetParent(self.bonusSelector)
# self.parentWindow.parentWindow.help_stop_all.SetParent(self.bonusSelector)
self.parentWindow.parentWindow.help_duration.SetParent(self.bonusSelector)
def UnSelect(self):
self.SetSize(self.width,self.height_unselected)
self.Update()
def Update(self):
self.StatusBar.SetPosition(0,20)
self.SetPosition((self.width+self.dist)*self.tabnum,0)
self.SlotName.SetText("Slot %d" % (self.index+1))
def resetSwitch(self):
self.values = [0,0,0,0,0]
def resetSwitch_rare(self):
self.values_rare = [0,0]
# last_switch = -1
rebuyed = 0
def nachkauf(self):
if self.parentWindow.parentWindow.buyed != 0:
return
else:
self.parentWindow.parentWindow.buyed = 1
if self.parentWindow.parentWindow.enable_rebuy.checked == 1:
for i in range(0,shop.SHOP_SLOT_COUNT):
me = shop.GetItemID(i)
if me == SWITCH_VNUM:
if shop.GetItemPrice(i) > player.GetMoney():
# chat.AppendChat(1,"-- Switchitem gefunden! Aber wir haben kein Geld :(")
self.bonusSelector.Deactivate()
return
else:
net.SendShopBuyPacket(i)
self.rebuyed = 1
# self.Switch()
return
rebuyed_rare = 0
def nachkauf_rare(self):
if self.parentWindow.parentWindow.buyed_rare != 0:
return
else:
self.parentWindow.parentWindow.buyed_rare = 1
if self.parentWindow.parentWindow.enable_rebuy.checked == 1:
for i in range(0,shop.SHOP_SLOT_COUNT):
me = shop.GetItemID(i)
if me == SWITCH_RARE_VNUM:
if shop.GetItemPrice(i) > player.GetMoney():
# chat.AppendChat(1,"-- Switchitem gefunden! Aber wir haben kein Geld :(")
self.bonusSelector.Deactivate_rare()
return
else:
net.SendShopBuyPacket(i)
self.rebuyed_rare = 1
# self.Switch()
return
# self.bonusSelector.Deactivate()
def Switch_rare(self):
lc = 0
for i in range(0,90*2):
if player.GetItemIndex(i) == SWITCH_RARE_VNUM:
lc+=player.GetItemCount(i)
if lc == 0 and self.parentWindow.parentWindow.enable_rebuy.checked == 0:
chat.AppendChat(2,"Slot %d: 6/7 Switchen abgebrochen -> Keine Switchitems & Nachkauf war nicht erfolgreich!" % (self.index+1))
self.bonusSelector.Deactivate_rare()
return
if lc < 15:
self.nachkauf_rare()
if lc == 0:
self.bonusSelector.Deactivate_rare()
chat.AppendChat(2,"Slot %d: 6/7 Switchen abgebrochen -> Keine Switchitems!" % (self.index+1))
return
for i in range(0,90*2):
if player.GetItemIndex(i) == SWITCH_RARE_VNUM:
net.SendItemUseToItemPacket(i,self.index)
return
def Switch(self):
lc = 0
for i in range(0,90*2):
if player.GetItemIndex(i) == SWITCH_VNUM:
lc+=player.GetItemCount(i)
if lc == 0 and self.parentWindow.parentWindow.enable_rebuy.checked == 0:
self.bonusSelector.Deactivate()
return
if lc < 15:
self.nachkauf()
if lc == 0:
self.bonusSelector.Deactivate()
return
for i in range(0,90*2):
if player.GetItemIndex(i) == SWITCH_VNUM:
net.SendItemUseToItemPacket(i,self.index)
return
# self.nachkauf()
def checkSwitch(self):
ok = 0
for i in range(0,5):
if player.GetItemAttribute(self.index, i) != self.values[i]:
ok = 1
self.prob = self.GetProb()
self.StatusText.SetText("Aktiv (%d%%)" %self.prob)
if ok == 1 or self.prob >= 90:
if self.prob >= 90:
chat.AppendChat(1,"Slot %d: fertig geswitcht!" % (self.index+1))
self.bonusSelector.Finish()
return
self.values = [player.GetItemAttribute(self.index, i) for i in range(0,5)]
self.Switch()
elif self.rebuyed > 0:
self.rebuyed = 0
self.Switch()
elif ok == 0 and self.count < 5:
self.count+=1
elif ok == 0 and self.count >= 5:
self.count = 0
self.Switch()
# elif self.last_switch > -1 and player.GetItemCount(self.last_switch) == 0:
# chat.AppendChat(2,"%d"%player.GetItemCount(self.last_switch))
# self.last_switch = 0
# self.Switch()
# else:
# if self.GetProb() != 100:
# self.Switch()
pass
def checkSwitch_rare(self):
ok = 0
for i in range(0,2):
if player.GetItemAttribute(self.index, i+6) != self.values_rare[i]:
ok = 1
self.prob_rare = self.GetProb_rare()
self.StatusText_rare.SetText("Aktiv (%d%%)" %self.prob_rare)
if ok == 1 or self.prob_rare >= 90:
if self.prob_rare >= 90:
self.bonusSelector.Finish_rare()
chat.AppendChat(1,"Slot %d: 6/7 fertig geswitcht!" % (self.index+1))
return
self.values_rare = [player.GetItemAttribute(self.index, i) for i in range(5,7)]
self.Switch_rare()
elif self.rebuyed_rare > 0:
self.rebuyed_rare = 0
self.Switch_rare()
elif ok == 0 and self.count_rare < 5:
self.count_rare+=1
elif ok == 0 and self.count_rare >= 5:
self.count_rare = 0
self.Switch_rare()
pass
def UpdateItem(self):
# try:
vnum = player.GetItemIndex(self.index)
if vnum == 0 and self.vnum != 0:
self.resetSwitch()
self.resetSwitch_rare()
self.vnum = 0
self.bonusSelector.Deactivate()
self.bonusSelector.Block()
self.bonusSelector.prepare_propose()
self.ItemIcon.Hide()
if self.parentWindow.parentWindow.gameWindow != None:
self.blockBar.SetSize(1)
return
elif vnum != self.vnum:
self.resetSwitch()
self.resetSwitch_rare()
self.vnum = vnum
self.bonusSelector.Deactivate()
self.bonusSelector.prepare_propose()
item.SelectItem(self.vnum)
if self.parentWindow.parentWindow.gameWindow != None:
(w,h) = item.GetItemSize()
self.blockBar.SetSize(h)
if item.GetItemType() != 1 and item.GetItemType() != 2:
self.bonusSelector.Block()
else:
self.bonusSelector.Unblock()
self.ItemIcon.Show()
self.ItemIcon.LoadImage(item.GetIconImageFileName())
# self.values = [player.GetItemAttribute(self.index, i) for i in range(0,5)]
return
if self.IsActive():
self.checkSwitch()
if self.IsActive_rare():
self.checkSwitch_rare()
# except:
# pass
def SetIndex(self,index):
self.index = index
self.bonusSelector.index = index
self.bonusSelector.Starter.SetText("Switchen ("+str(index+1)+") starten")
self.Update()
self.UpdateItem()
def GetProb_rare(self):
values = [player.GetItemAttribute(self.index, i+6) for i in range(0,2)]
val2 = {}
for i in range(0,2):
try:
affectString = AFFECT_DICT[values[i][0]](values[i][1])
val2[values[i][0]] = values[i][1]
self.bonusSelector.ibi[i+6].SetText(affectString)
except:
pass
prob = 0
max = 0
yp = self.GenList_rare()
for x in yp:
if yp[x] in val2 and val2[yp[x]] >= int(self.bonusSelector.boni[x+5][3].GetText()):
prob = prob+1
max = max+1
if max > 0:
prozent = 100/max*prob
else:
prozent = 100
return prozent
pass
def GetProb(self):
values = [player.GetItemAttribute(self.index, i) for i in range(0,5)]
val2 = {}
# for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM):
for i in range(0,5):
try:
affectString = AFFECT_DICT[values[i][0]](values[i][1])
val2[values[i][0]] = values[i][1]
self.bonusSelector.ibi[i].SetText(affectString)
except:
pass
prob = 0
max = 0
yp = self.GenList()
for x in yp:
if yp[x] in val2 and val2[yp[x]] >= int(self.bonusSelector.boni[x][3].GetText()):
prob = prob+1
max = max+1
if max > 0:
prozent = 100/max*prob
else:
prozent = 100
return prozent
def GenList(self):
ret = {}
for i in range(0,5):
if self.bonusSelector.boni[5-i][1].selected.value != 0:
ret[5-i] = self.bonusSelector.boni[5-i][1].selected.value
return ret
def GenList_rare(self):
ret = {}
for i in range(0,2):
if self.bonusSelector.boni[6+i][1].selected.value != 0:
ret[i+1] = self.bonusSelector.boni[6+i][1].selected.value
return ret
def __init__(self,parent):
ui.Window.__init__(self)
self.SetSize(500,36*3+4*2)
self.tabCount = 0
self.tabList = {}
self.parentWindow = parent
self.SetParent(parent)
self.plusBar = ui.Bar()
self.plusBar.SetParent(self)
self.plusBar.SetSize(90,30)
self.plusBar.SetWindowVerticalAlignCenter()
self.plusBar.SetColor(COLOR_BG)
# self.plusBar.OnMouseLeftButtonDown = lambda: self.AddTab_pre()
self.plusBar.OnMouseLeftButtonUp = lambda: self.AddTab_pre()
self.OnMouseLeftButtonUp = lambda: self.AddTab_pre()
self.plusBar.SetPosition(30,0)
self.plusBar.Show()
self.AddText = ui.TextLine()
self.AddText.SetParent(self.plusBar)
self.AddText.SetText("Item hier platzieren")
self.AddText.SetWindowVerticalAlignCenter()
self.AddText.SetWindowHorizontalAlignCenter()
self.AddText.SetVerticalAlignCenter()
self.AddText.SetHorizontalAlignCenter()
self.AddText.SetPosition(0,0)
self.AddText.Show()
dist = [
[500, 0 ], #1
[240, 10 ],
[160, 10 ],
[117, 10.5],
# [ 80, 25 ], #5
[ 92, 10 ], #5
[ 75, 10 ], #6
[ 64, 9 ], #7
[ 56, 7.5], #8
[ 50, 6.5], #9
[ 45, 5.5], #10
][MAX_NUM-1]
self.ItemTab.width = dist[0]
self.ItemTab.dist = dist[1]
#For 8
# dist = 9-1.5
# width = 56
# For 9
# dist = 9-2.5
# width = 50
# For 10
# dist = 9-3.5
# width = 45
def DeleteTab(self,id):
if self.parentWindow.gameWindow != None:
self.tabList[id].blockBar.Hide()
self.tabList[id].blockBar.Destroy()
self.tabList[id].Destroy()
# del self.tabList[id]
self.tabCount = self.tabCount -1
if self.tabCount > id and id < 5:
for i in xrange(id,self.tabCount):
self.tabList[i] = self.tabList[i+1]
self.tabList[i].tabnum = i
self.tabList[i].SetPosition((self.tabList[i].width+self.tabList[i].dist)*i,0)
del self.tabList[self.tabCount]
else:
del self.tabList[id]
if self.tabCount > 0:
self.tabList[0].Select()
if (self.ItemTab.width+self.ItemTab.dist)*self.tabCount < 20:
self.parentWindow.SetSize(520,387-210)
self.parentWindow.but_speed.Hide()
self.plusBar.SetPosition(20,0)
else:
(x,y) = self.tabList[self.tabCount-1].GetLocalPosition()
self.plusBar.SetPosition(x+self.ItemTab.width+self.ItemTab.dist,0)
# self.plusBar.SetPosition((self.ItemTab.width+self.ItemTab.dist)*self.tabCount-10,0)
self.plusBar.Show()
def AddTab_pre(self):
if mouseModule.mouseController.isAttached():
attachedSlotType = mouseModule.mouseController.GetAttachedType()
attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
attachedSlotVnum = mouseModule.mouseController.GetAttachedItemIndex()
item.SelectItem(attachedSlotVnum)
if item.GetItemType() != 1 and item.GetItemType() != 2:
mouseModule.mouseController.DeattachObject()
chat.AppendChat(2,"Dieses Item kannst du nicht switchen.")
return
for a in self.tabList:
if self.tabList[a].index == attachedSlotPos:
mouseModule.mouseController.DeattachObject()
chat.AppendChat(2,"Dieser Slot ist bereits eingefuegt worden!")
return
if player.SLOT_TYPE_INVENTORY == attachedSlotType:
self.AddTab(attachedSlotPos,attachedSlotVnum)
chat.AppendChat(2,"Item hinzugefuegt!")
mouseModule.mouseController.DeattachObject()
def AddTab(self,id,vnum = 0):
if self.tabCount < MAX_NUM:
self.tabList[self.tabCount] = self.ItemTab(self,self.tabCount,id,vnum)
self.tabList[self.tabCount].Select()
self.tabList[self.tabCount].Show()
self.tabCount+= 1
if (self.ItemTab.width+self.ItemTab.dist)*self.tabCount < 20:
self.plusBar.SetPosition(20,0)
else:
(x,y) = self.tabList[self.tabCount-1].GetLocalPosition()
self.plusBar.SetPosition(x+self.ItemTab.width+self.ItemTab.dist,0)
if self.tabCount == MAX_NUM:
self.plusBar.Hide()
self.parentWindow.SetSize(520,387+10)
self.parentWindow.but_speed.Show()
# return 0
class Bot(ui.BoardWithTitleBar):
class PinGroup(ui.Bar):
def OnUpdate(self):
## Now check position.
(x,y) = self.GetGlobalPosition()
max_x = wndMgr.GetScreenWidth()-self.GetWidth()
max_y = wndMgr.GetScreenHeight()-self.GetHeight()-DISTANCE_BOTTOM
if not x == self.pos_x or not y == self.pos_y:
old_dir = self.dir
if self.pos_x == 0 and not self.pos_y == 0 and not self.pos_y == max_y and old_dir != 1:
self.parse_dir(1)
elif self.pos_x == max_x and not self.pos_y == 0 and not self.pos_y == max_y and old_dir != 2:
self.parse_dir(2)
elif self.pos_y == max_y and not self.pos_x == 0 and not self.pos_x == max_x and old_dir != 4:
self.parse_dir(4)
elif self.pos_y == 0 and not self.pos_x == 0 and not self.pos_x == max_x and old_dir != 3:
self.parse_dir(3)
max_x = wndMgr.GetScreenWidth()-self.GetWidth()
max_y = wndMgr.GetScreenHeight()-self.GetHeight()-DISTANCE_BOTTOM
if self.pos_x == 0 and not self.pos_y == 0 and not self.pos_y == max_y:
x = 0
elif self.pos_x == max_x and not self.pos_y == 0 and not self.pos_y == max_y:
x = max_x
elif self.pos_y == 0 and not self.pos_x == 0 and not self.pos_x == max_x:
y = 0
elif self.pos_y == max_y and not self.pos_x == 0 and not self.pos_x == max_x:
y = max_y
if x > 0 and x < max_x and y > 0 and y < max_y:
if y < int(max_y/2):
y = 0
else:
y = max_y
if x < int(max_x/2):
x = 0
else:
x = max_x
x = min(max(0,x),wndMgr.GetScreenWidth()-self.GetWidth())
y = min(max(0,y),wndMgr.GetScreenHeight()-self.GetHeight()-DISTANCE_BOTTOM)
self.SetPosition(x,y)
self.pos_x = x
self.pos_y = y
# (self.pos_x,self.pos_y) = self.GetGlobalPosition()
self.parent.OnUpdate()
for c in self.txtlist:
c.SetColor(c.item.StatusBar.color)
c.txt2.SetText("Status: %s" % c.item.StatusText.GetText())
try:
c.listWin2.SetColor(c.item.StatusBar_rare.color)
c.txt3.SetText("Status: %s" % c.item.StatusText_rare.GetText())
except:
pass
def ShowMainWindow(self):
(x,y) = self.parent.GetGlobalPosition()
x = min(max(32,x),wndMgr.GetScreenWidth()-self.parent.GetWidth()-32)
y = min(max(32,y),wndMgr.GetScreenHeight()-self.parent.GetHeight()-DISTANCE_BOTTOM-32)
self.parent.SetPosition(x,y)
self.parent.Show()
self.__del__()
def parse_dir(self,dir):
self.dir = dir
w,h = 100,50
for listWin in self.txtlist:
itm = listWin.item
listWin.AddFlag("not_pick")
if dir >= 3:
listWin.SetPosition(w,4)
listWin.SetSize(90,h-8)
w+=92
if itm.bonusSelector.EnableRareBoni.checked == 1:
w+=15
listWin.SetSize(105,4+12+12)
listWin.listWin2.SetSize(105,14)
listWin.listWin2.Show()
listWin.txt3.Show()
else:
listWin.SetPosition(0,h)
listWin.SetSize(w,4+12+12+2)
if itm.bonusSelector.EnableRareBoni.checked == 1:
listWin.SetSize(w,4+12+12)
listWin.listWin2.SetSize(w,14)
listWin.listWin2.Show()
listWin.txt3.Show()
# itl.append(txt3)
h+=12
pass
h+=4+12+12+4
self.SetSize(w,h)
def __init__(self,parent,dir = 1):
self.parent = parent
self.dir = dir
ui.Bar.__init__(self)
# Direction: 1 = left; 2 = right; 3 = top
self.SetColor(COLOR_BG)
w,h = 100,50
self.AddFlag("float")
self.AddFlag("movable")
self.maximise_but = ui.Button()
self.maximise_but.SetParent(self)
self.maximise_but.SetPosition(4,4)
self.maximise_but.SetUpVisual("d:/ymir work/ui/public/large_button_01.sub")
self.maximise_but.SetOverVisual("d:/ymir work/ui/public/large_button_02.sub")
self.maximise_but.SetDownVisual("d:/ymir work/ui/public/large_button_03.sub")
self.maximise_but.SetText("Vergroessern")
self.maximise_but.SetEvent(self.ShowMainWindow)
self.maximise_but.Show()
self.stop_but = ui.Button()
self.stop_but.SetParent(self)
self.stop_but.SetPosition(4,24)
self.stop_but.SetUpVisual("d:/ymir work/ui/public/large_button_01.sub")
self.stop_but.SetOverVisual("d:/ymir work/ui/public/large_button_02.sub")
self.stop_but.SetDownVisual("d:/ymir work/ui/public/large_button_03.sub")
self.stop_but.SetText("Alle Deaktivieren")
self.stop_but.SetEvent(self.parent.deactivate_all)
self.stop_but.Show()
self.txtlist = []
for a in self.parent.itemTabBar.tabList:
itm = self.parent.itemTabBar.tabList[a]
listWin = ui.Bar()
listWin.item = itm
self.txtlist.append(listWin)
listWin.SetColor(itm.StatusBar.color)
listWin.SetParent(self)
listWin.AddFlag("not_pick")
listWin.Show()
listWin.txt1 = ui.TextLine()
listWin.txt1.SetParent(listWin)
listWin.txt1.SetText("Slot %d:" %(itm.index+1))
listWin.txt1.Show()
listWin.txt1.SetPosition(4,2)
listWin.txt2 = ui.TextLine()
listWin.txt2.SetParent(listWin)
listWin.txt2.SetText("Status: %s" % itm.StatusText.GetText())
listWin.txt2.SetPosition(4,2+12)
listWin.txt2.Show()
listWin.listWin2 = ui.Bar()
listWin.listWin2.AddFlag("not_pick")
listWin.listWin2.SetColor(itm.StatusBar_rare.color)
listWin.listWin2.SetParent(listWin)
listWin.listWin2.SetPosition(0,4+12+12)
listWin.listWin2.SetSize(w,12+2)
listWin.listWin2.Hide()
listWin.txt3 = ui.TextLine()
listWin.txt3.SetParent(listWin.listWin2)
listWin.txt3.SetText("Status: %s" % itm.StatusText_rare.GetText())
listWin.txt3.SetPosition(4,0)
listWin.txt3.Hide()
if dir >= 3:
listWin.SetPosition(w,4)
listWin.SetSize(90,h-8)
w+=92
if itm.bonusSelector.EnableRareBoni.checked == 1:
w+=15
listWin.SetSize(105,4+12+12)
listWin.listWin2.SetSize(105,14)
listWin.listWin2.Show()
listWin.txt3.Show()
else:
listWin.SetPosition(0,h)
listWin.SetSize(w,4+12+12+2)
if itm.bonusSelector.EnableRareBoni.checked == 1:
listWin.SetSize(w,4+12+12)
listWin.listWin2.Show()
listWin.txt3.Show()
# itl.append(txt3)
h+=12
pass
h+=4+12+12+4
# else:
# self.txtlist.append(itl)
self.SetSize(w,h)
(x,y) = self.parent.GetGlobalPosition()
x = min(max(0,x),wndMgr.GetScreenWidth()-self.GetWidth())
y = min(max(0,y),wndMgr.GetScreenHeight()-self.GetHeight()-DISTANCE_BOTTOM)
if dir == 1:
# self.SetWindowHorizontalAlignLeft()
self.SetPosition(0,y)
elif dir == 2:
# self.SetWindowHorizontalAlignRight()
self.SetPosition(wndMgr.GetScreenWidth()-self.GetWidth(),y)
elif dir == 3:
# self.SetWindowVerticalAlignTop()
self.SetPosition(x,0)
else:
# self.SetWindowVerticalAlignBottom()
self.SetPosition(x,wndMgr.GetScreenHeight()-(DISTANCE_BOTTOM+h))
(self.pos_x,self.pos_y) = self.GetGlobalPosition()
self.parse_dir(dir)
# if dir == 1:
# self.SetWindowHorizontalAlignLeft()
# self.SetPosition(0,0)
# elif dir == 2:
# self.SetWindowHorizontalAlignRight()
# self.SetPosition(self.GetWidth(),0)
# elif dir == 3:
# self.SetWindowHorizontalAlignCenter()
# self.SetPosition(0,0)
# elif dir == 4:
# self.SetWindowHorizontalAlignCenter()
# self.SetPosition(0,36+h)
# else:
# return # ERR
pinhint = 0
def ShowPinHint(self,type):
self.pinhint = type
if type == 0:
self.PinHint.Hide()
return
# type=2
(x,y) = self.GetGlobalPosition()
if type == 1: # Left
self.PinHint.SetWindowHorizontalAlignLeft()
self.PinHint.SetWindowVerticalAlignCenter()
self.PinHint.SetSize(max(min(30,30-x),3),wndMgr.GetScreenHeight())
self.PinHint.SetPosition(0,0)
elif type == 2: # Right
self.PinHint.SetWindowHorizontalAlignRight()
self.PinHint.SetWindowVerticalAlignCenter()
self.PinHint.SetSize(30,wndMgr.GetScreenHeight())
self.PinHint.SetPosition(max(min(30,30-(wndMgr.GetScreenWidth()-(x+self.GetWidth()))),3),0)
elif type == 3: # Top
self.PinHint.SetWindowHorizontalAlignCenter()
self.PinHint.SetWindowVerticalAlignTop()
self.PinHint.SetSize(wndMgr.GetScreenWidth(),max(min(30,30-y),3))
self.PinHint.SetPosition(0,0)
elif type == 4: # Top
self.PinHint.SetWindowHorizontalAlignCenter()
self.PinHint.SetWindowVerticalAlignBottom()
self.PinHint.SetSize(wndMgr.GetScreenWidth(),30)
self.PinHint.SetPosition(0,36+max(min(30,30-(wndMgr.GetScreenHeight()-36-(y+self.GetHeight()))),3))
self.PinHint.Show()
# else:
def __init__(self):
ui.BoardWithTitleBar.__init__(self)
self.gameWindow = None
self.SetTitleName("Switchbot (Version 2.2)")
self.AddFlag("float")
self.AddFlag("movable")
self.SetPosition(30,30)
# self.SetSize(520,387)
# self.SetSize(520,387-210)
self.SetSize(520,387-210)
self.PinHint = ui.Bar()
self.PinHint.SetColor(COLOR_PIN_HINT)
self.PinHint.Show()
self.OnMouseLeftButtonDown = self.drag_start
self.OnMouseLeftButtonUp = self.drag_end
self.titleBar.MinimizeBut = ui.Button()
self.titleBar.MinimizeBut.SetParent(self.titleBar)
self.titleBar.MinimizeBut.SetUpVisual("d:/ymir work/ui/public/minimize_button_01.sub")
self.titleBar.MinimizeBut.SetOverVisual("d:/ymir work/ui/public/minimize_button_02.sub")
self.titleBar.MinimizeBut.SetDownVisual("d:/ymir work/ui/public/minimize_button_03.sub")
self.titleBar.MinimizeBut.SetToolTipText("Minimieren", 0, -23)
self.titleBar.MinimizeBut.SetPosition(520 - self.titleBar.btnClose.GetWidth()-3- 32 - 3, 3)
self.titleBar.MinimizeBut.SetEvent(lambda: self.PinShow(1))
self.titleBar.MinimizeBut.Show()
self.titleBar.HelpBut = ui.ToggleButton()
self.titleBar.HelpBut.SetParent(self.titleBar)
self.titleBar.HelpBut.SetUpVisual("d:/ymir work/ui/public/small_button_01.sub")
self.titleBar.HelpBut.SetOverVisual("d:/ymir work/ui/public/small_button_02.sub")
self.titleBar.HelpBut.SetDownVisual("d:/ymir work/ui/public/small_button_03.sub")
self.titleBar.HelpBut.SetToolTipText("Ausfuehrliche Hilfe", 0, -23)
self.titleBar.HelpBut.SetText("Hilfe")
self.titleBar.HelpBut.SetPosition(3, 0)
self.titleBar.HelpBut.SetToggleDownEvent(lambda: self.ToggleHelp(1))
self.titleBar.HelpBut.SetToggleUpEvent(lambda: self.ToggleHelp(0))
self.titleBar.HelpBut.Show()
self.but_deactivate_all = ui.Button()
# self.but_deactivate_all.SetParent(self)
self.but_deactivate_all.SetParent(self.titleBar)
# self.but_deactivate_all.SetPosition(415,350)
self.but_deactivate_all.SetPosition(3+5+self.titleBar.HelpBut.GetWidth(), 0)
self.but_deactivate_all.SetUpVisual("d:/ymir work/ui/public/large_button_01.sub")
self.but_deactivate_all.SetOverVisual("d:/ymir work/ui/public/large_button_02.sub")
self.but_deactivate_all.SetDownVisual("d:/ymir work/ui/public/large_button_03.sub")
self.but_deactivate_all.SetText("Alle anhalten")
self.but_deactivate_all.SetEvent(self.deactivate_all)
self.but_deactivate_all.Show()
self.titleBar.but_deactivate_all = ui.Button()
self.titleBar.but_deactivate_all.SetParent(self.titleBar)
self.titleBar.but_deactivate_all.SetPosition(3+5+self.titleBar.HelpBut.GetWidth()+5+self.but_deactivate_all.GetWidth(), 0)
self.titleBar.but_deactivate_all.SetUpVisual("d:/ymir work/ui/public/small_button_01.sub")
self.titleBar.but_deactivate_all.SetOverVisual("d:/ymir work/ui/public/small_button_02.sub")
self.titleBar.but_deactivate_all.SetDownVisual("d:/ymir work/ui/public/small_button_03.sub")
self.titleBar.but_deactivate_all.SetText("Info")
self.titleBar.but_deactivate_all.SetEvent(self.about)
self.titleBar.but_deactivate_all.Show()
self.titleName.SetPosition(60, 4)
self.enable_rebuy = CheckBox("Nachkaufen aktivieren")
self.enable_rebuy.Toggle()
self.enable_rebuy.Hide()
self.but_speed = ui.SliderBar()
self.but_speed.SetParent(self)
self.but_speed.SetWindowHorizontalAlignCenter()
self.but_speed.SetPosition(0,360)
self.but_speed.SetSliderPos(0.0)
# self.but_speed.SetToolTipText("Switch-Geschwindigkeit", 0, -23)
# self.but_speed.Show()
self.but_speed.Hide()
self.itemTabBar = ItemTabBar(self)
self.itemTabBar.SetPosition(10,35)
self.itemTabBar.Show()
self.buyed = 0
self.buyed_rare = 0
self.SetCloseEvent(self._Hide)
self.Hide = self._Hide
### NOW initialize the HELP stuff!
self.help_add_item = HelpBar(0.8,'Ziehe ein Item hierher, um es hinzuzufuegen.')
self.help_add_item.SetParent(self)
self.help_add_item.SetPosition(60,50)
self.help_minimize = HelpBar(0.8,'Ziehe den Bot an den Rand, um ihn zu verkleinern!',1)
self.help_minimize.SetParent(self.titleBar)
self.help_minimize.SetWindowHorizontalAlignCenter()
self.help_minimize.SetPosition(100,-30)
self.help_show_rare = HelpBar(0.85,'Hiermit kannst du die Anzeige von 6/7 Boni umschalten.')
self.help_show_rare.SetParent(self)
# self.help_show_rare.SetPosition(35,312)
self.help_rebuy = HelpBar(0.5,'Soll der Bot nachkaufen?')
self.help_rebuy.SetParent(self)
# self.help_rebuy.SetPosition(25,297)
self.help_stop_all = HelpBar(0.8,'Stop ALLE Vorgaenge!',1)
self.help_stop_all.SetParent(self.titleBar)
self.help_stop_all.SetPosition(3+5+self.titleBar.HelpBut.GetWidth()*1.2,-30)
self.help_duration = HelpBar(0.8,'Verlangsamt den Bot.',1)
self.help_duration.SetParent(self)
def ToggleHelp(self,val):
self.help_on = val
def Show(self):
ui.BoardWithTitleBar.Show(self)
self.bot_shown = 1
def _Hide(self):
## ONLY FOR TESTING
# for a in range(0,self.itemTabBar.tabCount):
# self.itemTabBar.DeleteTab(0)
ui.BoardWithTitleBar.Hide(self)
self.bot_shown = 0
def deactivate_all(self):
for a in self.itemTabBar.tabList:
self.itemTabBar.tabList[a].bonusSelector.Starter.SetUp()
self.itemTabBar.tabList[a].bonusSelector.Starter.OnToggleUp()
self.itemTabBar.tabList[a].bonusSelector.Starter_rare_boni.SetUp()
self.itemTabBar.tabList[a].bonusSelector.Starter_rare_boni.OnToggleUp()
pass
drag = 0
def drag_start(self):
self.drag = 1
def drag_end(self):
self.drag = 0
if self.pinhint > 0:
self.PinShow(self.pinhint)
# self.PinGroupBox = self.PinGroup()
pass
self.ShowPinHint(0)
def PinShow(self,dir):
self.PinGroupBox = self.PinGroup(self,dir)
self.Hide()
self.PinGroupBox.Show()
def EnableInventoryTweak(self,gameWindow):
self.gameWindow=gameWindow
self.gameWindow.interface.wndInventory.inventoryTab[0].SetEvent(lambda arg=0: self.__SetInventoryPage(arg))
self.gameWindow.interface.wndInventory.inventoryTab[1].SetEvent(lambda arg=1: self.__SetInventoryPage(arg))
def __SetInventoryPage(self,arg):
self.gameWindow.interface.wndInventory.SetInventoryPage(arg)
for a in self.itemTabBar.tabList:
itm = self.itemTabBar.tabList[a]
if itm.index >= arg*45 and itm.index < (arg+1)*45:
itm.blockBar.Show()
else:
itm.blockBar.Hide()
help_on = 0
counter = 0
AboutWindow = None
def OnUpdate(self):
if self.AboutWindow:
if self.AboutWindow.x_counter > 1:
self.AboutWindow.x_counter -=1
self.AboutWindow.text6.SetText("Zeit: %0.1f" % (self.AboutWindow.x_counter/45.0))
elif self.AboutWindow.x_counter == 1:
self.AboutWindow.Hide()
# self.AboutWindow.Delete()
if self.help_on == 1:
(x,y) = self.itemTabBar.plusBar.GetLocalPosition()
self.help_add_item.SetPosition(x+20,50)
self.help_add_item.Show()
self.help_stop_all.Show()
self.help_minimize.Show()
if self.itemTabBar.tabCount > 0:
self.help_show_rare.SetPosition(25,164)
self.help_show_rare.Show()
self.help_rebuy.SetPosition(15,147)
self.help_rebuy.Show()
# self.help_duration.SetPosition(300,180)
self.help_duration.SetPosition(190-5.5+self.but_speed.GetSliderPos()*int(35.5+self.but_speed.GetWidth()/2),180)
self.help_duration.Show()
else:
self.help_show_rare.Hide()
self.help_rebuy.Hide()
self.help_duration.Hide()
else:
self.help_add_item.Hide()
self.help_minimize.Hide()
self.help_show_rare.Hide()
self.help_rebuy.Hide()
self.help_stop_all.Hide()
self.help_duration.Hide()
if self.drag == 1:
(x1, y1) = self.GetGlobalPosition()
# if x1 < 0:
# x1 = 0
# elif x1 > wndMgr.GetScreenWidth()-520:
# x1 = wndMgr.GetScreenWidth()-520
# if y1 < 0:
# y1 = 0
# elif y1 > wndMgr.GetScreenHeight()-36-self.GetHeight():
# y1 = wndMgr.GetScreenHeight()-36-self.GetHeight()
x1 = max(min(wndMgr.GetScreenWidth()-520,x1),0)
y1 = max(min(wndMgr.GetScreenHeight()-36-self.GetHeight(),y1),0)
self.SetPosition(x1,y1)
if x1 < 30:
self.ShowPinHint(1)
elif wndMgr.GetScreenWidth()-x1-520 < 30:
self.ShowPinHint(2)
elif y1 < 30:
self.ShowPinHint(3)
elif wndMgr.GetScreenHeight()-y1-self.GetHeight() < 60:
self.ShowPinHint(4)
else:
self.ShowPinHint(0)
# self.SetPosition(x1+(x-self.drag_pos[0]),y1)
pass
if self.gameWindow != None:
for a in self.itemTabBar.tabList:
itm = self.itemTabBar.tabList[a]
self.counter+=1
if self.counter >= int(self.but_speed.GetSliderPos()*MAX_SWITCH_DELAY_APPEND+MIN_SWITCH_DELAY):
self.buyed = 0
self.buyed_rare = 0
self.counter = 0
for a in self.itemTabBar.tabList:
itm = self.itemTabBar.tabList[a]
itm.UpdateItem()
# if itm.
def about(self):
self.AboutWindow = ui.ThinBoard()
self.AboutWindow.SetParent(self)
self.AboutWindow.SetSize(250,100)
self.AboutWindow.SetWindowHorizontalAlignCenter()
self.AboutWindow.SetWindowVerticalAlignCenter()
self.AboutWindow.SetPosition(0,0)
self.AboutWindow.Show()
self.AboutWindow.x_counter = 450
self.AboutWindow.text1 = ui.TextLine()
self.AboutWindow.text1.SetParent(self.AboutWindow)
self.AboutWindow.text1.SetWindowHorizontalAlignCenter()
self.AboutWindow.text1.SetHorizontalAlignCenter()
self.AboutWindow.text1.SetPosition(0,5)
self.AboutWindow.text1.SetText("Switchbot V2.2 by Mijago")
self.AboutWindow.text1.SetPackedFontColor(ui.GenerateColor(58, 141, 221))
self.AboutWindow.text1.Show()
self.AboutWindow.text2 = ui.TextLine()
self.AboutWindow.text2.SetParent(self.AboutWindow)
self.AboutWindow.text2.SetPosition(8,18)
self.AboutWindow.text2.SetText("Dieser Switchbot wurde von Mijago entwickelt.")
self.AboutWindow.text2.Show()
self.AboutWindow.text3 = ui.TextLine()
self.AboutWindow.text3.SetParent(self.AboutWindow)
self.AboutWindow.text3.SetPosition(8,18+13)
self.AboutWindow.text3.SetText("Neue Ideen werden immer gerne gesehen!")
self.AboutWindow.text3.Show()
self.AboutWindow.text4 = ui.TextLine()
self.AboutWindow.text4.SetParent(self.AboutWindow)
self.AboutWindow.text4.SetPosition(8,18+13*3)
self.AboutWindow.text4.SetText("Ich bitte euch, diesen Bot nicht ohne meine")
self.AboutWindow.text4.Show()
self.AboutWindow.text5 = ui.TextLine()
self.AboutWindow.text5.SetParent(self.AboutWindow)
self.AboutWindow.text5.SetPosition(8,18+13*4)
self.AboutWindow.text5.SetText("Genehmigung zu nutzen.")
self.AboutWindow.text5.Show()
self.AboutWindow.text6 = ui.TextLine()
self.AboutWindow.text6.SetParent(self.AboutWindow)
self.AboutWindow.text6.SetPosition(200,18+13*5)
self.AboutWindow.text6.SetText("Zeit: %d" % self.AboutWindow.x_counter)
self.AboutWindow.text6.Show()
class HelpBar(ui.Window):
def __init__(self,width,text,centered = 0):
ui.Window.__init__(self)
self.AddFlag("not_pick")
self.AddFlag("attach")
img = ui.ExpandedImageBox()
img.SetParent(self)
img.LoadImage("d:/ymir work/ui/pattern/help_stick.tga")
img.SetRenderingRect(0.0, -width, 0.0, 0.0)
img.Show()
self.img = img
txt = ui.TextLine()
txt=ui.TextLine()
txt.SetParent(self)
txt.SetText(text)
txt.Show()
img.SetPosition(0,18-width*img.GetHeight())
txt.SetPosition(0,0)
txt.SetWindowHorizontalAlignCenter()
if centered != 0:
txt.SetHorizontalAlignCenter()
# txt.SetPosition(0,0)
self.txt = txt
class DropDown(ui.Window):
dropped = 0
dropstat = 0
last = 0
lastS = 0
maxh = 95
OnChange = None
class Item(ui.ListBoxEx.Item):
def __init__(self,parent, text,value=0):
ui.ListBoxEx.Item.__init__(self)
self.textBox=ui.TextLine()
self.textBox.SetParent(self)
self.textBox.SetText(text)
# self.textBox.SetLimitWidth(parent.GetWidth()-132)
self.textBox.Show()
self.value = value
def GetValue(self):
return self.value
def __del__(self):
ui.ListBoxEx.Item.__del__(self)
def __init__(self,parent,tt = "",down=1):
ui.Window.__init__(self,"TOP_MOST")
self.down = down
self.SetParentProxy(parent)
self.bg = ui.Bar("TOP_MOST")
self.bg.SetParent(self)
self.bg.SetPosition(0,0)
self.bg.SetColor(0xc0000000)
self.bg.OnMouseOverIn = self.bgMouseIn
self.bg.OnMouseOverOut = self.bgMouseOut
self.bg.OnMouseLeftButtonDown = self.ExpandMe
self.bg.Show()
self.act = ui.TextLine()
self.act.SetParent(self.bg)
self.act.SetPosition(4,2)
self.act.SetText(tt)
self.act.Show()
self.GetText = self.act.GetText
self.Drop = ui.Bar("TOP_MOST")
self.Drop.SetParent(self.GetParentProxy())
self.Drop.SetPosition(0,21)
# self.Drop.SetSize(150,95)
self.Drop.SetSize(150,0)
# self.Drop.SetColor(0xc00a0a0a)
self.Drop.SetColor(0xff0a0a0a)
self.ScrollBar = ui.ThinScrollBar()
self.ScrollBar.SetParent(self.Drop)
self.ScrollBar.SetPosition(132,0)
# self.ScrollBar.SetScrollBarSize(95)
self.ScrollBar.SetScrollBarSize(0)
# self.ScrollBar.Show()
self.DropList = ui.ListBoxEx()
self.DropList.SetParent(self.Drop)
self.DropList.itemHeight = 12
self.DropList.itemStep = 13
self.DropList.SetPosition(0,0)
# self.DropList.SetSize(132,self.maxh)
self.DropList.SetSize(132,13)
self.DropList.SetScrollBar(self.ScrollBar)
self.DropList.SetSelectEvent(self.SetTitle)
self.DropList.SetViewItemCount(0)
self.DropList.Show()
if tt != "":
self.AppendItemAndSelect(tt)
self.selected = self.DropList.GetSelectedItem()
self.SetSize(120,20)
def __del__(self):
ui.Window.__del__(self)
c = 1
def AppendItem(self,text,value=0):
self.c+=1
self.DropList.AppendItem(self.Item(self,text,value))
self.maxh = min(95,13*self.c)
if self.c > 7:
self.ScrollBar.Show()
def AppendItemAndSelect(self,text,value=0):
self.DropList.AppendItem(self.Item(self,text,value))
self.DropList.SelectIndex(len(self.DropList.itemList)-1)
def SelectByAffectId(self,id):
for x in self.DropList.itemList:
if x.value == id:
self.DropList.SelectItem(x)
break
def SetTitle(self,item):
self.act.SetText(str(item.textBox.GetText()))
self.last = self.DropList.basePos
self.lastS = self.ScrollBar.GetPos()
self.dropped = 0
self.selected = item
if self.OnChange:
self.OnChange()
# self.Drop.Hide()
def SetPosition(self,w,h):
ui.Window.SetPosition(self,w,h)
if self.down == 1:
self.Drop.SetPosition(w,h+21)
else:
self.Drop.SetPosition(w,h-self.Drop.GetHeight())
def SetSize(self,w,h):
ui.Window.SetSize(self,w,h)
self.bg.SetSize(w,h)
self.Drop.SetSize(w,0)
self.DropList.SetSize(w-18,self.maxh)
for x in self.DropList.itemList:
x.SetSize(w-18,12)
self.ScrollBar.SetPosition(w-18,0)
def ExpandMe(self):
if self.dropped == 1:
# self.Drop.Hide()
self.dropped = 0
else:
# self.Drop.Show()
self.dropped = 1
def OnUpdate(self):
iter = 6
if self.Drop.GetHeight() < 50:
self.ScrollBar.Hide()
else:
self.ScrollBar.Show()
if self.dropped == 0 and self.dropstat == 1:
if self.Drop.GetHeight() <=0:
self.dropstat = 0
self.Drop.SetSize(self.Drop.GetWidth(),0)
self.ScrollBar.SetScrollBarSize(self.Drop.GetHeight())
self.Drop.Hide()
else:
if self.Drop.GetHeight()-iter < 0:
self.Drop.SetSize(self.Drop.GetWidth(),0)
else:
self.Drop.SetSize(self.Drop.GetWidth(),self.Drop.GetHeight()-iter)
(w,h) = self.GetLocalPosition()
self.SetPosition(w,h)
self.ScrollBar.SetScrollBarSize(self.Drop.GetHeight())
self.DropList.SetViewItemCount(int(self.Drop.GetHeight()/13))
self.DropList.SetBasePos(self.last+1)
self.DropList.SetBasePos(self.last)
elif self.dropped == 1 and self.dropstat == 0:
self.Drop.Show()
self.SetTop()
if self.Drop.GetHeight() >=self.maxh:
self.Drop.SetSize(self.Drop.GetWidth(),self.maxh)
self.ScrollBar.SetScrollBarSize(self.maxh)
self.dropstat = 1
self.DropList.SetViewItemCount(7)
self.ScrollBar.SetPos(self.lastS)
else:
self.ScrollBar.SetScrollBarSize(self.Drop.GetHeight()+iter)
self.Drop.SetSize(self.Drop.GetWidth(),self.Drop.GetHeight()+iter)
(w,h) = self.GetLocalPosition()
self.SetPosition(w,h)
self.DropList.SetViewItemCount(int(self.Drop.GetHeight()/13))
self.DropList.SetBasePos(self.last+1)
self.DropList.SetBasePos(self.last)
## BG Hover
def bgMouseIn(self):
self.bg.SetColor(0xc00a0a0a)
def bgMouseOut(self):
self.bg.SetColor(0xc0000000)
class Edit2(ui.EditLine):
def __init__(self,main = "",ml = 99):
ui.EditLine.__init__(self)
self.SetText(main)
self.main = main
self.SetMax(ml)
self.SetUserMax(ml)
def GetText(self):
res = ui.EditLine.GetText(self)
if res == "":
return "0"
else:
return res
def __del__(self):
ui.EditLine.__del__(self)
def OnSetFocus(self):
ui.EditLine.OnSetFocus(self)
if ui.EditLine.GetText(self) == self.main:
self.SetText("")
def OnKillFocus(self):
ui.EditLine.OnKillFocus(self)
if ui.EditLine.GetText(self) == "":
self.SetText(self.main)
class CheckBox(ui.Window):
checked = 0
eventUp =None
eventDown=None
def __init__(self,cont = ""):
ui.Window.__init__(self)
self.BG = ui.Bar("UI")
self.BG.SetParent(self)
self.BG.SetPosition(0,0)
self.BG.SetSize(20,20)
# self.BG.SetColor(0xc00b0b0b)
self.BG.SetColor(COLOR_CHECKBOX_NOT_SELECTED)
self.BG.OnMouseLeftButtonUp = self.Toggle
self.OnMouseLeftButtonUp = self.Toggle
self.BG.Show()
self.Title = ui.TextLine()
self.Title.SetParent(self)
self.Title.SetPosition(25,2)
self.Title.SetText(cont)
self.Title.Show()
self.stat = ui.TextLine()
self.stat.SetParent(self.BG)
self.stat.SetPosition(0,0)
self.stat.SetWindowHorizontalAlignCenter()
self.stat.SetWindowVerticalAlignCenter()
self.stat.SetHorizontalAlignCenter()
self.stat.SetVerticalAlignCenter()
self.stat.SetSize(0,0)
self.stat.SetText("")
self.SetSize(25+self.Title.GetTextSize()[0]+5,20)
self.stat.Show()
def __del__(self):
ui.ToggleButton.__del__(self)
def Toggle(self):
if self.checked == 1:
self.OnToggleUp()
else:
self.OnToggleDown()
def OnToggleUp(self):
self.stat.SetText("")
# self.BG.SetColor(0xc00b0b0b)
self.BG.SetColor(COLOR_CHECKBOX_NOT_SELECTED)
self.checked = 0
if self.eventUp:
self.eventUp()
def OnToggleDown(self):
# self.BG.SetColor(0xf00b0b0b)
self.BG.SetColor(COLOR_CHECKBOX_SELECTED)
self.stat.SetText("X")
self.checked = 1
if self.eventDown:
self.eventDown()
# Zum Testen
# a = Bot()
# a.Show()
# oder;
# Bot().Show()
Ich hoffe ihr könnte mir helfen und wenn jemand den Fehler findet, ihn mir auch erklären
Liebe Grüße
|
|
|
10/24/2014, 18:29
|
#2
|
elite*gold: 0
Join Date: Sep 2014
Posts: 256
Received Thanks: 24
|
Funktioniert er nicht wenn du auf F6 drückst bzw öffnet er sich nicht?
|
|
|
10/24/2014, 18:43
|
#3
|
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,258
|
Steht irgendetwas in der syserr.txt?
|
|
|
10/24/2014, 20:10
|
#4
|
elite*gold: 48
Join Date: Oct 2014
Posts: 209
Received Thanks: 70
|
Wenn ich F6 drücke öffnet er sich nicht.
In der Syserror steht nichts, habe ich auch schon durch geschaut.
|
|
|
10/24/2014, 21:01
|
#5
|
elite*gold: 0
Join Date: Sep 2014
Posts: 230
Received Thanks: 68
|
Adde mich in Skype , ich bau in dir vollständig ein und er wird funktionieren mit f6
|
|
|
10/25/2014, 00:58
|
#6
|
elite*gold: 48
Join Date: Oct 2014
Posts: 209
Received Thanks: 70
|
@-Icetea-
Es gehr mir ja nicht um das einbauen, dass schaffe ich auch ohne Probleme selbst. Das Problem was halt besteht ist, dass sobald ich die Vorschläge anpasse, der Bot der vorher funktioniert hat nicht mehr funktioniert bzw. ich kann ihn nicht mehr wie vorher per F6 öffnen.
|
|
|
10/25/2014, 11:51
|
#7
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
"PvM (Gifti50Dss) ":[
[72,50],
[,],
],
"PVM": [
[,],
[,],
]
hinter der letzten ]-klammer ist ein Komma. Versuchs mal ohne das.
|
|
|
10/25/2014, 13:13
|
#8
|
elite*gold: 0
Join Date: Sep 2014
Posts: 256
Received Thanks: 24
|
Soll ich es dir neu machen?
Dauert nur 5 Minuten meine güte
|
|
|
10/27/2014, 18:43
|
#9
|
elite*gold: 48
Join Date: Oct 2014
Posts: 209
Received Thanks: 70
|
Quote:
Originally Posted by [Sensenmann]
"PvM (Gifti50Dss) ":[
[72,50],
[,],
],
"PVM": [
[,],
[,],
]
hinter der letzten ]-klammer ist ein Komma. Versuchs mal ohne das.
|
Habe ich ausprobiert. Es geht immer noch nicht. So sieht es aus, wenn der Bot noch funktioniert.
Code:
import shop
import player
import item
import ui
import net
import locale
import chat
import grp
import wndMgr
import mouseModule
from uitooltip import ItemToolTip
# Switchbot by Mijago ; v 2.2.1
WEAR_NAMES = ItemToolTip.WEAR_NAMES
AFFECT_DICT = ItemToolTip.AFFECT_DICT
### Hier die Boni angeben, die auf dem Server aktiviert sind. Die angegebene Liste ist nur ein Beispiel und MUSS angepasst werden!
BONI_AVAIL = [1,2,3,4,5,6,9,10,12,13,14,15,16,17,18,19,20,21,22,23,27,28,29,30,31,32,33,34,37,39,41,43,44,45,48,53,71,72]
# Hier 6/7 Boni angeben!
BONI_RARE_AVAIL = [1,2]
# Das Switch-Item
SWITCH_VNUM = 71084
SWITCH_RARE_VNUM = 71052
# Die folgenden zahlen geben den MINMAX Bereich des Reglers an, der die Zeit angibt.
MIN_SWITCH_DELAY = 35
MAX_SWITCH_DELAY_APPEND = 120
# Max 10!!
MAX_NUM = 7
proposals = {
1: { # 1 = Weapon
"PVP (Koerper)":[
[9,10],
[15,10],
[17,10],
[16,10],
[5,8],
[3,8],
],
"PVP (Mental)":[
[9,10],
[15,10],
[17,10],
[6,8],
[5,10],
[16,10],
],
"PVM": [
[5,10],
[19,20],
],
},
2: [ # Armor
[ #BODY,
],
[ #HEAD,
],
[ #SHIELD,
],
[ #WRIST,
],
[ #FOOTS,
],
[ #NECK,
],
[ #EAR,
],
],
}
# Farben :)
# COLOR_BG = grp.GenerateColor(0.0, 0.0, 0.0, 0.5)
# COLOR_INACTIVE = grp.GenerateColor(0.0, 0.0, 1.0, 0.2)
# COLOR_ACTIVE = grp.GenerateColor(0.1, 0.6, 1.0, 0.2)
# COLOR_FINISHED = grp.GenerateColor(0.0, 0.8, 1.0, 0.3)
# COLOR_INACTIVE_RARE = grp.GenerateColor(0.0, 0.2, 1.0, 0.2)
# COLOR_ACTIVE_RARE = grp.GenerateColor(0.2, 0.7, 1.0, 0.2)
# COLOR_HIGHLIGHT_RARE = grp.GenerateColor(0.2, 0.2, 1.0, 0.05)
# COLOR_PIN_HINT = grp.GenerateColor(0.0, 0.5, 1.0, 0.3)
# COLOR_CHECKBOX_NOT_SELECTED = grp.GenerateColor(0.0, 0.3, 1.0, 0.1)
# COLOR_CHECKBOX_SELECTED = grp.GenerateColor(0.0, 0.3, 1.0, 0.3)
# Standardfarben:
COLOR_BG = grp.GenerateColor(0.0, 0.0, 0.0, 0.5)
COLOR_INACTIVE = grp.GenerateColor(1.0, 0.0, 0.0, 0.2)
COLOR_ACTIVE = grp.GenerateColor(1.0, 0.6, 0.1, 0.2)
COLOR_FINISHED = grp.GenerateColor(0.0, 1.0, 0.0, 0.2)
COLOR_INACTIVE_RARE = grp.GenerateColor(1.0, 0.2, 0.0, 0.2)
COLOR_ACTIVE_RARE = grp.GenerateColor(1.0, 0.7, 0.2, 0.2)
COLOR_HIGHLIGHT_RARE = grp.GenerateColor(1.0, 0.2, 0.2, 0.05)
COLOR_PIN_HINT = grp.GenerateColor(0.0, 0.5, 1.0, 0.3)
COLOR_CHECKBOX_NOT_SELECTED = grp.GenerateColor(1.0, 0.3, 0.0, 0.1)
COLOR_CHECKBOX_SELECTED = grp.GenerateColor(0.3, 1.0, 1.0, 0.3)
DISTANCE_BOTTOM = 36
class Bar(ui.Bar):
def __init__(self,layer = "UI"):
ui.Bar.__init__(self,layer)
def SetColor(self,color):
wndMgr.SetColor(self.hWnd, color)
self.color = color
class BonusSelector(ui.Bar):
def Activate(self):
self.sub_parent.resetSwitch()
self.Status_new.SetColor(COLOR_ACTIVE)
self.sub_parent.StatusBar.SetColor(COLOR_ACTIVE)
self.sub_parent.StatusText.SetText("Aktiv")
self.Starter.SetText("Switchen ("+str(self.index+1)+") anhalten")
self.sub_parent.boni_active = 1
if self.parentWindow.parentWindow.gameWindow != None:
self.sub_parent.blockBar.swib_normal.SetColor(COLOR_ACTIVE)
pass
def Deactivate(self):
self.sub_parent.resetSwitch()
self.Status_new.SetColor(COLOR_INACTIVE)
self.sub_parent.StatusBar.SetColor(COLOR_INACTIVE)
self.sub_parent.StatusText.SetText("Inaktiv")
self.Starter.SetText("Switchen ("+str(self.index+1)+") starten")
self.sub_parent.boni_active = 0
if self.sub_parent.parentWindow.parentWindow.gameWindow != None:
self.sub_parent.blockBar.swib_normal.SetColor(COLOR_INACTIVE)
pass
def Activate_rare(self):
self.sub_parent.resetSwitch_rare()
self.sub_parent.StatusBar_rare.SetColor(COLOR_ACTIVE_RARE)
self.sub_parent.StatusText_rare.SetText("6/7 Aktiv")
self.Starter_rare_boni.SetText("6/7 anhalten")
self.sub_parent.boni_rare_active = 1
if self.parentWindow.parentWindow.gameWindow != None:
self.sub_parent.blockBar.swib_rare.SetColor(COLOR_ACTIVE_RARE)
pass
def Deactivate_rare(self):
self.sub_parent.resetSwitch_rare()
# self.Status_new.SetColor(COLOR_INACTIVE)
self.sub_parent.StatusBar_rare.SetColor(COLOR_INACTIVE_RARE)
self.sub_parent.StatusText_rare.SetText("6/7 Inaktiv")
self.Starter_rare_boni.SetText("6/7 starten")
self.Starter_rare_boni.SetUp()
self.sub_parent.boni_rare_active = 0
if self.sub_parent.parentWindow.parentWindow.gameWindow != None:
self.sub_parent.blockBar.swib_rare.SetColor(COLOR_INACTIVE_RARE)
pass
def Finish(self):
self.Status_new.SetColor(COLOR_FINISHED)
self.sub_parent.StatusBar.SetColor(COLOR_FINISHED)
self.sub_parent.StatusText.SetText("Fertig")
self.Starter.SetText("Switchen ("+str(self.index+1)+") fortsetzen")
self.sub_parent.boni_active = 0
if self.sub_parent.parentWindow.parentWindow.gameWindow != None:
self.sub_parent.blockBar.swib_normal.SetColor(COLOR_FINISHED)
pass
def Finish_rare(self):
# self.Status_new.SetColor(COLOR_FINISHED)
self.sub_parent.StatusBar_rare.SetColor(COLOR_FINISHED)
self.sub_parent.StatusText_rare.SetText("6/7 Fertig")
self.Starter_rare_boni.SetText("6/7 fortsetzen")
self.sub_parent.boni_rare_active = 0
if self.sub_parent.parentWindow.parentWindow.gameWindow != None:
self.sub_parent.blockBar.swib_rare.SetColor(COLOR_FINISHED)
pass
def Block(self):
self.BlockBar.Show()
self.BlockBar.sub.Show()
self.Starter.Hide()
pass
def Unblock(self):
self.BlockBar.sub.Hide()
self.BlockBar.Hide()
self.Starter.Show()
pass
def enable_rare_boni(self):
for i in range(0,4):
self.boni[6][i].Show()
self.boni[7][i].Show()
self.Starter.SetPosition(0,140+45)
self.bg_rare_boni.Show()
self.bg_rare_boni_but.Show()
self.Starter_rare_boni.Show()
self.sub_parent.StatusBar_rare.Show()
if self.sub_parent.parentWindow.parentWindow.gameWindow != None:
self.sub_parent.blockBar.Enable_rare(1)
def disable_rare_boni(self):
for i in range(0,4):
self.boni[6][i].Hide()
self.boni[7][i].Hide()
self.Starter.SetPosition(0,140)
self.bg_rare_boni.Hide()
self.bg_rare_boni_but.Hide()
self.Starter_rare_boni.Hide()
self.sub_parent.StatusBar_rare.Hide()
self.Deactivate_rare()
if self.sub_parent.parentWindow.parentWindow.gameWindow != None:
self.sub_parent.blockBar.Enable_rare(0)
def __init__(self,sub_parent):
ui.Bar.__init__(self, "UI")
self.sub_parent = sub_parent
self.index = sub_parent.index
self.SetColor(COLOR_BG)
self.SetSize(500,225+10)
self.boni = {}
self.Status_new = ui.Bar()
self.Status_new.SetParent(self)
self.Status_new.SetColor(COLOR_INACTIVE)
self.Status_new.SetSize(500,5)
self.Status_new.Show()
self.bg_rare_boni = ui.Bar()
self.bg_rare_boni.SetColor(COLOR_HIGHLIGHT_RARE)
self.bg_rare_boni.SetParent(self)
self.bg_rare_boni.SetPosition(0,132)
self.bg_rare_boni.SetSize(500,51)
self.bg_rare_boni.Hide()
self.bg_rare_boni_but = ui.Bar()
self.bg_rare_boni_but.SetColor(COLOR_HIGHLIGHT_RARE)
self.bg_rare_boni_but.SetParent(self)
self.bg_rare_boni_but.SetPosition(400,133+50)
self.bg_rare_boni_but.SetSize(100,25)
self.bg_rare_boni_but.Hide()
self.EnableRareBoni = CheckBox("6/7 Einblenden")
self.EnableRareBoni.SetParent(self)
self.EnableRareBoni.SetPosition(10,185)
self.EnableRareBoni.eventUp = self.disable_rare_boni
self.EnableRareBoni.eventDown = self.enable_rare_boni
self.EnableRareBoni.Show()
self.Starter = ui.ToggleButton()
self.Starter.SetWindowHorizontalAlignCenter()
self.Starter.SetParent(self)
self.Starter.SetUpVisual("d:/ymir work/ui/public/XLarge_Button_01.sub")
self.Starter.SetOverVisual("d:/ymir work/ui/public/XLarge_button_02.sub")
self.Starter.SetDownVisual("d:/ymir work/ui/public/XLarge_button_03.sub")
self.Starter.SetPosition(0,140)
self.Starter.SetText("Switchen starten")
self.Starter.SetToggleDownEvent(self.Activate)
self.Starter.SetToggleUpEvent(self.Deactivate)
self.Starter.Show()
self.Starter_rare_boni = ui.ToggleButton()
self.Starter_rare_boni.SetWindowHorizontalAlignCenter()
self.Starter_rare_boni.SetParent(self)
self.Starter_rare_boni.SetUpVisual("d:/ymir work/ui/public/Large_Button_01.sub")
self.Starter_rare_boni.SetOverVisual("d:/ymir work/ui/public/Large_button_02.sub")
self.Starter_rare_boni.SetDownVisual("d:/ymir work/ui/public/Large_button_03.sub")
self.Starter_rare_boni.SetPosition(200,140+45)
self.Starter_rare_boni.SetText("6/7 Starten")
self.Starter_rare_boni.SetToggleDownEvent(self.Activate_rare)
self.Starter_rare_boni.SetToggleUpEvent(self.Deactivate_rare)
self.Starter_rare_boni.Hide()
for i in range(7,5,-1):
vas = i
self.boni[vas] = {}
self.boni[vas][0] = ui.TextLine()
self.boni[vas][0].SetParent(self)
self.boni[vas][0].SetText("Bonus "+str(vas))
self.boni[vas][0].SetPosition(15,10+25*(vas-1))
self.boni[vas][0].Hide()
self.boni[vas][1] = DropDown(self,"- Keiner -")
self.boni[vas][1].SetPosition(70,10+25*(vas-1))
for x in AFFECT_DICT:
if x in BONI_RARE_AVAIL:
self.boni[vas][1].AppendItem(str(AFFECT_DICT[x](0)),x)
self.boni[vas][1].SetSize(330,20)
self.boni[vas][1].Hide()
self.boni[vas][2] = ui.Bar("UI")
self.boni[vas][2].SetParent(self)
self.boni[vas][2].SetPosition(410,10+25*(vas-1))
self.boni[vas][2].SetColor(0xC0000000)
self.boni[vas][2].SetSize(80,20)
self.boni[vas][2].Hide()
self.boni[vas][3] = Edit2("0",14)
self.boni[vas][3].SetParent(self.boni[vas][2])
self.boni[vas][3].SetNumberMode()
self.boni[vas][3].SetSize(80,20)
self.boni[vas][3].SetPosition(4,3)
self.boni[vas][3].Hide()
for i in range(0,5):
vas = 5-i
self.boni[vas] = {}
self.boni[vas][0] = ui.TextLine()
self.boni[vas][0].SetParent(self)
self.boni[vas][0].SetText("Bonus "+str(vas))
self.boni[vas][0].SetPosition(15,10+25*(vas-1))
self.boni[vas][0].Show()
self.boni[vas][1] = DropDown(self,"- Keiner -")
self.boni[vas][1].SetPosition(70,10+25*(vas-1))
for x in AFFECT_DICT:
if x in BONI_AVAIL:
self.boni[vas][1].AppendItem(str(AFFECT_DICT[x](0)),x)
self.boni[vas][1].SetSize(330,20)
self.boni[vas][1].Show()
self.boni[vas][2] = ui.Bar("UI")
self.boni[vas][2].SetParent(self)
self.boni[vas][2].SetPosition(410,10+25*(vas-1))
self.boni[vas][2].SetColor(0xC0000000)
self.boni[vas][2].SetSize(80,20)
self.boni[vas][2].Show()
self.boni[vas][3] = Edit2("0",14)
self.boni[vas][3].SetParent(self.boni[vas][2])
self.boni[vas][3].SetNumberMode()
self.boni[vas][3].SetSize(80,20)
self.boni[vas][3].SetPosition(4,3)
self.boni[vas][3].Show()
self.but_propose = DropDown(self,'Vorschlaege',0)
self.but_propose.SetParent(self)
self.but_propose.SetPosition(380,210)
self.but_propose.OnChange=self.change_boni
self.but_propose.Show()
self.BlockBar = ui.Bar()
self.BlockBar.SetParent(self)
self.BlockBar.SetColor(COLOR_INACTIVE)
self.BlockBar.SetPosition(0,5)
self.BlockBar.SetSize(500,170-5+35+2)
self.BlockBar.Hide()
self.BlockBar.sub = ui.Bar()
self.BlockBar.sub.SetParent(self)
self.BlockBar.sub.SetColor(COLOR_INACTIVE)
self.BlockBar.sub.SetPosition(500-122,5+170-5+35+2)
self.BlockBar.sub.SetSize(122,30)
self.BlockBar.sub.Hide()
self.BlockText = ui.TextLine()
self.BlockText.SetParent(self.BlockBar)
self.BlockText.SetWindowHorizontalAlignCenter()
self.BlockText.SetHorizontalAlignCenter()
self.BlockText.SetPosition(0,140)
self.BlockText.SetText("Dieses Item kannst du nicht switchen.")
self.BlockText.Show()
self.prepare_propose()
def change_boni(self):
use = self.but_propose.DropList.GetSelectedItem().value
bon = 1
item.SelectItem(self.sub_parent.vnum)
for x in use:
# TODO: Check if bonus exists on item!!
ok = 1
for i in xrange(item.ITEM_APPLY_MAX_NUM):
(affectType, affectValue) = item.GetAffect(i)
if affectType == x[0]:
ok = 0
if ok == 0:
continue
y = self.boni[bon][1]
y.SelectByAffectId(x[0])
self.boni[bon][1].act.SetText(y.DropList.GetSelectedItem().textBox.GetText())
self.boni[bon][3].SetText(str(x[1]))
bon+=1
for x in range(bon,6):
y = self.boni[x][1].DropList
y.SelectIndex(0)
self.boni[x][1].act.SetText(y.GetSelectedItem().textBox.GetText())
self.boni[x][3].SetText("0")
def prepare_propose(self):
self.but_propose.DropList.RemoveAllItems()
self.but_propose.maxh = 95
self.but_propose.c = 0
self.but_propose.AppendItem("Leer",[])
item.SelectItem(self.sub_parent.vnum)
type = item.GetItemType()
use = proposals[type]
if type == 2:
use = use[item.GetItemSubType()]
for prop in use:
self.but_propose.AppendItem(prop,use[prop])
class ItemTabBar(ui.Window):
class BlockBar(ui.Window):
size_res = 32
multi = 1
def SetSize(self,i=1):
self.multi = i
ui.Window.SetSize(self,self.size_res,self.size_res*i)
if self.rare_enabled == 1:
self.swib_normal.SetSize(self.size_res,self.size_res*i/3*2)
pos1 = int(1.0*self.size_res*i/3.0*2.0)
self.swib_normal.SetSize(self.size_res,pos1)
self.swib_rare.SetSize(self.size_res,self.size_res*i-pos1)
self.swib_rare.SetPosition(0,pos1)
self.swib_rare.Show()
else:
self.swib_normal.SetSize(self.size_res,self.size_res*i)
self.swib_rare.Hide()
def Enable_rare(self,o = 1):
self.rare_enabled = o
self.SetSize(self.multi)
def __init__(self):
ui.Window.__init__(self)
self.rare_enabled = 0
self.swib_normal = ui.Bar()
self.swib_normal.SetParent(self)
self.swib_normal.SetSize(self.size_res,self.size_res*self.multi)
self.swib_normal.SetColor(COLOR_INACTIVE)
self.swib_normal.SetPosition(0,0)
self.swib_normal.Show()
self.swib_rare = ui.Bar()
self.swib_rare.SetParent(self)
self.swib_rare.SetSize(self.size_res,self.size_res)
self.swib_rare.SetColor(COLOR_INACTIVE_RARE)
self.swib_rare.SetPosition(0,0)
self.swib_rare.Hide()
self.SetSize(1)
class ItemTab(ui.Bar):
height_selected = 36*3+8
height_unselected = 36*3+5
def Destroy(self):
self.parentWindow.parentWindow.enable_rebuy.SetParent(self.parentWindow.parentWindow)
self.parentWindow.parentWindow.but_speed.SetParent(self.parentWindow.parentWindow)
self.parentWindow.parentWindow.help_show_rare.SetParent(self.parentWindow.parentWindow)
self.parentWindow.parentWindow.help_rebuy.SetParent(self.parentWindow.parentWindow)
# self.parentWindow.parentWindow.help_stop_all.SetParent(self.parentWindow.parentWindow)
self.parentWindow.parentWindow.help_duration.SetParent(self.parentWindow.parentWindow)
# self.parentWindow.parentWindow.but_deactivate_all.SetParent(self.parentWindow.parentWindow)
# self.parentWindow.parentWindow.but_deactivate_all.Hide()
self.parentWindow.parentWindow.enable_rebuy.Hide()
self.parentWindow.parentWindow.but_speed.Hide()
self.bonusSelector.Hide()
self.bonusSelector.__del__()
self.Hide()
self.__del__()
def DeleteMe(self):
self.parentWindow.DeleteTab(self.tabnum)
def __init__(self,parent,tabnum,index = 0,vnum = 0): ## Init ItemTab
ui.Bar.__init__(self)
self.SetColor(COLOR_BG)
self.SetSize(self.width,self.height_unselected)
self.index = index
self.tabnum = tabnum
self.vnum = vnum
self.count = 0
self.count_rare = 0
self.parentWindow = parent
self.SetParent(parent)
if self.parentWindow.parentWindow.gameWindow != None:
self.blockBar = ItemTabBar.BlockBar()
self.blockBar.SetParent(self.parentWindow.parentWindow.gameWindow.interface.wndInventory.wndItem)
ipi = self.parentWindow.parentWindow.gameWindow.interface.wndInventory.inventoryPageIndex
self.blockBar.Show()
ip2 = self.index - ipi*45
self.blockBar.SetPosition(((ip2-int(ip2/5)*5)*self.blockBar.size_res),int(ip2/5)*self.blockBar.size_res)
self.ItemIcon = ui.ImageBox()
self.ItemIcon.SetParent(self)
self.ItemIcon.AddFlag("not_pick")
self.ItemIcon.SetWindowHorizontalAlignCenter()
self.ItemIcon.SetWindowVerticalAlignCenter()
self.ItemIcon.Show()
self.SlotName = ui.TextLine()
self.SlotName.SetParent(self)
self.SlotName.SetWindowHorizontalAlignCenter()
self.SlotName.SetHorizontalAlignCenter()
self.SlotName.SetPosition(0,5)
self.SlotName.SetText("Slot %d" % (self.index+1))
self.SlotName.AddFlag("not_pick")
self.SlotName.Show()
self.StatusBar = Bar() # Special Bar
self.StatusBar.SetParent(self)
self.StatusBar.SetWindowVerticalAlignBottom()
self.StatusBar.SetSize(self.width,20)
self.StatusBar.SetPosition(0,20)
self.StatusBar.SetColor(COLOR_INACTIVE)
self.StatusBar.AddFlag("not_pick")
self.StatusBar.Show()
self.StatusText = ui.TextLine()
self.StatusText.SetParent(self.StatusBar)
# self.StatusText.SetParent(self)
self.StatusText.SetWindowHorizontalAlignCenter()
self.StatusText.SetWindowVerticalAlignCenter()
self.StatusText.SetHorizontalAlignCenter()
self.StatusText.SetVerticalAlignCenter()
self.StatusText.SetPosition(0,0)
self.StatusText.SetText("Inaktiv")
self.StatusText.Show()
self.StatusBar_rare = Bar() # Special Bar
self.StatusBar_rare.SetParent(self)
self.StatusBar_rare.SetWindowVerticalAlignBottom()
self.StatusBar_rare.SetSize(self.width,20)
self.StatusBar_rare.SetPosition(0,40)
self.StatusBar_rare.SetColor(COLOR_INACTIVE_RARE)
self.StatusBar_rare.AddFlag("not_pick")
self.StatusBar_rare.Hide()
self.StatusText_rare = ui.TextLine()
self.StatusText_rare.SetParent(self.StatusBar_rare)
self.StatusText_rare.SetWindowHorizontalAlignCenter()
self.StatusText_rare.SetWindowVerticalAlignCenter()
self.StatusText_rare.SetHorizontalAlignCenter()
self.StatusText_rare.SetVerticalAlignCenter()
self.StatusText_rare.SetPosition(0,0)
self.StatusText_rare.SetText("6/7 Inaktiv")
self.StatusText_rare.Show()
self.CloseBut = ui.Button()
self.CloseBut.SetParent(self)
self.CloseBut.SetUpVisual("d:/ymir work/ui/public/close_button_01.sub")
self.CloseBut.SetOverVisual("d:/ymir work/ui/public/close_button_02.sub")
self.CloseBut.SetDownVisual("d:/ymir work/ui/public/close_button_03.sub")
self.CloseBut.SetToolTipText("Tab schliessen", 0, -23)
self.CloseBut.SetEvent(self.DeleteMe)
self.CloseBut.SetPosition(0,0)
self.CloseBut.Show()
self.OnMouseLeftButtonDown = lambda: self.Select()
self.boni_active = 0
self.boni_rare_active = 0
self.bonusSelector = BonusSelector(self)
self.bonusSelector.SetParentProxy(self.parentWindow.parentWindow)
self.bonusSelector.SetPosition(10,35+36*3+4*2)
self.bonusSelector.Hide()
self.vnum = 0
self.SetIndex(index)
self.resetSwitch()
self.resetSwitch_rare()
def IsActive(self):
return self.boni_active == 1
def IsActive_rare(self):
return self.boni_rare_active == 1
def SetParentProxy(self,parent):
ui.Bar.SetParentProxy(self,parent)
def Select(self):
for a in self.parentWindow.tabList:
self.parentWindow.tabList[a].UnSelect()
self.parentWindow.tabList[a].bonusSelector.Hide()
self.bonusSelector.Show()
self.SetSize(self.width,self.height_selected)
self.Update()
# self.parentWindow.parentWindow.but_deactivate_all.SetParent(self.bonusSelector)
# self.parentWindow.parentWindow.but_deactivate_all.SetPosition(415-10,200+10)
# self.parentWindow.parentWindow.but_deactivate_all.Show()
self.parentWindow.parentWindow.enable_rebuy.SetParent(self.bonusSelector)
self.parentWindow.parentWindow.enable_rebuy.SetPosition(10,200+10)
self.parentWindow.parentWindow.enable_rebuy.Show()
self.parentWindow.parentWindow.but_speed.SetParent(self.bonusSelector)
self.parentWindow.parentWindow.but_speed.SetPosition(0,205+10)
self.parentWindow.parentWindow.but_speed.Show()
self.parentWindow.parentWindow.help_show_rare.SetParent(self.bonusSelector)
self.parentWindow.parentWindow.help_rebuy.SetParent(self.bonusSelector)
# self.parentWindow.parentWindow.help_stop_all.SetParent(self.bonusSelector)
self.parentWindow.parentWindow.help_duration.SetParent(self.bonusSelector)
def UnSelect(self):
self.SetSize(self.width,self.height_unselected)
self.Update()
def Update(self):
self.StatusBar.SetPosition(0,20)
self.SetPosition((self.width+self.dist)*self.tabnum,0)
self.SlotName.SetText("Slot %d" % (self.index+1))
def resetSwitch(self):
self.values = [0,0,0,0,0]
def resetSwitch_rare(self):
self.values_rare = [0,0]
# last_switch = -1
rebuyed = 0
def nachkauf(self):
if self.parentWindow.parentWindow.buyed != 0:
return
else:
self.parentWindow.parentWindow.buyed = 1
if self.parentWindow.parentWindow.enable_rebuy.checked == 1:
for i in range(0,shop.SHOP_SLOT_COUNT):
me = shop.GetItemID(i)
if me == SWITCH_VNUM:
if shop.GetItemPrice(i) > player.GetMoney():
# chat.AppendChat(1,"-- Switchitem gefunden! Aber wir haben kein Geld :(")
self.bonusSelector.Deactivate()
return
else:
net.SendShopBuyPacket(i)
self.rebuyed = 1
# self.Switch()
return
rebuyed_rare = 0
def nachkauf_rare(self):
if self.parentWindow.parentWindow.buyed_rare != 0:
return
else:
self.parentWindow.parentWindow.buyed_rare = 1
if self.parentWindow.parentWindow.enable_rebuy.checked == 1:
for i in range(0,shop.SHOP_SLOT_COUNT):
me = shop.GetItemID(i)
if me == SWITCH_RARE_VNUM:
if shop.GetItemPrice(i) > player.GetMoney():
# chat.AppendChat(1,"-- Switchitem gefunden! Aber wir haben kein Geld :(")
self.bonusSelector.Deactivate_rare()
return
else:
net.SendShopBuyPacket(i)
self.rebuyed_rare = 1
# self.Switch()
return
# self.bonusSelector.Deactivate()
def Switch_rare(self):
lc = 0
for i in range(0,90*2):
if player.GetItemIndex(i) == SWITCH_RARE_VNUM:
lc+=player.GetItemCount(i)
if lc == 0 and self.parentWindow.parentWindow.enable_rebuy.checked == 0:
chat.AppendChat(2,"Slot %d: 6/7 Switchen abgebrochen -> Keine Switchitems & Nachkauf war nicht erfolgreich!" % (self.index+1))
self.bonusSelector.Deactivate_rare()
return
if lc < 15:
self.nachkauf_rare()
if lc == 0:
self.bonusSelector.Deactivate_rare()
chat.AppendChat(2,"Slot %d: 6/7 Switchen abgebrochen -> Keine Switchitems!" % (self.index+1))
return
for i in range(0,90*2):
if player.GetItemIndex(i) == SWITCH_RARE_VNUM:
net.SendItemUseToItemPacket(i,self.index)
return
def Switch(self):
lc = 0
for i in range(0,90*2):
if player.GetItemIndex(i) == SWITCH_VNUM:
lc+=player.GetItemCount(i)
if lc == 0 and self.parentWindow.parentWindow.enable_rebuy.checked == 0:
self.bonusSelector.Deactivate()
return
if lc < 15:
self.nachkauf()
if lc == 0:
self.bonusSelector.Deactivate()
return
for i in range(0,90*2):
if player.GetItemIndex(i) == SWITCH_VNUM:
net.SendItemUseToItemPacket(i,self.index)
return
# self.nachkauf()
def checkSwitch(self):
ok = 0
for i in range(0,5):
if player.GetItemAttribute(self.index, i) != self.values[i]:
ok = 1
self.prob = self.GetProb()
self.StatusText.SetText("Aktiv (%d%%)" %self.prob)
if ok == 1 or self.prob >= 90:
if self.prob >= 90:
chat.AppendChat(1,"Slot %d: fertig geswitcht!" % (self.index+1))
self.bonusSelector.Finish()
return
self.values = [player.GetItemAttribute(self.index, i) for i in range(0,5)]
self.Switch()
elif self.rebuyed > 0:
self.rebuyed = 0
self.Switch()
elif ok == 0 and self.count < 5:
self.count+=1
elif ok == 0 and self.count >= 5:
self.count = 0
self.Switch()
# elif self.last_switch > -1 and player.GetItemCount(self.last_switch) == 0:
# chat.AppendChat(2,"%d"%player.GetItemCount(self.last_switch))
# self.last_switch = 0
# self.Switch()
# else:
# if self.GetProb() != 100:
# self.Switch()
pass
def checkSwitch_rare(self):
ok = 0
for i in range(0,2):
if player.GetItemAttribute(self.index, i+6) != self.values_rare[i]:
ok = 1
self.prob_rare = self.GetProb_rare()
self.StatusText_rare.SetText("Aktiv (%d%%)" %self.prob_rare)
if ok == 1 or self.prob_rare >= 90:
if self.prob_rare >= 90:
self.bonusSelector.Finish_rare()
chat.AppendChat(1,"Slot %d: 6/7 fertig geswitcht!" % (self.index+1))
return
self.values_rare = [player.GetItemAttribute(self.index, i) for i in range(5,7)]
self.Switch_rare()
elif self.rebuyed_rare > 0:
self.rebuyed_rare = 0
self.Switch_rare()
elif ok == 0 and self.count_rare < 5:
self.count_rare+=1
elif ok == 0 and self.count_rare >= 5:
self.count_rare = 0
self.Switch_rare()
pass
def UpdateItem(self):
# try:
vnum = player.GetItemIndex(self.index)
if vnum == 0 and self.vnum != 0:
self.resetSwitch()
self.resetSwitch_rare()
self.vnum = 0
self.bonusSelector.Deactivate()
self.bonusSelector.Block()
self.bonusSelector.prepare_propose()
self.ItemIcon.Hide()
if self.parentWindow.parentWindow.gameWindow != None:
self.blockBar.SetSize(1)
return
elif vnum != self.vnum:
self.resetSwitch()
self.resetSwitch_rare()
self.vnum = vnum
self.bonusSelector.Deactivate()
self.bonusSelector.prepare_propose()
item.SelectItem(self.vnum)
if self.parentWindow.parentWindow.gameWindow != None:
(w,h) = item.GetItemSize()
self.blockBar.SetSize(h)
if item.GetItemType() != 1 and item.GetItemType() != 2:
self.bonusSelector.Block()
else:
self.bonusSelector.Unblock()
self.ItemIcon.Show()
self.ItemIcon.LoadImage(item.GetIconImageFileName())
# self.values = [player.GetItemAttribute(self.index, i) for i in range(0,5)]
return
if self.IsActive():
self.checkSwitch()
if self.IsActive_rare():
self.checkSwitch_rare()
# except:
# pass
def SetIndex(self,index):
self.index = index
self.bonusSelector.index = index
self.bonusSelector.Starter.SetText("Switchen ("+str(index+1)+") starten")
self.Update()
self.UpdateItem()
def GetProb_rare(self):
values = [player.GetItemAttribute(self.index, i+6) for i in range(0,2)]
val2 = {}
for i in range(0,2):
try:
affectString = AFFECT_DICT[values[i][0]](values[i][1])
val2[values[i][0]] = values[i][1]
self.bonusSelector.ibi[i+6].SetText(affectString)
except:
pass
prob = 0
max = 0
yp = self.GenList_rare()
for x in yp:
if yp[x] in val2 and val2[yp[x]] >= int(self.bonusSelector.boni[x+5][3].GetText()):
prob = prob+1
max = max+1
if max > 0:
prozent = 100/max*prob
else:
prozent = 100
return prozent
pass
def GetProb(self):
values = [player.GetItemAttribute(self.index, i) for i in range(0,5)]
val2 = {}
# for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM):
for i in range(0,5):
try:
affectString = AFFECT_DICT[values[i][0]](values[i][1])
val2[values[i][0]] = values[i][1]
self.bonusSelector.ibi[i].SetText(affectString)
except:
pass
prob = 0
max = 0
yp = self.GenList()
for x in yp:
if yp[x] in val2 and val2[yp[x]] >= int(self.bonusSelector.boni[x][3].GetText()):
prob = prob+1
max = max+1
if max > 0:
prozent = 100/max*prob
else:
prozent = 100
return prozent
def GenList(self):
ret = {}
for i in range(0,5):
if self.bonusSelector.boni[5-i][1].selected.value != 0:
ret[5-i] = self.bonusSelector.boni[5-i][1].selected.value
return ret
def GenList_rare(self):
ret = {}
for i in range(0,2):
if self.bonusSelector.boni[6+i][1].selected.value != 0:
ret[i+1] = self.bonusSelector.boni[6+i][1].selected.value
return ret
def __init__(self,parent):
ui.Window.__init__(self)
self.SetSize(500,36*3+4*2)
self.tabCount = 0
self.tabList = {}
self.parentWindow = parent
self.SetParent(parent)
self.plusBar = ui.Bar()
self.plusBar.SetParent(self)
self.plusBar.SetSize(90,30)
self.plusBar.SetWindowVerticalAlignCenter()
self.plusBar.SetColor(COLOR_BG)
# self.plusBar.OnMouseLeftButtonDown = lambda: self.AddTab_pre()
self.plusBar.OnMouseLeftButtonUp = lambda: self.AddTab_pre()
self.OnMouseLeftButtonUp = lambda: self.AddTab_pre()
self.plusBar.SetPosition(30,0)
self.plusBar.Show()
self.AddText = ui.TextLine()
self.AddText.SetParent(self.plusBar)
self.AddText.SetText("Item hier platzieren")
self.AddText.SetWindowVerticalAlignCenter()
self.AddText.SetWindowHorizontalAlignCenter()
self.AddText.SetVerticalAlignCenter()
self.AddText.SetHorizontalAlignCenter()
self.AddText.SetPosition(0,0)
self.AddText.Show()
dist = [
[500, 0 ], #1
[240, 10 ],
[160, 10 ],
[117, 10.5],
# [ 80, 25 ], #5
[ 92, 10 ], #5
[ 75, 10 ], #6
[ 64, 9 ], #7
[ 56, 7.5], #8
[ 50, 6.5], #9
[ 45, 5.5], #10
][MAX_NUM-1]
self.ItemTab.width = dist[0]
self.ItemTab.dist = dist[1]
#For 8
# dist = 9-1.5
# width = 56
# For 9
# dist = 9-2.5
# width = 50
# For 10
# dist = 9-3.5
# width = 45
def DeleteTab(self,id):
if self.parentWindow.gameWindow != None:
self.tabList[id].blockBar.Hide()
self.tabList[id].blockBar.Destroy()
self.tabList[id].Destroy()
# del self.tabList[id]
self.tabCount = self.tabCount -1
if self.tabCount > id and id < 5:
for i in xrange(id,self.tabCount):
self.tabList[i] = self.tabList[i+1]
self.tabList[i].tabnum = i
self.tabList[i].SetPosition((self.tabList[i].width+self.tabList[i].dist)*i,0)
del self.tabList[self.tabCount]
else:
del self.tabList[id]
if self.tabCount > 0:
self.tabList[0].Select()
if (self.ItemTab.width+self.ItemTab.dist)*self.tabCount < 20:
self.parentWindow.SetSize(520,387-210)
self.parentWindow.but_speed.Hide()
self.plusBar.SetPosition(20,0)
else:
(x,y) = self.tabList[self.tabCount-1].GetLocalPosition()
self.plusBar.SetPosition(x+self.ItemTab.width+self.ItemTab.dist,0)
# self.plusBar.SetPosition((self.ItemTab.width+self.ItemTab.dist)*self.tabCount-10,0)
self.plusBar.Show()
def AddTab_pre(self):
if mouseModule.mouseController.isAttached():
attachedSlotType = mouseModule.mouseController.GetAttachedType()
attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
attachedSlotVnum = mouseModule.mouseController.GetAttachedItemIndex()
item.SelectItem(attachedSlotVnum)
if item.GetItemType() != 1 and item.GetItemType() != 2:
mouseModule.mouseController.DeattachObject()
chat.AppendChat(2,"Dieses Item kannst du nicht switchen.")
return
for a in self.tabList:
if self.tabList[a].index == attachedSlotPos:
mouseModule.mouseController.DeattachObject()
chat.AppendChat(2,"Dieser Slot ist bereits eingefuegt worden!")
return
if player.SLOT_TYPE_INVENTORY == attachedSlotType:
self.AddTab(attachedSlotPos,attachedSlotVnum)
chat.AppendChat(2,"Item hinzugefuegt!")
mouseModule.mouseController.DeattachObject()
def AddTab(self,id,vnum = 0):
if self.tabCount < MAX_NUM:
self.tabList[self.tabCount] = self.ItemTab(self,self.tabCount,id,vnum)
self.tabList[self.tabCount].Select()
self.tabList[self.tabCount].Show()
self.tabCount+= 1
if (self.ItemTab.width+self.ItemTab.dist)*self.tabCount < 20:
self.plusBar.SetPosition(20,0)
else:
(x,y) = self.tabList[self.tabCount-1].GetLocalPosition()
self.plusBar.SetPosition(x+self.ItemTab.width+self.ItemTab.dist,0)
if self.tabCount == MAX_NUM:
self.plusBar.Hide()
self.parentWindow.SetSize(520,387+10)
self.parentWindow.but_speed.Show()
# return 0
class Bot(ui.BoardWithTitleBar):
class PinGroup(ui.Bar):
def OnUpdate(self):
## Now check position.
(x,y) = self.GetGlobalPosition()
max_x = wndMgr.GetScreenWidth()-self.GetWidth()
max_y = wndMgr.GetScreenHeight()-self.GetHeight()-DISTANCE_BOTTOM
if not x == self.pos_x or not y == self.pos_y:
old_dir = self.dir
if self.pos_x == 0 and not self.pos_y == 0 and not self.pos_y == max_y and old_dir != 1:
self.parse_dir(1)
elif self.pos_x == max_x and not self.pos_y == 0 and not self.pos_y == max_y and old_dir != 2:
self.parse_dir(2)
elif self.pos_y == max_y and not self.pos_x == 0 and not self.pos_x == max_x and old_dir != 4:
self.parse_dir(4)
elif self.pos_y == 0 and not self.pos_x == 0 and not self.pos_x == max_x and old_dir != 3:
self.parse_dir(3)
max_x = wndMgr.GetScreenWidth()-self.GetWidth()
max_y = wndMgr.GetScreenHeight()-self.GetHeight()-DISTANCE_BOTTOM
if self.pos_x == 0 and not self.pos_y == 0 and not self.pos_y == max_y:
x = 0
elif self.pos_x == max_x and not self.pos_y == 0 and not self.pos_y == max_y:
x = max_x
elif self.pos_y == 0 and not self.pos_x == 0 and not self.pos_x == max_x:
y = 0
elif self.pos_y == max_y and not self.pos_x == 0 and not self.pos_x == max_x:
y = max_y
if x > 0 and x < max_x and y > 0 and y < max_y:
if y < int(max_y/2):
y = 0
else:
y = max_y
if x < int(max_x/2):
x = 0
else:
x = max_x
x = min(max(0,x),wndMgr.GetScreenWidth()-self.GetWidth())
y = min(max(0,y),wndMgr.GetScreenHeight()-self.GetHeight()-DISTANCE_BOTTOM)
self.SetPosition(x,y)
self.pos_x = x
self.pos_y = y
# (self.pos_x,self.pos_y) = self.GetGlobalPosition()
self.parent.OnUpdate()
for c in self.txtlist:
c.SetColor(c.item.StatusBar.color)
c.txt2.SetText("Status: %s" % c.item.StatusText.GetText())
try:
c.listWin2.SetColor(c.item.StatusBar_rare.color)
c.txt3.SetText("Status: %s" % c.item.StatusText_rare.GetText())
except:
pass
def ShowMainWindow(self):
(x,y) = self.parent.GetGlobalPosition()
x = min(max(32,x),wndMgr.GetScreenWidth()-self.parent.GetWidth()-32)
y = min(max(32,y),wndMgr.GetScreenHeight()-self.parent.GetHeight()-DISTANCE_BOTTOM-32)
self.parent.SetPosition(x,y)
self.parent.Show()
self.__del__()
def parse_dir(self,dir):
self.dir = dir
w,h = 100,50
for listWin in self.txtlist:
itm = listWin.item
listWin.AddFlag("not_pick")
if dir >= 3:
listWin.SetPosition(w,4)
listWin.SetSize(90,h-8)
w+=92
if itm.bonusSelector.EnableRareBoni.checked == 1:
w+=15
listWin.SetSize(105,4+12+12)
listWin.listWin2.SetSize(105,14)
listWin.listWin2.Show()
listWin.txt3.Show()
else:
listWin.SetPosition(0,h)
listWin.SetSize(w,4+12+12+2)
if itm.bonusSelector.EnableRareBoni.checked == 1:
listWin.SetSize(w,4+12+12)
listWin.listWin2.SetSize(w,14)
listWin.listWin2.Show()
listWin.txt3.Show()
# itl.append(txt3)
h+=12
pass
h+=4+12+12+4
self.SetSize(w,h)
def __init__(self,parent,dir = 1):
self.parent = parent
self.dir = dir
ui.Bar.__init__(self)
# Direction: 1 = left; 2 = right; 3 = top
self.SetColor(COLOR_BG)
w,h = 100,50
self.AddFlag("float")
self.AddFlag("movable")
self.maximise_but = ui.Button()
self.maximise_but.SetParent(self)
self.maximise_but.SetPosition(4,4)
self.maximise_but.SetUpVisual("d:/ymir work/ui/public/large_button_01.sub")
self.maximise_but.SetOverVisual("d:/ymir work/ui/public/large_button_02.sub")
self.maximise_but.SetDownVisual("d:/ymir work/ui/public/large_button_03.sub")
self.maximise_but.SetText("Vergroessern")
self.maximise_but.SetEvent(self.ShowMainWindow)
self.maximise_but.Show()
self.stop_but = ui.Button()
self.stop_but.SetParent(self)
self.stop_but.SetPosition(4,24)
self.stop_but.SetUpVisual("d:/ymir work/ui/public/large_button_01.sub")
self.stop_but.SetOverVisual("d:/ymir work/ui/public/large_button_02.sub")
self.stop_but.SetDownVisual("d:/ymir work/ui/public/large_button_03.sub")
self.stop_but.SetText("Alle Deaktivieren")
self.stop_but.SetEvent(self.parent.deactivate_all)
self.stop_but.Show()
self.txtlist = []
for a in self.parent.itemTabBar.tabList:
itm = self.parent.itemTabBar.tabList[a]
listWin = ui.Bar()
listWin.item = itm
self.txtlist.append(listWin)
listWin.SetColor(itm.StatusBar.color)
listWin.SetParent(self)
listWin.AddFlag("not_pick")
listWin.Show()
listWin.txt1 = ui.TextLine()
listWin.txt1.SetParent(listWin)
listWin.txt1.SetText("Slot %d:" %(itm.index+1))
listWin.txt1.Show()
listWin.txt1.SetPosition(4,2)
listWin.txt2 = ui.TextLine()
listWin.txt2.SetParent(listWin)
listWin.txt2.SetText("Status: %s" % itm.StatusText.GetText())
listWin.txt2.SetPosition(4,2+12)
listWin.txt2.Show()
listWin.listWin2 = ui.Bar()
listWin.listWin2.AddFlag("not_pick")
listWin.listWin2.SetColor(itm.StatusBar_rare.color)
listWin.listWin2.SetParent(listWin)
listWin.listWin2.SetPosition(0,4+12+12)
listWin.listWin2.SetSize(w,12+2)
listWin.listWin2.Hide()
listWin.txt3 = ui.TextLine()
listWin.txt3.SetParent(listWin.listWin2)
listWin.txt3.SetText("Status: %s" % itm.StatusText_rare.GetText())
listWin.txt3.SetPosition(4,0)
listWin.txt3.Hide()
if dir >= 3:
listWin.SetPosition(w,4)
listWin.SetSize(90,h-8)
w+=92
if itm.bonusSelector.EnableRareBoni.checked == 1:
w+=15
listWin.SetSize(105,4+12+12)
listWin.listWin2.SetSize(105,14)
listWin.listWin2.Show()
listWin.txt3.Show()
else:
listWin.SetPosition(0,h)
listWin.SetSize(w,4+12+12+2)
if itm.bonusSelector.EnableRareBoni.checked == 1:
listWin.SetSize(w,4+12+12)
listWin.listWin2.Show()
listWin.txt3.Show()
# itl.append(txt3)
h+=12
pass
h+=4+12+12+4
# else:
# self.txtlist.append(itl)
self.SetSize(w,h)
(x,y) = self.parent.GetGlobalPosition()
x = min(max(0,x),wndMgr.GetScreenWidth()-self.GetWidth())
y = min(max(0,y),wndMgr.GetScreenHeight()-self.GetHeight()-DISTANCE_BOTTOM)
if dir == 1:
# self.SetWindowHorizontalAlignLeft()
self.SetPosition(0,y)
elif dir == 2:
# self.SetWindowHorizontalAlignRight()
self.SetPosition(wndMgr.GetScreenWidth()-self.GetWidth(),y)
elif dir == 3:
# self.SetWindowVerticalAlignTop()
self.SetPosition(x,0)
else:
# self.SetWindowVerticalAlignBottom()
self.SetPosition(x,wndMgr.GetScreenHeight()-(DISTANCE_BOTTOM+h))
(self.pos_x,self.pos_y) = self.GetGlobalPosition()
self.parse_dir(dir)
# if dir == 1:
# self.SetWindowHorizontalAlignLeft()
# self.SetPosition(0,0)
# elif dir == 2:
# self.SetWindowHorizontalAlignRight()
# self.SetPosition(self.GetWidth(),0)
# elif dir == 3:
# self.SetWindowHorizontalAlignCenter()
# self.SetPosition(0,0)
# elif dir == 4:
# self.SetWindowHorizontalAlignCenter()
# self.SetPosition(0,36+h)
# else:
# return # ERR
pinhint = 0
def ShowPinHint(self,type):
self.pinhint = type
if type == 0:
self.PinHint.Hide()
return
# type=2
(x,y) = self.GetGlobalPosition()
if type == 1: # Left
self.PinHint.SetWindowHorizontalAlignLeft()
self.PinHint.SetWindowVerticalAlignCenter()
self.PinHint.SetSize(max(min(30,30-x),3),wndMgr.GetScreenHeight())
self.PinHint.SetPosition(0,0)
elif type == 2: # Right
self.PinHint.SetWindowHorizontalAlignRight()
self.PinHint.SetWindowVerticalAlignCenter()
self.PinHint.SetSize(30,wndMgr.GetScreenHeight())
self.PinHint.SetPosition(max(min(30,30-(wndMgr.GetScreenWidth()-(x+self.GetWidth()))),3),0)
elif type == 3: # Top
self.PinHint.SetWindowHorizontalAlignCenter()
self.PinHint.SetWindowVerticalAlignTop()
self.PinHint.SetSize(wndMgr.GetScreenWidth(),max(min(30,30-y),3))
self.PinHint.SetPosition(0,0)
elif type == 4: # Top
self.PinHint.SetWindowHorizontalAlignCenter()
self.PinHint.SetWindowVerticalAlignBottom()
self.PinHint.SetSize(wndMgr.GetScreenWidth(),30)
self.PinHint.SetPosition(0,36+max(min(30,30-(wndMgr.GetScreenHeight()-36-(y+self.GetHeight()))),3))
self.PinHint.Show()
# else:
def __init__(self):
ui.BoardWithTitleBar.__init__(self)
self.gameWindow = None
self.SetTitleName("Switchbot (Version 2.2)")
self.AddFlag("float")
self.AddFlag("movable")
self.SetPosition(30,30)
# self.SetSize(520,387)
# self.SetSize(520,387-210)
self.SetSize(520,387-210)
self.PinHint = ui.Bar()
self.PinHint.SetColor(COLOR_PIN_HINT)
self.PinHint.Show()
self.OnMouseLeftButtonDown = self.drag_start
self.OnMouseLeftButtonUp = self.drag_end
self.titleBar.MinimizeBut = ui.Button()
self.titleBar.MinimizeBut.SetParent(self.titleBar)
self.titleBar.MinimizeBut.SetUpVisual("d:/ymir work/ui/public/minimize_button_01.sub")
self.titleBar.MinimizeBut.SetOverVisual("d:/ymir work/ui/public/minimize_button_02.sub")
self.titleBar.MinimizeBut.SetDownVisual("d:/ymir work/ui/public/minimize_button_03.sub")
self.titleBar.MinimizeBut.SetToolTipText("Minimieren", 0, -23)
self.titleBar.MinimizeBut.SetPosition(520 - self.titleBar.btnClose.GetWidth()-3- 32 - 3, 3)
self.titleBar.MinimizeBut.SetEvent(lambda: self.PinShow(1))
self.titleBar.MinimizeBut.Show()
self.titleBar.HelpBut = ui.ToggleButton()
self.titleBar.HelpBut.SetParent(self.titleBar)
self.titleBar.HelpBut.SetUpVisual("d:/ymir work/ui/public/small_button_01.sub")
self.titleBar.HelpBut.SetOverVisual("d:/ymir work/ui/public/small_button_02.sub")
self.titleBar.HelpBut.SetDownVisual("d:/ymir work/ui/public/small_button_03.sub")
self.titleBar.HelpBut.SetToolTipText("Ausfuehrliche Hilfe", 0, -23)
self.titleBar.HelpBut.SetText("Hilfe")
self.titleBar.HelpBut.SetPosition(3, 0)
self.titleBar.HelpBut.SetToggleDownEvent(lambda: self.ToggleHelp(1))
self.titleBar.HelpBut.SetToggleUpEvent(lambda: self.ToggleHelp(0))
self.titleBar.HelpBut.Show()
self.but_deactivate_all = ui.Button()
# self.but_deactivate_all.SetParent(self)
self.but_deactivate_all.SetParent(self.titleBar)
# self.but_deactivate_all.SetPosition(415,350)
self.but_deactivate_all.SetPosition(3+5+self.titleBar.HelpBut.GetWidth(), 0)
self.but_deactivate_all.SetUpVisual("d:/ymir work/ui/public/large_button_01.sub")
self.but_deactivate_all.SetOverVisual("d:/ymir work/ui/public/large_button_02.sub")
self.but_deactivate_all.SetDownVisual("d:/ymir work/ui/public/large_button_03.sub")
self.but_deactivate_all.SetText("Alle anhalten")
self.but_deactivate_all.SetEvent(self.deactivate_all)
self.but_deactivate_all.Show()
self.titleBar.but_deactivate_all = ui.Button()
self.titleBar.but_deactivate_all.SetParent(self.titleBar)
self.titleBar.but_deactivate_all.SetPosition(3+5+self.titleBar.HelpBut.GetWidth()+5+self.but_deactivate_all.GetWidth(), 0)
self.titleBar.but_deactivate_all.SetUpVisual("d:/ymir work/ui/public/small_button_01.sub")
self.titleBar.but_deactivate_all.SetOverVisual("d:/ymir work/ui/public/small_button_02.sub")
self.titleBar.but_deactivate_all.SetDownVisual("d:/ymir work/ui/public/small_button_03.sub")
self.titleBar.but_deactivate_all.SetText("Info")
self.titleBar.but_deactivate_all.SetEvent(self.about)
self.titleBar.but_deactivate_all.Show()
self.titleName.SetPosition(60, 4)
self.enable_rebuy = CheckBox("Nachkaufen aktivieren")
self.enable_rebuy.Toggle()
self.enable_rebuy.Hide()
self.but_speed = ui.SliderBar()
self.but_speed.SetParent(self)
self.but_speed.SetWindowHorizontalAlignCenter()
self.but_speed.SetPosition(0,360)
self.but_speed.SetSliderPos(0.0)
# self.but_speed.SetToolTipText("Switch-Geschwindigkeit", 0, -23)
# self.but_speed.Show()
self.but_speed.Hide()
self.itemTabBar = ItemTabBar(self)
self.itemTabBar.SetPosition(10,35)
self.itemTabBar.Show()
self.buyed = 0
self.buyed_rare = 0
self.SetCloseEvent(self._Hide)
self.Hide = self._Hide
### NOW initialize the HELP stuff!
self.help_add_item = HelpBar(0.8,'Ziehe ein Item hierher, um es hinzuzufuegen.')
self.help_add_item.SetParent(self)
self.help_add_item.SetPosition(60,50)
self.help_minimize = HelpBar(0.8,'Ziehe den Bot an den Rand, um ihn zu verkleinern!',1)
self.help_minimize.SetParent(self.titleBar)
self.help_minimize.SetWindowHorizontalAlignCenter()
self.help_minimize.SetPosition(100,-30)
self.help_show_rare = HelpBar(0.85,'Hiermit kannst du die Anzeige von 6/7 Boni umschalten.')
self.help_show_rare.SetParent(self)
# self.help_show_rare.SetPosition(35,312)
self.help_rebuy = HelpBar(0.5,'Soll der Bot nachkaufen?')
self.help_rebuy.SetParent(self)
# self.help_rebuy.SetPosition(25,297)
self.help_stop_all = HelpBar(0.8,'Stop ALLE Vorgaenge!',1)
self.help_stop_all.SetParent(self.titleBar)
self.help_stop_all.SetPosition(3+5+self.titleBar.HelpBut.GetWidth()*1.2,-30)
self.help_duration = HelpBar(0.8,'Verlangsamt den Bot.',1)
self.help_duration.SetParent(self)
def ToggleHelp(self,val):
self.help_on = val
def Show(self):
ui.BoardWithTitleBar.Show(self)
self.bot_shown = 1
def _Hide(self):
## ONLY FOR TESTING
# for a in range(0,self.itemTabBar.tabCount):
# self.itemTabBar.DeleteTab(0)
ui.BoardWithTitleBar.Hide(self)
self.bot_shown = 0
def deactivate_all(self):
for a in self.itemTabBar.tabList:
self.itemTabBar.tabList[a].bonusSelector.Starter.SetUp()
self.itemTabBar.tabList[a].bonusSelector.Starter.OnToggleUp()
self.itemTabBar.tabList[a].bonusSelector.Starter_rare_boni.SetUp()
self.itemTabBar.tabList[a].bonusSelector.Starter_rare_boni.OnToggleUp()
pass
drag = 0
def drag_start(self):
self.drag = 1
def drag_end(self):
self.drag = 0
if self.pinhint > 0:
self.PinShow(self.pinhint)
# self.PinGroupBox = self.PinGroup()
pass
self.ShowPinHint(0)
def PinShow(self,dir):
self.PinGroupBox = self.PinGroup(self,dir)
self.Hide()
self.PinGroupBox.Show()
def EnableInventoryTweak(self,gameWindow):
self.gameWindow=gameWindow
self.gameWindow.interface.wndInventory.inventoryTab[0].SetEvent(lambda arg=0: self.__SetInventoryPage(arg))
self.gameWindow.interface.wndInventory.inventoryTab[1].SetEvent(lambda arg=1: self.__SetInventoryPage(arg))
def __SetInventoryPage(self,arg):
self.gameWindow.interface.wndInventory.SetInventoryPage(arg)
for a in self.itemTabBar.tabList:
itm = self.itemTabBar.tabList[a]
if itm.index >= arg*45 and itm.index < (arg+1)*45:
itm.blockBar.Show()
else:
itm.blockBar.Hide()
help_on = 0
counter = 0
AboutWindow = None
def OnUpdate(self):
if self.AboutWindow:
if self.AboutWindow.x_counter > 1:
self.AboutWindow.x_counter -=1
self.AboutWindow.text6.SetText("Zeit: %0.1f" % (self.AboutWindow.x_counter/45.0))
elif self.AboutWindow.x_counter == 1:
self.AboutWindow.Hide()
# self.AboutWindow.Delete()
if self.help_on == 1:
(x,y) = self.itemTabBar.plusBar.GetLocalPosition()
self.help_add_item.SetPosition(x+20,50)
self.help_add_item.Show()
self.help_stop_all.Show()
self.help_minimize.Show()
if self.itemTabBar.tabCount > 0:
self.help_show_rare.SetPosition(25,164)
self.help_show_rare.Show()
self.help_rebuy.SetPosition(15,147)
self.help_rebuy.Show()
# self.help_duration.SetPosition(300,180)
self.help_duration.SetPosition(190-5.5+self.but_speed.GetSliderPos()*int(35.5+self.but_speed.GetWidth()/2),180)
self.help_duration.Show()
else:
self.help_show_rare.Hide()
self.help_rebuy.Hide()
self.help_duration.Hide()
else:
self.help_add_item.Hide()
self.help_minimize.Hide()
self.help_show_rare.Hide()
self.help_rebuy.Hide()
self.help_stop_all.Hide()
self.help_duration.Hide()
if self.drag == 1:
(x1, y1) = self.GetGlobalPosition()
# if x1 < 0:
# x1 = 0
# elif x1 > wndMgr.GetScreenWidth()-520:
# x1 = wndMgr.GetScreenWidth()-520
# if y1 < 0:
# y1 = 0
# elif y1 > wndMgr.GetScreenHeight()-36-self.GetHeight():
# y1 = wndMgr.GetScreenHeight()-36-self.GetHeight()
x1 = max(min(wndMgr.GetScreenWidth()-520,x1),0)
y1 = max(min(wndMgr.GetScreenHeight()-36-self.GetHeight(),y1),0)
self.SetPosition(x1,y1)
if x1 < 30:
self.ShowPinHint(1)
elif wndMgr.GetScreenWidth()-x1-520 < 30:
self.ShowPinHint(2)
elif y1 < 30:
self.ShowPinHint(3)
elif wndMgr.GetScreenHeight()-y1-self.GetHeight() < 60:
self.ShowPinHint(4)
else:
self.ShowPinHint(0)
# self.SetPosition(x1+(x-self.drag_pos[0]),y1)
pass
if self.gameWindow != None:
for a in self.itemTabBar.tabList:
itm = self.itemTabBar.tabList[a]
self.counter+=1
if self.counter >= int(self.but_speed.GetSliderPos()*MAX_SWITCH_DELAY_APPEND+MIN_SWITCH_DELAY):
self.buyed = 0
self.buyed_rare = 0
self.counter = 0
for a in self.itemTabBar.tabList:
itm = self.itemTabBar.tabList[a]
itm.UpdateItem()
# if itm.
def about(self):
self.AboutWindow = ui.ThinBoard()
self.AboutWindow.SetParent(self)
self.AboutWindow.SetSize(250,100)
self.AboutWindow.SetWindowHorizontalAlignCenter()
self.AboutWindow.SetWindowVerticalAlignCenter()
self.AboutWindow.SetPosition(0,0)
self.AboutWindow.Show()
self.AboutWindow.x_counter = 450
self.AboutWindow.text1 = ui.TextLine()
self.AboutWindow.text1.SetParent(self.AboutWindow)
self.AboutWindow.text1.SetWindowHorizontalAlignCenter()
self.AboutWindow.text1.SetHorizontalAlignCenter()
self.AboutWindow.text1.SetPosition(0,5)
self.AboutWindow.text1.SetText("Switchbot V2.2 by Mijago")
self.AboutWindow.text1.SetPackedFontColor(ui.GenerateColor(58, 141, 221))
self.AboutWindow.text1.Show()
self.AboutWindow.text2 = ui.TextLine()
self.AboutWindow.text2.SetParent(self.AboutWindow)
self.AboutWindow.text2.SetPosition(8,18)
self.AboutWindow.text2.SetText("Dieser Switchbot wurde von Mijago entwickelt.")
self.AboutWindow.text2.Show()
self.AboutWindow.text3 = ui.TextLine()
self.AboutWindow.text3.SetParent(self.AboutWindow)
self.AboutWindow.text3.SetPosition(8,18+13)
self.AboutWindow.text3.SetText("Neue Ideen werden immer gerne gesehen!")
self.AboutWindow.text3.Show()
self.AboutWindow.text4 = ui.TextLine()
self.AboutWindow.text4.SetParent(self.AboutWindow)
self.AboutWindow.text4.SetPosition(8,18+13*3)
self.AboutWindow.text4.SetText("Ich bitte euch, diesen Bot nicht ohne meine")
self.AboutWindow.text4.Show()
self.AboutWindow.text5 = ui.TextLine()
self.AboutWindow.text5.SetParent(self.AboutWindow)
self.AboutWindow.text5.SetPosition(8,18+13*4)
self.AboutWindow.text5.SetText("Genehmigung zu nutzen.")
self.AboutWindow.text5.Show()
self.AboutWindow.text6 = ui.TextLine()
self.AboutWindow.text6.SetParent(self.AboutWindow)
self.AboutWindow.text6.SetPosition(200,18+13*5)
self.AboutWindow.text6.SetText("Zeit: %d" % self.AboutWindow.x_counter)
self.AboutWindow.text6.Show()
class HelpBar(ui.Window):
def __init__(self,width,text,centered = 0):
ui.Window.__init__(self)
self.AddFlag("not_pick")
self.AddFlag("attach")
img = ui.ExpandedImageBox()
img.SetParent(self)
img.LoadImage("d:/ymir work/ui/pattern/help_stick.tga")
img.SetRenderingRect(0.0, -width, 0.0, 0.0)
img.Show()
self.img = img
txt = ui.TextLine()
txt=ui.TextLine()
txt.SetParent(self)
txt.SetText(text)
txt.Show()
img.SetPosition(0,18-width*img.GetHeight())
txt.SetPosition(0,0)
txt.SetWindowHorizontalAlignCenter()
if centered != 0:
txt.SetHorizontalAlignCenter()
# txt.SetPosition(0,0)
self.txt = txt
class DropDown(ui.Window):
dropped = 0
dropstat = 0
last = 0
lastS = 0
maxh = 95
OnChange = None
class Item(ui.ListBoxEx.Item):
def __init__(self,parent, text,value=0):
ui.ListBoxEx.Item.__init__(self)
self.textBox=ui.TextLine()
self.textBox.SetParent(self)
self.textBox.SetText(text)
# self.textBox.SetLimitWidth(parent.GetWidth()-132)
self.textBox.Show()
self.value = value
def GetValue(self):
return self.value
def __del__(self):
ui.ListBoxEx.Item.__del__(self)
def __init__(self,parent,tt = "",down=1):
ui.Window.__init__(self,"TOP_MOST")
self.down = down
self.SetParentProxy(parent)
self.bg = ui.Bar("TOP_MOST")
self.bg.SetParent(self)
self.bg.SetPosition(0,0)
self.bg.SetColor(0xc0000000)
self.bg.OnMouseOverIn = self.bgMouseIn
self.bg.OnMouseOverOut = self.bgMouseOut
self.bg.OnMouseLeftButtonDown = self.ExpandMe
self.bg.Show()
self.act = ui.TextLine()
self.act.SetParent(self.bg)
self.act.SetPosition(4,2)
self.act.SetText(tt)
self.act.Show()
self.GetText = self.act.GetText
self.Drop = ui.Bar("TOP_MOST")
self.Drop.SetParent(self.GetParentProxy())
self.Drop.SetPosition(0,21)
# self.Drop.SetSize(150,95)
self.Drop.SetSize(150,0)
# self.Drop.SetColor(0xc00a0a0a)
self.Drop.SetColor(0xff0a0a0a)
self.ScrollBar = ui.ThinScrollBar()
self.ScrollBar.SetParent(self.Drop)
self.ScrollBar.SetPosition(132,0)
# self.ScrollBar.SetScrollBarSize(95)
self.ScrollBar.SetScrollBarSize(0)
# self.ScrollBar.Show()
self.DropList = ui.ListBoxEx()
self.DropList.SetParent(self.Drop)
self.DropList.itemHeight = 12
self.DropList.itemStep = 13
self.DropList.SetPosition(0,0)
# self.DropList.SetSize(132,self.maxh)
self.DropList.SetSize(132,13)
self.DropList.SetScrollBar(self.ScrollBar)
self.DropList.SetSelectEvent(self.SetTitle)
self.DropList.SetViewItemCount(0)
self.DropList.Show()
if tt != "":
self.AppendItemAndSelect(tt)
self.selected = self.DropList.GetSelectedItem()
self.SetSize(120,20)
def __del__(self):
ui.Window.__del__(self)
c = 1
def AppendItem(self,text,value=0):
self.c+=1
self.DropList.AppendItem(self.Item(self,text,value))
self.maxh = min(95,13*self.c)
if self.c > 7:
self.ScrollBar.Show()
def AppendItemAndSelect(self,text,value=0):
self.DropList.AppendItem(self.Item(self,text,value))
self.DropList.SelectIndex(len(self.DropList.itemList)-1)
def SelectByAffectId(self,id):
for x in self.DropList.itemList:
if x.value == id:
self.DropList.SelectItem(x)
break
def SetTitle(self,item):
self.act.SetText(str(item.textBox.GetText()))
self.last = self.DropList.basePos
self.lastS = self.ScrollBar.GetPos()
self.dropped = 0
self.selected = item
if self.OnChange:
self.OnChange()
# self.Drop.Hide()
def SetPosition(self,w,h):
ui.Window.SetPosition(self,w,h)
if self.down == 1:
self.Drop.SetPosition(w,h+21)
else:
self.Drop.SetPosition(w,h-self.Drop.GetHeight())
def SetSize(self,w,h):
ui.Window.SetSize(self,w,h)
self.bg.SetSize(w,h)
self.Drop.SetSize(w,0)
self.DropList.SetSize(w-18,self.maxh)
for x in self.DropList.itemList:
x.SetSize(w-18,12)
self.ScrollBar.SetPosition(w-18,0)
def ExpandMe(self):
if self.dropped == 1:
# self.Drop.Hide()
self.dropped = 0
else:
# self.Drop.Show()
self.dropped = 1
def OnUpdate(self):
iter = 6
if self.Drop.GetHeight() < 50:
self.ScrollBar.Hide()
else:
self.ScrollBar.Show()
if self.dropped == 0 and self.dropstat == 1:
if self.Drop.GetHeight() <=0:
self.dropstat = 0
self.Drop.SetSize(self.Drop.GetWidth(),0)
self.ScrollBar.SetScrollBarSize(self.Drop.GetHeight())
self.Drop.Hide()
else:
if self.Drop.GetHeight()-iter < 0:
self.Drop.SetSize(self.Drop.GetWidth(),0)
else:
self.Drop.SetSize(self.Drop.GetWidth(),self.Drop.GetHeight()-iter)
(w,h) = self.GetLocalPosition()
self.SetPosition(w,h)
self.ScrollBar.SetScrollBarSize(self.Drop.GetHeight())
self.DropList.SetViewItemCount(int(self.Drop.GetHeight()/13))
self.DropList.SetBasePos(self.last+1)
self.DropList.SetBasePos(self.last)
elif self.dropped == 1 and self.dropstat == 0:
self.Drop.Show()
self.SetTop()
if self.Drop.GetHeight() >=self.maxh:
self.Drop.SetSize(self.Drop.GetWidth(),self.maxh)
self.ScrollBar.SetScrollBarSize(self.maxh)
self.dropstat = 1
self.DropList.SetViewItemCount(7)
self.ScrollBar.SetPos(self.lastS)
else:
self.ScrollBar.SetScrollBarSize(self.Drop.GetHeight()+iter)
self.Drop.SetSize(self.Drop.GetWidth(),self.Drop.GetHeight()+iter)
(w,h) = self.GetLocalPosition()
self.SetPosition(w,h)
self.DropList.SetViewItemCount(int(self.Drop.GetHeight()/13))
self.DropList.SetBasePos(self.last+1)
self.DropList.SetBasePos(self.last)
## BG Hover
def bgMouseIn(self):
self.bg.SetColor(0xc00a0a0a)
def bgMouseOut(self):
self.bg.SetColor(0xc0000000)
class Edit2(ui.EditLine):
def __init__(self,main = "",ml = 99):
ui.EditLine.__init__(self)
self.SetText(main)
self.main = main
self.SetMax(ml)
self.SetUserMax(ml)
def GetText(self):
res = ui.EditLine.GetText(self)
if res == "":
return "0"
else:
return res
def __del__(self):
ui.EditLine.__del__(self)
def OnSetFocus(self):
ui.EditLine.OnSetFocus(self)
if ui.EditLine.GetText(self) == self.main:
self.SetText("")
def OnKillFocus(self):
ui.EditLine.OnKillFocus(self)
if ui.EditLine.GetText(self) == "":
self.SetText(self.main)
class CheckBox(ui.Window):
checked = 0
eventUp =None
eventDown=None
def __init__(self,cont = ""):
ui.Window.__init__(self)
self.BG = ui.Bar("UI")
self.BG.SetParent(self)
self.BG.SetPosition(0,0)
self.BG.SetSize(20,20)
# self.BG.SetColor(0xc00b0b0b)
self.BG.SetColor(COLOR_CHECKBOX_NOT_SELECTED)
self.BG.OnMouseLeftButtonUp = self.Toggle
self.OnMouseLeftButtonUp = self.Toggle
self.BG.Show()
self.Title = ui.TextLine()
self.Title.SetParent(self)
self.Title.SetPosition(25,2)
self.Title.SetText(cont)
self.Title.Show()
self.stat = ui.TextLine()
self.stat.SetParent(self.BG)
self.stat.SetPosition(0,0)
self.stat.SetWindowHorizontalAlignCenter()
self.stat.SetWindowVerticalAlignCenter()
self.stat.SetHorizontalAlignCenter()
self.stat.SetVerticalAlignCenter()
self.stat.SetSize(0,0)
self.stat.SetText("")
self.SetSize(25+self.Title.GetTextSize()[0]+5,20)
self.stat.Show()
def __del__(self):
ui.ToggleButton.__del__(self)
def Toggle(self):
if self.checked == 1:
self.OnToggleUp()
else:
self.OnToggleDown()
def OnToggleUp(self):
self.stat.SetText("")
# self.BG.SetColor(0xc00b0b0b)
self.BG.SetColor(COLOR_CHECKBOX_NOT_SELECTED)
self.checked = 0
if self.eventUp:
self.eventUp()
def OnToggleDown(self):
# self.BG.SetColor(0xf00b0b0b)
self.BG.SetColor(COLOR_CHECKBOX_SELECTED)
self.stat.SetText("X")
self.checked = 1
if self.eventDown:
self.eventDown()
# Zum Testen
# a = Bot()
# a.Show()
# oder;
# Bot().Show()
Es ist kein Fehler, soweit ich es sehe. Ich habe halt nur noch mehr Vorschläge hinzu gefügt und seit dem funktioniert es nicht.
@Repzx. Danke aber das einbauen ist kein Problem. Daran scheitert es nicht :P
|
|
|
10/27/2014, 20:46
|
#10
|
elite*gold: 0
Join Date: Sep 2014
Posts: 256
Received Thanks: 24
|
Quote:
import shop
import player
import item
import ui
import net
import locale
import chat
import grp
import wndMgr
import mouseModule
*** import bot ***
|
Du hast nicht den vollständigen Bot implementiert geschweige eingefügt.
|
|
|
10/28/2014, 00:35
|
#11
|
elite*gold: 48
Join Date: Oct 2014
Posts: 209
Received Thanks: 70
|
@Repzx.
Aber wieso "import bot"
In der Datei, die schon drin ist, wo der Bot auch funktioniert steht es ja auch nicht. Der Bot wird in einer anderen Datei deklariert...
In meinem vorigen Post habe ich die alte Datei, wo es nur 3 Vorschläge gab gepostet. Die funktioniert ja...
Die Frage ist halt immer noch, warum der Bot nicht mehr funktioniert sobald ich neue Vorschläge rein schreibe.
|
|
|
11/16/2017, 16:01
|
#12
|
elite*gold: 0
Join Date: Dec 2011
Posts: 2
Received Thanks: 0
|
i have the same problem too, anyone got a fix ?
|
|
|
11/16/2017, 17:08
|
#13
|
Administrator
elite*gold: 25257
Join Date: Aug 2013
Posts: 9,617
Received Thanks: 2,603
|
Quote:
Originally Posted by radupoliyy
i have the same problem too, anyone got a fix ?
|
Create an own thread for your problem please. Don't push such old threads.
|
|
|
11/16/2017, 20:35
|
#14
|
elite*gold: 0
Join Date: Dec 2011
Posts: 2
Received Thanks: 0
|
sorry, i know it's not okay to push old threads, but in this thread the problem i encountered is explained better than i could do it
bump
|
|
|
|
Similar Threads
|
Problem mit dem Switchbot
03/21/2013 - Metin2 Private Server - 1 Replies
Hooy ;D
Gildenmember hat folgendes Problem:
Er lässt Gegenstandt verzaubern auslesen.
Stellt seine Slots ein.
Geht auf starten.
Dann zieht der Switchbot ihm das eq an.
|
SwitchBot Problem
11/24/2012 - Metin2 Private Server - 2 Replies
Metin2TGA Problem mit SwitchBot - YouTube
Good morning epvp:d
Can someone help me?:handsdown:
|
Switchbot Problem.
07/31/2012 - Metin2 Private Server - 0 Replies
Hallo Freunde.
Da die Speicherfunktion beim neuen Padmak ja nicht funktioniert, wollte ich den Bot von Unpublished benutzen.
Leider bekomme ich immer nach ca. 5 Minuten einen Kick.
Was kann ich dagegen machen ?
|
Switchbot [Problem] Was nun?
04/24/2012 - Metin2 Private Server - 4 Replies
Hallo Community,
Ich habe ein Problem mit dem Switchbot, ich habe schon alles gemacht z.B. den neusten Switchbot benutzen oder die eshv.dll ersetzt, durch diese eine andere modifizierte eshv.dll . Seht euch diese Fehlermeldung an, sie kommt immer wieder : http://s14.directupload.net/images/120423/sdqwhh7j .png
Bitte um Hilfe.
Danke schon mal im vorraus.
lg ChilloutMen :)
|
BIG SWITCHBOT PROBLEM!,Help pls
03/05/2012 - Dekaron - 2 Replies
Ich habe ein riesen Problem , würde gerne Switchbotten aber ich habe ein Problem, dies habe ich mal Gefilmt...
/watch?v=1IHJEa65VlM&feature=youtu.be
Bitte um dringende Hilfe Pn oder Post... :rtfm:
|
All times are GMT +1. The time now is 11:52.
|
|