Register for your free account! | Forgot your password?

Go Back   elitepvpers > Metin2 > Metin2 PServer - Discussions / Questions
You last visited: Today at 17:43

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


Vanilla Core 4 Seiten 999kkk gold

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Oct 2011
Posts: 92
Received Thanks: 0
Vanilla Core 4 Seiten 999kkk gold

habe den vanulla core eingefgt und bin jetzt auf 2 fragen gestoen

1.
wie mach ich 4 seiten rein ?
ich habs versucht aber mein client strtze sofort ab ._.
uiinventory.py:
PHP Code:
import ui
import player
import mouseModule
import net
import app
import snd
import item
import player
import chat
import grp
import uiScriptLocale
import uiRefine
import uiAttachMetin
import uiPickMoney
import uiCommon
import uiPrivateShopBuilder 
# λ * ItemMove 
import locale
import constInfo
import ime


ITEM_MALL_BUTTON_ENABLE 
TRUE



ITEM_FLAG_APPLICABLE 
<< 14

class CostumeWindow(ui.ScriptWindow):

    
def __init__(selfwndInventory):
        
import exception
        
        
if not app.ENABLE_COSTUME_SYSTEM:            
            
exception.Abort("What do you do?")
            return

        if 
not wndInventory:
            
exception.Abort("wndInventory parameter must be set to InventoryWindow")
            return                        
                  
        
ui.ScriptWindow.__init__(self)

        
self.isLoaded 0
        self
.wndInventory wndInventory;

        
self.__LoadWindow()

    
def __del__(self):
        
ui.ScriptWindow.__del__(self)

    
def Show(self):
        
self.__LoadWindow()
        
self.RefreshCostumeSlot()

        
ui.ScriptWindow.Show(self)

    
def Close(self):
        
self.Hide()

    
def __LoadWindow(self):
        if 
self.isLoaded == 1:
            return

        
self.isLoaded 1

        
try:
            
pyScrLoader ui.PythonScriptLoader()
            
pyScrLoader.LoadScriptFile(self"UIScript/CostumeWindow.py")
        
except:
            
import exception
            exception
.Abort("CostumeWindow.LoadWindow.LoadObject")

        try:
            
wndEquip self.GetChild("CostumeSlot")
            
self.GetChild("TitleBar").SetCloseEvent(ui.__mem_func__(self.Close))
            
        
except:
            
import exception
            exception
.Abort("CostumeWindow.LoadWindow.BindObject")

        
## Equipment
        
wndEquip.SetOverInItemEvent(ui.__mem_func__(self.wndInventory.OverInItem))
        
wndEquip.SetOverOutItemEvent(ui.__mem_func__(self.wndInventory.OverOutItem))
        
wndEquip.SetUnselectItemSlotEvent(ui.__mem_func__(self.wndInventory.UseItemSlot))
        
wndEquip.SetUseSlotEvent(ui.__mem_func__(self.wndInventory.UseItemSlot))                        
        
wndEquip.SetSelectEmptySlotEvent(ui.__mem_func__(self.wndInventory.SelectEmptySlot))
        
wndEquip.SetSelectItemSlotEvent(ui.__mem_func__(self.wndInventory.SelectItemSlot))

        
self.wndEquip wndEquip

    def RefreshCostumeSlot
(self):
        
getItemVNum=player.GetItemIndex
        
        
for i in xrange(item.COSTUME_SLOT_COUNT):
            
slotNumber item.COSTUME_SLOT_START i
            self
.wndEquip.SetItemSlot(slotNumbergetItemVNum(slotNumber), 0)

        
self.wndEquip.RefreshSlot()
        
        
class 
InventoryWindow(ui.ScriptWindow):

    
USE_TYPE_TUPLE = ("USE_CLEAN_SOCKET""USE_CHANGE_ATTRIBUTE""USE_ADD_ATTRIBUTE""USE_ADD_ATTRIBUTE2""USE_ADD_ACCESSORY_SOCKET""USE_PUT_INTO_ACCESSORY_SOCKET")

    
def __init__(self):
        
ui.ScriptWindow.__init__(self)
        
self.questionDialog None
        self
.tooltipItem None
        self
.sellingSlotNumber = -1
        self
.isLoaded 0
        self
.isOpenedCostumeWindowWhenClosingInventory 0        # κ丮   ڽ *־ -_-; ̹ 

        
self.__LoadWindow()

    
def __del__(self):
        
ui.ScriptWindow.__del__(self)

    
def Show(self):
        
self.__LoadWindow()

        
ui.ScriptWindow.Show(self)

        
# κ丮   ڽ *־ٸ κ丮 *  ڽ  * .
        
if self.isOpenedCostumeWindowWhenClosingInventory and self.wndCostume:
            
self.wndCostume.Show() 

    
def __LoadWindow(self):
        if 
self.isLoaded == 1:
            return

        
self.isLoaded 1

        
try:
            
pyScrLoader ui.PythonScriptLoader()

            if 
ITEM_MALL_BUTTON_ENABLE:
                
pyScrLoader.LoadScriptFile(selfuiScriptLocale.LOCALE_UISCRIPT_PATH "InventoryWindow.py")
            else:
                
pyScrLoader.LoadScriptFile(self"UIScript/InventoryWindow.py")
        
except:
            
import exception
            exception
.Abort("InventoryWindow.LoadWindow.LoadObject")

        try:
            
wndItem self.GetChild("ItemSlot")
            
wndEquip self.GetChild("EquipmentSlot")
            
self.GetChild("TitleBar").SetCloseEvent(ui.__mem_func__(self.Close))
            
self.wndMoney self.GetChild("Money")
            
self.wndMoneySlot self.GetChild("Money_Slot")
            
self.mallButton self.GetChild2("MallButton")
            
self.costumeButton self.GetChild2("CostumeButton")
            
            
self.inventoryTab = []
            
self.inventoryTab.append(self.GetChild("Inventory_Tab_01"))
            
self.inventoryTab.append(self.GetChild("Inventory_Tab_02"))
            
self.inventoryTab.append(self.GetChild("Inventory_Tab_03"))
            
self.inventoryTab.append(self.GetChild("Inventory_Tab_04"))
            
            
self.equipmentTab = []
            
self.equipmentTab.append(self.GetChild("Equipment_Tab_01"))
            
self.equipmentTab.append(self.GetChild("Equipment_Tab_02"))
            
self.equipmentTab.append(self.GetChild("Equipment_Tab_03"))
            
self.equipmentTab.append(self.GetChild("Equipment_Tab_04"))
            if 
self.costumeButton and not app.ENABLE_COSTUME_SYSTEM:
                
self.costumeButton.Hide()
                
self.costumeButton.Destroy()
                
self.costumeButton 0

        except
