Dali Offshop Gui

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 40

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0



Market oluşturma bölümünü yeniden yazdım. Market gui ve yönetim panelini yeniden düzenledim ve 40 slotlu duruma getirdim.
Not: 40 slot için src de eski duruma getirilmesi gereken yerleri düzenleyin. Verdiğim kodların bir kısmında paylaştığım premium sistemi kodları var ben market oluşturma süresini ve gerekli parayı premium sistemine bağladım sizde yoksa kendinize göre düzenleyin. Beğenmeyi unutmayın.

Market oluşturma gui
116389_dddef1831c72a841bb1596bdd546d10a.png


Market gui / Yönetim paneli
116387_b3632737b8fee4ccdd1622b1e299f98b.png



Kod:
if app.ENABLE_OFFLINE_SHOP: //Arat class QuestionDialog(ui.ScriptWindow): //Üstüne Ekle [HASH=155976]#ZeRo[/HASH]     class TextBoard(ui.ThinBoard):         def __init__(self):             ui.ThinBoard.__init__(self)             self.lineHeight = 12             self.childrenList = []         def __del__(self):             ui.ThinBoard.__del__(self)         def Clear(self):             self.lineHeight = 12             self.childrenList = []         def AppendTextLine(self, text):             textLine = ui.TextLine()             textLine.SetParent(self)             textLine.SetFontName(localeInfo.UI_DEF_FONT_LARGE)             textLine.SetText(str(text))             textLine.SetOutline()             textLine.SetFeather(False)             textLine.Show()             textLine.SetPosition(10, self.lineHeight)             self.childrenList.append(textLine)             self.lineHeight += 17             return textLine     class InputDialogForZeRo(InputDialog):         def __init__(self):             ui.ScriptWindow.__init__(self)             self.__CreateDialog()         def __del__(self):             InputDialog.__del__(self)         def __CreateDialog(self):             pyScrLoader = ui.PythonScriptLoader()             pyScrLoader.LoadScriptFile(self, "uiscript/inputdialogforzero.py")             try:                 getObject = self.GetChild                 self.board = getObject("Board")                 self.acceptButton = getObject("AcceptButton")                 self.cancelButton = getObject("CancelButton")                 self.inputSlot = getObject("InputSlot")                 self.inputValue = getObject("InputValue")                 self.description1 = getObject("Description1")                 self.description2 = getObject("Description2")                 self.description3 = getObject("Description3")                 self.textBoard = TextBoard()                 self.textBoard.SetParent(self.board)                 self.textBoard.SetPosition(10, 30)                 self.textBoard.SetSize(220, 172)                 self.textBoard.AddFlag('not_pick')                 self.textBoard.Show()                 self.RefreshText()             except:                 import exception                 exception.Abort("InputDialogWithDescription.LoadBoardDialog.BindObject")         def SetDescription1(self, text):             self.description1.SetText(text)         def SetDescription2(self, text):             self.description2.SetText(text)         def SetDescription3(self, text):             self.description3.SetText(text)         def SplitDescription(self, desc, limit):             total_tokens = desc.split()             line_tokens = []             line_len = 0             lines = []             for token in total_tokens:                 if '|' in token:                     sep_pos = token.find('|')                     line_tokens.append(token[:sep_pos])                     lines.append(' '.join(line_tokens))                     line_len = len(token) - (sep_pos + 1)                     line_tokens = [token[sep_pos + 1:]]                 else:                     line_len += len(token)                     if len(line_tokens) + line_len > limit:                         lines.append(' '.join(line_tokens))                         line_len = len(token)                         line_tokens = [token]                     else:                         line_tokens.append(token)             if line_tokens:                 lines.append(' '.join(line_tokens))             return lines         def RefreshText(self):             self.textBoard.Clear()             lines = self.SplitDescription(uiScriptLocale.OFFLINE_SHOP_INFO, 35)             if not lines:                 return             for line in lines:                 self.textBoard.AppendTextLine(line) [HASH=155976]#ZeRo[/HASH]


Kod:
OFFLINE_SHOP_NAME    Market İsmi OFFLINE_SHOP_CREATE    Market Oluştur OFFLINE_SHOP_INFO    Market Tezgâh sistemi sen oyunda olmasan da senin belirlediğin süre boyunca nesnelerinin ticaretinin yapılmasını sağlar. Bu sistem sadece birinci köyünde kullanılabilir. Oyundan Çıkman tezgâhını kapatmaz. Tezgâhını yönetmek için envanterinden bulunan Market Oluştur'u kullanabilirsin.


Kod:
Tümünü Değiştir. //Arat self.lockButton.SetText //Değiştir self.lockButton.SetToolTipText



