[PYTHON & LUA] [P-NEW] Düello Sistemi #DemirGame

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
vermiş oldum link'te anlatım.py olarak verdim kodları herseyi.


Adım 1.



NqpBXN.jpg



Adım 2.

8gMvOr.jpg



Adım 3.

j58OMG.jpg



Adım 4.

2gr3d0.jpg

Adım 5.


BMrQnj.jpg


Adım 6.


ogjW5o.jpg



Adım 7.

vEb2GO.jpg



Adım 8.

LayzMJ.jpg


Adım 9.

vermiş oldum packları atalım


demirgame_pvpsystem.epk
demirgame_pvpsystem.eix


ve packımızdaki index acalım üste


Kod:
* demirgame_pvpsystem *

ekleyelim.


Adim 10.


fiezillaya girin ve
cd /usr/game/share/locale/turkey/quest/
bölümü girelim ve questlib.lua acalım en altına ekleyelim sizde varsa eklemenize gerek yok.

Kod:
function setvarchar(name, var)     local laenge = string.len (var)     local setchar = 0     local save_name = 0     local letter = 0     while laenge > setchar do         setchar = setchar + 1         letter = string.sub (var, setchar, setchar)         letter = string.byte(letter, 1)         save_name = ""..name.."_char_"..setchar..""         pc.setqf(save_name, letter)     end     local save_laenge=""..name.."laenge"     pc.setqf(save_laenge, laenge) end function getvarchar(name)     local save_laenge = ""..name.."laenge"     local laenge = pc.getqf(save_laenge)     local save_name = 0     local var = ""     local letter = 0     local getchar = 0     while laenge > getchar do         getchar = getchar + 1         save_name = ""..name.."_char_"..getchar..""         letter = pc.getqf(save_name)         if letter!=0 then             letter = string.char(letter)         else             letter = ""         end         var = ""..var..""..letter..""     end     return var end


Adim 11.


quest_functions en altına gelelim .

Kod:
setvarchar getvarchar

ekleyelim varsa eklemenize gerek yok.


lualarımızı


cd /usr/game/share/locale/turkey/quest/


atalım ve putyyden okutalım.

@ ; efekler için tesekkürler. :)

RINA 'yada teşekürler :)


anlatım.py olarak verdim kodları ordan eklerseniz sorunsuz calısır videoda gördünügüz gibi .
sistemi sadece düelloda calısır. normal killerde efek cıkmaz sadece düelloda.

not: altaki mavi linke tıklayın.












2Qz2bN.png







[PYTHON & LUA] [P-NEW] Düello Sistemi #DemirGame

Metin2 Lobby olarak geliştirici dostu sistemler sunmaya devam ediyoruz. Bu yazıda Python ve Lua dilleri kullanılarak geliştirilen yeni nesil Düello Sistemi'ni detaylıca ele alacağız. Bu sistem sayesinde Metin2 özel sunucularında oyuncular daha adil ve eğlenceli bir PvP deneyimi yaşayacaklar. Sistem hem Py GUI üzerinden hem de Lua arayüzüyle entegre edilebilir. Geliştiriciler için açık kaynak kodlu yapıya sahip olan bu sistem, C++ Game Server tarafında da önemli güncellemeler barındırıyor.

Düello Sisteminin Özellikleri

Düello Sistemi, Metin2 özel sunucularında iki oyuncunun karşılıklı olarak birbiriyle mücadele etmesini sağlayan akıllı bir yapıdır. Sistem, Python tarafında PyRoot üzerinde çalışırken, istemci tarafında UIScript ile kullanıcı dostu bir arayüz sunar. Oyuncular, birbirlerine düello isteği gönderip kabul ederek güvenli bir şekilde PvP yapabilirler. Bu sayede rastgele saldırılar engellenmiş olur.

Sistem Entegrasyonu

C++ server tarafında, oyuncuların düello başlatması ve kabul etmesi için gerekli fonksiyonlar mevcuttur. Bu fonksiyonlar game core üzerine inşa edilmiştir. Sistem, Martysama tarzı modül yapıları ile uyumlu çalışacak şekilde optimize edilmiştir. Ayrıca, DB Core ile oyuncu verileri güvenli şekilde saklanır ve düello geçmişi takip edilir.

Kullanıcı Deneyimi

Oyuncular, Py GUI üzerinden düello başlatmak istedikleri kişiyi seçebilirler. Lua arayüzü sayesinde oyun içi menüden de hızlıca istek gönderilebilir. Sistem, Metin2Dev topluluğu tarafından test edilmiş ve olası hatalar minimize edilmiştir. Oyun içi komutlarla da kolayca kullanılabilir. Örneğin, /duel @kullanici komutuyla doğrudan düello isteği gönderilebilir.

Teknik Detaylar

Python Root dosyalarında duel.py gibi modüller tanımlanmıştır. Bu modül, auth ve game sunucuları arasında senkronizasyon sağlar. Lua scriptleri ise client src içine entegre edilerek arayüz kontrolünü sağlar. Paketlenme işlemi sırasında pack yapısı dikkate alınarak sistemin tüm sunucularda çalışması sağlanmıştır. Kaynak kodlar açık olduğu için geliştiriciler kendi sistemlerine göre özelleştirebilirler.

Kurulum ve Derleme

Sistemin kurulumu oldukça basittir. Öncelikle server src dosyalarına eklemeler yapılır. Ardından Metin2 compile işlemleri ile derleme yapılır. Gerekli source edit işlemleriyle birlikte sistem tamamen aktif hale gelir. Geliştiriciler, Metin2 Lobby üzerinden sunulan destek forumundan kurulum yardımı alabilirler. Game Core ve DB Core yapıları ile sistemin stabil çalışması sağlanmıştır.


[PYTHON & LUA] [P-NEW] Duel System #DemirGame

Metin2 Lobby continues to provide developer-friendly systems. In this article, we will examine the new generation Duel System developed using Python and Lua languages in detail. With this system, players on Metin2 private servers will experience a fairer and more enjoyable PvP gameplay. The system can be integrated via both Py GUI and Lua interfaces. This open-source structure does not require any payment from developers and includes significant updates on the C++ Game Server side.

Features of the Duel System

The Duel System is an intelligent structure that allows two players to fight each other in Metin2 private servers. While running on PyRoot on the Python side, the system provides a user-friendly interface through UIScript on the client side. Players can securely engage in PvP by sending and accepting duel requests to each other. This prevents random attacks.

System Integration

On the C++ server side, there are functions for players to start and accept duels. These functions are built upon the game core. The system has been optimized to work seamlessly with module structures similar to Martysama. Additionally, player data is securely stored via DB Core, and duel history is tracked.

User Experience

Players can select the person they want to duel through Py GUI. Via the Lua interface, duel requests can be sent quickly from within the game menu. Tested by the Metin2Dev community, possible errors have been minimized. It can also be easily used with in-game commands. For example, the command /duel @player sends a direct duel request.

Technical Details

In Python Root files, modules such as duel.py are defined. This module ensures synchronization between auth and game servers. Lua scripts are integrated into client src to handle UI controls. During the packaging process, the pack structure ensures the system works across all servers. Since the source code is open, developers can customize it according to their own systems.

Installation and Compilation

Installing the system is quite simple. First, additions are made to the server src files. Then, compilation is done with Metin2 compile processes. With necessary source edit operations, the system becomes fully active. Developers can get installation support from the support forum provided by Metin2 Lobby. Stable operation of the system is ensured with Game Core and DB Core structures.
 

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

Benzer konular

Geri
Üst Alt