[PYTHON]Piyasaya İnat Sorunsuz PM Görüldü Sistem

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Selamun Aleyküm,Hayırlı Bayramlar
Ben
SkyTech63
Paylaşacağım Sistemin Sahibi: FatihBab34

öncelikle ben bu forumda paylaşımlarıma son vermiş bulunuyorum anladımki bu foruma değer verenlere değer verilmiyor. forumda en aktif kişilerdenim başkasının emeğini sahiplenen kendi yapmış gibi gösteren 10 yaşındaki çocuğa veled dediğimden 3 günlük ban yiyorum.değil 3 gün 3 ay atılsın umrumda değil önemli olan kimin haklı olup olmadığına bakıp banlamak.

ve bu sistemi paylaşmayacaktım aksungur34 ve sunrisee nin inadına sorunsuzca paylaşıyorum
aksungur34 ün paylaştıgı sistemde çeşitli buglar ve sorunlar mevcut idi
örnek:
pmde sa yazsan 2 defa sa yazardı

+ daha geçen benden yardım dilenen sunrisee bugün ona yardım etmedigimden ve aksungur34 ün konusu kapatıldığından bana küfür ediyor anacı çocuk ne yapsın :)

çok yazdım paylaşıma geçelim :d pack vectorsun unpack ettiği kafkasmt2 packının içinden tarafımca çıkartmış bulunuyorum.
sistemi kendi serverimde kullanmaktayım hiç bir sorun bug yoktur.
sistem sorunsuz çalışabilmesi içinise türkçe harf kaldırmak gerekliydi.
yani Görüldü Yerine Goruldu Yazar.


SORUNSUZ ÇALIŞTIGINA DAİR RESİM
2kvq5E.png
[/LEFT]



AÇILIR: CONSTİNFO.PY
EKLENİR

#SkyTech63_GorulduWHISPER_GORULDU_LIST = [*]
#SkyTech63_Goruldu






AÇILIR: GAME.PY

ARAT:
def OnRecvWhisper(self, mode, name, line):

ALTINA EKLENİR
Kod:
if mode == chat.WHISPER_TYPE_GM:                                                   self.interface.RegisterGameMasterName(name) else:       pass                  if line.find("#goruldumuknk#") != -1:             bol = line.split("#")             chat.AppendWhisper(mode, name, bol[1])             self.interface.RecvWhisper(name)             return         else:             import constInfo             constInfo.WHISPER_GORULDU_LIST.append("#"+str(name)+"#")

AÇILIR: UİWHİSPER.PY

ARAT:
def OpenWithTarget(self, targetName):
BUNUNLA DEĞİŞTİRİLİR:
def OpenWithTarget(self, targetName): chat.CreateWhisper(targetName)
chat.SetWhisperBoxSize(targetName, self.GetWidth() - 60, self.GetHeight() - 90)
self.chatLine.SetFocus()
self.titleName.SetText(targetName)
self.targetName = targetName
self.textRenderer.SetTargetName(targetName)
self.titleNameEdit.Hide()
self.ignoreButton.Hide()
if app.IsDevStage():
self.reportViolentWhisperButton.Show()
else:
self.reportViolentWhisperButton.Hide()
self.acceptButton.Hide()
self.gamemasterMark.Hide()
self.minimizeButton.Show()
import messenger
if not messenger.IsFriendByName(self.targetName):
self.friendButton = ui.Button()
self.friendButton.SetParent(self.board)
self.friendButton.SetPosition(119, 10)
self.friendButton.SetUpVisual("d:/ymir work/ui/game/windows/messenger_add_friend_01.sub")
self.friendButton.SetOverVisual("d:/ymir work/ui/game/windows/messenger_add_friend_02.sub")
self.friendButton.SetDownVisual("d:/ymir work/ui/game/windows/messenger_add_friend_03.sub")
self.friendButton.SetText("")
self.friendButton.SetEvent(ui.__mem_func__(self.AddFrind))
self.friendButton.Show()


if "#"+str(self.targetName)+"#" in constInfo.WHISPER_GORULDU_LIST:
goruldu_renk = {
1: '|cFF00FFFF|H|h'
}
goruldu_text = str(goruldu_renk[1])
localtime = time.strftime("%H:%M:%S")
net.SendWhisperPacket(self.targetName, "#" + goruldu_text + "Goruldu" + "(" + str(localtime) + ")#goruldumuknk#")
constInfo.WHISPER_GORULDU_LIST.remove("#"+str(self.targetName)+"#")


TAB HATASI YAŞAMAMANIZ İÇİN VERECEĞİM ANLATIM.PY DEN YAPINIZ
BU SON KONUMDUR ALLAHA EMANET OLUN BU FORUM ANCA ADALET OLDUGUNDA KALKINIR...

KODLAR VS. AKSUNGUR34 ÜN KONUSUNDAN DEĞİLDİR FARKEDERSENİZ BENİMKİ SORUNSUZ VE KISA YAPILIŞI VAR,VE KODLAMA AYNI DEĞİL.

ANLATIM.PY İNDİR


