Metin2 Npc Boyutlandırma

Quaftar

Moderatör
Moderatör
Premium Üye
Geliştirici
Yardımsever Üye
Editör
Mesaj
735
Çözümler
55
Beğeni
1.364
Puan
1.179
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()
 
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
 
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.
 
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:
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.
 
Eline sağlık paylaşım için sağol tiçaret de böyle olsa ne kadar çok item koyulunca genişlese
 
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.
evet bunda da sürüklüyebiliyorsun. problem devam yani
 
Geri
Üst