Metin2 Npc Boyutlandırma

Quaftar

Moderatör
Site yetkilisi
Moderatör
Geliştirici
Yardımsever Üye
Yazar
Mesaj
668
Beğeni
891
Puan
959
Metin2 itemlere göre npc boyutları

8becfe4deadd4731099973772b297b42.gif

Root/uishop.py:
#Arat
    def Refresh(self):
Root/uishop.py:
# Altına ekle
    def GetEmptyLines(self):
        emptyLines = 8
        for i in xrange(5):
            empty = 8
            for j in xrange(8):
                itemIndex = shop.GetItemID(5*j+i)
                if itemIndex > 0:
                    item.SelectItem(itemIndex)
                    (w, h) = item.GetItemSize()
                    empty -= h
            if empty < emptyLines:
                emptyLines = empty
        return emptyLines

Root/uishop.py:
# Arat
            self.itemSlotWindow = GetObject("ItemSlot")
Root/uishop.py:
# Altına ekle
            self.board = GetObject("board")

Root/uishop.py:
# Arat
        self.itemSlotWindow = 0
Root/uishop.py:
# Altına Ekle
        self.board = 0

Root/uishop.py:
# Arat
    # def Open(self, vid):
Root/uishop.py:
# değiştir
    def Open(self, vid):
        isPrivateShop = FALSE
        isMainPlayerPrivateShop = FALSE

        import chr
        if chr.IsNPC(vid):
            isPrivateShop = FALSE
        else:
            isPrivateShop = TRUE

        self.board.SetSize(184, 348)
        self.itemSlotWindow.ArrangeSlot(0, 5, 8, 32, 32, 0, 0)
        self.itemSlotWindow.RefreshSlot()
        self.itemSlotWindow.SetSlotBaseImage("d:/ymir work/ui/public/Slot_Base.sub", 1.0, 1.0, 1.0, 1.0)
        self.btnBuy.SetPosition(21, 292)
        self.btnSell.SetPosition(104, 292)

        if player.IsMainCharacterIndex(vid):

            isMainPlayerPrivateShop = TRUE

            self.btnBuy.Hide()
            self.btnSell.Hide()
            self.btnClose.Show()

        else:
            if isPrivateShop == FALSE:
                EMPTY_LINES = 32 * self.GetEmptyLines()

                self.board.SetSize(184, 348 - EMPTY_LINES)

                self.itemSlotWindow.ArrangeSlot(0, 5, 8 - EMPTY_LINES / 32, 32, 32, 0, 0)
                self.itemSlotWindow.RefreshSlot()
                self.itemSlotWindow.SetSlotBaseImage("d:/ymir work/ui/public/Slot_Base.sub", 1.0, 1.0, 1.0, 1.0)

                self.btnBuy.SetPosition(21, 292 - EMPTY_LINES)
                self.btnSell.SetPosition(104, 292 - EMPTY_LINES)

            isMainPlayerPrivateShop = FALSE

            self.btnBuy.Show()
            self.btnSell.Show()
            self.btnClose.Hide()

        shop.Open(isPrivateShop, isMainPlayerPrivateShop)
        self.Refresh()
        self.SetTop()
        self.Show()

        (self.xShopStart, self.yShopStart, z) = player.GetMainCharacterPosition()
      
//65 slot icin eklesin

    def Open(self, vid):
        isPrivateShop = FALSE
        isMainPlayerPrivateShop = FALSE

        import chr
        if chr.IsNPC(vid):
            isPrivateShop = FALSE
        else:
            isPrivateShop = TRUE

        self.board.SetSize(283, 320)
        self.itemSlotWindow.ArrangeSlot(0, 8, 8, 32, 32, 0, 0)
        self.itemSlotWindow.RefreshSlot()
        self.itemSlotWindow.SetSlotBaseImage("d:/ymir work/ui/public/Slot_Base.sub", 1.0, 1.0, 1.0, 1.0)
        # self.btnBuy.SetPosition(21, 292)
        # self.btnSell.SetPosition(104, 292)

        if player.IsMainCharacterIndex(vid):

            isMainPlayerPrivateShop = TRUE

            # self.btnBuy.Hide()
            # self.btnSell.Hide()
            self.btnClose.Show()

        else:
            if isPrivateShop == FALSE:
                EMPTY_LINES = 32 * self.GetEmptyLines()

                self.board.SetSize(283, 320 - EMPTY_LINES)

                self.itemSlotWindow.ArrangeSlot(0, 8, 8 - EMPTY_LINES / 32, 32, 32, 0, 0)
                self.itemSlotWindow.RefreshSlot()
                self.itemSlotWindow.SetSlotBaseImage("d:/ymir work/ui/public/Slot_Base.sub", 1.0, 1.0, 1.0, 1.0)

                #self.btnBuy.SetPosition(21, 292 - EMPTY_LINES)
                #self.btnSell.SetPosition(104, 292 - EMPTY_LINES)

            isMainPlayerPrivateShop = FALSE

            #self.btnBuy.Show()
            #self.btnSell.Show()
            self.btnClose.Hide()

        shop.Open(isPrivateShop, isMainPlayerPrivateShop)
        self.Refresh()
        self.SetTop()
        self.Show()

        (self.xShopStart, self.yShopStart, z) = player.GetMainCharacterPosition()
 

