Artı Basmada İtem Sayısı Gösterme

adv1453

Yardımsever Üye
Yardımsever Üye
MT Üye
Mesaj
438
Çözümler
42
Beğeni
213
Puan
844
Ticaret Puanı
0
Arat root > uirefine.py
Python:
textLine = ui.TextLine()

Bloğu değiştir:
Python:
        textLine = ui.TextLine()
        textLine.SetParent(thinBoard)
        textLine.SetFontName(localeInfo.UI_DEF_FONT)
        have_count = player.GetItemCountByVnum(vnum)
        if have_count < count:
            textLine.SetFontColor(1.0, 0.0, 0.0)
        else:
            textLine.SetFontColor(0.0, 1.0, 0.0)
        textLine.SetText("%s x %02d / %02d" % (item.GetItemName(), count, have_count))
        textLine.SetOutline()
        textLine.SetFeather(False)
        textLine.SetWindowVerticalAlignCenter()
        textLine.SetVerticalAlignCenter()

Screenshot_3.png


Eğer bu tarz isterseniz güncelleyin:
Arat:
Python:
textLine.SetText("%s x %02d / %02d" % (item.GetItemName(), count, have_count))
Değiştir:
Python:
textLine.SetText("|cFFdddddd|H|h%s x%d|h|r (%d)" % (item.GetItemName(), count, player.GetItemCountByVnum(vnum)))

Screenshot_4.png
 
Güzel paylaşım :)
Teşekkürler
 
Bunlar çok basit sistemler. Az çok kod kısmında kendini geliştirenler bakarak bile kodlayabilir. Bayadır forumlarda dolaşıyordu.
Mesela şu sistem de yurt dışından: Otomatik +Basma Sistemi

Türkiye'de paylaşılan birçok sistem yurt dışından çıkma oluyor
Evet haklısınız bende bu sistemleri eklemiştim çoktan :D
 
Bunu yapınca karaktere bağlanmadan oyundan atıyor. Nerede yanlış yapıyorum acaba.
 
Kodları fazladan eklemişsiniz veya eklerken yanlış yapmışsınız, fotoğrafta da ilettiğim gibi kodlardan 2 şer adet gözüküyor.
Screenshot_2.png
 
Kodları fazladan eklemişsiniz veya eklerken yanlış yapmışsınız, fotoğrafta da ilettiğim gibi kodlardan 2 şer adet gözüküyor.
2867 eklentisini görüntüle

Bende problem var herhalde bir türlü anlayamadım. Neymiş bu böyle ya. Temiz dosya bu hiç bir kod eklenmemiş.

Python:
import app
import net
import player
import item
import ui
import uiToolTip
import mouseModule
import localeInfo
import uiCommon
import constInfo

