[RELEASE]Python Itemcreator - Working 100%

03/10/2013 20:32 dopeness'#1
Huhu liebe Community,

Hiermit Release ich ein kleines Python Script. Mit diesem Script, könnt ihr euch Equipment mit Wunschbonis erstellen, und sie mit Glas der Einsicht Posten.

Das Ganze ist Clientside, jedoch für andere Sichtbar. Das Item kann man weder benutzen, noch Handeln.

So wendet ihr es an:

Als erstes ladet ihr euch den Anhang in dem Thread herunter, schaltet bitte euer Antiviren Programm aus, da es möglicherweise als Virus erkannt wird (Bei mir auch so.) Sollte aber kein Virus sein.

Wenn ihr die Datei habt, fügt sie in einem Beliebigen Metin2 Clienten ein, wo ihr die Items faken wollt. Anschließend startet ihr die .exe des Servers, und loggt euch wie gewohnt ein.

Beim Start der .exe Öffnet sich ein weiteres Fenster, das so aussieht:

Dort klickt ihr auf "START".

Jetzt habt ihr verschiedene möglichkeiten, ihr könnt Botten, oder das tun was ihr wollt. Ich zeige euch aber nun, wie ihr Items faked.

Ihr klickt nun oben "Run Code" an, und dann kommt ihr zu einem leeren Feld, indem ihr Scripts einfügen könnt. Das sollte so aussehen:


In diesem fügen wir nun folgendes Python Script ein:
PHP Code:
import chat
import ui
import app
import item
import player
import grp

CreateBonus0 
= 0
CreateBonus1 
= 0
CreateBonus2 
= 0
CreateBonus3 
= 0
CreateBonus4 
= 0
CreateWhish0 
= 0
CreateWhish1 
= 0
CreateWhish2 
= 0
CreateWhish3 
= 0
CreateWhish4 
= 0

ItemValue 
= 19

BonusListe 
= ( 
    
"",
    
"Max. TP",
    
"Max. MP",
    
"Vitalität",
    
"Intelligenz", 
    
"Stärke",
    
"Ausweichwert",
    
"Angriffsgeschwindigkeit",
    
"Bewegungsgeschwindigkeit",
    
"Zaubergeschwindigkeit",
    
"TP-Regeneration",
    
"MP-Regeneration",
    
"Vergiftungschance",
    
"Ohnmachtschance",
    
"Verlangsamungschance",
    
"Kritischer Treffer",
    
"Durchbohrender Treffer",
    
"Stark ggn Halbmenschen",
    
"Stark ggn Tiere",
    
"Stark ggn Orks",
    
"Stark ggn Esoterische",
    
"Stark ggn Untote",
    
"Stark ggn Teufel",
    
"TP-Absorbierung",
    
"MP-Absorbierung",
    
"Chance auf Manaraub",
    
"Chance MP-Regeneration",
    
"Nahkampf-Angriff blocken",
    
"Pfeilangriff ausweichen",
    
"Schwertverteidigung",
    
"Zweihandverteidigung",
    
"Dolchverteidigung",
    
"Glockenverteidigung",
    
"Fächerverteidigung",
    
"Pfeilwiderstand",
    
"Feuerwiderstand",
    
"Blitzwiderstand",
    
"Magieverteidigung",
    
"Windverteidigung",
    
"Nahkampftreffer reflektieren",
    
"Fluch reflektieren",
    
"Giftverteidigung",
    
"Chance MP wiederherzustellen",
    
"Exp-Bonus",
    
"Yang-Drop",
    
"Item-Drop",
    
"steigernde Trankwirkung",
    
"Chance TP wiederherzustellen",
    
"Immun gegen Ohnmacht",
    
"Immun gegen Verlangsamung",
    
"Immun gegen Stürzen",
    
"APPLY_SKILL",
    
"Pfeilreichweite",
    
"Angriffswert",
    
"Verteidigungswert",
    
"Magischer Angriffswert",
    
"Magischer Verteidigungswert",
    
"",
    
"Max. Ausdauer",
    
"Stark gegen Krieger",
    
"Stark gegen Ninjas",
    
"Stark gegen Suras",
    
"Stark gegen Schamanen",
    
"Stark gegen Monster",
    
"Itemshop Angriffswert",
    
"Itemshop Verteidigungswert",
    
"Itemshop Exp-Bonus",
    
"Itemshop Item-Bonus",
    
"Itemshop Yang-Bonus",
    
"APPLY_MAX_HP_PCT",
    
"APPLY_MAX_SP_PCT",
    
"Fertigkeitsschaden",
    
"Durchschn. Schaden",
    
"Fertigkeitsschaden Widerstand",
    
"Durchschn. Schadenswiderstand",
    
"",
    
"iCafe EXP-Bonus",
    
"iCafe Item-Bonus",
    
"Abwehr ggn Krieger",
    
"Abwehr ggn Ninjas",
    
"Abwehr ggn Suras",
    
"Abwehr ggn Schamanen",
    )

BonusIDListe = { 
    
"" : 0,
    
"Max. TP" : 1,
    
"Max. MP" : 2,
    
"Vitalität" : 3,
    
"Intelligenz" : 4, 
    
"Stärke" : 5,
    
"Ausweichwert" : 6,
    
"Angriffsgeschwindigkeit" : 7,
    
"Bewegungsgeschwindigkeit" : 8,
    
"Zaubergeschwindigkeit" : 9,
    
"TP-Regeneration" : 10,
    
"MP-Regeneration" : 11,
    
"Vergiftungschance" : 12,
    
"Ohnmachtschance" : 13,
    
"Verlangsamungschance" : 14,
    
"Kritischer Treffer" : 15,
    
"Durchbohrender Treffer" : 16,
    
"Stark ggn Halbmenschen" : 17,
    
"Stark ggn Tiere" : 18,
    
"Stark ggn Orks" : 19,
    
"Stark ggn Esoterische" : 20,
    
"Stark ggn Untote" : 21,
    
"Stark ggn Teufel" : 22,
    
"TP-Absorbierung" : 23,
    
"MP-Absorbierung" : 24,
    
"Chance auf Manaraub" : 25,
    
"Chance MP-Regeneration" : 26,
    
"Nahkampf-Angriff blocken" : 27,
    
"Pfeilangriff ausweichen" : 28,
    
"Schwertverteidigung" : 29,
    
"Zweihandverteidigung" : 30,
    
"Dolchverteidigung" : 31,
    
"Glockenverteidigung" : 32,
    
"Fächerverteidigung" : 33,
    
"Pfeilwiderstand" : 34,
    
"Feuerwiderstand" : 35,
    
"Blitzwiderstand" : 36,
    
"Magieverteidigung" : 37,
    
"Windverteidigung" : 38,
    
"Nahkampftreffer reflektieren" : 39,
    
"Fluch reflektieren" : 40,
    
"Giftverteidigung" : 41,
    
"Chance MP wiederherzustellen" : 42,
    
"Exp-Bonus" : 43,
    
"Yang-Drop" : 44,
    
"Item-Drop" : 45,
    
"steigernde Trankwirkung" : 46,
    
"Chance TP wiederherzustellen" : 47,
    
"Immun gegen Ohnmacht" : 48,
    
"Immun gegen Verlangsamung" : 49,
    
"Immun gegen Stürzen" : 50,
    
"APPLY_SKILL" : 51,
    
"Pfeilreichweite" : 52,
    
"Angriffswert" : 53,
    
"Verteidigungswert" : 54,
    
"Magischer Angriffswert" : 55,
    
"Magischer Verteidigungswert" : 56,
    
"" : 57,
    
"Max. Ausdauer" : 58,
    
"Stark gegen Krieger" : 59,
    
"Stark gegen Ninjas" : 60,
    
"Stark gegen Suras" : 61,
    
"Stark gegen Schamanen" : 62,
    
"Stark gegen Monster" : 63,
    
"Itemshop Angriffswert" : 64,
    
"Itemshop Verteidigungswert" : 65,
    
"Itemshop Exp-Bonus" : 66,
    
"Itemshop Item-Bonus" : 67,
    
"Itemshop Yang-Bonus" : 68,
    
"APPLY_MAX_HP_PCT" : 69,
    
"APPLY_MAX_SP_PCT" : 70,
    
"Fertigkeitsschaden" : 71,
    
"Durchschn. Schaden" : 72,
    
"Fertigkeitsschaden Widerstand" : 73,
    
"Durchschn. Schadenswiderstand" : 74,
    
"" : 75,
    
"iCafe EXP-Bonus" : 76,
    
"iCafe Item-Bonus" : 77,
    
"Abwehr ggn Krieger" : 78,
    
"Abwehr ggn Ninjas" : 79,
    
"Abwehr ggn Suras" : 80,
    
"Abwehr ggn Schamanen" : 81,
    }