:
            
import exception
            exception
.Abort("InventoryWindow.LoadWindow.BindObject")

        
## Item
        
wndItem.SetSelectEmptySlotEvent(ui.__mem_func__(self.SelectEmptySlot))
        
wndItem.SetSelectItemSlotEvent(ui.__mem_func__(self.SelectItemSlot))
        
wndItem.SetUnselectItemSlotEvent(ui.__mem_func__(self.UseItemSlot))
        
wndItem.SetUseSlotEvent(ui.__mem_func__(self.UseItemSlot))
        
wndItem.SetOverInItemEvent(ui.__mem_func__(self.OverInItem))
        
wndItem.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))

        
## Equipment
        
wndEquip.SetSelectEmptySlotEvent(ui.__mem_func__(self.SelectEmptySlot))
        
wndEquip.SetSelectItemSlotEvent(ui.__mem_func__(self.SelectItemSlot))
        
wndEquip.SetUnselectItemSlotEvent(ui.__mem_func__(self.UseItemSlot))
        
wndEquip.SetUseSlotEvent(ui.__mem_func__(self.UseItemSlot))
        
wndEquip.SetOverInItemEvent(ui.__mem_func__(self.OverInItem))
        
wndEquip.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))

        
## PickMoneyDialog
        
dlgPickMoney uiPickMoney.PickMoneyDialog()
        
dlgPickMoney.LoadDialog()
        
dlgPickMoney.Hide()

        
## RefineDialog
        
self.refineDialog uiRefine.RefineDialog()
        
self.refineDialog.Hide()

        
## AttachMetinDialog
        
self.attachMetinDialog uiAttachMetin.AttachMetinDialog()
        
self.attachMetinDialog.Hide()

        
## MoneySlot
        
self.wndMoneySlot.SetEvent(ui.__mem_func__(self.OpenPickMoneyDialog))

        
self.inventoryTab[0].SetEvent(lambda arg=0self.SetInventoryPage(arg))
        
self.inventoryTab[1].SetEvent(lambda arg=1self.SetInventoryPage(arg))
        
self.inventoryTab[1].SetEvent(lambda arg=2self.SetInventoryPage(arg))
        
self.inventoryTab[1].SetEvent(lambda arg=3self.SetInventoryPage(arg))
        
self.inventoryPageIndex 0
        self
.inventoryTab[0].Down()

        
self.equipmentTab[0].SetEvent(lambda arg=0self.SetEquipmentPage(arg))
        
self.equipmentTab[1].SetEvent(lambda arg=1self.SetEquipmentPage(arg))
        
self.inventoryTab[1].SetEvent(lambda arg=2self.SetInventoryPage(arg))
        
self.inventoryTab[1].SetEvent(lambda arg=3self.SetInventoryPage(arg))
        
self.inventoryPageIndex 0
        self
.equipmentTab[0].Down()
        
self.equipmentTab[0].Hide()
        
self.equipmentTab[1].Hide()

        
self.wndItem wndItem
        self
.wndEquip wndEquip
        self
.dlgPickMoney dlgPickMoney

        
# MallButton
        
if self.mallButton:
            
self.mallButton.SetEvent(ui.__mem_func__(self.ClickMallButton))
        
        
# Costume Button
        
if self.costumeButton:
            
self.costumeButton.SetEvent(ui.__mem_func__(self.ClickCostumeButton))

        
self.wndCostume None
        
         
#####

        ## Refresh
        
self.SetInventoryPage(0)
        
self.SetEquipmentPage(0)
        
self.RefreshItemSlot()
        
self.RefreshStatus()

    
def Destroy(self):
        
self.ClearDictionary()

        
self.dlgPickMoney.Destroy()
        
self.dlgPickMoney 0

        self
.refineDialog.Destroy()
        
self.refineDialog 0

        self
.attachMetinDialog.Destroy()
        
self.attachMetinDialog 0

        self
.tooltipItem None
        self
.wndItem 0
        self
.wndEquip 0
        self
.dlgPickMoney 0
        self
.wndMoney 0
        self
.wndMoneySlot 0
        self
.questionDialog None
        self
.mallButton None

        
if self.wndCostume:
            
self.wndCostume.Destroy()
            
self.wndCostume 0
            
        self
.inventoryTab = []
        
self.equipmentTab = []

    
def Close(self):
        if 
None != self.tooltipItem:
            
self.tooltipItem.HideToolTip()

        if 
self.wndCostume:
            
self.isOpenedCostumeWindowWhenClosingInventory self.wndCostume.IsShow()    # κ丮 â   ڽ * ־°?
            
self.wndCostume.Close()
 
        
self.OnCloseQuestionDialog()
        
self.dlgPickMoney.Close()
        
self.Hide()

    
def SetInventoryPage(selfpage):
        
self.inventoryPageIndex page
        self
.inventoryTab[1-page].SetUp()
        
self.RefreshBagSlotWindow()

    
def SetEquipmentPage(selfpage):
        
self.equipmentPageIndex page
        self
.equipmentTab[1-page].SetUp()
        
self.RefreshEquipSlotWindow()

    
def ClickMallButton(self):
        print 
"click_mall_button"
        
net.SendChatPacket("/click_mall")

    
def ClickCostumeButton(self):
        print 
"Click Costume Button"
        
if self.wndCostume:
            if 
self.wndCostume.IsShow(): 
                
self.wndCostume.Hide()
            else:
                
self.wndCostume.Show()
        else:
            
self.wndCostume CostumeWindow(self)
            
self.wndCostume.Show()

    
def OpenPickMoneyDialog(self):

        if 
mouseModule.mouseController.isAttached():

            
attachedSlotPos mouseModule.mouseController.GetAttachedSlotNumber()
            if 
player.SLOT_TYPE_SAFEBOX == mouseModule.mouseController.GetAttachedType():

                if 
player.ITEM_MONEY == mouseModule.mouseController.GetAttachedItemIndex():
                    
net.SendSafeboxWithdrawMoneyPacket(mouseModule.mouseController.GetAttachedItemCount())
                    
snd.PlaySound("sound/ui/money.wav")

            
mouseModule.mouseController.DeattachObject()

        else:
            
curMoney player.GetElk()

            if 
curMoney <= 0:
                return

            
self.dlgPickMoney.SetTitleName(locale.PICK_MONEY_TITLE)
            
self.dlgPickMoney.SetAcceptEvent(ui.__mem_func__(self.OnPickMoney))
            
self.dlgPickMoney.Open(curMoney)
            
