[PYTHON]Kullanl ve Türk Yapm Script

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Merhaba,
Kısa bir süre önce videosunu verdiğim scripti paylaşıyorum.
tıklayarak videoyu izleyebilirsiniz.

Kısaca anlatmak gerekirse,
Oyuna girdiğinizde ekranı kaplayan görevler her zaman derttir. CTRL + Q yaparak bu görevleri gizleyebilirsiniz ancak bir NPC'ye tıkladığınızda, harita değiştirdiğinizde, öldüğünüzde ve oyundan çıkıp girdiğinizde sürekli karşınıza çıkarlar. Bu hazırladığım script sayesinde böyle bir derdiniz kalmıyor. "Görevleri Gizle" butonuna bastıktan sonra asla geri gelmezler(Bilgisayarınıza format atana kadar. :)). "Görevleri Göster" butonuyla tekrar görev pencerenizi açıp bakabilirsiniz.

Yapımı:
Hazır dosya vermek isterdim ama benim kullandığım pack oyunlarınıza uyum sağlamaz. O yüzden sadece anlatım var.

Root.Epk&Eix açın.
uigamebutton.py açın.
En başa
Kod:
[COLOR="Red"]import questkontrol[/COLOR]
ekleyin.
p1.jpg


Alttakini aratın:
Kod:
[COLOR="red"]"EXIT_OBSERVER" : self.GetChild("ExitObserver"),[/COLOR]
altına ekleyin:
Kod:
[COLOR="red"]"KALDIR" : self.GetChild("QuestSakla"), "GOSTER" : self.GetChild("QuestGoster"),[/COLOR]
p2.jpg


Alttakini aratın:
Kod:
[COLOR="red"]helpButton=self.gameButtonDict[/COLOR]

ekleyin:
Kod:
[COLOR="red"]questSakla=self.gameButtonDict["KALDIR"] questGoster=self.gameButtonDict["GOSTER"][/COLOR]

p3.jpg


Alttakini aratın:
Kod:
[COLOR="red"]helpButton.Hide()[/COLOR]

ekleyin:
Kod:
[COLOR="red"]if questkontrol.QUEST_SAKLA == 0: questSakla.Show() questGoster.Hide() elif questkontrol.QUEST_SAKLA == 1: questSakla.Hide() questGoster.Show()[/COLOR]

p4.jpg


Interfacemodule.py açın:
En başa ekleyin
Kod:
[COLOR="Red"]import questkontrol[/COLOR]
p5.jpg


Alttakini arayın:
Kod:
[COLOR="red"]wndGameButton.SetButtonEvent[/COLOR]
bunları ekleyin:
Resimdeki gibi olmalı !
Kod:
[COLOR="red"]wndGameButton.SetButtonEvent("KALDIR", ui.__mem_func__(self.__OnClickSaklaButton)) wndGameButton.SetButtonEvent("GOSTER", ui.__mem_func__(self.__OnClickGosterButton))[/COLOR]


p6.jpg


Alttakini aratın:
Kod:
[COLOR="red"]def __OnClickHelpButton[/COLOR]
ekleyin:

Resimlerdeki gibi yapın !:
Kod:
[COLOR="red"]def __OnClickSaklaButton(self): chat.AppendChat(chat.CHAT_TYPE_INFO, "Görevler gizlendi.") self.HideAllQuestButton() questkontrol.QUEST_SAKLA = 1 self.CheckGameButton() def __OnClickGosterButton(self): self.ShowAllQuestButton() chat.AppendChat(chat.CHAT_TYPE_INFO, "Görevler gösterildi.") questkontrol.QUEST_SAKLA = 0 self.CheckGameButton()[/COLOR]

p7.jpg


Alttakini aratın:
Kod:
[COLOR="Red"]self.wndCubeResult.SetItemToolTip(self.tooltipItem)[/COLOR]
Ekleyin:
Kod:
[COLOR="red"]#Görevleri_gizle ## Kralcocuk  if questkontrol.QUEST_SAKLA == 1: self.HideAllQuestButton() #Bitir_Görevleri_gizle ## Kralcocuk[/COLOR]
p8.jpg


Alttakini aratın:
Kod:
[COLOR="red"]for dlg in self.equipmentDialogDict.itervalues()[/COLOR]
ekleyin:

Kod:
[COLOR="red"]#Görevleri_gizle ## Kralcocuk  if questkontrol.QUEST_SAKLA == 1: self.HideAllQuestButton() #Bitir_Görevleri_gizle ## Kralcocuk[/COLOR]
p9.jpg

Aratın:
Kod:
[COLOR="Red"]uiChat.DestroyChatInputSetWindow()[/COLOR]
ekleyin:
Kod:
[COLOR="red"]#Görevleri_gizle ## Kralcocuk  if questkontrol.QUEST_SAKLA == 1: self.HideAllQuestButton() #Bitir_Görevleri_gizle ## Kralcocuk[/COLOR]
p10.jpg

Aratın:
Kod:
[COLOR="red"]def __ShowWindows[/COLOR]
ekleyin:
Kod:
[COLOR="red"]#Görevleri_gizle ## Kralcocuk  if questkontrol.QUEST_SAKLA == 1: self.HideAllQuestButton() #Bitir_Görevleri_gizle ## Kralcocuk[/COLOR]
p11.jpg

Aratın:
Kod:
[COLOR="red"]self.questButtonList.insert(0, btn)[/COLOR]
ekleyin:
Kod:
[COLOR="red"]#Görevleri_gizle ## Kralcocuk  if questkontrol.QUEST_SAKLA == 1: self.HideAllQuestButton() #Bitir_Görevleri_gizle ## Kralcocuk[/COLOR]
p12.jpg


Locale_tr.epk&eix açın:
locale_interface.txt açın: alttakileri ekleyin.
Kod:
[COLOR="Red"]GAME_GOSTERGörevleri Göster GAME_SAKLAGörevleri Gizle[/COLOR]

p13.jpg


Aşağıdaki rarı indirin.
İçindeki "Gamewindow.py" dosyasını "Uiscript.Epk&Eix" dosyasına atın.
"questkontrol.py" dosyasını "Root.Epk&Eix" dosyasına atın.
Alttaki kodu "Root.xml" dosyanıza ekleyin.
Kod:
[COLOR="red"]<File archivedPath="questkontrol.py" type="2"><![CDATA[Source\questkontrol.py]]></File>[/COLOR]


Dosya:




Metin2 Lobby'da Python Kullanarak Türk Yapma Scripti Oluşturmak

Metin2 oyununda yetenekli oyuncuların zaman zaman başvurduğu yöntemlerden birisi de türk yapmadır. Bu işlem genellikle client üzerinde değişiklik yapılarak ya da özel scriptlerle sağlanır. Bu makalede, Python programlama dili kullanarak basit bir türk yapma scripti nasıl oluşturulur, adımlarıyla birlikte anlatılacaktır. Metin2 lobby kullanıcıları için özellikle faydalı olabilecek bu konu, hem client hem de pack düzenlemeleriyle doğrudan ilişkilidir.

Python Nedir?
Python, son yıllarda en çok tercih edilen programlama dillerinden biridir. Sözdizimi basit olduğu için yeni başlayanlar için idealdir. Metin2 geliştiricileri tarafından da sıkça kullanılır. Client üzerinde bazı otomasyonlar gerçekleştirmek, paketleri açmak veya düzenlemek için kullanılabilir.

Türk Yapma Nedir?
Metin2 oyununda 'türk yapma', karakterin görünür olmayan bir şekilde harita üzerinde hareket etmesini sağlar. Bu durum genellikle client tarafında yapılan küçük değişikliklerle mümkün olur. Bu değişiklikler genellikle packet gönderimlerinde manipülasyon içerir. Bu tarz işlemleri otomatikleştirmek için Python tabanlı scriptler kullanılabilir.

Python ile Basit Bir Türk Yapma Scripti Oluşturmak
Python ile yazılmış bir script, client üzerinden belirli komutları otomatik olarak çalıştırabilir. Örneğin, bir karakterin belirli aralıklarla hareket komutu göndermemesi gibi. Bu tür işlemler genellikle socket bağlantısı ile oyun sunucusuna paket gönderilerek yapılır.

Öncelikle gerekli kütüphaneleri içeren bir Python dosyası oluşturmalısınız:

Kod:
import socket[BR][/BR]import threading[BR][/BR]import time[BR][/BR][BR][/BR]def fake_move_packet():[BR][/BR]    # Burada fake packet gönderme kodları olacak[BR][/BR]    pass[BR][/BR][BR][/BR]while True:[BR][/BR]    time.sleep(1)[BR][/BR]    fake_move_packet()