class 
CreateItemDialog(ui.Window):

    
ENABLE_COLOR = grp.GenerateColor(0.7607, 0.7607, 0.7607, 1.0)
    
DISABLE_COLOR = grp.GenerateColor(0.9, 0.4745, 0.4627, 1.0)

    
def __init__(self):
        
ui.Window.__init__(self)

        
self.Board = ui.BoardWithTitleBar()
        
self.Board.SetSize(350, 355)
        
self.Board.SetCenterPosition()
        
self.Board.AddFlag("movable")
        
self.Board.AddFlag("float")
        
self.Board.SetTitleName("Item Creator")
        
self.Board.SetCloseEvent(self.Close)
        
self.Board.Show()
        
        
self.MetinStone1 = 28930
        self
.MetinStone2 = 28940
        self
.MetinStone3 = 0

        self
.AddTextLines()
        
self.AddImages()
        
self.AddSlotBars()
        
    
def __del__(self):
        
ui.Window.__del__(self)

    
def AddSlotBars(self):
        return
        
    
def AddImages(self):
        global 
ItemValue
        item
.SelectItem(int(ItemValue))
        
ItemIcon = item.GetIconImageFileName()
        
self.ItemImage = ui.ExpandedImageBox()
        
self.ItemImage.SetParent(self.Board)
        
self.ItemImage.SetPosition(17, 65 + 15)
        
self.ItemImage.LoadImage(str(ItemIcon))
        
self.ItemImage.Show()
        
        
self.ItemNameText = ui.TextLine()
        
self.ItemNameText.SetParent(self.Board)
        
self.ItemNameText.SetDefaultFontName()
        
self.ItemNameText.SetPosition(15, 55)
        
self.ItemNameText.SetFeather()
        
self.ItemNameText.SetText(str(item.GetItemName()))
        for 
i in xrange(0,1):
            (
ItemTypeLimit, ItemLevelLimit) = item.GetLimit(i)
            if 
item.LIMIT_LEVEL == ItemTypeLimit:
                if 
player.GetStatus(player.LEVEL) < ItemLevelLimit:
                    
self.ItemNameText.SetPackedFontColor(self.DISABLE_COLOR)
                else:
                    
self.ItemNameText.SetPackedFontColor(self.ENABLE_COLOR)
        
self.ItemNameText.SetOutline()
        
self.ItemNameText.Show()

        
        
self.Metin1Image = ui.ExpandedImageBox()
        
self.Metin1Image.SetParent(self.Board)
        
self.Metin1Image.SetPosition(65, 65 + 15)
        if 
int(self.MetinStone1) != 0:
            
item.SelectItem(int(self.MetinStone1))
            
ItemIcon = item.GetIconImageFileName()
            
self.Metin1Image.LoadImage(str(ItemIcon))
        
self.Metin1Image.Show()

        
self.Metin1Text = ui.TextLine()
        
self.Metin1Text.SetParent(self.Board)
        
self.Metin1Text.SetDefaultFontName()
        
self.Metin1Text.SetPosition(105, 65 + 23)
        
self.Metin1Text.SetFeather()
        if 
int(self.MetinStone1) != 0:
            
self.Metin1Text.SetText(str(item.GetItemName()))
        else:
            
self.Metin1Text.SetText("Metinstein 1")            
        
self.Metin1Text.SetFontColor(1.0, 1.0, 1.0)
        
self.Metin1Text.SetOutline()
        
self.Metin1Text.Show()    
        
        
self.Metin1SlotBar = ui.SlotBar()
        
self.Metin1SlotBar.SetParent(self.Board)
        
self.Metin1SlotBar.SetSize(5*7, 14)
        
self.Metin1SlotBar.SetPosition(240, 65 + 23)
        
self.Metin1SlotBar.Show()
        
        
self.Metin1EditLine = ui.EditLine()
        
self.Metin1EditLine.SetParent(self.Metin1SlotBar)
        
self.Metin1EditLine.SetSize(5*7, 18)
        
self.Metin1EditLine.SetPosition(6, 0)
        
self.Metin1EditLine.SetMax(5)
        
self.Metin1EditLine.SetNumberMode()
        
self.Metin1EditLine.SetText(str(self.MetinStone1))
        
self.Metin1EditLine.SetFocus()
        
self.Metin1EditLine.Show()
        
        
self.Metin1Button = ui.Button()
        
self.Metin1Button.SetParent(self.Board)
        
self.Metin1Button.SetUpVisual("d:/ymir work/ui/public/small_Button_01.sub")
        
self.Metin1Button.SetOverVisual("d:/ymir work/ui/public/small_Button_02.sub")
        
self.Metin1Button.SetDownVisual("d:/ymir work/ui/public/small_Button_03.sub")
        
self.Metin1Button.SetText("Set")
        
self.Metin1Button.SetEvent(ui.__mem_func__(self.SetMetin1))
        
self.Metin1Button.SetPosition(285, 65 + 20)
        
self.Metin1Button.Show()
        
        
self.Metin2Image = ui.ExpandedImageBox()
        
self.Metin2Image.SetParent(self.Board)
        
self.Metin2Image.SetPosition(65, 100 + 15)
        if 
int(self.MetinStone2) != 0:
            
item.SelectItem(int(self.MetinStone2))
            
ItemIcon = item.GetIconImageFileName()
            
self.Metin2Image.LoadImage(str(ItemIcon))
        
self.Metin2Image.Show()

        
self.Metin2Text = ui.TextLine()
        
self.Metin2Text.SetParent(self.Board)
        
self.Metin2Text.SetDefaultFontName()
        
self.Metin2Text.SetPosition(105, 100 + 23)
        
self.Metin2Text.SetFeather()
        if 
int(self.MetinStone2) != 0:
            
self.Metin2Text.SetText(str(item.GetItemName()))
        else:
            
self.Metin2Text.SetText("Metinstein 2")            
        
self.Metin2Text.SetFontColor(1.0, 1.0, 1.0)
        
self.Metin2Text.SetOutline()
        
self.Metin2Text.Show()    

        
self.Metin2SlotBar = ui.SlotBar()
        
self.Metin2SlotBar.SetParent(self.Board)
        
self.Metin2SlotBar.SetSize(5*7, 14)
        
self.Metin2SlotBar.SetPosition(240, 100 + 23)
        
self.Metin2SlotBar.Show()
        
        
self.Metin2EditLine = ui.EditLine()
        
self.Metin2EditLine.SetParent(self.Metin2SlotBar)
        
self.Metin2EditLine.SetSize(5*7, 18)
        
self.Metin2EditLine.SetPosition(6, 0)
        
self.Metin2EditLine.SetMax(5)
        
self.Metin2EditLine.SetNumberMode()
        
self.Metin2EditLine.SetText(str(self.MetinStone2))
        
self.Metin2EditLine.SetFocus()
        
self.Metin2EditLine.Show()
        
        
self.Metin2Button = ui.Button()
        
self.Metin2Button.SetParent(self.Board)
        