self.dlgPickMoney.SetMax(7# κ丮 990000   

    
def OnPickMoney(selfmoney):
        
mouseModule.mouseController.AttachMoney(selfplayer.SLOT_TYPE_INVENTORYmoney)

    
def OnPickItem(selfcount):
        
itemSlotIndex self.dlgPickMoney.itemGlobalSlotIndex
        selectedItemVNum 
player.GetItemIndex(itemSlotIndex)
        
mouseModule.mouseController.AttachObject(selfplayer.SLOT_TYPE_INVENTORYitemSlotIndexselectedItemVNumcount)

    
def __InventoryLocalSlotPosToGlobalSlotPos(selflocal):

        if 
player.IsEquipmentSlot(local) or player.IsCostumeSlot(local):
            return 
local

        
return self.inventoryPageIndex*player.INVENTORY_PAGE_SIZE local

    def RefreshBagSlotWindow
(self):
        
getItemVNum=player.GetItemIndex
        getItemCount
=player.GetItemCount
        setItemVNum
=self.wndItem.SetItemSlot
        
        
for i in xrange(player.INVENTORY_PAGE_SIZE):
            
slotNumber self.__InventoryLocalSlotPosToGlobalSlotPos(i)
            
itemCount getItemCount(slotNumber)
            if 
itemCount <= 1:
                
itemCount 0
                
            itemVnum 
getItemVNum(slotNumber)
            
setItemVNum(iitemVnumitemCount)
            
            
## ڵ (HP: #72723 ~ #72726, SP: #72727 ~ #72730) Ưó - ε Կ Ȱ*/Ȱ* ǥø  ۾ - [hyo]
            
if constInfo.IS_AUTO_POTION(itemVnum):
                
# metinSocket - [0] : Ȱ* , [1] :  , [2] : ִ 뷮
                
metinSocket = [player.GetItemMetinSocket(slotNumberj) for j in xrange(player.METIN_SOCKET_MAX_NUM)]    
                
                if 
slotNumber >= player.INVENTORY_PAGE_SIZE:
                    
slotNumber -= player.INVENTORY_PAGE_SIZE
                    
                isActivated 
!= metinSocket[0]
                
                if 
isActivated:
                    
self.wndItem.ActivateSlot(slotNumber)
                    
potionType 0;
                    if 
constInfo.IS_AUTO_POTION_HP(itemVnum):
                        
potionType player.AUTO_POTION_TYPE_HP
                    elif constInfo
.IS_AUTO_POTION_SP(itemVnum):
                        
potionType player.AUTO_POTION_TYPE_SP                        
                    
                    usedAmount 
int(metinSocket[1])
                    
totalAmount int(metinSocket[2])                    
                    
player.SetAutoPotionInfo(potionTypeisActivated, (totalAmount usedAmount), totalAmountself.__InventoryLocalSlotPosToGlobalSlotPos(i))
                    
                else:
                    
self.wndItem.DeactivateSlot(slotNumber)            
                    
        
self.wndItem.RefreshSlot()

    
def RefreshEquipSlotWindow(self):
        
getItemVNum=player.GetItemIndex
        getItemCount
=player.GetItemCount
        setItemVNum
=self.wndEquip.SetItemSlot
        
for i in xrange(player.EQUIPMENT_PAGE_COUNT):
            
slotNumber player.EQUIPMENT_SLOT_START i
            itemCount 
getItemCount(slotNumber)
            if 
itemCount <= 1:
                
itemCount 0
            setItemVNum
(slotNumbergetItemVNum(slotNumber), itemCount)

        
self.wndEquip.RefreshSlot()
        
        if 
self.wndCostume:
            
self.wndCostume.RefreshCostumeSlot()

    
def RefreshItemSlot(self):
        
self.RefreshBagSlotWindow()
        
self.RefreshEquipSlotWindow()

    
def RefreshStatus(self):
        
money player.GetElk()
        
self.wndMoney.SetText(locale.NumberToMoneyString(money))

    
def SetItemToolTip(selftooltipItem):
        
self.tooltipItem tooltipItem

    def SellItem
(self):

        
net.SendShopSellPacketNew(self.sellingSlotNumberself.questionDialog.count)
        
snd.PlaySound("sound/ui/money.wav")
        
self.OnCloseQuestionDialog()

    
def OnDetachMetinFromItem(self):
        if 
None == self.questionDialog:
            return
            
        
#net.SendItemUseToItemPacket(self.questionDialog.sourcePos, self.questionDialog.targetPos)        
        
self.__SendUseItemToItemPacket(self.questionDialog.sourcePosself.questionDialog.targetPos)
        
self.OnCloseQuestionDialog()

    
def OnCloseQuestionDialog(self):
        if 
self.questionDialog:
            
self.questionDialog.Close()

        
self.questionDialog None

    
## Slot Event
    
def SelectEmptySlot(selfselectedSlotPos):
        if 
constInfo.GET_ITEM_DROP_QUESTION_DIALOG_STATUS() == 1:
            return

        
selectedSlotPos self.__InventoryLocalSlotPosToGlobalSlotPos(selectedSlotPos)

        if 
mouseModule.mouseController.isAttached():

            
attachedSlotType mouseModule.mouseController.GetAttachedType()
            
attachedSlotPos mouseModule.mouseController.GetAttachedSlotNumber()
            
attachedItemCount mouseModule.mouseController.GetAttachedItemCount()
            
attachedItemIndex mouseModule.mouseController.GetAttachedItemIndex()

            if 
player.SLOT_TYPE_INVENTORY == attachedSlotType:
                
itemCount player.GetItemCount(attachedSlotPos)
                
attachedCount mouseModule.mouseController.GetAttachedItemCount()
                
self.__SendMoveItemPacket(attachedSlotPosselectedSlotPosattachedCount)

                if 
item.IsRefineScroll(attachedItemIndex):
                    
self.wndItem.SetUseMode(FALSE)

            
elif player.SLOT_TYPE_PRIVATE_SHOP == attachedSlotType:
                
mouseModule.mouseController.RunCallBack("INVENTORY")

            
elif player.SLOT_TYPE_SHOP == attachedSlotType:
                
net.SendShopBuyPacket(attachedSlotPos)

            
elif player.SLOT_TYPE_SAFEBOX == attachedSlotType:

                if 
player.ITEM_MONEY == attachedItemIndex:
                    
net.SendSafeboxWithdrawMoneyPacket(mouseModule.mouseController.GetAttachedItemCount())
                    
snd.PlaySound("sound/ui/money.wav")

                else:
                    
net.SendSafeboxCheckoutPacket(attachedSlotPosselectedSlotPos)

            
elif player.SLOT_TYPE_MALL == attachedSlotType:
                
net.SendMallCheckoutPacket(attachedSlotPosselectedSlotPos)

            
mouseModule.mouseController.DeattachObject()

    
def SelectItemSlot(selfitemSlotIndex):
        if 
constInfo.GET_ITEM_DROP_QUESTION_DIALOG_STATUS() == 1:
            return

        
itemSlotIndex self.__InventoryLocalSlotPosToGlobalSlotPos(itemSlotIndex)

        if 
mouseModule.mouseController.isAttached():
            
attachedSlotType mouseModule.mouseController.GetAttachedType()
            
attachedSlotPos mouseModule.mouseController.GetAttachedSlotNumber()
            
attachedItemVID mouseModule.mouseController.GetAttachedItemIndex()

            if 
player.SLOT_TYPE_INVENTORY == attachedSlotType:
                
self.__DropSrcItemToDestItemInInventory(attachedItemVIDattachedSlotPositemSlotIndex)

            
mouseModule.mouseController.DeattachObject()

        else:

            
curCursorNum app.GetCursor()
            if 
app.SELL == curCursorNum:
                
self.__SellItem(itemSlotIndex)
                
            
elif app.BUY == curCursorNum:
                
chat.AppendChat(chat.CHAT_TYPE_INFOlocale.SHOP_BUY_INFO)

            
elif app.IsPressed(app.DIK_LALT):
                
link player.GetItemLink(itemSlotIndex)
                
ime.PasteString(link)

            
elif app.IsPressed(app.DIK_LSHIFT):
                
itemCount player.GetItemCount(itemSlotIndex)
                
                if 
itemCount 1:
                    
self.dlgPickMoney.SetTitleName(locale.PICK_ITEM_TITLE)
                    
self.dlgPickMoney.SetAcceptEvent(ui.__mem_func__(self.OnPickItem))
                    
self.dlgPickMoney.Open(itemCount)
                    
self.dlgPickMoney.itemGlobalSlotIndex itemSlotIndex
                
#else:
                    #selectedItemVNum = player.GetItemIndex(itemSlotIndex)
                    #mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_INVENTORY, itemSlotIndex, selectedItemVNum)

            
elif app.IsPressed(app.DIK_LCONTROL):
                
itemIndex player.GetItemIndex(itemSlotIndex)

                if 
TRUE == item.CanAddToQuickSlotItem(itemIndex):
                    
player.RequestAddToEmptyLocalQuickSlot(player.SLOT_TYPE_INVENTORYitemSlotIndex)
                else:
                    
chat.AppendChat(chat.CHAT_TYPE_INFOlocale.QUICKSLOT_REGISTER_DISABLE_ITEM)

            else:
                
selectedItemVNum player.GetItemIndex(itemSlotIndex)
                
itemCount player.GetItemCount(itemSlotIndex)
                
mouseModule.mouseController.AttachObject(selfplayer.SLOT_TYPE_INVENTORYitemSlotIndexselectedItemVNumitemCount)
                
                if 
self.__IsUsableItemToItem(selectedItemVNumitemSlotIndex):                
                    
self.wndItem.SetUseMode(TRUE)
                else:                    
                    
self.wndItem.SetUseMode(FALSE)

                
snd.PlaySound("sound/ui/pick.wav")

    
def __DropSrcItemToDestItemInInventory(selfsrcItemVIDsrcItemSlotPosdstItemSlotPos):
        if 
srcItemSlotPos == dstItemSlotPos:
            return
                    
        if 
item.IsRefineScroll(srcItemVID):
            
self.RefineItem(srcItemSlotPosdstItemSlotPos)
            
self.wndItem.SetUseMode(FALSE)

        
elif item.IsMetin(srcItemVID):
            
self.AttachMetinToItem(srcItemSlotPosdstItemSlotPos)

        
elif item.IsDetachScroll(srcItemVID):
            
self.DetachMetinFromItem(srcItemSlotPosdstItemSlotPos)

        
elif item.IsKey(srcItemVID):
            
self.__SendUseItemToItemPacket(srcItemSlotPosdstItemSlotPos)            

        
elif (player.GetItemFlags(srcItemSlotPos) & ITEM_FLAG_APPLICABLE) == ITEM_FLAG_APPLICABLE:
            
self.__SendUseItemToItemPacket(srcItemSlotPosdstItemSlotPos)

        
elif item.GetUseType(srcItemVIDin self.USE_TYPE_TUPLE:
            
self.__SendUseItemToItemPacket(srcItemSlotPosdstItemSlotPos)            

        else:
            
#snd.PlaySound("sound/ui/drop.wav")

            ## ̵Ų      ؼ*  Ų - [levites]
            
if player.IsEquipmentSlot(dstItemSlotPos):

                
##  ִ  ϶
                
if item.IsEquipmentVID(srcItemVID):
                    
self.__UseItem(srcItemSlotPos)

            else:
                
self.__SendMoveItemPacket(srcItemSlotPosdstItemSlotPos0)
                
#net.SendItemMovePacket(srcItemSlotPos, dstItemSlotPos, 0)

    
def __SellItem(selfitemSlotPos):
        if 
not player.IsEquipmentSlot(itemSlotPos):
            
self.sellingSlotNumber itemSlotPos
            itemIndex 
player.GetItemIndex(itemSlotPos)
            
itemCount player.GetItemCount(itemSlotPos)

            
item.SelectItem(itemIndex)
            
itemPrice item.GetISellItemPrice()

            if 
item.Is1GoldItem():
                
itemPrice itemCount itemPrice 5
            
else:
                
itemPrice itemPrice itemCount 5

            item
.GetItemName(itemIndex)
            
itemName item.GetItemName()

            
self.questionDialog uiCommon.QuestionDialog()
            
self.questionDialog.SetText(locale.DO_YOU_SELL_ITEM(itemNameitemCountitemPrice))
            
self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.SellItem))
            
