[PYTHON-Mini] Npclerden Alışverişi Kolaylaştırmak

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

Admin

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

Kısaca anlatmak gerekirse, mesela en basitinden efsun basma nesnesi almak için kullanabilirsiniz. Efsun botu çalıştırmadan önce 2 envanter değiştirme nesnesi almak istiyoruz, bu eklenti sayesinde direkt "90" adet seçerek 2 envanteri doldurabiliriz. :)

Not: Envanterde ne kadar yer varsa o kadar item alır, fazlasını almaz- yere atmaz yani herhangi bir buga sebep olmaz.

Gif :
fOsOA-.gif

Örnek video :



Yapımı:
+ ve - butonları için aşağıda verdiğim PickMoneyDiyalog.py dosyasını Uiscript.epk&eix içindeki ile değiştirin.
Root.epk&eix içine de uipickmoney.py atın ve değiştirin.

Dosya:


Root içinden uishop.py dosyasını açın.

Aratın
Kod:
import ui

üstüne ekleyin
Kod:
import uiPickMoney


Aratın
Kod:
def LoadDialog(self

Kod bloğu içinde bu kodu bulun
Kod:
self.Refresh()

Kodun üstüne bunları ekleyin
Kod:
itemal = uiPickMoney.PickMoneyDialog()         itemal.LoadDialog()         itemal.Hide()         self.itemal = itemal



Üstteki kodun hemen altında bu kodu bulun
Kod:
def Destroy(self)

Bunları fotodaki gibi ekleyin
Kod:
self.itemal.Destroy()         self.itemal = 0


Aratın
Kod:
def UnselectItemSlot(

Kod bloğunu tamamen silip aşağıdaki gibi yapın
Kod:
def UnselectItemSlot(self, selectedSlotPos):         if shop.IsPrivateShop():             self.AskBuyItem(selectedSlotPos)         else:             #net.SendShopBuyPacket(selectedSlotPos)             itemIndex = shop.GetItemID(selectedSlotPos)             item.SelectItem(itemIndex)             itemName = item.GetItemName()             curMax = 200             self.itemal.SetTitleName(itemName)             self.itemal.SetAcceptEvent(ui.__mem_func__(self.OnItC))             self.itemal.Open(curMax)             self.itemal.SetMax(3)             self.cek = selectedSlotPos


Üstteki kodu ekledikten sonra 2 boşluk bırakıp bu kodu ekleyin üstteki fotodaki gibi olacak
Kod:
def OnItC(self, adet):         n = 0         cek = self.cek         while n < adet:             net.SendShopBuyPacket(cek)             n = n + 1


Bu kadar.

Aslında sistemi komple değiştirdim, npc'de her itemin adetini 1 yapıp seçtiğim kadar gelmesi vs. Game db ve client değiştirmek gerektiği için böyle kısayol olması daha iyi olur. Bir kaç gün sonra npc'den aldığınız itemlerin üst üste yerleşmesini de paylaşırım.
PYTHON-Mini: NPC'lerden Alışverişi Kolaylaştırmak


Metin2 özel sunucularında kullanıcı deneyimini artırmak için Python tabanlı sistemlerden yararlanmak

Metin2 özel sunucularında oyuncuların NPC'lerden eşya alımı veya satımı gibi işlemlerini kolaylaştırmak, hem zaman kazandırır hem de kullanıcı dostu bir sistem sunar. Bu yazıda, Python kullanarak nasıl basit ve etkili bir alışveriş sistemi kurulabileceğini ele alacağız. Bu sistem, özellikle Py GUI ve UIScript temelli arayüzlerle entegre çalışabilir. Oyuncuların doğrudan bir butona tıklayarak hızlıca satın alma yapmasını sağlayacak bir yapı oluşturmak, hem sunucu performansını artırır hem de oyuncu sadakatini yükseltir.

NPC Alışveriş Sisteminin Avantajları

Geleneksel yöntemlerde oyuncuların NPC'ye gelip menüden eşyaları teker teker seçmesi ve satın alması gerekir. Ancak Python ile geliştirilen bu mini sistem sayesinde, oyuncu doğrudan belirli bir menüye ulaşabilir ve hızlıca alışveriş yapabilir. Bu da hem zaman hem de emek tasarrufu sağlar. Özellikle PvP sunucularında, oyuncuların silah, zırh, potion gibi eşyaları hızlıca temin etmesi kritik öneme sahiptir.

Sistem Kurulumu ve Yapısı

Bu sistem, py root[/COORD] dizininde tanımlanır. Python dosyası, belirli bir buton ile tetiklenir ve UIScript üzerinden bir pencere açılır. Bu pencere içinde oyuncuya sunulan ürünler listelenir. Her ürünün adı, fiyatı ve miktarı belirtilir. Seçilen ürün doğrudan envantere eklenir ve gerekli ödeme yapılır. Sistemde DB bağlantısı da sağlanabilir; örneğin, oyuncunun sahip olduğu altın veya cash miktarı kontrol edilir ve işlem buna göre onaylanır.

Python GUI ile Kullanıcı Arayüzü

Py GUI[/COORD] sayesinde, kullanıcı dostu bir arayüz tasarımı yapılabilir. Butonlar, metin kutuları ve grafiksel öğeler ile daha şık ve işlevsel bir alışveriş deneyimi sunulabilir. Bu tür arayüzler, oyuncuların dikkatini çeker ve sistemin profesyonelliğini yansıtır. Ayrıca, uiscript dosyaları ile entegrasyon kolaydır ve mevcut client src[/COORD] dosyalarına zarar vermeden çalışır.

Sistemin Güvenliği ve Performansı[/COORD]

Sistem, Python tarafında doğru tanımlanmışsa, güvenlik açıklarını minimize eder. Örneğin, oyuncu bilgileri doğrudan veritabanından alınır ve işlemler güvenli bir şekilde yapılır. Ayrıca, sunucu tarafında çok fazla yük oluşturmaz. Sadece gerekli veriler alınır ve istemciye aktarılır. Bu da sistem performansını olumlu yönde etkiler.

Sonuç

Metin2 özel sunucularında Python kullanarak geliştirilen bu tür sistemler, oyuncu memnuniyetini ciddi anlamda artırır. Basit bir mini alışveriş modülü bile, kullanıcıların oyun içi deneyimini olumlu etkileyebilir. Özellikle PvP[/COORD] sunucularında, bu tür sistemler rekabet avantajı sağlar. Dilerseniz, bu sistemi Metin2Lobby'de bulunan kaynaklarla birlikte test edebilir veya geliştirebilirsiniz.


PYTHON-Mini: Easing Shopping from NPCs


Using Python-based systems to enhance user experience in Metin2 private servers

In Metin2 private servers, making processes like buying or selling items from NPCs easier can save time and provide a more user-friendly experience. In this article, we'll examine how to build a simple and effective shopping system using Python. This system can be integrated with Py GUI and UIScript-based interfaces. Creating a structure that allows players to click a button and instantly purchase items enhances both server[/COORD] performance and player loyalty.

Advantages of NPC Shopping System

Traditionally, players must approach an NPC, open its menu, and manually select items one by one for purchase. However, with this mini system developed in Python, players can directly access a specific menu and shop quickly. This saves both time and effort. Particularly in PvP[/COORD] servers, where players need to rapidly acquire weapons, armor, potions, etc., this feature becomes critical.

System Installation and Structure

The system is defined within the py root[/COORD] directory. The Python file is triggered by a specific button and opens a window via UIScript. Within this window, the items available to the player are listed. Each item's name, price, and quantity are displayed. Selected items are added directly to the inventory and payment is processed accordingly. A DB[/COORD] connection can also be established—for instance, checking the player's gold or cash amount before confirming the transaction.

User Interface with Python GUI

Thanks to Py GUI[/COORD], a user-friendly interface can be designed. Buttons, text boxes, and graphical elements offer a more attractive and functional shopping experience. Such interfaces capture players' attention and reflect the professionalism of the system. Additionally, integration with uiscript[/COORD] files is straightforward and works without damaging existing client src[/COORD] files.

System Security and Performance

When properly implemented on the Python[/COORD] side, the system minimizes security vulnerabilities. For example, player data is retrieved directly from the database and transactions are performed securely. Moreover, it does not create excessive load on the server. Only necessary data is fetched and transferred to the client, positively affecting system performance.

Conclusion

Using such systems developed with Python in Metin2 private servers significantly increases player satisfaction. Even a simple mini[/COORD] shopping module can positively impact in-game experience. Especially in PvP[/COORD] servers, these kinds of systems provide a competitive advantage. You can test or develop this system further using resources found at Metin2Lobby.
 

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

Benzer konular

Geri
Üst Alt