self.Metin2Button.SetUpVisual("d:/ymir work/ui/public/small_Button_01.sub")
        
self.Metin2Button.SetOverVisual("d:/ymir work/ui/public/small_Button_02.sub")
        
self.Metin2Button.SetDownVisual("d:/ymir work/ui/public/small_Button_03.sub")
        
self.Metin2Button.SetText("Set")
        
self.Metin2Button.SetEvent(ui.__mem_func__(self.SetMetin2))
        
self.Metin2Button.SetPosition(285, 100 + 20)
        
self.Metin2Button.Show()
        
        
self.Metin3Image = ui.ExpandedImageBox()
        
self.Metin3Image.SetParent(self.Board)
        
self.Metin3Image.SetPosition(65, 135 + 15)        
        if 
int(self.MetinStone3) != 0:
            
item.SelectItem(int(self.MetinStone3))
            
ItemIcon = item.GetIconImageFileName()
            
self.Metin3Image.LoadImage(str(ItemIcon))
        
self.Metin3Image.Show()
        
        
self.Metin3Text = ui.TextLine()
        
self.Metin3Text.SetParent(self.Board)
        
self.Metin3Text.SetDefaultFontName()
        
self.Metin3Text.SetPosition(105, 135 + 23)
        
self.Metin3Text.SetFeather()
        if 
int(self.MetinStone3) != 0:
            
self.Metin3Text.SetText(str(item.GetItemName()))
        else:
            
self.Metin3Text.SetText("Metinstein 3")            
        
self.Metin3Text.SetFontColor(1.0, 1.0, 1.0)
        
self.Metin3Text.SetOutline()
        
self.Metin3Text.Show()    
        
        
self.Metin3SlotBar = ui.SlotBar()
        
self.Metin3SlotBar.SetParent(self.Board)
        
self.Metin3SlotBar.SetSize(5*7, 14)
        
self.Metin3SlotBar.SetPosition(240, 135 + 23)
        
self.Metin3SlotBar.Show()
        
        
self.Metin3EditLine = ui.EditLine()
        
self.Metin3EditLine.SetParent(self.Metin3SlotBar)
        
self.Metin3EditLine.SetSize(5*7, 18)
        
self.Metin3EditLine.SetPosition(6, 0)
        
self.Metin3EditLine.SetMax(5)
        
self.Metin3EditLine.SetNumberMode()
        
self.Metin3EditLine.SetText(str(self.MetinStone3))
        
self.Metin3EditLine.SetFocus()
        
self.Metin3EditLine.Show()

        
self.Metin3Button = ui.Button()
        
self.Metin3Button.SetParent(self.Board)
        
self.Metin3Button.SetUpVisual("d:/ymir work/ui/public/small_Button_01.sub")
        
self.Metin3Button.SetOverVisual("d:/ymir work/ui/public/small_Button_02.sub")
        
self.Metin3Button.SetDownVisual("d:/ymir work/ui/public/small_Button_03.sub")
        
self.Metin3Button.SetText("Set")
        
self.Metin3Button.SetEvent(ui.__mem_func__(self.SetMetin3))
        
self.Metin3Button.SetPosition(285, 135 + 20)
        
self.Metin3Button.Show()
        
    
def SetMetin1(self):
        
self.MetinStone1 = int(self.Metin1EditLine.GetText())
        
item.SelectItem(int(self.MetinStone1))
        
ItemIcon = item.GetIconImageFileName()
        
self.Metin1Image.LoadImage(str(ItemIcon))
        if 
int(self.MetinStone1) != 0:
            
self.Metin1Text.SetText(str(item.GetItemName()))
        else:
            
self.Metin1Text.SetText("Metinstein 1")            
    
    
def SetMetin2(self):
        
self.MetinStone2 = int(self.Metin2EditLine.GetText())
        
item.SelectItem(int(self.MetinStone2))
        
ItemIcon = item.GetIconImageFileName()
        
self.Metin2Image.LoadImage(str(ItemIcon))
        if 
int(self.MetinStone2) != 0:
            
self.Metin2Text.SetText(str(item.GetItemName()))
        else:
            
self.Metin2Text.SetText("Metinstein 2")            
    
    
def SetMetin3(self):
        
self.MetinStone3 = int(self.Metin3EditLine.GetText())
        
item.SelectItem(int(self.MetinStone3))
        
ItemIcon = item.GetIconImageFileName()
        
self.Metin3Image.LoadImage(str(ItemIcon))        
        if 
int(self.MetinStone2) != 0:
            
self.Metin3Text.SetText(str(item.GetItemName()))
        else:
            
self.Metin3Text.SetText("Metinstein 3")            
        
    
def SetItemValue(self):
        global 
ItemValue
        ItemValue 
= int(self.ItemValueEditLine.GetText())
        
item.SelectItem(int(ItemValue))
        
ItemIcon = item.GetIconImageFileName()
        
self.ItemImage.LoadImage(str(ItemIcon))
        
self.ItemNameText.SetText(str(item.GetItemName()))
        for 
i in xrange(0,1):
            (
ItemTypeLimit, ItemLevelLimit) = item.GetLimit(i)
            if 
item.LIMIT_LEVEL == ItemTypeLimit:
                if 
player.GetStatus(player.LEVEL) < ItemLevelLimit:
                    
self.ItemNameText.SetPackedFontColor(self.DISABLE_COLOR)
                else:
                    
self.ItemNameText.SetPackedFontColor(self.ENABLE_COLOR)    
        
    
def AddTextLines(self):
        
self.CreateItemButton = ui.Button()
        
self.CreateItemButton.SetParent(self.Board)
        
self.CreateItemButton.SetUpVisual("d:/ymir work/ui/public/xlarge_Button_01.sub")
        
self.CreateItemButton.SetOverVisual("d:/ymir work/ui/public/xlarge_Button_02.sub")
        
self.CreateItemButton.SetDownVisual("d:/ymir work/ui/public/xlarge_Button_03.sub")
        
self.CreateItemButton.SetText("Create Item")
        
self.CreateItemButton.SetEvent(ui.__mem_func__(self.CreateItem))
        
self.CreateItemButton.SetPosition(80, 318)
        
self.CreateItemButton.Show()
    
        
self.ItemValueText = ui.TextLine()
        
self.ItemValueText.SetParent(self.Board)
        
self.ItemValueText.SetDefaultFontName()
        
self.ItemValueText.SetPosition(15, 35)
        
self.ItemValueText.SetFeather()
        
self.ItemValueText.SetText("Itemvalue:")
        
self.ItemValueText.SetFontColor(1.0, 1.0, 1.0)
        
self.ItemValueText.SetOutline()
        
self.ItemValueText.Show()
        
        
self.ItemValueSlotBar = ui.SlotBar()
        
self.ItemValueSlotBar.SetParent(self.Board)
        
self.ItemValueSlotBar.SetSize(5*7, 14)
        
self.ItemValueSlotBar.SetPosition(70, 35)
        
self.ItemValueSlotBar.Show()
        
        
self.ItemValueEditLine = ui.EditLine()
        
self.ItemValueEditLine.SetParent(self.ItemValueSlotBar)
        
self.ItemValueEditLine.SetSize(5*7, 18)
        
self.ItemValueEditLine.SetPosition(6, 0)
        
self.ItemValueEditLine.SetMax(5)
        
self.ItemValueEditLine.SetNumberMode()
        
self.ItemValueEditLine.SetText("19")
        
self.ItemValueEditLine.SetFocus()
        
self.ItemValueEditLine.Show()

        
self.SetItemValueButton = ui.Button()
        
self.SetItemValueButton.SetParent(self.Board)
        
self.SetItemValueButton.SetUpVisual("d:/ymir work/ui/public/small_Button_01.sub")
        
self.SetItemValueButton.SetOverVisual("d:/ymir work/ui/public/small_Button_02.sub")
        