self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
            
self.questionDialog.Open()
            
self.questionDialog.count itemCount

    def RefineItem
(selfscrollSlotPostargetSlotPos):

        
scrollIndex player.GetItemIndex(scrollSlotPos)
        
targetIndex player.GetItemIndex(targetSlotPos)

        if 
player.REFINE_OK != player.CanRefine(scrollIndextargetSlotPos):
            return

        
###########################################################
        
self.__SendUseItemToItemPacket(scrollSlotPostargetSlotPos)
        
#net.SendItemUseToItemPacket(scrollSlotPos, targetSlotPos)
        
return
        
###########################################################

        ###########################################################
        #net.SendRequestRefineInfoPacket(targetSlotPos)
        #return
        ###########################################################

        
result player.CanRefine(scrollIndextargetSlotPos)

        if 
player.REFINE_ALREADY_MAX_SOCKET_COUNT == result:
            
#snd.PlaySound("sound/ui/jaeryun_fail.wav")
            
chat.AppendChat(chat.CHAT_TYPE_INFOlocale.REFINE_FAILURE_NO_MORE_SOCKET)

        
elif player.REFINE_NEED_MORE_GOOD_SCROLL == result:
            
#snd.PlaySound("sound/ui/jaeryun_fail.wav")
            
chat.AppendChat(chat.CHAT_TYPE_INFOlocale.REFINE_FAILURE_NEED_BETTER_SCROLL)

        
elif player.REFINE_CANT_MAKE_SOCKET_ITEM == result:
            
