Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server
You last visited: Today at 06:31

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Switchbot Problem 6/7

Discussion on Switchbot Problem 6/7 within the Metin2 Private Server forum part of the Metin2 category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jun 2014
Posts: 223
Received Thanks: 43
Switchbot Problem 6/7

Guten Tag,
Ich habe ein Problem mit meinem Switchbot.
Ich kann bei der 6/7 Option keine Bonuse auswählen.
Wie kann ich das Board vergrößern ?



PHP 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,3,4,5,6,9,10,15,16,17,29,30,31,32,33,34,35,36,37,38,41,48,53,39,27,28,12]

# Hier 6/7 Boni angeben!
BONI_RARE_AVAIL = [1,3,4,5,6]

# 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.00.00.00.5)
COLOR_INACTIVE grp.GenerateColor(1.00.00.00.2)
COLOR_ACTIVE   grp.GenerateColor(1.00.60.10.2)
COLOR_FINISHED grp.GenerateColor(0.01.00.00.2)

COLOR_INACTIVE_RARE grp.GenerateColor(1.00.20.00.2)
COLOR_ACTIVE_RARE   grp.GenerateColor(1.00.70.20.2)

COLOR_HIGHLIGHT_RARE grp.GenerateColor(1.00.20.20.05)

COLOR_PIN_HINT grp.GenerateColor(0.00.51.00.3)


COLOR_CHECKBOX_NOT_SELECTED grp.GenerateColor(1.00.30.00.1)
COLOR_CHECKBOX_SELECTED grp.GenerateColor(0.31.01.00.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.hWndcolor)
        
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):
                (
affectTypeaffectValue) = item.GetAffect(i)
                if 
affectType == x[0]:
                    
ok 0
            
if ok == 0:
                continue
            
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):
            
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.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,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 lambdaself.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 == 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 == 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.indexi) != self.values[i]:
                    
ok 1
            self
.prob self.GetProb()
            
self.StatusText.SetText("Aktiv (%d%%)" %self.prob)
            if 
ok == 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.indexi) for i in range(0,5)]
                
self.Switch()
            
elif self.rebuyed 0:
                
self.rebuyed 0
                self
.Switch()
            
elif ok == and self.count 5:
                
self.count+=1
            elif ok 
== 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.indexi+6) != self.values_rare[i]:
                    
ok 1
            self
.prob_rare self.GetProb_rare()
            
self.StatusText_rare.SetText("Aktiv (%d%%)" %self.prob_rare)
            if 
ok == 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.indexi) for i in range(5,7)]
                
self.Switch_rare()
            
elif self.rebuyed_rare 0:
                
self.rebuyed_rare 0
                self
.Switch_rare()
            
elif ok == and self.count_rare 5:
                
self.count_rare+=1
            elif ok 
== and self.count_rare >= 5:
                
self.count_rare 0
                self
.Switch_rare()
                
            
pass
        def UpdateItem
(self):
            
# try:
            
vnum player.GetItemIndex(self.index)
            if 
vnum == 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() != 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.indexi+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[xin 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.indexi) 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[xin 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 lambdaself.AddTab_pre()
        
self.OnMouseLeftButtonUp lambdaself.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
            
[24010  ],
            [
16010  ],
            [
11710.5],
            
# [ 80, 25  ], #5
            
9210  ], #5
            
7510  ], #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 -
        
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() != 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 == and not self.pos_y == 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 == 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 == and not self.pos_x == max_x and old_dir != 4:
                    
self.parse_dir(4)
                
elif self.pos_y == and not self.pos_x == 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 == and not self.pos_y == and not self.pos_y == max_y:
                    
0
                elif self
.pos_x == max_x and not self.pos_y == and not self.pos_y == max_y:
                    
max_x
                elif self
.pos_y == and not self.pos_x == and not self.pos_x == max_x:
                    
0
                elif self
.pos_y == max_y and not self.pos_x == and not self.pos_x == max_x:
                    
max_y
                
if and max_x and and max_y:
                    if 
int(max_y/2):
                        
0
                    
else:
                        
max_y
                    
                    
if int(max_x/2):
                        
0
                    
else:
                        
max_x
                        
                
                x 
min(max(0,x),wndMgr.GetScreenWidth()-self.GetWidth())
                
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()
            
min(max(32,x),wndMgr.GetScreenWidth()-self.parent.GetWidth()-32)
            
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
,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,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()
            
            
min(max(0,x),wndMgr.GetScreenWidth()-self.GetWidth())
            
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()-332 33)
        
self.titleBar.MinimizeBut.SetEvent(lambdaself.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(30)
        
self.titleBar.HelpBut.SetToggleDownEvent(lambdaself.ToggleHelp(1))
        
self.titleBar.HelpBut.SetToggleUpEvent(lambdaself.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(604)
        
        
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=0self.__SetInventoryPage(arg))
        
self.gameWindow.interface.wndInventory.inventoryTab[1].SetEvent(lambda arg=1self.__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:
            (
x1y1) = 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(58141221))
        
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, -width0.00.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,parenttext,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)
    
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.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 == 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 == 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() 
Mfg.Mindfreak
Prof.MindFreak is offline  
Old 05/01/2015, 15:57   #2
 
123snake123's Avatar
 
elite*gold: 253
Join Date: Jan 2010
Posts: 465
Received Thanks: 31
Verändere doch mal nach und nach die werte bei allem wo size davor steht.
Da wird die größe geregelt.

Bergiss das BackUp nicht^^
123snake123 is offline  
Thanks
1 User
Old 05/01/2015, 16:15   #3
 
elite*gold: 0
Join Date: Jun 2014
Posts: 223
Received Thanks: 43
Ich habe es schon versucht.
Prof.MindFreak is offline  
Old 05/01/2015, 16:19   #4
 
123snake123's Avatar
 
elite*gold: 253
Join Date: Jan 2010
Posts: 465
Received Thanks: 31
Es gibt mehrere Blöcke in denen Size vorkommt
123snake123 is offline  
Old 05/08/2015, 23:08   #5
 
elite*gold: 0
Join Date: Jun 2014
Posts: 223
Received Thanks: 43
push
Prof.MindFreak is offline  
Reply


Similar Threads Similar Threads
Switchbot Problem
11/16/2017 - Metin2 Private Server - 13 Replies
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...
Problem mit Switchbot
11/21/2014 - Metin2 Private Server - 10 Replies
Ich habe ein Problem mit dem Switchbot von Mijago Thema: http://www.elitepvpers.com/forum/metin2-pserver-gu ides-strategies/3426661-r-switchbot-collection.htm l Infos im Anhang. https://www.virustotal.com/en/file/51a547b2631e79 be31215cb750606a947565c89596587ba055c0356bb7766854 /analysis/1416427936/
switchbot Problem von unu
10/28/2012 - Metin2 Private Server - 0 Replies
Hey ich hab das problem http://www10.pic-upload.de/28.10.12/bj81c88r8u9k.j pg Hoff mi rkann jemand helfen .. hab win 7 habe alles als admin ausgeführt..
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 ?
Problem with switchbot
06/18/2012 - Metin2 Private Server - 0 Replies
Hy epvp i have a problem with switchbot.... Screen: http://i.imgur.com/hmbo5.png Where is the problem? Switchbot by Unpublished



All times are GMT +1. The time now is 06:31.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.