self.SetItemValueButton.SetDownVisual("d:/ymir work/ui/public/small_Button_03.sub")
        
self.SetItemValueButton.SetText("Set")
        
self.SetItemValueButton.SetPosition(110, 33)
        
self.SetItemValueButton.SetEvent(ui.__mem_func__(self.SetItemValue))
        
self.SetItemValueButton.Show()
        
        
self.CallItemListButton = ui.Button()
        
self.CallItemListButton.SetParent(self.Board)
        
self.CallItemListButton.SetUpVisual("d:/ymir work/ui/public/middle_Button_01.sub")
        
self.CallItemListButton.SetOverVisual("d:/ymir work/ui/public/middle_Button_02.sub")
        
self.CallItemListButton.SetDownVisual("d:/ymir work/ui/public/middle_Button_03.sub")
        
self.CallItemListButton.SetText("Itemlist")
        
self.CallItemListButton.SetPosition(155, 33)
        
self.CallItemListButton.SetEvent(ui.__mem_func__(self.CallItemList))
        
self.CallItemListButton.Show()
        
        
self.ItemCountText = ui.TextLine()
        
self.ItemCountText.SetParent(self.Board)
        
self.ItemCountText.SetDefaultFontName()
        
self.ItemCountText.SetPosition(15, 55 + 120 + 15)
        
self.ItemCountText.SetFeather()
        
self.ItemCountText.SetText("Itemcount:")
        
self.ItemCountText.SetFontColor(1.0, 1.0, 1.0)
        
self.ItemCountText.SetOutline()
        
self.ItemCountText.Show()    

        
self.ItemCountEditLine = ui.EditLine()
        
self.ItemCountEditLine.SetParent(self.Board)
        
self.ItemCountEditLine.SetSize(3*7, 18)
        
self.ItemCountEditLine.SetPosition(15 + 55, 55 + 120 + 15)
        
self.ItemCountEditLine.SetMax(3)
        
self.ItemCountEditLine.SetNumberMode()
        
self.ItemCountEditLine.SetText("1")
        
self.ItemCountEditLine.Show()
        
        
self.Bonus1Text = ui.TextLine()
        
self.Bonus1Text.SetParent(self.Board)
        
self.Bonus1Text.SetDefaultFontName()
        
self.Bonus1Text.SetPosition(15, 85 + 120 + 15)
        
self.Bonus1Text.SetFeather()
        
self.Bonus1Text.SetText("Bonus 1:")
        
self.Bonus1Text.SetFontColor(1.0, 1.0, 1.0)
        
self.Bonus1Text.SetOutline()
        
self.Bonus1Text.Show()
        
        
self.Bonus1AtrText = ui.TextLine()
        
self.Bonus1AtrText.SetParent(self.Board)
        
self.Bonus1AtrText.SetDefaultFontName()
        
self.Bonus1AtrText.SetPosition(65, 85 + 120 + 15)
        
self.Bonus1AtrText.SetFeather()
        
self.Bonus1AtrText.SetText("-")
        
self.Bonus1AtrText.SetFontColor(1.0, 1.0, 1.0)
        
self.Bonus1AtrText.SetOutline()
        
self.Bonus1AtrText.Show()    
    
        
self.Bonus1ValueEditLine = ui.EditLine()
        
self.Bonus1ValueEditLine.SetParent(self.Board)
        
self.Bonus1ValueEditLine.SetSize(29, 18)
        
self.Bonus1ValueEditLine.SetPosition(240 - 29, 85 + 120 + 15)
        
self.Bonus1ValueEditLine.SetMax(4)
        
self.Bonus1ValueEditLine.SetNumberMode()
        
self.Bonus1ValueEditLine.SetText("0")
        
self.Bonus1ValueEditLine.Show()
    
        
self.Bonus1Button = ui.Button()
        
self.Bonus1Button.SetParent(self.Board)
        
self.Bonus1Button.SetUpVisual("d:/ymir work/ui/public/large_Button_01.sub")
        
self.Bonus1Button.SetOverVisual("d:/ymir work/ui/public/large_Button_02.sub")
        
self.Bonus1Button.SetDownVisual("d:/ymir work/ui/public/large_Button_03.sub")
        
self.Bonus1Button.SetText("Wähle Bonus 1")
        
self.Bonus1Button.SetPosition(240, 85 + 120 + 10)
        
self.Bonus1Button.Show()
        
        
self.Bonus2Text = ui.TextLine()
        
self.Bonus2Text.SetParent(self.Board)
        
self.Bonus2Text.SetDefaultFontName()
        
self.Bonus2Text.SetPosition(15, 105 + 120 + 15)
        
self.Bonus2Text.SetFeather()
        
self.Bonus2Text.SetText("Bonus 2:")
        
self.Bonus2Text.SetFontColor(1.0, 1.0, 1.0)
        
self.Bonus2Text.SetOutline()
        
self.Bonus2Text.Show()    
        
        
self.Bonus2AtrText = ui.TextLine()
        
self.Bonus2AtrText.SetParent(self.Board)
        
self.Bonus2AtrText.SetDefaultFontName()
        
self.Bonus2AtrText.SetPosition(65, 105 + 120 + 15)
        
self.Bonus2AtrText.SetFeather()
        
self.Bonus2AtrText.SetText("-")
        
self.Bonus2AtrText.SetFontColor(1.0, 1.0, 1.0)
        
self.Bonus2AtrText.SetOutline()
        
self.Bonus2AtrText.Show()    

        
self.Bonus2ValueEditLine = ui.EditLine()
        
self.Bonus2ValueEditLine.SetParent(self.Board)
        
self.Bonus2ValueEditLine.SetSize(29, 18)
        
self.Bonus2ValueEditLine.SetPosition(240 - 29, 105 + 120 + 15)
        
self.Bonus2ValueEditLine.SetMax(4)
        
self.Bonus2ValueEditLine.SetNumberMode()
        
self.Bonus2ValueEditLine.SetText("0")
        
self.Bonus2ValueEditLine.Show()
        
        
self.Bonus2Button = ui.Button()
        
self.Bonus2Button.SetParent(self.Board)
        
self.Bonus2Button.SetUpVisual("d:/ymir work/ui/public/large_Button_01.sub")
        
self.Bonus2Button.SetOverVisual("d:/ymir work/ui/public/large_Button_02.sub")
        
self.Bonus2Button.SetDownVisual("d:/ymir work/ui/public/large_Button_03.sub")
        
self.Bonus2Button.SetText("Wähle Bonus 2")
        
self.Bonus2Button.SetPosition(240, 105 + 120 + 10)
        
self.Bonus2Button.Show()
        
        
self.Bonus3Text = ui.TextLine()
        
self.Bonus3Text.SetParent(self.Board)
        
self.Bonus3Text.SetDefaultFontName()
        
self.Bonus3Text.SetPosition(15, 125 + 120 + 15)
        
self.Bonus3Text.SetFeather()
        
self.Bonus3Text.SetText("Bonus 3:")
        
self.Bonus3Text.SetFontColor(1.0, 1.0, 1.0)
        
self.Bonus3Text.SetOutline()
        
self.Bonus3Text.Show()    
        
        
self.Bonus3AtrText = ui.TextLine()
        
self.Bonus3AtrText.SetParent(self.Board)
        
self.Bonus3AtrText.SetDefaultFontName()
        
self.Bonus3AtrText.SetPosition(65, 125 + 120 + 15)
        
self.Bonus3AtrText.SetFeather()
        
self.Bonus3AtrText.SetText("-")
        
self.Bonus3AtrText.SetFontColor(1.0, 1.0, 1.0)
        
self.Bonus3AtrText.SetOutline()
        
self.Bonus3AtrText.Show()    
        
        
self.Bonus3ValueEditLine = ui.EditLine()
        
self.Bonus3ValueEditLine.SetParent(self.Board)
        
self.Bonus3ValueEditLine.SetSize(29, 18)
        
