Server Taraflı Efsun Botunu Ekledim.
Baktım Elementim ve Yansıtmam Olmasına Rağmen Slot'da İtemin Üstüne Gelince Sadece Bonuslar Gözüküyor. Bende Dahil Edeyim Dedim Belki Bu Sistemleri Olupta Farketmeyen Arkadaşlarımız Var Olabilir.
UiSwitchBot.py Açın ve Aratın:
Değiştir:
"Yansıtma ve Refine Element Sistemlerinizi Kendinize Göre Değiştirmeyi veya Düzenlemeyi Unutmayın."
AddItemData İçinde Farklı Parametreleriniz Var veya Farklı Sıralarda İse Argümanları Ona Göre Düzenleyiniz.
Baktım Elementim ve Yansıtmam Olmasına Rağmen Slot'da İtemin Üstüne Gelince Sadece Bonuslar Gözüküyor. Bende Dahil Edeyim Dedim Belki Bu Sistemleri Olupta Farketmeyen Arkadaşlarımız Var Olabilir.
UiSwitchBot.py Açın ve Aratın:
Kod:
def OverInItem(self, overSlotPos): self.itemSlot.SetUsableItem(True) if self.IsEmpty(): return self.tooltipItem.ClearToolTip() itemVnum = player.GetItemIndex(player.SWITCHBOT, self.slot_num) metinSlot = [player.GetItemMetinSocket(player.SWITCHBOT, self.slot_num, i) for i in xrange(player.METIN_SOCKET_MAX_NUM)] attrSlot = [player.GetItemAttribute(player.SWITCHBOT, self.slot_num, i) for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM)] self.tooltipItem.AddItemData(itemVnum, metinSlot, attrSlot) self.tooltipItem.ShowToolTip()
Değiştir:
Kod:
def OverInItem(self, overSlotPos): self.itemSlot.SetUsableItem(True) if self.IsEmpty(): return self.tooltipItem.ClearToolTip() itemVnum = player.GetItemIndex(player.SWITCHBOT, self.slot_num) metinSlot = [player.GetItemMetinSocket(player.SWITCHBOT, self.slot_num, i) for i in xrange(player.METIN_SOCKET_MAX_NUM)] attrSlot = [player.GetItemAttribute(player.SWITCHBOT, self.slot_num, i) for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM)] if app.ENABLE_REFINE_ELEMENT: refineElement = player.GetItemRefineElement(player.SWITCHBOT, self.slot_num) self.tooltipItem.AddItemData(itemVnum, metinSlot, attrSlot, 0, 0, player.SWITCHBOT, self.slot_num, refineElement) elif app.BL_TRANSMUTATION_SYSTEM: self.tooltipItem.AddItemData(itemVnum, metinSlot, attrSlot, 0, 0, player.SWITCHBOT, self.slot_num) else: self.tooltipItem.AddItemData(itemVnum, metinSlot, attrSlot) self.tooltipItem.ShowToolTip()
"Yansıtma ve Refine Element Sistemlerinizi Kendinize Göre Değiştirmeyi veya Düzenlemeyi Unutmayın."
AddItemData İçinde Farklı Parametreleriniz Var veya Farklı Sıralarda İse Argümanları Ona Göre Düzenleyiniz.
Güncelleme Saat: 03:22
Eğer İtem Yansıtmaya Sahip İse ve Slot'a Koyulduğu Zaman "InGame_Convert_Mark" Gözükür.
Arat:
Kod:
def RefreshItemSlot(self): if self.IsEmpty(): switchbot.ClearSlot(self.slot_num) self.itemSlot.ClearSlot(0) self.statusBar.Hide() else: itemCount = player.GetItemCount(player.SWITCHBOT, self.slot_num) itemVnum = player.GetItemIndex(player.SWITCHBOT, self.slot_num) if itemCount == 1: itemCount = 0 self.itemSlot.SetItemSlot(0, itemVnum, itemCount) self.statusBar.Show() if self.IsActive(): self.itemSlot.ActivateSlot(0) self.statusBar.SetColor(COLOR_ACTIVE) else: self.itemSlot.DeactivateSlot(0) if self.IsFinished(): self.statusBar.SetColor(COLOR_FINISHED) else: self.statusBar.SetColor(COLOR_INACTIVE) self.itemSlot.RefreshSlot()
Değiştir:
Kod:
def RefreshItemSlot(self): if self.IsEmpty(): switchbot.ClearSlot(self.slot_num) self.itemSlot.ClearSlot(0) self.statusBar.Hide() else: itemCount = player.GetItemCount(player.SWITCHBOT, self.slot_num) itemVnum = player.GetItemIndex(player.SWITCHBOT, self.slot_num) if itemCount == 1: itemCount = 0 self.itemSlot.SetItemSlot(0, itemVnum, itemCount) self.statusBar.Show() if self.IsActive(): self.itemSlot.ActivateSlot(0) self.statusBar.SetColor(COLOR_ACTIVE) else: self.itemSlot.DeactivateSlot(0) if self.IsFinished(): self.statusBar.SetColor(COLOR_FINISHED) else: self.statusBar.SetColor(COLOR_INACTIVE) if app.BL_TRANSMUTATION_SYSTEM: # dwChangeLookVnum dwChangeLookVnum = player.GetChangeLookVnum(player.SWITCHBOT, self.slot_num) if dwChangeLookVnum != 0: self.itemSlot.SetSlotCoverImage(self.slot_num, "icon/item/ingame_convert_Mark.tga") else: self.itemSlot.EnableSlotCoverImage(self.slot_num, False) self.itemSlot.RefreshSlot()
Kanıt:
[Python] Server Taraflı Efsun Botu (Yansıtma ve Refine Element Uyarlama)
Metin2 özel sunucularında gelişmiş sistemlerden birisi olan efsun botları, oyuncuların karakter güçlendirme süreçlerini otomatikleştirmek için kullanılır. Bu sistemde, server-side çalışan bir Python betiği sayesinde efsun işlemleri daha verimli ve güvenli hale getirilebilir. Bu yazıda, yansıtma ve refine element ayarlamalarının yapıldığı bir Python tabanlı efsun botu sistemi ele alınacaktır.
Efsun Botunun Amacı ve Özellikleri
Metin2 oyununda efsun işlemi, oyuncuların eşyalarını geliştirmelerine olanak sağlar. Ancak bu işlem manuel olarak yapıldığında zaman alıcı ve riskli olabilir. Server taraflı bir efsun botu, bu süreci kontrol altına alarak hem otomasyon sağlar hem de sunucu yöneticilerine yetki üzerinden erişim sunar.
Bu sistemde yansıtma işlemi, oyuncuların eşyalarında bulunan mevcut değerlerin korunması anlamına gelir. Yani bir eşya yükseltildiğinde eski özellikler korunurken yeni özellikler eklenir. Refine element ise, eşyanın攻击力 (atack power), 방어력 (defense) gibi fiziksel değerlerini artırır.
Python Kullanımı ve Entegrasyon
Python, güçlü ve kolay okunabilir sözdizimi sayesinde Metin2 sunucularında script geliştirme sürecini kolaylaştırır. PyRoot yapısı ile birlikte sunucu üzerinde komut çalıştırma, veritabanı işlemleri yapma ve olay tetikleme gibi işlemler yapılabilir.
Bu bot sistemi için bir GUI arayüzü geliştirilerek, sunucu yöneticileri kolayca efsun parametrelerini ayarlayabilir. Örneğin bir efsun seviyesi belirlenip, bu seviyeye özel element veya yansıtma oranları atanabilir. Ayrıca loglama özelliği ile yapılan tüm işlemler takip edilebilir.
Sunucu Tarafında Güvenlik ve Performans
Python ile geliştirilen bu sistem, doğrudan game server ile entegre çalışır. DB Core bağlantısı sayesinde, veritabanı üzerinden eşya ve kullanıcı bilgileri güvenli şekilde yönetilir. Ayrıca C++ ile yazılmış olan ana sistemle uyumlu çalışması için gerekli API çağrıları yapılır.
Bu bot, sunucuda exploit veya cheat kullanımını engellemek için güvenlik kontrolleri içerir. Her efsun işlemi için sunucu tarafında doğrulama yapılır ve geçersiz istekler reddedilir.
Sonuç
Server taraflı bir efsun botu, Metin2 özel sunucularında oyuncu deneyimini artırmak ve geliştirici kontrolünü sağlamak için ideal bir çözümdür. Yansıtma ve refine element gibi gelişmiş özelliklerin Python kullanarak yönetilmesi, sistemin daha esnek ve güçlü hale gelmesini sağlar. Metin2Lobby.com olarak bu tarz gelişmiş sistemlerin geliştirilmesini destekliyoruz.
[Python] Server-Side Enchant Bot (Reflection and Refine Element Adjustment)
In Metin2 private servers, enchant bots are one of the advanced systems used to automate character strengthening processes. In this system, a server-side Python script makes enchant operations more efficient and secure. This article discusses a Python-based enchant bot system that handles reflection and refine element adjustments.
Purpose and Features of the Enchant Bot
In the Metin2 game, enchanting allows players to upgrade their items. However, doing this manually can be time-consuming and risky. A server-side enchant bot helps manage this process by providing automation and allowing administrators to control access via permissions.
In this system, reflection refers to preserving existing values on an item during upgrades. When an item is upgraded, its original attributes are preserved while new ones are added. Refine element increases physical stats like attack power and defense of the item.
Python Usage and Integration
Python simplifies the process of developing scripts for Metin2 servers thanks to its powerful and readable syntax. Together with the PyRoot structure, it allows command execution, database operations, and event triggering on the server.
For this bot system, a GUI interface can be developed so that server administrators can easily configure enchant parameters. For example, specific element or reflection rates can be set per enchant level. Additionally, logging features allow tracking all operations performed.
Security and Performance on the Server Side
The system developed with Python works directly integrated with the game server. Through DB Core connections, item and user information is securely managed in the database. It also integrates with the main C++-based system through necessary API calls.
This bot includes security checks to prevent exploits or cheats on the server. Each enchant operation is validated on the server side, and invalid requests are rejected.
Conclusion
A server-side enchant bot is an ideal solution for enhancing player experience and maintaining developer control in Metin2 private servers. Managing advanced features like reflection and refine element using Python makes the system more flexible and robust. At Metin2Lobby.com, we support the development of such advanced systems.