class RefineDialog(ui.ScriptWindow):

    makeSocketSuccessPercentage = ( 100, 33, 20, 15, 10, 5, 0 )
    upgradeStoneSuccessPercentage = ( 30, 29, 28, 27, 26, 25, 24, 23, 22 )
    upgradeArmorSuccessPercentage = ( 99, 66, 33, 33, 33, 33, 33, 33, 33 )
    upgradeAccessorySuccessPercentage = ( 99, 88, 77, 66, 33, 33, 33, 33, 33 )
    upgradeSuccessPercentage = ( 99, 66, 33, 33, 33, 33, 33, 33, 33 )

    def __init__(self):
        ui.ScriptWindow.__init__(self)
        self.__LoadScript()

        self.scrollItemPos = 0
        self.targetItemPos = 0

    def __LoadScript(self):

        self.__LoadQuestionDialog()

        try:
            pyScrLoader = ui.PythonScriptLoader()
            pyScrLoader.LoadScriptFile(self, "uiscript/refinedialog.py")

        except:
            import exception
            exception.Abort("RefineDialog.__LoadScript.LoadObject")

        try:
            self.board = self.GetChild("Board")
            self.titleBar = self.GetChild("TitleBar")
            self.successPercentage = self.GetChild("SuccessPercentage")
            self.GetChild("AcceptButton").SetEvent(self.OpenQuestionDialog)
            self.GetChild("CancelButton").SetEvent(self.Close)
        except:
            import exception
            exception.Abort("RefineDialog.__LoadScript.BindObject")

        ## 936 : 개량 확률 표시 안함
        ##if 936 == app.GetDefaultCodePage():
        self.successPercentage.Hide()

        toolTip = uiToolTip.ItemToolTip()
        toolTip.SetParent(self)
        toolTip.SetPosition(15, 38)
        toolTip.SetFollow(False)
        toolTip.Show()
        self.toolTip = toolTip

        self.titleBar.SetCloseEvent(ui.__mem_func__(self.Close))

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

    def __LoadQuestionDialog(self):
        self.dlgQuestion = ui.ScriptWindow()

        try:
            pyScrLoader = ui.PythonScriptLoader()
            pyScrLoader.LoadScriptFile(self.dlgQuestion, "uiscript/questiondialog2.py")
        except:
            import exception
            exception.Abort("RefineDialog.__LoadQuestionDialog.LoadScript")

        try:
            GetObject=self.dlgQuestion.GetChild
            GetObject("message1").SetText(localeInfo.REFINE_DESTROY_WARNING)
            GetObject("message2").SetText(localeInfo.REFINE_WARNING2)
            GetObject("accept").SetEvent(ui.__mem_func__(self.Accept))
            GetObject("cancel").SetEvent(ui.__mem_func__(self.dlgQuestion.Hide))
        except:
            import exception
            exception.Abort("SelectCharacterWindow.__LoadQuestionDialog.BindObject")

    def Destroy(self):
        self.ClearDictionary()
        self.board = 0
        self.successPercentage = 0
        self.titleBar = 0
        self.toolTip = 0
        self.dlgQuestion = 0

    def GetRefineSuccessPercentage(self, scrollSlotIndex, itemSlotIndex):

        if -1 != scrollSlotIndex:
            if player.IsRefineGradeScroll(scrollSlotIndex):
                curGrade = player.GetItemGrade(itemSlotIndex)
                itemIndex = player.GetItemIndex(itemSlotIndex)

                item.SelectItem(itemIndex)
                itemType = item.GetItemType()
                itemSubType = item.GetItemSubType()

                if item.ITEM_TYPE_METIN == itemType:

                    if curGrade >= len(self.upgradeStoneSuccessPercentage):
                        return 0
                    return self.upgradeStoneSuccessPercentage[curGrade]

                elif item.ITEM_TYPE_ARMOR == itemType:

                    if item.ARMOR_BODY == itemSubType:
                        if curGrade >= len(self.upgradeArmorSuccessPercentage):
                            return 0
                        return self.upgradeArmorSuccessPercentage[curGrade]
                    else:
                        if curGrade >= len(self.upgradeAccessorySuccessPercentage):
                            return 0
                        return self.upgradeAccessorySuccessPercentage[curGrade]

                else:

                    if curGrade >= len(self.upgradeSuccessPercentage):
                        return 0
                    return self.upgradeSuccessPercentage[curGrade]

        for i in xrange(player.METIN_SOCKET_MAX_NUM+1):
            if 0 == player.GetItemMetinSocket(itemSlotIndex, i):
                break

        return self.makeSocketSuccessPercentage[i]

    def Open(self, scrollItemPos, targetItemPos):
        self.scrollItemPos = scrollItemPos
        self.targetItemPos = targetItemPos

        percentage = self.GetRefineSuccessPercentage(scrollItemPos, targetItemPos)
        if 0 == percentage:
            return
        self.successPercentage.SetText(localeInfo.REFINE_SUCCESS_PROBALITY % (percentage))

        itemIndex = player.GetItemIndex(targetItemPos)
        self.toolTip.ClearToolTip()
        metinSlot = []
        for i in xrange(player.METIN_SOCKET_MAX_NUM):
            metinSlot.append(player.GetItemMetinSocket(targetItemPos, i))
        self.toolTip.AddItemData(itemIndex, metinSlot)

        self.UpdateDialog()
        self.SetTop()
        self.Show()

    def UpdateDialog(self):
        newWidth = self.toolTip.GetWidth() + 30
        newHeight = self.toolTip.GetHeight() + 98
        self.board.SetSize(newWidth, newHeight)
        self.titleBar.SetWidth(newWidth-15)
        self.SetSize(newWidth, newHeight)

        (x, y) = self.GetLocalPosition()
        self.SetPosition(x, y)

    def OpenQuestionDialog(self):
        percentage = self.GetRefineSuccessPercentage(-1, self.targetItemPos)
        if 100 == percentage:
            self.Accept()
            return

        self.dlgQuestion.SetTop()
        self.dlgQuestion.Show()

    def Accept(self):
        net.SendItemUseToItemPacket(self.scrollItemPos, self.targetItemPos)
        self.Close()

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

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