self.Bonus3ValueEditLine.SetPosition(240 - 29, 125 + 120 + 15)
        
self.Bonus3ValueEditLine.SetMax(4)
        
self.Bonus3ValueEditLine.SetNumberMode()
        
self.Bonus3ValueEditLine.SetText("0")
        
self.Bonus3ValueEditLine.Show()

        
self.Bonus3Button = ui.Button()
        
self.Bonus3Button.SetParent(self.Board)
        
self.Bonus3Button.SetUpVisual("d:/ymir work/ui/public/large_Button_01.sub")
        
self.Bonus3Button.SetOverVisual("d:/ymir work/ui/public/large_Button_02.sub")
        
self.Bonus3Button.SetDownVisual("d:/ymir work/ui/public/large_Button_03.sub")
        
self.Bonus3Button.SetText("Wähle Bonus 3")
        
self.Bonus3Button.SetPosition(240, 125 + 120 + 10)
        
self.Bonus3Button.Show()
        
        
self.Bonus4Text = ui.TextLine()
        
self.Bonus4Text.SetParent(self.Board)
        
self.Bonus4Text.SetDefaultFontName()
        
self.Bonus4Text.SetPosition(15, 145 + 120 + 15)
        
self.Bonus4Text.SetFeather()
        
self.Bonus4Text.SetText("Bonus 4:")
        
self.Bonus4Text.SetFontColor(1.0, 1.0, 1.0)
        
self.Bonus4Text.SetOutline()
        
self.Bonus4Text.Show()    
        
        
self.Bonus4AtrText = ui.TextLine()
        
self.Bonus4AtrText.SetParent(self.Board)
        
self.Bonus4AtrText.SetDefaultFontName()
        
self.Bonus4AtrText.SetPosition(65, 145 + 120 + 15)
        
self.Bonus4AtrText.SetFeather()
        
self.Bonus4AtrText.SetText("-")
        
self.Bonus4AtrText.SetFontColor(1.0, 1.0, 1.0)
        
self.Bonus4AtrText.SetOutline()
        
self.Bonus4AtrText.Show()    
        
        
self.Bonus4ValueEditLine = ui.EditLine()
        
self.Bonus4ValueEditLine.SetParent(self.Board)
        
self.Bonus4ValueEditLine.SetSize(29, 18)
        
self.Bonus4ValueEditLine.SetPosition(240 - 29, 145 + 120 + 15)
        
self.Bonus4ValueEditLine.SetMax(4)
        
self.Bonus4ValueEditLine.SetNumberMode()
        
self.Bonus4ValueEditLine.SetText("0")
        
self.Bonus4ValueEditLine.Show()
        
        
self.Bonus4Button = ui.Button()
        
self.Bonus4Button.SetParent(self.Board)
        
self.Bonus4Button.SetUpVisual("d:/ymir work/ui/public/large_Button_01.sub")
        
self.Bonus4Button.SetOverVisual("d:/ymir work/ui/public/large_Button_02.sub")
        
self.Bonus4Button.SetDownVisual("d:/ymir work/ui/public/large_Button_03.sub")
        
self.Bonus4Button.SetText("Wähle Bonus 4")
        
self.Bonus4Button.SetPosition(240, 145 + 120 + 10)
        
self.Bonus4Button.Show()
        
        
self.Bonus5Text = ui.TextLine()
        
self.Bonus5Text.SetParent(self.Board)
        
self.Bonus5Text.SetDefaultFontName()
        
self.Bonus5Text.SetPosition(15, 165 + 120 + 15)
        
self.Bonus5Text.SetFeather()
        
self.Bonus5Text.SetText("Bonus 5:")
        
self.Bonus5Text.SetFontColor(1.0, 1.0, 1.0)
        
self.Bonus5Text.SetOutline()
        
self.Bonus5Text.Show()
        
        
self.Bonus5AtrText = ui.TextLine()
        
self.Bonus5AtrText.SetParent(self.Board)
        
self.Bonus5AtrText.SetDefaultFontName()
        
self.Bonus5AtrText.SetPosition(65, 165 + 120 + 15)
        
self.Bonus5AtrText.SetFeather()
        
self.Bonus5AtrText.SetText("-")
        
self.Bonus5AtrText.SetFontColor(1.0, 1.0, 1.0)
        
self.Bonus5AtrText.SetOutline()
        
self.Bonus5AtrText.Show()

        
self.Bonus5ValueEditLine = ui.EditLine()
        
self.Bonus5ValueEditLine.SetParent(self.Board)
        
self.Bonus5ValueEditLine.SetSize(29, 18)
        
self.Bonus5ValueEditLine.SetPosition(240 - 29, 165 + 120 + 15)
        
self.Bonus5ValueEditLine.SetMax(4)
        
self.Bonus5ValueEditLine.SetNumberMode()
        
self.Bonus5ValueEditLine.SetText("0")
        
self.Bonus5ValueEditLine.Show()
        
        
self.Bonus5Button = ui.Button()
        
self.Bonus5Button.SetParent(self.Board)
        
self.Bonus5Button.SetUpVisual("d:/ymir work/ui/public/large_Button_01.sub")
        
self.Bonus5Button.SetOverVisual("d:/ymir work/ui/public/large_Button_02.sub")
        
self.Bonus5Button.SetDownVisual("d:/ymir work/ui/public/large_Button_03.sub")
        
self.Bonus5Button.SetText("Wähle Bonus 5")
        
self.Bonus5Button.SetPosition(240, 165 + 120 + 10)
        
self.Bonus5Button.Show()
        
        
self.Bonus1ValueEditLine.SetTabEvent(ui.__mem_func__(self.Bonus2ValueEditLine.SetFocus))
        
self.Bonus1ValueEditLine.SetReturnEvent(ui.__mem_func__(self.Bonus2ValueEditLine.SetFocus))
        
self.Bonus2ValueEditLine.SetTabEvent(ui.__mem_func__(self.Bonus3ValueEditLine.SetFocus))
        
self.Bonus2ValueEditLine.SetReturnEvent(ui.__mem_func__(self.Bonus3ValueEditLine.SetFocus))
        
self.Bonus3ValueEditLine.SetTabEvent(ui.__mem_func__(self.Bonus4ValueEditLine.SetFocus))
        
self.Bonus3ValueEditLine.SetReturnEvent(ui.__mem_func__(self.Bonus4ValueEditLine.SetFocus))
        
self.Bonus4ValueEditLine.SetTabEvent(ui.__mem_func__(self.Bonus5ValueEditLine.SetFocus))
        
self.Bonus4ValueEditLine.SetReturnEvent(ui.__mem_func__(self.Bonus5ValueEditLine.SetFocus))
        
        
self.Bonus1Button.SetEvent(ui.__mem_func__(self.OpenBonusList1))
        
self.Bonus2Button.SetEvent(ui.__mem_func__(self.OpenBonusList2))
        
self.Bonus3Button.SetEvent(ui.__mem_func__(self.OpenBonusList3))
        
self.Bonus4Button.SetEvent(ui.__mem_func__(self.OpenBonusList4))
        
self.Bonus5Button.SetEvent(ui.__mem_func__(self.OpenBonusList5))
        
    
def OpenBonusList1(self):
        global 
CreateWhish0
        CreateWhish0 
= 1
        self
.CreateBonusListBox = CreateListDialog()
        
    
def OpenBonusList2(self):
        global 
CreateWhish1
        CreateWhish1 
= 1
        self
.CreateBonusListBox = CreateListDialog()
    
    
def OpenBonusList3(self):
        global 
CreateWhish2
        CreateWhish2 
= 1
        self
.CreateBonusListBox = CreateListDialog()
    
    
def OpenBonusList4(self):
        global 
CreateWhish3
        CreateWhish3 
= 1
        self
.CreateBonusListBox = CreateListDialog()

    
def OpenBonusList5(self):
        global 
CreateWhish4
        CreateWhish4 
= 1
        self