#snd.PlaySound("sound/ui/jaeryun_fail.wav")
            
chat.AppendChat(chat.CHAT_TYPE_INFOlocale.REFINE_FAILURE_SOCKET_DISABLE_ITEM)

        
elif player.REFINE_NOT_NEXT_GRADE_ITEM == result:
            
#snd.PlaySound("sound/ui/jaeryun_fail.wav")
            
chat.AppendChat(chat.CHAT_TYPE_INFOlocale.REFINE_FAILURE_UPGRADE_DISABLE_ITEM)

        
elif player.REFINE_CANT_REFINE_METIN_TO_EQUIPMENT == result:
            
chat.AppendChat(chat.CHAT_TYPE_INFOlocale.REFINE_FAILURE_EQUIP_ITEM)

        if 
player.REFINE_OK != result:
            return

        
self.refineDialog.Open(scrollSlotPostargetSlotPos)

    
def DetachMetinFromItem(selfscrollSlotPostargetSlotPos):
        
scrollIndex player.GetItemIndex(scrollSlotPos)
        
targetIndex player.GetItemIndex(targetSlotPos)

        if 
not player.CanDetach(scrollIndextargetSlotPos):
            
chat.AppendChat(chat.CHAT_TYPE_INFOlocale.REFINE_FAILURE_METIN_INSEPARABLE_ITEM)
            return

        
self.questionDialog uiCommon.QuestionDialog()
        
self.questionDialog.SetText(locale.REFINE_DO_YOU_SEPARATE_METIN)
        
self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.OnDetachMetinFromItem))
        
self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
        
self.questionDialog.Open()
        
self.questionDialog.sourcePos scrollSlotPos
        self
.questionDialog.targetPos targetSlotPos

    def AttachMetinToItem
(selfmetinSlotPostargetSlotPos):
        
metinIndex player.GetItemIndex(metinSlotPos)
        
targetIndex player.GetItemIndex(targetSlotPos)

        
item.SelectItem(metinIndex)
        
itemName item.GetItemName()

        
result player.CanAttachMetin(metinIndextargetSlotPos)

        if 
player.ATTACH_METIN_NOT_MATCHABLE_ITEM == result:
            
chat.AppendChat(chat.CHAT_TYPE_INFOlocale.REFINE_FAILURE_CAN_NOT_ATTACH(itemName))

        if 
player.ATTACH_METIN_NO_MATCHABLE_SOCKET == result:
            
chat.AppendChat(chat.CHAT_TYPE_INFOlocale.REFINE_FAILURE_NO_SOCKET(itemName))

        
elif player.ATTACH_METIN_NOT_EXIST_GOLD_SOCKET == result:
            
chat.AppendChat(chat.CHAT_TYPE_INFOlocale.REFINE_FAILURE_NO_GOLD_SOCKET(itemName))

        
elif player.ATTACH_METIN_CANT_ATTACH_TO_EQUIPMENT == result:
            
chat.AppendChat(chat.CHAT_TYPE_INFOlocale.REFINE_FAILURE_EQUIP_ITEM)

        if 
player.ATTACH_METIN_OK != result:
            return

        
self.attachMetinDialog.Open(metinSlotPostargetSlotPos)


        
    
def OverOutItem(self):
        
self.wndItem.SetUsableItem(FALSE)
        if 
None != self.tooltipItem:
            
self.tooltipItem.HideToolTip()

    
def OverInItem(selfoverSlotPos):
        
overSlotPos self.__InventoryLocalSlotPosToGlobalSlotPos(overSlotPos)
        
self.wndItem.SetUsableItem(FALSE)

        if 
mouseModule.mouseController.isAttached():
            
attachedItemType mouseModule.mouseController.GetAttachedType()
            if 
player.SLOT_TYPE_INVENTORY == attachedItemType:

                
attachedSlotPos mouseModule.mouseController.GetAttachedSlotNumber()
                
attachedItemVNum mouseModule.mouseController.GetAttachedItemIndex()
                
                if 
self.__CanUseSrcItemToDstItem(attachedItemVNumattachedSlotPosoverSlotPos):
                    
self.wndItem.SetUsableItem(TRUE)
                    
self.ShowToolTip(overSlotPos)
                    return
                
        
self.ShowToolTip(overSlotPos)


    
def __IsUsableItemToItem(selfsrcItemVNumsrcSlotPos):
        
"ٸ ۿ   ִ ΰ?"

        
if item.IsRefineScroll(srcItemVNum):
            return 
TRUE
        elif item
.IsMetin(srcItemVNum):
            return 
TRUE
        elif item
.IsDetachScroll(srcItemVNum):
            return 
TRUE
        elif item
.IsKey(srcItemVNum):
            return 
TRUE
        elif 
(player.GetItemFlags(srcSlotPos) & ITEM_FLAG_APPLICABLE) == ITEM_FLAG_APPLICABLE:
            return 
TRUE
        
else:
            if 