class RefineDialogNew(ui.ScriptWindow):

    def __init__(self):
        ui.ScriptWindow.__init__(self)
        self.__Initialize()
        self.isLoaded = False

    def __Initialize(self):
        self.dlgQuestion = None
        self.children = []
        self.vnum = 0
        self.targetItemPos = 0
        self.dialogHeight = 0
        self.cost = 0
        self.percentage = 0
        self.type = 0

    def __LoadScript(self):

        try:
            pyScrLoader = ui.PythonScriptLoader()
            pyScrLoader.LoadScriptFile(self, "uiscript/refinedialog.py")

        except:
            import exception
            exception.Abort("RefineDialog.__LoadScript.LoadObject")

        try:
            self.board = self.GetChild("Board")
            self.titleBar = self.GetChild("TitleBar")
            self.probText = self.GetChild("SuccessPercentage")
            self.costText = self.GetChild("Cost")
            self.successPercentage = self.GetChild("SuccessPercentage")
            self.GetChild("AcceptButton").SetEvent(self.OpenQuestionDialog)
            self.GetChild("CancelButton").SetEvent(self.CancelRefine)
        except:
            import exception
            exception.Abort("RefineDialog.__LoadScript.BindObject")

        ## 936 : 개량 확률 표시 안함
        ##if 936 == app.GetDefaultCodePage():
        self.successPercentage.Hide()

        toolTip = uiToolTip.ItemToolTip()
        toolTip.SetParent(self)
        toolTip.SetFollow(False)
        toolTip.SetPosition(15, 38)
        toolTip.Show()
        self.toolTip = toolTip

        self.slotList = []
        for i in xrange(3):
            slot = self.__MakeSlot()
            slot.SetParent(toolTip)
            slot.SetWindowVerticalAlignCenter()
            self.slotList.append(slot)

        itemImage = self.__MakeItemImage()
        itemImage.SetParent(toolTip)
        itemImage.SetWindowVerticalAlignCenter()
        itemImage.SetPosition(-35, 0)
        self.itemImage = itemImage

        self.titleBar.SetCloseEvent(ui.__mem_func__(self.CancelRefine))
        self.isLoaded = True

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

    def __MakeSlot(self):
        slot = ui.ImageBox()
        slot.LoadImage("d:/ymir work/ui/public/slot_base.sub")
        slot.Show()
        self.children.append(slot)
        return slot

    def __MakeItemImage(self):
        itemImage = ui.ImageBox()
        itemImage.Show()
        self.children.append(itemImage)
        return itemImage

    def __MakeThinBoard(self):
        thinBoard = ui.ThinBoard()
        thinBoard.SetParent(self)
        thinBoard.Show()
        self.children.append(thinBoard)
        return thinBoard

    def Destroy(self):
        self.ClearDictionary()
        self.dlgQuestion = None
        self.board = 0
        self.probText = 0
        self.costText = 0
        self.titleBar = 0
        self.toolTip = 0
        self.successPercentage = None
        self.slotList = []
        self.children = []

    def Open(self, targetItemPos, nextGradeItemVnum, cost, prob, type):

        if False == self.isLoaded:
            self.__LoadScript()

        self.__Initialize()

        self.targetItemPos = targetItemPos
        self.vnum = nextGradeItemVnum
        self.cost = cost
        self.percentage = prob
        self.type = type

        self.probText.SetText(localeInfo.REFINE_SUCCESS_PROBALITY % (self.percentage))
        self.costText.SetText(localeInfo.REFINE_COST % (self.cost))

        self.toolTip.ClearToolTip()
        metinSlot = []
        for i in xrange(player.METIN_SOCKET_MAX_NUM):
            metinSlot.append(player.GetItemMetinSocket(targetItemPos, i))

        attrSlot = []
        for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM):
            attrSlot.append(player.GetItemAttribute(targetItemPos, i))
        self.toolTip.AddRefineItemData(nextGradeItemVnum, metinSlot, attrSlot)

        item.SelectItem(nextGradeItemVnum)
        self.itemImage.LoadImage(item.GetIconImageFileName())
        xSlotCount, ySlotCount = item.GetItemSize()
        for slot in self.slotList:
            slot.Hide()
        for i in xrange(min(3, ySlotCount)):
            self.slotList[i].SetPosition(-35, i*32 - (ySlotCount-1)*16)
            self.slotList[i].Show()

        self.dialogHeight = self.toolTip.GetHeight() + 46
        self.UpdateDialog()

        self.SetTop()
        self.Show()

    def Close(self):
        self.dlgQuestion = None
        self.Hide()

    def AppendMaterial(self, vnum, count):
        slot = self.__MakeSlot()
        slot.SetParent(self)
        slot.SetPosition(15, self.dialogHeight)

        itemImage = self.__MakeItemImage()
        itemImage.SetParent(slot)
        item.SelectItem(vnum)
        itemImage.LoadImage(item.GetIconImageFileName())

        thinBoard = self.__MakeThinBoard()
        thinBoard.SetPosition(50, self.dialogHeight)
        thinBoard.SetSize(191, 20)

        textLine = ui.TextLine()
        textLine.SetParent(thinBoard)
        textLine.SetFontName(localeInfo.UI_DEF_FONT)
        textLine.SetPackedFontColor(0xffdddddd)
        textLine.SetText("%s x %02d" % (item.GetItemName(), count))
        textLine.SetOutline()
        textLine.SetFeather(False)
        textLine.SetWindowVerticalAlignCenter()
        textLine.SetVerticalAlignCenter()

        if localeInfo.IsARABIC():
            (x,y) = textLine.GetTextSize()
            textLine.SetPosition(x, 0)
        else:
            textLine.SetPosition(15, 0)

        textLine.Show()
        self.children.append(textLine)

        self.dialogHeight += 34
        self.UpdateDialog()

    def UpdateDialog(self):
        newWidth = self.toolTip.GetWidth() + 60
        newHeight = self.dialogHeight + 69

        ## 936 : 개량 확률 표시 안함
        ##if 936 == app.GetDefaultCodePage():
        newHeight -= 8

        if localeInfo.IsARABIC():
            self.board.SetPosition( newWidth, 0 )

            (x, y) = self.titleBar.GetLocalPosition()
            self.titleBar.SetPosition( newWidth - 15, y )

        self.board.SetSize(newWidth, newHeight)
        self.toolTip.SetPosition(15 + 35, 38)
        self.titleBar.SetWidth(newWidth-15)
        self.SetSize(newWidth, newHeight)

        (x, y) = self.GetLocalPosition()
        self.SetPosition(x, y)

    def OpenQuestionDialog(self):

        if 100 == self.percentage:
            self.Accept()
            return

        if 5 == self.type: ## 무신의 축복서
            self.Accept()
            return

        dlgQuestion = uiCommon.QuestionDialog2()
        dlgQuestion.SetText2(localeInfo.REFINE_WARNING2)
        dlgQuestion.SetAcceptEvent(ui.__mem_func__(self.Accept))
        dlgQuestion.SetCancelEvent(ui.__mem_func__(dlgQuestion.Close))

        if 3 == self.type: ## 현철
            dlgQuestion.SetText1(localeInfo.REFINE_DESTROY_WARNING_WITH_BONUS_PERCENT_1)
            dlgQuestion.SetText2(localeInfo.REFINE_DESTROY_WARNING_WITH_BONUS_PERCENT_2)
        elif 2 == self.type: ## 축복서
            dlgQuestion.SetText1(localeInfo.REFINE_DOWN_GRADE_WARNING)
        else:
            dlgQuestion.SetText1(localeInfo.REFINE_DESTROY_WARNING)

        dlgQuestion.Open()
        self.dlgQuestion = dlgQuestion

    def Accept(self):
        net.SendRefinePacket(self.targetItemPos, self.type)
        self.Close()

    def CancelRefine(self):
        net.SendRefinePacket(255, 255)
        self.Close()

    def OnPressEscapeKey(self):
        self.CancelRefine()
        return True
 