.CreateBonusListBox = CreateListDialog()
        
    
def Close(self):
        
self.Board = None
        
    def OnUpdate
(self):
        global 
CreateBonus0
        
global CreateBonus1
        
global CreateBonus2
        
global CreateBonus3
        
global CreateBonus4
        
global ItemValue
        
global ChangedValue
        
        
if int(ItemValue) != int(self.ItemValueEditLine.GetText()) and ChangedValue == "TRUE":
            
self.ItemValueEditLine.SetText(str(ItemValue))
            
ChangedValue = "FALSE"
            
self.SetItemValue()
        
        if 
self.Bonus1AtrText.GetText() != str(BonusListe[int(CreateBonus0)]) and int(CreateBonus0) != 0:
            
self.Bonus1AtrText.SetText(str(BonusListe[int(CreateBonus0)]))
        
elif self.Bonus1AtrText.GetText() != "" and int(CreateBonus0) == 0:
            
self.Bonus1AtrText.SetText("-")        
        if 
self.Bonus2AtrText.GetText() != str(BonusListe[int(CreateBonus1)]) and int(CreateBonus1) != 0:
            
self.Bonus2AtrText.SetText(str(BonusListe[int(CreateBonus1)]))
        
elif self.Bonus2AtrText.GetText() != "" and int(CreateBonus1) == 0:
            
self.Bonus2AtrText.SetText("-")        
        if 
self.Bonus3AtrText.GetText() != str(BonusListe[int(CreateBonus2)]) and int(CreateBonus2) != 0:
            
self.Bonus3AtrText.SetText(str(BonusListe[int(CreateBonus2)]))
        
elif self.Bonus3AtrText.GetText() != "" and int(CreateBonus2) == 0:
            
self.Bonus3AtrText.SetText("-")        
        if 
self.Bonus4AtrText.GetText() != str(BonusListe[int(CreateBonus3)]) and int(CreateBonus3) != 0:
            
self.Bonus4AtrText.SetText(str(BonusListe[int(CreateBonus3)]))
        
elif self.Bonus4AtrText.GetText() != "" and int(CreateBonus3) == 0:
            
self.Bonus4AtrText.SetText("-")        
        if 
self.Bonus5AtrText.GetText() != str(BonusListe[int(CreateBonus4)]) and int(CreateBonus4) != 0:
            
self.Bonus5AtrText.SetText(str(BonusListe[int(CreateBonus4)]))
        
elif self.Bonus5AtrText.GetText() != "" and int(CreateBonus4) == 0:
            
self.Bonus5AtrText.SetText("-")
        
    
def CreateItem(self):
        global 
CreateBonus0
        
global CreateBonus1
        
global CreateBonus2
        
global CreateBonus3
        
global CreateBonus4
        
global ItemValue
        self
.ItemCount = int(self.ItemCountEditLine.GetText())
        
Value0 = self.Bonus1ValueEditLine.GetText()
        
Value1 = self.Bonus2ValueEditLine.GetText()
        
Value2 = self.Bonus3ValueEditLine.GetText()
        
Value3 = self.Bonus4ValueEditLine.GetText()
        
Value4 = self.Bonus5ValueEditLine.GetText()
        
        for 
slot in xrange(player.INVENTORY_SLOT_COUNT):
            
state = "go"
            
if not player.isItem(int(slot)):
                if 
int(slot) >= 5:
                    if 
player.isItem(int(slot) - 5):
                        
itemIndex = player.GetItemIndex(int(slot) - 5)
                        
item.SelectItem(itemIndex)
                        if 
int(item.GetItemSize()[1]) >= 2:
                            
state = "banned"
            
else:
                
state = "banned"
            
if str(state) == "go":
                
player.SetItemData(int(slot), int(ItemValue),int(self.ItemCount))
                
player.SetItemAttribute(int(slot), 0, int(CreateBonus0), int(Value0))
                
player.SetItemAttribute(int(slot), 1, int(CreateBonus1), int(Value1))
                
player.SetItemAttribute(int(slot), 2, int(CreateBonus2), int(Value2))
                
player.SetItemAttribute(int(slot), 3, int(CreateBonus3), int(Value3))
                
player.SetItemAttribute(int(slot), 4, int(CreateBonus4), int(Value4))
                
player.SetItemMetinSocket(int(slot), 0, int(self.MetinStone1))
                
player.SetItemMetinSocket(int(slot), 1, int(self.MetinStone2))
                
player.SetItemMetinSocket(int(slot), 2, int(self.MetinStone3))
                break

    
def CallItemList(self):
        
self.ItemListDialog = ItemListDialog()        
    
ChangedValue = "FALSE"

class ItemListDialog(ui.Window):
    
def __init__(self):
        
ui.Window.__init__(self)

        
self.Board = ui.BoardWithTitleBar()
        
self.Board.SetSize(170, 335)
        
self.Board.SetCenterPosition()
        
self.Board.AddFlag("movable")
        
self.Board.AddFlag("float")
        
self.Board.SetTitleName("Item List")
        
self.Board.SetCloseEvent(self.Close)
        
self.Board.Show()
        
        
self.__Load_BindObject()

        
self.UpdateFileList()
        
    
def __del__(self):
        
ui.Window.__del__(self)

    
def Show(self):
        
ui.Window.Show(self)

    
def Close(self):
        
self.Board.Hide()

    
def OnPressEscapeKey(self):
        
self.Board.Close()
        return 
TRUE

    def __CreateFileListBox
(self):
        
fileListBox = ui.ListBoxEx()
        
fileListBox.SetParent(self.Board)
        
fileListBox.SetPosition(15, 80)
        
fileListBox.Show()
        return 
fileListBox

    def __Load_BindObject
(self):
        
self.fileListBox = self.__CreateFileListBox()
        
self.LoadFuckingScrollBar()
        
self.fileListBox.SetScrollBar(self.ScrollBar)
    
        
self.SelectBonus = ui.Button()
        
self.SelectBonus.SetParent(self.Board)
        
self.SelectBonus.SetPosition(19, 295)
        
self.SelectBonus.SetUpVisual("d:/ymir work/ui/public/Middle_Button_01.sub")
        
self.SelectBonus.SetOverVisual("d:/ymir work/ui/public/Middle_Button_02.sub")
        
self.SelectBonus.SetDownVisual("d:/ymir work/ui/public/Middle_Button_03.sub")
        
self.SelectBonus.SetText("OK")
        
self.SelectBonus.SetEvent(ui.__mem_func__(self.SetBonis))
        
self.SelectBonus.Show()

        
self.CancelBonus = ui.Button()
        
self.CancelBonus.SetParent(self.Board)
        
self.CancelBonus.SetPosition(89, 295)
        
self.CancelBonus.SetUpVisual("d:/ymir work/ui/public/Middle_Button_01.sub")
        
self.CancelBonus.SetOverVisual("d:/ymir work/ui/public/Middle_Button_02.sub")
        
self.CancelBonus.SetDownVisual("d:/ymir work/ui/public/Middle_Button_03.sub")
        
self.CancelBonus.SetText("Abbrechen")
        
self.CancelBonus.SetEvent(ui.__mem_func__(self.Close))
        
self.CancelBonus.Show()
        
        
self.SearchItemSlotBar = ui.SlotBar()
        
self.SearchItemSlotBar.SetParent(self.Board)
        
self.SearchItemSlotBar.SetSize(15*7, 14)
        
self.SearchItemSlotBar.SetPosition(15, 50)
        
self.SearchItemSlotBar.Show()
        
        
self.SearchItemEditLine = ui.EditLine()
        
self.SearchItemEditLine.SetParent(self.SearchItemSlotBar)
        
self.SearchItemEditLine.SetSize(15*7, 18)
        
self.SearchItemEditLine.SetPosition(3, 0)
        
self.SearchItemEditLine.SetMax(16)
        
self.SearchItemEditLine.SetText("")
        