Yukarıdaki örnekte, fake_move_packet() fonksiyonu ile sahte bir hareket komutu gönderilir. Gerçek uygulamada bu fonksiyon, client tarafından sunucuya gönderilen paketi kopyalayıp, konum bilgilerini manipüle ederek tekrar gönderebilir. Bu işlem, karakterin görünürde hareket etmemesini sağlar.

Dikkat Edilmesi Gerekenler
Bu tür scriptlerin kullanımı, bazı sunucularda yasak olabilir. Özellikle PvP sunucularında bu tür yöntemler yasaklanmıştır. Kullanmadan önce sunucu kurallarını mutlaka kontrol edin. Ayrıca, bu tarz işlemler client tarafında hatalara neden olabilir. Client üzerinde değişiklik yaparken dikkatli olunmalıdır.

Python ve Metin2 Client Edit
Python, aynı zamanda Metin2 client edit işlemleri için de oldukça uygundur. Paket dosyalarının çıkarılması, texture ve effect dosyalarının düzenlenmesi gibi işlemler Python ile otomatikleştirilebilir. Örneğin, bir pack dosyasının içindeki tüm dosyaları listelemek için şu kod kullanılabilir:

Kod:
import os[BR][/BR][BR][/BR]def list_files_in_pack(pack_path):[BR][/BR]    for root, dirs, files in os.walk(pack_path):[BR][/BR]        for file in files:[BR][/BR]            print(file)


Sonuç
Python kullanarak Metin2 oyununda türk yapma gibi gelişmiş işlemler yapmak mümkündür. Ancak bu tür işlemler dikkatli yapılmalıdır. Client ve pack düzenleme konusunda bilgi sahibi olmak, bu işlemleri daha güvenli ve etkili hale getirir. Metin2 Lobby kullanıcıları için bu tip scriptler hem eğlenceli hem de teknik bilgi kazandıran araçlardır.


Creating a Hiding Script with Python on Metin2 Lobby

In the game Metin2, one of the methods occasionally used by skilled players is hiding. This process is usually achieved by making changes on the client or through special scripts. In this article, we will explain step-by-step how to create a simple hiding script using the Python programming language. This topic can be particularly useful for Metin2 lobby users and is directly related to client and pack modifications.

What is Python?
Python is one of the most preferred programming languages in recent years. Its simple syntax makes it ideal for beginners. It is frequently used by Metin2 developers as well. Python can be used to automate certain tasks on the client, extract packages, or make modifications.

What is Hiding?
In the game Metin2, 'hiding' refers to allowing a character to move across the map without being visible. This is generally accomplished through minor changes made on the client side. These changes often involve manipulation of packet transmissions. Python-based scripts can be used to automate such operations.

Creating a Simple Hiding Script with Python
A Python-written script can automatically execute specific commands via the client. For instance, a character may not send movement commands at certain intervals. Such operations are typically done by sending packets to the game server via socket connections.

First, you need to create a Python file containing the necessary libraries:

Kod:
import socket[BR][/BR]import threading[BR][/BR]import time[BR][/BR][BR][/BR]def fake_move_packet():[BR][/BR]    # Fake packet sending code goes here[BR][/BR]    pass[BR][/BR][BR][/BR]while True:[BR][/BR]    time.sleep(1)[BR][/BR]    fake_move_packet()


In the above example, the fake_move_packet() function sends a fake movement command. In real applications, this function can copy the packet sent by the client to the server and resend it after manipulating location data. This prevents the character from appearing to move.

Things to Consider
The use of such scripts may be prohibited on some servers. Especially on PvP servers, these types of methods are banned. Always check server rules before use. Additionally, such operations may cause errors on the client. Be cautious when making changes to the Client.

Python and Metin2 Client Edit
Python is also highly suitable for Metin2 client edit operations. Extracting package files, editing texture and effect files, etc., can be automated using Python. For example, to list all files inside a pack file, the following code can be used:

Kod:
import os[BR][/BR][BR][/BR]def list_files_in_pack(pack_path):[BR][/BR]    for root, dirs, files in os.walk(pack_path):[BR][/BR]        for file in files:[BR][/BR]            print(file)


Conclusion
It is possible to perform advanced actions like hiding in the Metin2 game using Python. However, such operations must be performed carefully. Having knowledge about client and pack editing makes these processes safer and more effective. For Metin2 Lobby users, such scripts are both entertaining and educational tools.
 

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

Benzer konular

Geri
Üst Alt