Kod:
//Arat     def OpenPrivateShopInputNameDialog(self):         #if player.IsInSafeArea():         #    chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.CANNOT_OPEN_PRIVATE_SHOP_IN_SAFE_AREA)         #    return         inputDialog = uiCommon.InputDialog()         inputDialog.SetTitle(localeInfo.PRIVATE_SHOP_INPUT_NAME_DIALOG_TITLE)         inputDialog.SetMaxLength(32)         inputDialog.SetAcceptEvent(ui.__mem_func__(self.OpenPrivateShopBuilder))         inputDialog.SetCancelEvent(ui.__mem_func__(self.ClosePrivateShopInputNameDialog))         inputDialog.Open()         self.inputDialog = inputDialog     //Arat değiştir     def OpenPrivateShopInputNameDialog(self):         #if player.IsInSafeArea():         #    chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.CANNOT_OPEN_PRIVATE_SHOP_IN_SAFE_AREA)         #    return         if app.ENABLE_OFFLINE_SHOP:             inputDialog = uiCommon.InputDialogForZeRo()             inputDialog.SetTitle(localeInfo.PRIVATE_SHOP_INPUT_NAME_DIALOG_TITLE)             inputDialog.SetMaxLength(24)             inputDialog.SetAcceptEvent(ui.__mem_func__(self.OpenPrivateShopBuilder))             inputDialog.SetCancelEvent(ui.__mem_func__(self.ClosePrivateShopInputNameDialog))             inputDialog.SetDescription1(uiScriptLocale.OFFLINE_SHOP_NAME)             if app.ENABLE_PREMIUM_MEMBERS:                 if self.__GetPlayerPremium():                     inputDialog.SetDescription2("Market Ücreti = 1.000.000 Yang")                     inputDialog.SetDescription3("Market Süresi = 7 Gün")                 else:                     inputDialog.SetDescription2("Market Ücreti = 1.000.000 Yang")                     inputDialog.SetDescription3("Market Süresi = 2 Gün")             else:                 inputDialog.SetDescription2("Market Ücreti = 1.000.000 Yang")                 inputDialog.SetDescription3("Market Süresi = 2 Gün")             inputDialog.SetBoardWidth(190)             inputDialog.Open()             self.inputDialog = inputDialog         else:             inputDialog = uiCommon.InputDialog()             inputDialog.SetTitle(localeInfo.PRIVATE_SHOP_INPUT_NAME_DIALOG_TITLE)             inputDialog.SetMaxLength(32)             inputDialog.SetAcceptEvent(ui.__mem_func__(self.OpenPrivateShopBuilder))             inputDialog.SetCancelEvent(ui.__mem_func__(self.ClosePrivateShopInputNameDialog))             inputDialog.Open()             self.inputDialog = inputDialog

uiscript e at
inputdialogforzero.py ve offlineshop.py
Dali Offshop GUI Nedir?
Metin2 özel sunucu geliştiricileri için kritik öneme sahip olan Dali Offshop GUI, kullanıcı dostu bir arayüz sayesinde offshop sistemlerinin daha kolay yönetilmesini sağlar.
Bu sistem genellikle Metin2 PvP sunucularında kullanılır ve oyuncuların offline olarak item alım-satım yapabilmesine olanak tanır.

Dali Offshop GUI Özellikleri
Dali Offshop GUI, Python tabanlı bir arayüzdür ve genellikle py GUI sistemleriyle entegre çalışır.
Bu arayüz, kullanıcıların shop açma, ürün ekleme, fiyat düzenleme gibi işlemleri grafiksel bir ortamda yapmasını sağlar.
Ayrıca, py root klasörleriyle uyumlu çalışarak, sunucu tarafında yapılan değişikliklerin hızlıca yansıtılmasını mümkün kılar.

Neden Dali Offshop GUI Kullanmalısınız?
Metin2 özel sunucularında aktif bir PvP ortamı kurmak isteyen geliştiriciler için Dali Offshop GUI, hem zaman kazandıran hem de kullanıcı deneyimini artıran önemli bir özelliktir.
Geliştiriciler, bu arayüzü kullanarak shop sistemlerini kolayca customize edebilir ve oyuncuların sunucuda daha aktif kalmasını sağlayabilirler.

Kurulum ve Entegrasyon
Dali Offshop GUI kurulumu için öncelikle uiscript ve py root dosyalarının doğru şekilde yapılandırılması gerekir.
Bu sistem, C++ tabanlı sunucu kaynak kodlarıyla uyumlu çalışır ve db core üzerinde güvenli veri tutumu sağlar.
Martysama gibi popüler sistemlerle de entegre olabilmektedir.

Dikkat Edilmesi Gerekenler
Dali Offshop GUI kullanırken py dosyalarında yapılacak küçük bir hata, sistemin tamamen çalışmamasına neden olabilir.
Bu nedenle, geliştiricilerin dikkatli olması ve test sunucularında denemeler yapması önerilir.

Sonuç
Dali Offshop GUI, Metin2 özel sunucu geliştiricileri için güçlü ve kullanıcı dostu bir araçtır.
Doğru kullanıldığında, hem sunucu yönetimini kolaylaştırır hem de oyuncu katılımını artırır.


What is Dali Offshop GUI?
Dali Offshop GUI is a critical tool for Metin2 private server developers, enabling easier management of offshop systems through a user-friendly interface.
This system is commonly used on Metin2 PvP servers and allows players to buy and sell items while offline.

Features of Dali Offshop GUI
Dali Offshop GUI is a Python-based interface that typically works integrated with py GUI systems.
It enables users to perform operations such as opening shops, adding products, and adjusting prices within a graphical environment.
Moreover, it works compatibly with py root folders, allowing changes made on the server side to be quickly reflected.

Why Should You Use Dali Offshop GUI?
For developers aiming to establish an active PvP environment on their Metin2 private servers, Dali Offshop GUI is an essential feature that saves time and enhances user experience.
Developers can customize shop systems easily and ensure players stay more active on the server.

Installation and Integration
To install Dali Offshop GUI, it's necessary to properly configure uiscript and py root files.
This system operates compatibly with C++ based server source codes and ensures secure data handling over db core.
It can also integrate with popular systems like Martysama.

Things to Consider
A small error in py files when using Dali Offshop GUI can cause the entire system to stop functioning.
Therefore, it's recommended that developers be cautious and perform tests on test servers.

Conclusion
Dali Offshop GUI is a powerful and user-friendly tool for Metin2 private server developers.
When used correctly, it facilitates server management and increases player engagement.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Geri
Üst Alt