self.SearchItemEditLine.SetFocus()
        
self.SearchItemEditLine.Show()        

        
self.SearchItemButton = ui.Button()
        
self.SearchItemButton.SetParent(self.Board)
        
self.SearchItemButton.SetPosition(117, 48)
        
self.SearchItemButton.SetUpVisual("d:/ymir work/ui/public/small_Button_01.sub")
        
self.SearchItemButton.SetOverVisual("d:/ymir work/ui/public/small_Button_02.sub")
        
self.SearchItemButton.SetDownVisual("d:/ymir work/ui/public/small_Button_03.sub")
        
self.SearchItemButton.SetText("Search")
        
self.SearchItemButton.SetEvent(ui.__mem_func__(self.SearchItem))
        
self.SearchItemButton.Show()
    
        
self.SearchItemText = ui.TextLine()
        
self.SearchItemText.SetParent(self.Board)
        
self.SearchItemText.SetDefaultFontName()
        
self.SearchItemText.SetPosition(19, 33)
        
self.SearchItemText.SetFeather()
        
self.SearchItemText.SetText("Suche Item:")
        
self.SearchItemText.SetFontColor(1.0, 1.0, 1.0)
        
self.SearchItemText.SetOutline()
        
self.SearchItemText.Show()
    
    
def LoadFuckingScrollBar(self):
        
self.ScrollBar = ui.ScrollBar()
        
self.ScrollBar.SetParent(self.Board)
        
self.ScrollBar.SetPosition(140, 70)
        
self.ScrollBar.SetScrollBarSize(220)
        
self.ScrollBar.Show()

    
def CancelGuildName(self):
        
self.guildNameBoard.Close()
        
self.guildNameBoard = None
        
return TRUE

    def SearchItem
(self):
        
self.__RefreshFileList()
        
SearchName = str(self.SearchItemEditLine.GetText())
        try:
            
lines = pack_open("locale/de/item_list.txt", "r").readlines()
        
except IOError:
            
import dbg
            dbg
.LogBox("Load Itemlist Error")
            
app.Abort()

        for 
line in lines:
            
tokens = str(line).split("t")
            if 
len(tokens) == 0 or not tokens[0]:
                continue
                
            
ItemValue = str(tokens[0])
            if 
str(ItemValue).find(" ") != -1:
                
ItemValue = str(ItemValue).replace(" ", "")
            
item.SelectItem(int(ItemValue))
            
Itemname = str(item.GetItemName())
            if 
ItemValue and str(Itemname) != "":
                if 
str(Itemname).find(str(SearchName)) != -1:
                    
self.fileListBox.AppendItem(Item(Itemname))
        
    
def UpdateFileList(self):
        
self.__RefreshFileList()
        try:
            
lines = pack_open("locale/de/item_list.txt", "r").readlines()
        
except IOError:
            
import dbg
            dbg
.LogBox("Load Itemlist Error")
            
app.Abort()

        for 
line in lines:
            
tokens = str(line).split("t")
            if 
len(tokens) == 0 or not tokens[0]:
                continue
                
            
ItemValue = str(tokens[0])
            if 
str(ItemValue).find(" ") != -1:
                
ItemValue = str(ItemValue).replace(" ", "")
            
item.SelectItem(int(ItemValue))
            
Itemname = str(item.GetItemName())
            if 
ItemValue and str(Itemname) != "":
                
self.fileListBox.AppendItem(Item(Itemname))
        
    
def __RefreshFileList(self):
        
self.fileListBox.RemoveAllItems()
        
    
def SetBonis(self):
        global 
ItemValue
        
global ChangedValue
        SelectedIndex 
= self.fileListBox.GetSelectedItem()
        
SelectedIndex = SelectedIndex.GetText()
        try:
            
lines = pack_open("locale/de/item_list.txt", "r").readlines()
        
except IOError:
            
import dbg
            dbg
.LogBox("Load Itemlist Error")
            
app.Abort()

        for 
line in lines:
            
tokens = str(line).split("t")
            if 
len(tokens) == 0 or not tokens[0]:
                continue
                
            
Itemvalue = str(tokens[0])
            if 
str(Itemvalue).find(" ") != -1:
                
Itemvalue = str(Itemvalue).replace(" ", "")
            
item.SelectItem(int(Itemvalue))
            
Itemname = str(item.GetItemName())
            if 
str(Itemname) == str(SelectedIndex):
                
ItemValue = int(Itemvalue)
                break
        
ChangedValue = "TRUE"
        
self.Close()
    
class 
CreateListDialog(ui.ThinBoard):
    
def __init__(self):
        
ui.ThinBoard.__init__(self)

        
self.isLoaded=0
        self
.selectEvent=None
        self
.fileListBox=None

        self
.SetCenterPosition()
        
self.SetSize(170, 305)
        
self.Show()
        
self.AddFlag("movable")
        
self.AddFlag("float")
        
    
def __del__(self):
        
ui.ThinBoard.__del__(self)

    
def Show(self):
        if 
self.isLoaded==0:
            
self.isLoaded=1

            self
.__Load()

        
ui.ThinBoard.Show(self)

    
def Open(self):
        
self.Show()

        
self.SetCenterPosition()
        
self.SetTop()
        
self.UpdateFileList()

    
def Close(self):
        
self.Hide()

    
def OnPressEscapeKey(self):
        
self.Close()
        return 
TRUE

    def __CreateFileListBox
(self):
        
fileListBox = ui.ListBoxEx()
        
fileListBox.SetParent(self)
        
fileListBox.SetPosition(15, 50)
        
fileListBox.Show()
        return 
fileListBox

    def __Load
(self):
        
self.__Load_BindObject()

        
self.UpdateFileList()

    
def __Load_BindObject(self):
        
self.fileListBox = self.__CreateFileListBox()
        
self.LoadFuckingScrollBar()
        
self.LoadTextLines()
        
self.fileListBox.SetScrollBar(self.ScrollBar)

        
self.UpdateButton = ui.Button()
        
self.UpdateButton.SetParent(self)
        
self.UpdateButton.SetUpVisual("d:/ymir work/ui/public/Large_button_01.sub")
        
self.UpdateButton.SetOverVisual("d:/ymir work/ui/public/Large_button_02.sub")
        
self.UpdateButton.SetDownVisual("d:/ymir work/ui/public/Large_button_03.sub")
        
self.UpdateButton.SetText("Aktualisieren")
        
self.UpdateButton.SetPosition(15, 265)
        
self.UpdateButton.SetEvent(ui.__mem_func__(self.UpdateFileList))
        
self.UpdateButton.Show()
        
self.UpdateButton.Hide()
        
        
self.SelectBonus = ui.Button()
        
self.SelectBonus.SetParent(self)
        
self.SelectBonus.SetPosition(19, 265)
        
self.SelectBonus.SetUpVisual("d:/ymir work/ui/public/Middle_Button_01.sub")
        
self.SelectBonus.SetOverVisual("d:/ymir work/ui/public/Middle_Button_02.sub")
        
self.SelectBonus.SetDownVisual("d:/ymir work/ui/public/Middle_Button_03.sub")
        
self.SelectBonus.SetText("OK")
        
self.SelectBonus.SetEvent(ui.__mem_func__(self.SetBonis))
        
self.SelectBonus.Show()

        
self.CancelBonus = ui.Button()
        
self.CancelBonus.SetParent(self)
        
self.CancelBonus.SetPosition(89, 265)
        
self.CancelBonus.SetUpVisual("d:/ymir work/ui/public/Middle_Button_01.sub")
        
self.CancelBonus.SetOverVisual("d:/ymir work/ui/public/Middle_Button_02.sub")
        
self.CancelBonus.SetDownVisual("d:/ymir work/ui/public/Middle_Button_03.sub")
        
self.CancelBonus.SetText("Abbrechen")
        
self.CancelBonus.SetEvent(ui.__mem_func__(self.Close))
        