item.GetUseType(srcItemVNumin self.USE_TYPE_TUPLE:
                return 
TRUE
            
        
return FALSE

    def __CanUseSrcItemToDstItem
(selfsrcItemVNumsrcSlotPosdstSlotPos):
        
" ۿ   ִ°?"

        
if srcSlotPos == dstSlotPos:
            return 
FALSE

        
if item.IsRefineScroll(srcItemVNum):
            if 
player.REFINE_OK == player.CanRefine(srcItemVNumdstSlotPos):
                return 
TRUE
        elif item
.IsMetin(srcItemVNum):
            if 
player.ATTACH_METIN_OK == player.CanAttachMetin(srcItemVNumdstSlotPos):
                return 
TRUE
        elif item
.IsDetachScroll(srcItemVNum):
            if 
player.DETACH_METIN_OK == player.CanDetach(srcItemVNumdstSlotPos):
                return 
TRUE
        elif item
.IsKey(srcItemVNum):
            if 
player.CanUnlock(srcItemVNumdstSlotPos):
                return 
TRUE

        elif 
(player.GetItemFlags(srcSlotPos) & ITEM_FLAG_APPLICABLE) == ITEM_FLAG_APPLICABLE:
            return 
TRUE

        
else:
            
useType=item.GetUseType(srcItemVNum)

            if 
"USE_CLEAN_SOCKET" == useType:
                if 
self.__CanCleanBrokenMetinStone(dstSlotPos):
                    return 
TRUE
            elif 
"USE_CHANGE_ATTRIBUTE" == useType:
                if 
self.__CanChangeItemAttrList(dstSlotPos):
                    return 
TRUE
            elif 
"USE_ADD_ATTRIBUTE" == useType:
                if 
self.__CanAddItemAttr(dstSlotPos):
                    return 
TRUE
            elif 
"USE_ADD_ATTRIBUTE2" == useType:
                if 
self.__CanAddItemAttr(dstSlotPos):
                    return 
TRUE
            elif 
"USE_ADD_ACCESSORY_SOCKET" == useType:
                if 
self.__CanAddAccessorySocket(dstSlotPos):
                    return 
TRUE
            elif 
"USE_PUT_INTO_ACCESSORY_SOCKET" == useType:                                
                if 
self.__CanPutAccessorySocket(dstSlotPossrcItemVNum):
                    return 
TRUE;

        return 
FALSE

    def __CanCleanBrokenMetinStone
(selfdstSlotPos):
        
dstItemVNum player.GetItemIndex(dstSlotPos)
        if 
dstItemVNum == 0:
            return 
FALSE

        item
.SelectItem(dstItemVNum)
        
        if 
item.ITEM_TYPE_WEAPON != item.GetItemType():
            return 
FALSE

        
for i in xrange(player.METIN_SOCKET_MAX_NUM):
            if 
player.GetItemMetinSocket(dstSlotPosi) == constInfo.ERROR_METIN_STONE:
                return 
TRUE

        
return FALSE

    def __CanChangeItemAttrList
(selfdstSlotPos):
        
dstItemVNum player.GetItemIndex(dstSlotPos)
        if 
dstItemVNum == 0:
            return 
FALSE

        item
.SelectItem(dstItemVNum)
        
        if 
not item.GetItemType() in (item.ITEM_TYPE_WEAPONitem.ITEM_TYPE_ARMOR):     
            return 
FALSE

        
for i in xrange(player.METIN_SOCKET_MAX_NUM):
            if 
player.GetItemAttribute(dstSlotPosi) != 0:
                return 
TRUE

        
return FALSE

    def __CanPutAccessorySocket
(selfdstSlotPosmtrlVnum):
        
dstItemVNum player.GetItemIndex(dstSlotPos)
        if 
dstItemVNum == 0:
            return 
FALSE

        item
.SelectItem(dstItemVNum)

        if 
item.GetItemType() != item.ITEM_TYPE_ARMOR:
            return 
FALSE

        
if not item.GetItemSubType() in (item.ARMOR_WRISTitem.ARMOR_NECKitem.ARMOR_EAR):
            return 
FALSE

        curCount 
player.GetItemMetinSocket(dstSlotPos0)
        
maxCount player.GetItemMetinSocket(dstSlotPos1)

        if 
mtrlVnum != constInfo.GET_ACCESSORY_MATERIAL_VNUM(dstItemVNumitem.GetItemSubType()):
            return 
FALSE
        
        
if curCount>=maxCount:
            return 
FALSE

        
return TRUE

    def __CanAddAccessorySocket
(selfdstSlotPos):
        
dstItemVNum player.GetItemIndex(dstSlotPos)
        if 
dstItemVNum == 0:
            return 
FALSE

        item
.SelectItem(dstItemVNum)

        if 
item.GetItemType() != item.ITEM_TYPE_ARMOR:
            return 
FALSE

        
if not item.GetItemSubType() in (item.ARMOR_WRISTitem.ARMOR_NECKitem.ARMOR_EAR):
            return 
FALSE

        curCount 
player.GetItemMetinSocket(dstSlotPos0)
        
maxCount player.GetItemMetinSocket(dstSlotPos1)
        
        
ACCESSORY_SOCKET_MAX_SIZE 3
        
if maxCount >= ACCESSORY_SOCKET_MAX_SIZE:
            return 
FALSE

        
return TRUE

    def __CanAddItemAttr
(selfdstSlotPos):
        
dstItemVNum player.GetItemIndex(dstSlotPos)
        if 
dstItemVNum == 0:
            return 
FALSE

        item
.SelectItem(dstItemVNum)
        
        if 
not item.GetItemType() in (item.ITEM_TYPE_WEAPONitem.ITEM_TYPE_ARMOR):     
            return 
FALSE
            
        attrCount 
0
        
for i in xrange(player.METIN_SOCKET_MAX_NUM):
            if 
player.GetItemAttribute(dstSlotPosi) != 0:
                
attrCount += 1

        
if attrCount<4:
            return 
TRUE
                                
        
return FALSE

    def ShowToolTip
(selfslotIndex):
        if 
None != self.tooltipItem:
            
self.tooltipItem.SetInventoryItem(slotIndex)

    
def OnTop(self):
        if 
None != self.tooltipItem:
            
self.tooltipItem.SetTop()

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

    def UseItemSlot
(selfslotIndex):
        if 
constInfo.GET_ITEM_DROP_QUESTION_DIALOG_STATUS():
            return

        
slotIndex self.__InventoryLocalSlotPosToGlobalSlotPos(slotIndex)

        
self.__UseItem(slotIndex)
        
mouseModule.mouseController.DeattachObject()
        
self.OverOutItem()

    
def __UseItem(selfslotIndex):
        
ItemVNum player.GetItemIndex(slotIndex)
        
item.SelectItem(ItemVNum)
        if 
item.IsFlag(item.ITEM_FLAG_CONFIRM_WHEN_USE):
            
self.questionDialog uiCommon.QuestionDialog()
            
self.questionDialog.SetText(locale.INVENTORY_REALLY_USE_ITEM)
            
self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.__UseItemQuestionDialog_OnAccept))
            
self.questionDialog.SetCancelEvent(ui.__mem_func__(self.__UseItemQuestionDialog_OnCancel))
            
self.questionDialog.Open()
            
self.questionDialog.slotIndex slotIndex

        
else:
            
self.__SendUseItemPacket(slotIndex)
            
#net.SendItemUsePacket(slotIndex)    

    
def __UseItemQuestionDialog_OnCancel(self):
        
self.OnCloseQuestionDialog()

    
def __UseItemQuestionDialog_OnAccept(self):
        
self.__SendUseItemPacket(self.questionDialog.slotIndex)

        if 
self.questionDialog:
            
self.questionDialog.Close()
        
self.questionDialog None

    def __SendUseItemToItemPacket
(selfsrcSlotPosdstSlotPos):
        
# λ * ִ    
        
if uiPrivateShopBuilder.IsBuildingPrivateShop():
            
chat.AppendChat(chat.CHAT_TYPE_INFOlocale.USE_ITEM_FAILURE_PRIVATE_SHOP)
            return

        