Bu kısımda seçtiğim tüm alanı değiştireceksiniz. İlk başta anlattığım şekilde.

Screenshot_3.png
 
Bu kısımda seçtiğim tüm alanı değiştireceksiniz. İlk başta anlattığım şekilde.

2868 eklentisini görüntüle

Yardımların için çok teşekkür ederim. Dediğin satırları değiştirdim ama yine beceremedim. Problem bende kendimde normalde web tasarım yapan birisiyim. Yani şunu yapamamam baya koydu. İki kod değiştircem olmadı bir türlü.
 
metin2 klasöründe ki syserr.txt dosyasında ki yazanları iletebilir misin?
 
metin2 klasöründe ki syserr.txt dosyasında ki yazanları iletebilir misin?

Kod:
0606 00:52:05738 :: Pack index file fourcc error! pack/locale_ae
0606 00:52:05738 :: Pack index file fourcc error! pack/locale_de
0606 00:52:05739 :: Pack index file fourcc error! pack/locale_es
0606 00:52:05739 :: Pack index file fourcc error! pack/locale_fr
0606 00:52:05740 :: Pack index file fourcc error! pack/locale_gr
0606 00:52:05741 :: Pack index file fourcc error! pack/locale_it
0606 00:52:05741 :: Pack index file fourcc error! pack/locale_nl
0606 00:52:05742 :: Pack index file fourcc error! pack/locale_pl
0606 00:52:05742 :: Pack index file fourcc error! pack/locale_pt
0606 00:52:05745 :: Pack index file fourcc error! pack/locale_en
0606 00:52:05746 :: Pack index file fourcc error! pack/locale_ro
0606 00:52:05746 :: Pack index file fourcc error! pack/locale_ru
0606 00:52:05747 :: Pack index file fourcc error! pack/locale_dk
0606 00:52:05747 :: Pack index file fourcc error! pack/locale_cz
0606 00:52:05748 :: Pack index file fourcc error! pack/locale_hu
0606 00:52:08533 ::
networkModule.py(line:208) SetSelectCharacterPhase
system.py(line:130) __pack_import
system.py(line:110) _process_result
introSelect.py(line:31) <module>
system.py(line:130) __pack_import
system.py(line:110) _process_result
interfaceModule.py(line:12) <module>
system.py(line:130) __pack_import
system.py(line:110) _process_result
uiInventory.py(line:12) <module>
system.py(line:130) __pack_import