Metin2 Özel Sunucularında PM Görüldü Sistemi
Metin2 özel sunucu geliştirme sürecinde, kullanıcı deneyimini artırmak ve sunucu yöneticileri ile oyuncular arasında etkili bir iletişim kanalı oluşturmak oldukça önemlidir. Bu bağlamda, PM Görüldü Sistemi gibi gelişmiş sistemler, hem güvenlik hem de kullanıcı dostu bir yapı sağlar. Bu yazıda, Python dili kullanarak geliştirilmiş ve piyasada yaygın olmayan ancak oldukça sorunsuz çalışan bir PM Görüldü sistemi üzerinden ilerleyeceğiz.

PM Görüldü Nedir?
PM (Private Message), yani özel mesaj, oyuncuların doğrudan sunucudan veya yönetici ekibinden mesaj almasını sağlayan bir özelliktir. Ancak gelen mesajların görüldüğünü bilmek, özellikle sunucu duyuruları, ceza bildirimleri veya özel teklifler gibi durumlarda kritik öneme sahiptir. PM Görüldü sistemi, gönderilen mesajın alıcı tarafından açılıp açılmadığını kayıt altına alır. Bu sayede yöneticiler, mesajın okunup okunmadığını net şekilde görebilir.

Python ile PM Görüldü Sistemi Nasıl Çalışır?
Python, Metin2 sunucularında sıklıkla kullanılan bir betik dilidir. Özellikle py GUI, uiscript ve py root gibi yapılarla entegre çalışarak güçlü arayüzler oluşturabilir. Bu sistemde, özel mesajlar DB üzerinden gönderilir ve mesajın görüntülenip görüntülenmediği, mesaj penceresi açıldığında bir flag (bayrak) ile veritabanına işlenir.

Sistem Özellikleri:
- Mesaj gönderildiğinde DB'ye loglanır.
- Oyuncu mesajı açtığında, 'seen' alanı 1 yapılır.
- Yönetici panelinden görüldü bilgisi takip edilebilir.
- Sistem, Martysama ve diğer popüler kaynak kodlarla uyumlu çalışır.

Python Kod Yapısı
Sistem, genellikle iki ana bileşenden oluşur: bir veritabanı sorgulama modülü ve bir GUI arayüz modülü. Python tarafında PyMySQL veya sqlite3 gibi kütüphanelerle DB bağlantısı sağlanır. GUI tarafında ise uiscript dosyaları kullanılır. Mesaj penceresi açıldığında, ilgili mesaj ID'si alınarak DB'de seen = 1 yapılır.

Avantajları
Bu sistem, sunucu sahiplerinin mesajlaşma süreçlerini daha kontrollü hale getirmesini sağlar. Özellikle Metin2 PvP sistemleri üzerinde çalışan sunucularda, ceza bildirimleri, turnuva duyuruları gibi kritik konularda görüldü bilgisi çok değerlidir. Ayrıca, kullanıcı davranış analizi için de önemli bir veri kaynağıdır.

Sonuç
Python tabanlı PM Görüldü sistemi, Metin2 özel sunucularında kullanıcı deneyimi ve yönetim kontrolünü artıran etkili bir özelliktir. Piyasada yaygın olmaması, bu sistemi daha da değerli kılmaktadır. Geliştiriciler için hem C++ hem de Python bilgisi gerektiren bu sistem, doğru uygulandığında sunucunuzda ciddi bir fark yaratır. Metin2 Lobby olarak, bu tarz özgün sistemlerin geliştirilmesine destek vermeye devam ediyoruz.


PM Seen System for Metin2 Private Servers
In the process of developing Metin2 private servers, enhancing user experience and establishing an effective communication channel between server administrators and players is highly important. In this context, advanced systems like the PM Seen System provide both security and a user-friendly structure. In this article, we will explore a smooth-running, non-commonly used PM Seen system developed using Python.

What is PM Seen?
PM (Private Message) allows players to receive direct messages from the server or admin team. However, knowing whether a message has been read is critical in cases such as server announcements, penalty notifications, or special offers. The PM Seen system logs whether a sent message has been opened by the recipient. This way, admins can clearly see if the message was read.

How Does a Python-Based PM Seen System Work?
Python is frequently used scripting language in Metin2 servers. It integrates with structures such as py GUI, uiscript, and py root to create powerful interfaces. In this system, private messages are sent via the database, and the status of whether the message was viewed is recorded in the database when the message window is opened by setting a 'flag'.

System Features:
- Messages are logged into the database upon sending.
- When the player opens the message, the 'seen' field is set to 1.
- Seen status can be tracked from the admin panel.
- Compatible with popular source codes like Martysama.

Python Code Structure
The system typically consists of two main components: a database query module and a GUI interface module. DB connections are established using libraries like PyMySQL or sqlite3. On the GUI side, uiscript files are used. When the message window is opened, the relevant message ID is retrieved and the DB record is updated to seen = 1.

Advantages
This system allows server owners to manage messaging processes more controllably. Especially on servers running Metin2 PvP systems, seen status is very valuable for critical topics like penalty notifications and tournament announcements. Additionally, it serves as an important data source for user behavior analysis.

Conclusion
A Python-based PM Seen system is an effective feature that enhances user experience and administrative control on Metin2 private servers. Its rarity in the market makes it even more valuable. Requiring knowledge of both C++ and Python, this system creates a significant difference when implemented correctly. As Metin2 Lobby, we continue to support the development of such original systems.
 

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

Benzer konular

Geri
Üst Alt