net.SendItemUseToItemPacket(srcSlotPosdstSlotPos)

    
def __SendUseItemPacket(selfslotPos):
        
# λ * ִ    
        
if uiPrivateShopBuilder.IsBuildingPrivateShop():
            
chat.AppendChat(chat.CHAT_TYPE_INFOlocale.USE_ITEM_FAILURE_PRIVATE_SHOP)
            return

        
net.SendItemUsePacket(slotPos)
    
    
def __SendMoveItemPacket(selfsrcSlotPosdstSlotPossrcItemCount):
        
# λ * ִ    
        
if uiPrivateShopBuilder.IsBuildingPrivateShop():
            
chat.AppendChat(chat.CHAT_TYPE_INFOlocale.MOVE_ITEM_FAILURE_PRIVATE_SHOP)
            return

        
net.SendItemMovePacket(srcSlotPosdstSlotPossrcItemCount
inventorywindwos.py

PHP Code:
import uiScriptLocale

EQUIPMENT_START_INDEX 
180

window 
= {
    
"name" "InventoryWindow",

    
## 600 - (width +    24 px)
    
"x" SCREEN_WIDTH 176,
    
"y" SCREEN_HEIGHT 37 565,

    
"style" : ("movable""float",),

    
"width" 176,
    
"height" 565,

    
"children" :
    (
        {
            
"name" "board",
            
"type" "board",
            
"style" : ("attach",),

            
"x" 0,
            
"y" 0,

            
"width" 176,
            
"height" 565,

            
"children" :
            (
                
## Title
                
{
                    
"name" "TitleBar",
                    
"type" "titlebar",
                    
"style" : ("attach",),

                    
"x" 8,
                    
"y" 7,

                    
"width" 161,
                    
"color" "yellow",

                    
"children" :
                    (
                        { 
"name":"TitleName""type":"text""x":77"y":3"text":uiScriptLocale.INVENTORY_TITLE"text_horizontal_align":"center" },
                    ),
                },

                
## Equipment Slot
                
{
                    
"name" "Equipment_Base",
                    
"type" "image",

                    
"x" 10,
                    
"y" 33,

                    
"image" "d:/ymir work/ui/game/windows/equipment_base.sub",

                    
"children" :
                    (

                        {
                            
"name" "EquipmentSlot",
                            
"type" "slot",

                            
"x" 3,
                            
"y" 3,

                            
"width" 150,
                            
"height" 182,

                            
"slot" : (
                                        {
"index":EQUIPMENT_START_INDEX+0"x":39"y":37"width":32"height":64},
                                        {
"index":EQUIPMENT_START_INDEX+1"x":39"y":2"width":32"height":32},
                                        {
"index":EQUIPMENT_START_INDEX+2"x":39"y":145"width":32"height":32},
                                        {
"index":EQUIPMENT_START_INDEX+3"x":75"y":67"width":32"height":32},
                                        {
"index":EQUIPMENT_START_INDEX+4"x":3"y":3"width":32"height":96},
                                        {
"index":EQUIPMENT_START_INDEX+5"x":114"y":84"width":32"height":32},
                                        {
"index":EQUIPMENT_START_INDEX+6"x":114"y":52"width":32"height":32},
                                        {
"index":EQUIPMENT_START_INDEX+7"x":2"y":113"width":32"height":32},
                                        {
"index":EQUIPMENT_START_INDEX+8"x":75"y":113"width":32"height":32},
                                        {
"index":EQUIPMENT_START_INDEX+9"x":114"y":1"width":32"height":32},
                                        {
"index":EQUIPMENT_START_INDEX+10"x":75"y":35"width":32"height":32},
                                    ),
                        },
                        
## MallButton
                        
{
                            
"name" "MallButton",
                            
"type" "button",

                            
"x" 120,
                            
"y" 150,

                            
"tooltip_text" uiScriptLocale.MALL_TITLE,

                            
"default_image" "d:/ymir work/ui/game/TaskBar/Mall_Button_01.tga",
                            
"over_image" "d:/ymir work/ui/game/TaskBar/Mall_Button_02.tga",
                            
"down_image" "d:/ymir work/ui/game/TaskBar/Mall_Button_03.tga",
                        },
                        
## CostumeButton
                        
{
                            
"name" "CostumeButton",
                            
"type" "button",

                            
"x" 78,
                            
"y" 5,

                            
"tooltip_text" uiScriptLocale.COSTUME_TITLE,

                            
"default_image" "d:/ymir work/ui/game/taskbar/costume_Button_01.tga",
                            
"over_image" "d:/ymir work/ui/game/taskbar/costume_Button_02.tga",
                            
"down_image" "d:/ymir work/ui/game/taskbar/costume_Button_03.tga",
                        },                        
                        {
                            
"name" "Equipment_Tab_01",
                            
"type" "radio_button",

                            
"x" 86,
                            
"y" 161,

                            
"default_image" "d:/ymir work/ui/game/windows/tab_button_small_01.sub",
                            
"over_image" "d:/ymir work/ui/game/windows/tab_button_small_02.sub",
                            
"down_image" "d:/ymir work/ui/game/windows/tab_button_small_03.sub",

                            
"children" :
                            (
                                {
                                    
"name" "Equipment_Tab_01_Print",
                                    
"type" "text",

                                    
"x" 0,
                                    
"y" 0,

                                    
"all_align" "center",

                                    
"text" "I",
                                },
                            ),
                        },
                        {
                            
"name" "Equipment_Tab_02",
                            
"type" "radio_button",

                            
"x" 86 32,
                            
"y" 161,

                            
"default_image" "d:/ymir work/ui/game/windows/tab_button_small_01.sub",
                            
"over_image" "d:/ymir work/ui/game/windows/tab_button_small_02.sub",
                            
"down_image" "d:/ymir work/ui/game/windows/tab_button_small_03.sub",

                            
"children" :
                            (
                                {
                                    
"name" "Equipment_Tab_02_Print",
                                    
"type" "text",

                                    
"x" 0,
                                    
"y" 0,

                                    
"all_align" "center",

                                    
"text" "II",
                                },
                            ),
                        },

                    ),
                },

                {
                    
"name" "Inventory_Tab_01",
                    
"type" "radio_button",

                    
"x" 10,
                    
"y" 33 191,

                    
"default_image" "d:/ymir work/ui/game/windows/tab_button_large_01.sub",
                    
"over_image" "d:/ymir work/ui/game/windows/tab_button_large_02.sub",
                    
"down_image" "d:/ymir work/ui/game/windows/tab_button_large_03.sub",
                    
"tooltip_text" uiScriptLocale.INVENTORY_PAGE_BUTTON_TOOLTIP_1,

                    
"children" :
                    (
                        {
                            
"name" "Inventory_Tab_01_Print",
                            
"type" "text",

                            
"x" 0,
                            
"y" 0,

                            
"all_align" "center",

                            
"text" "I",
                        },
                    ),
                },
                {
                    
"name" "Inventory_Tab_02",
                    
"type" "radio_button",

                    
"x" 10 78,
                    
"y" 33 191,

                    
"default_image" "d:/ymir work/ui/game/windows/tab_button_large_01.sub",
                    
"over_image" "d:/ymir work/ui/game/windows/tab_button_large_02.sub",
                    
"down_image" "d:/ymir work/ui/game/windows/tab_button_large_03.sub",
                    
"tooltip_text" uiScriptLocale.INVENTORY_PAGE_BUTTON_TOOLTIP_2,

                    
"children" :
                    (
                        {
                            
"name" "Inventory_Tab_02_Print",
                            
"type" "text",

                            
"x" 0,
                            
"y" 0,

                            
"all_align" "center",

                            
"text" "II",
                        },
                    ),
                },

                
## Item Slot
                
{
                    
"name" "ItemSlot",
                    
"type" "grid_table",

                    
"x" 8,
                    
"y" 246,

                    
"start_index" 0,
                    
"x_count" 5,
                    
"y_count" 9,
                    
"x_step" 32,
                    
"y_step" 32,

                    
"image" "d:/ymir work/ui/public/Slot_Base.sub"
                
},

                
## Print
                
{
                    
"name":"Money_Slot",
                    
"type":"button",

                    
"x":8,
                    
"y":28,

                    
"horizontal_align":"center",
                    
"vertical_align":"bottom",

                    
"default_image" "d:/ymir work/ui/public/parameter_slot_05.sub",
                    
"over_image" "d:/ymir work/ui/public/parameter_slot_05.sub",
                    
"down_image" "d:/ymir work/ui/public/parameter_slot_05.sub",

                    
"children" :
                    (
                        {
                            
"name":"Money_Icon",
                            
"type":"image",

                            
"x":-18,
                            
"y":2,

                            
"image":"d:/ymir work/ui/game/windows/money_icon.sub",
                        },

                        {
                            
"name" "Money",
                            
"type" "text",

                            
"x" 3,
                            
"y" 3,

                            
"horizontal_align" "right",
                            
"text_horizontal_align" "right",

                            
"text" "123456789",
                        },
                    ),
                },

            ),
        },
    ),

Sysrr

PHP Code:
0912 00:02:13917 :: CPythonPlayer::SetItemData(dwSlotIndex=1itemIndex=1245194) - Failed to item data

0912 00
:02:13917 :: CPythonPlayer::SetItemData(dwSlotIndex=1itemIndex=1245188) - Failed to item data

0912 00
:02:13917 :: CPythonPlayer::SetItemData(dwSlotIndex=1itemIndex=1245185) - Failed to item data

0912 00
:02:13917 :: CPythonPlayer::SetItemData(dwSlotIndex=1itemIndex=1245184) - Failed to item data

0912 00
:02:13917 :: CPythonPlayer::SetItemData(dwSlotIndex=1itemIndex=1245187) - Failed to item data

0912 00
:02:13917 :: CPythonPlayer::SetItemData(dwSlotIndex=1itemIndex=1245186) - Failed to item data

0912 00
:02:13937 :: LZObjectDecompress failed ret -4CompressedSize 0

uiInventory
.py(line:156__LoadWindow
ui
.py(line:2640GetChild

InventoryWindow
.LoadWindow.BindObject exceptions.KeyError:Inventory_Tab_03

0912 00
:02:29089 :: ============================================================================================================
0912 00:02:29089 :: Abort!!!! 
in den shops ist nur das erste item sichtbar und 3 weite items die galle sind



2. yang problem
i-wie kann ich nicht mehr als 2,150kkk (oder so) haben ._.

bigint ist drin
in den configs is 999kkk eingetragen



deinuntergang123 is offline  
Old 09/12/2014, 13:07   #2
 
elite*gold: 1300
Join Date: Sep 2008
Posts: 929
Received Thanks: 378
1. Scheint als httest du dein Inventorywindow.py nicht richtig bearbeitet und er findet den key Inventory_tab_03 nicht

2. Es reicht nicht nur auf bigint zu stellen....Du musst vieles in der Source verndern. Sowohl in der Game source, als auch in der DB Source und im Client Source. Packets mssen gendert werden (ich habe int64 genommen, kannst aber auch long long nehmen , ist ja das gleiche^^)

Wenn du das alles gemacht hast (an zich stellen) dann geht das auch



edit: warum das jez so bei dem vanilla core nicht geht, kp^^


socressor is offline  
Old 09/12/2014, 15:37   #3
 
elite*gold: 0
Join Date: Aug 2012
Posts: 965
Received Thanks: 89
aber die slots sind bei dir auch buggy^^ kannst du vielleicht eine bin hochladen mit den 4 invi seiten+max gold? wre nett^^
thespeedyy is offline  
Old 09/12/2014, 16:15   #4
 
elite*gold: 0
Join Date: Oct 2011
Posts: 92
Received Thanks: 0
@thespeedy
dann sag ma wie ich sie entbuggen soll xD


was meinste mit bin O.O?
den vanilla core ?


deinuntergang123 is offline  
Old 09/12/2014, 19:21   #5
 
elite*gold: 0
Join Date: Aug 2012
Posts: 965
Received Thanks: 89
nein die client exe^^
thespeedyy is offline  
Old 09/12/2014, 21:03   #6
 
elite*gold: 0
Join Date: Oct 2011
Posts: 92
Received Thanks: 0
ist die stink normale exe vom 2013 client


deinuntergang123 is offline  
Reply



« Root mieten mit paysafecard's? | [S]Kostenlos Login Screen erstellen »

Similar Threads
[HELP] Vanilla Core
06/26/2014 - Metin2 PServer - Discussions / Questions - 2 Replies
Hi I have this problem in Vanilla Core , some solution please !!! http://i.epvpimg.com/3SUAh.png < look the image Is The Chat of Empire ! in Normal I have the language skill in M1. Not the language between empires cannot be seen among...
[Release] Vanilla Core 2.4 [rights to Vanilla]
05/10/2014 - Metin2 PServer Guides & Strategies - 16 Replies
#removed
Vanilla Core
04/20/2014 - Metin2 PServer - Discussions / Questions - 9 Replies
Hey elitepvpers Also ich habe n Problem mit dem vanilla 2.3 Core, undzwar: Ich kann ihn nicht installieren. Ich habe die libs wie es in der readme steht nach /usr/local/lib32/metin2 eingefgt, und die dbcorefile und gamefile in...



All times are GMT +2. The time now is 17:43.


Powered by vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2018 elitepvpers All Rights Reserved.