networkModule.SetSelectCharacterPhase - <type 'exceptions.IndentationError'>:unexpected indent (uiRefine.py, line 357)

0606 00:52:08533 :: ============================================================================================================
0606 00:52:08533 :: Abort!!!!

Linkleri görebilmek için giriş yap veya kayıt ol.
bu da o dosyanın temizi.
 
Kod:
0606 00:52:05738 :: Pack index file fourcc error! pack/locale_ae
0606 00:52:05738 :: Pack index file fourcc error! pack/locale_de
0606 00:52:05739 :: Pack index file fourcc error! pack/locale_es
0606 00:52:05739 :: Pack index file fourcc error! pack/locale_fr
0606 00:52:05740 :: Pack index file fourcc error! pack/locale_gr
0606 00:52:05741 :: Pack index file fourcc error! pack/locale_it
0606 00:52:05741 :: Pack index file fourcc error! pack/locale_nl
0606 00:52:05742 :: Pack index file fourcc error! pack/locale_pl
0606 00:52:05742 :: Pack index file fourcc error! pack/locale_pt
0606 00:52:05745 :: Pack index file fourcc error! pack/locale_en
0606 00:52:05746 :: Pack index file fourcc error! pack/locale_ro
0606 00:52:05746 :: Pack index file fourcc error! pack/locale_ru
0606 00:52:05747 :: Pack index file fourcc error! pack/locale_dk
0606 00:52:05747 :: Pack index file fourcc error! pack/locale_cz
0606 00:52:05748 :: Pack index file fourcc error! pack/locale_hu
0606 00:52:08533 ::
networkModule.py(line:208) SetSelectCharacterPhase
system.py(line:130) __pack_import
system.py(line:110) _process_result
introSelect.py(line:31) <module>
system.py(line:130) __pack_import
system.py(line:110) _process_result
interfaceModule.py(line:12) <module>
system.py(line:130) __pack_import
system.py(line:110) _process_result
uiInventory.py(line:12) <module>
system.py(line:130) __pack_import

networkModule.SetSelectCharacterPhase - <type 'exceptions.IndentationError'>:unexpected indent (uiRefine.py, line 357)

0606 00:52:08533 :: ============================================================================================================
0606 00:52:08533 :: Abort!!!!

Linkleri görebilmek için giriş yap veya kayıt ol.
bu da o dosyanın temizi.

Syserr'in bu sistem ile alakası yok, yine de aşağıda attığım dosyayı indirip test edin.
 

Dosya Eklentileri

  • uirefine.zip
    2,8 KB · Gösterim: 44
Ben bu sistemi kurdum fakat otomatik + basma sistemi ile yazılar üst üste geliyor yazıyı biraz daha alta nasıl alabilirim ?
 
Geri
Üst