self.CancelBonus.Show()

        
    
def LoadTextLines(self):
        
self.copyright = ui.TextLine()
        
self.copyright.SetParent(self)
        
self.copyright.SetDefaultFontName()
        
self.copyright.SetPosition(50, 29)
        
self.copyright.SetFeather()
        
self.copyright.SetText("Bonus wählen:")
        
self.copyright.SetFontColor(0.2, 0.2, 1.0)
        
self.copyright.SetOutline()
        
self.copyright.Show()

    
def LoadFuckingScrollBar(self):
        
self.ScrollBar = ui.ScrollBar()
        
self.ScrollBar.SetParent(self)
        
self.ScrollBar.SetPosition(140, 40)
        
self.ScrollBar.SetScrollBarSize(220)
        
self.ScrollBar.Show()

    
def CancelGuildName(self):
        
self.guildNameBoard.Close()
        
self.guildNameBoard = None
        
return TRUE

    def UpdateFileList
(self):
        
self.__RefreshFileList()
        for 
BonusType in BonusListe:
            if 
BonusType == "":
                
self.fileListBox.AppendItem(Item("keiner"))
            
elif BonusType != "":
                
self.fileListBox.AppendItem(Item(BonusType))
            
#chat.AppendChat(chat.CHAT_TYPE_INFO, str(BonusIDListe[BonusType]))        
        
    
def __RefreshFileList(self):
        
self.fileListBox.RemoveAllItems()
        
    
def SetBonis(self):
        global 
CreateBonus0
        
global CreateBonus1
        
global CreateBonus2
        
global CreateBonus3
        
global CreateBonus4
        
global CreateWhish0
        
global CreateWhish1
        
global CreateWhish2
        
global CreateWhish3
        
global CreateWhish4
        SelectedIndex 
= self.fileListBox.GetSelectedItem()
        
SelectedIndex = SelectedIndex.GetText()
        if 
str(SelectedIndex) != "keiner" and str(SelectedIndex) != "":
            if 
CreateWhish0 == 1:
                
chat.AppendChat(chat.CHAT_TYPE_INFO, "1.Bonus " + str(SelectedIndex))
                
CreateBonus0 = BonusIDListe[str(SelectedIndex)]
                
CreateWhish0 = 0
            elif CreateWhish1 
== 1:
                
chat.AppendChat(chat.CHAT_TYPE_INFO, "2.Bonus " + str(SelectedIndex))
                
CreateBonus1 = int(BonusIDListe[SelectedIndex])
                
CreateWhish1 = 0
            elif CreateWhish2 
== 1:
                
chat.AppendChat(chat.CHAT_TYPE_INFO, "3.Bonus " + str(SelectedIndex))
                
CreateBonus2 = int(BonusIDListe[SelectedIndex])
                
CreateWhish2 = 0
            elif CreateWhish3 
== 1:
                
chat.AppendChat(chat.CHAT_TYPE_INFO, "4.Bonus " + str(SelectedIndex))
                
CreateBonus3 = int(BonusIDListe[SelectedIndex])
                
CreateWhish3 = 0
            elif CreateWhish4 
== 1:
                
chat.AppendChat(chat.CHAT_TYPE_INFO, "5.Bonus " + str(SelectedIndex))
                
CreateBonus4 = int(BonusIDListe[SelectedIndex])
                
CreateWhish4 = 0
                
        elif str
(SelectedIndex) == "keiner" and str(SelectedIndex) != "":
            if 
CreateWhish0 == 1:
                
chat.AppendChat(chat.CHAT_TYPE_INFO, "1.Bonus wurde gelöscht")
                
CreateBonus0 = 0
                CreateWhish0 
= 0
            elif CreateWhish1 
== 1:
                
chat.AppendChat(chat.CHAT_TYPE_INFO, "2.Bonus wurde gelöscht")
                
CreateBonus1 = 0
                CreateWhish1 
= 0
            elif CreateWhish2 
== 1:
                
chat.AppendChat(chat.CHAT_TYPE_INFO, "3.Bonus wurde gelöscht")
                
CreateBonus2 = 0
                CreateWhish2 
= 0
            elif CreateWhish3 
== 1:
                
chat.AppendChat(chat.CHAT_TYPE_INFO, "4.Bonus wurde gelöscht")
                
CreateBonus3 = 0
                CreateWhish3 
= 0
            elif CreateWhish4 
== 1:
                
chat.AppendChat(chat.CHAT_TYPE_INFO, "5.Bonus wurde gelöscht")
                
CreateBonus4 = 0
                CreateWhish4 
= 0    
                
        
else:
            
chat.AppendChat(chat.CHAT_TYPE_INFO, "Kein Bonus ausgewählt")        
        
self.Close()

FILE_NAME_LEN = 40 

class Item(ui.ListBoxEx.Item):
    
def __init__(self, fileName):
        
ui.ListBoxEx.Item.__init__(self)
        
self.canLoad=0
        self
.text=fileName
        self
.textLine=self.__CreateTextLine(fileName[:FILE_NAME_LEN])          

    
def __del__(self):
        
ui.ListBoxEx.Item.__del__(self)

    
def GetText(self):
        return 
self.text

    def SetSize
(self, width, height):
        
ui.ListBoxEx.Item.SetSize(self, 6*len(self.textLine.GetText()) + 4, height)

    
def __CreateTextLine(self, fileName):
        
textLine=ui.TextLine()
        
textLine.SetParent(self)
        
textLine.SetPosition(0, 0)
        
textLine.SetText(fileName)
        
textLine.Show()
        return 
textLine
        
StartDialog 
= CreateItemDialog()
StartDialog.Show() 
Dabei müsst ihr achten, das keine Leertasten ganz oben, oder ganz unten Sind. Dann klicken wir auf "RUN". Im Metin fenster sollte sich nun ein neues Fenster öffnen, looks like:

Oben fügt ihr die vnum des Items ein, hier könnt ihr die finden:
[Only registered and activated users can see links. Click Here To Register...]

Und dann auf "Set". Dann fügt ihr Wunschbonis ein. Wenn ihr fertig seit, klickt ihr auf "Erstelle Item" dann macht ihr euer Inventar auf und zu, und tada ihr habt ein Fakeitem :P

Dieses könnt ihr mit Glas der Einsicht posten, oder whatever.

Viel spaß damit yo
03/10/2013 20:33 iCece#2
Cool
03/10/2013 20:44 noahrmal#3
Zufällig das Skript von DaRealFreak? Auf DE wird der Python Loader nicht funktionieren, ich würde lieber folgenden dabei legen, ist komfortabler und funktioniert dann auch auf Offi Servern:

-> [Only registered and activated users can see links. Click Here To Register...]
03/10/2013 23:53 .BaumKuchen#4
1:1 das Script von DaRealFreak....
03/11/2013 00:59 mimmu55#5
dont work , to me ;Smy metin , down
03/11/2013 01:27 Xtremekapatana#6
sorry for asking..i don`t know german


it`s for private or gameforge?
03/11/2013 09:40 Niks90#7
Private obvious. However, it does not work. There are many mistakes.
03/11/2013 10:25 DaThomas#8
bei mir kommen Fehler

Failed to find mobPointer
Failed to find attackPointer
Failed to find Battle Packet
03/11/2013 11:34 itoy70#9
multi hack von kamer und nich darealfreak
03/11/2013 14:38 kk3nz00#10
i tought that we can actualy use the items that we made ....
it would be very avewsome if we could...
03/11/2013 18:01 dragondekomodo#11
serious?????????????? lol
03/11/2013 18:28 fincor95#12
if it works :D
03/11/2013 18:28 EliteNMC#13
Doesn't work, wtf
03/11/2013 18:48 fincor95#14
it create items but see that are just client sided...
03/11/2013 19:35 CantShutMyMouth#15
wow cool , i just use the bottle and i can show my item with 9999 Half humans on chat, and everybody wonder :)))