fastAF

Aktif Üye
Üye
Mesaj
8
Beğeni
5
Puan
433
Merhaba, paylaşım için teşekkürler.
Sorunsuz ekledim fakat satın al ve sat butonları biraz yukarda kaldı. Bu butonları ortalamak için ne yapmam gerekir ya da resimdeki kırmızı ile işaretlediğim bölgeyi tamamen kaldırmak için ne yapmalıyım ? Bilgi verirseniz çok sevinirim.

1.png
 

Quaftar

Moderatör
Site yetkilisi
Moderatör
Geliştirici
Yardımsever Üye
Yazar
Mesaj
668
Beğeni
891
Puan
959
Kod:
self.board.SetSize(184, 348)
        self.itemSlotWindow.ArrangeSlot(0, 5, 8, 32, 32, 0, 0)
        self.itemSlotWindow.RefreshSlot()
        self.itemSlotWindow.SetSlotBaseImage("d:/ymir work/ui/public/Slot_Base.sub", 1.0, 1.0, 1.0, 1.0)
        self.btnBuy.SetPosition(21, 292)
        self.btnSell.SetPosition(104, 292)
burayı
Root/uishop.py:
self.board.SetSize(184, 326)

self.itemSlotWindow.ArrangeSlot(0, 5, 8, 32, 32, 0, 0)

self.itemSlotWindow.RefreshSlot()

self.itemSlotWindow.SetSlotBaseImage("d:/ymir work/ui/public/Slot_Base.sub", 1.0, 1.0, 1.0, 1.0)

self.btnBuy.SetPosition(21, 294)

self.btnSell.SetPosition(104, 294)
bununla değiştiriniz. Eğer butonların yerini beğenmezseniz, o kodlardan değişiklik yapabilirsiniz.
 

fastAF

Aktif Üye
Üye
Mesaj
8
Beğeni
5
Puan
433
Kod:
self.board.SetSize(184, 348)
        self.itemSlotWindow.ArrangeSlot(0, 5, 8, 32, 32, 0, 0)
        self.itemSlotWindow.RefreshSlot()
        self.itemSlotWindow.SetSlotBaseImage("d:/ymir work/ui/public/Slot_Base.sub", 1.0, 1.0, 1.0, 1.0)
        self.btnBuy.SetPosition(21, 292)
        self.btnSell.SetPosition(104, 292)
burayı
Root/uishop.py:
self.board.SetSize(184, 326)

self.itemSlotWindow.ArrangeSlot(0, 5, 8, 32, 32, 0, 0)

self.itemSlotWindow.RefreshSlot()

self.itemSlotWindow.SetSlotBaseImage("d:/ymir work/ui/public/Slot_Base.sub", 1.0, 1.0, 1.0, 1.0)

self.btnBuy.SetPosition(21, 294)

self.btnSell.SetPosition(104, 294)
bununla değiştiriniz. Eğer butonların yerini beğenmezseniz, o kodlardan değişiklik yapabilirsiniz.
Yardım için çok teşekkür ederim.
Ben direk kaldırmaktan yana olduğum için kendimce şöyle bir çözüm buldum.
uishop.py:
#     def Open(self, vid):    içinde

        else:
            if isPrivateShop == FALSE:
                EMPTY_LINES = 32 * self.GetEmptyLines()

                self.board.SetSize(184, 300 - EMPTY_LINES)#326-->300

                self.itemSlotWindow.ArrangeSlot(0, 5, 8 - EMPTY_LINES / 32, 32, 32, 0, 0)
                self.itemSlotWindow.RefreshSlot()
                self.itemSlotWindow.SetSlotBaseImage("d:/ymir work/ui/public/Slot_Base.sub", 1.0, 1.0, 1.0, 1.0)

                self.btnBuy.SetPosition(21, 294 - EMPTY_LINES)
                self.btnSell.SetPosition(104, 294 - EMPTY_LINES)

            isMainPlayerPrivateShop = FALSE

            self.btnBuy.Hide()#Show -->Hide
            self.btnSell.Hide()#Show -->Hide
            self.btnClose.Hide()
Bu kısımları bu şekilde değiştirdiğimizde butonlar kalkıyor ve aradaki kalan boş mesafe de düzelmiş oluyor. Belki başka arkadaşlar da arıyordur diye paylaşmak istedim.
Tekrardan yardım ve paylaşım için teşekkürler.

2323.png
 
Son düzenleme:

Quaftar

Moderatör
Site yetkilisi
Moderatör
Geliştirici
Yardımsever Üye
Yazar
Mesaj
668
Beğeni
891
Puan
959
Rica ederim, katkılarınız için teşekkürler.
 

Mavi Ruh

Aktif Üye
Üye
Mesaj
100
Beğeni
104
Puan
719
Başka bir forumdan eklediğim zaman bir probleme şahit olmuştum. Pencere boyutuna göre height ve width ayarlamıyordu sadece board güncelleniyordu. küçük olduğunu farz edelim boardın altına tıklayıp basılı tutarak pencereyi sürükleyebiliyordum. Bu problemi var mı ? şuan test edemiyorum.
 

Üst