Oyun İçi Hızlı CH Degişme & Oto Toplama 2015 Onur Erkünt

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Merhaba Arkadaşlar ; Ben Onur Erkünt Çogu Büyük Serverlerde Olan Çogu Kişide Olmayan Oyun Seçeneklerinde Hızlı CH Ve Otomatik Toplama Sistemini Paylaşıyorum.




Sistemden Görüntü



oXlRg.png









------------------------------------------------------------------------
KURULUM;


Kod:
root uigameoptions.py açın blockMode = 0 viewChatMode = 0 Aratın Altına  serverip = "İP ADRESİ" girisportu = AUTH PORT ch1port = CH1 PORT ch2port = CH2 PORT ch3port = CH3 PORT ch4port = CH4 PORT SERVERADI = "Elit Metin2" Ekleyin.

Kod:
uigameoptions.py self.showsalesTextButtonList.append(GetObject("salestext_off_button")) Aratın Altına Bir Boşluk                         self.ChangeChannelButtonList.append(GetObject("ch1")) self.ChangeChannelButtonList.append(GetObject("ch2")) self.ChangeChannelButtonList.append(GetObject("ch3")) self.ChangeChannelButtonList.append(GetObject("ch4")) self.AutoPickUpButtonList.append(GetObject("auto_pick_up_on_button")) self.AutoPickUpButtonList.append(GetObject("auto_pick_up_off_button")) Ekleyin.
Kod:
self.showsalesTextButtonList[1].SAFE_SetEvent(self.__OnClickSalesTextOffButton) Aratın Altına Bir Boşluk                 self.ChangeChannelButtonList[0].SAFE_SetEvent(self.ChangeChannelTo1) self.ChangeChannelButtonList[1].SAFE_SetEvent(self.ChangeChannelTo2) self.ChangeChannelButtonList[2].SAFE_SetEvent(self.ChangeChannelTo3) self.ChangeChannelButtonList[3].SAFE_SetEvent(self.ChangeChannelTo4) self.AutoPickUpButtonList[0].SAFE_SetEvent(self.__OnClickEnableAutoPickUp) self.AutoPickUpButtonList[1].SAFE_SetEvent(self.__OnClickDisableAutoPickUp) Ekleyin

Kod:
self.deleteMobileButton.SetEvent(ui.__mem_func__(s  elf.__OnDeleteMobilePhoneNumber)) Aratın Altına Bir Boşluk def __IsSpecialMap(self): Blocked_MAPS = [ "season1/metin2_map_oxevent", "season2/metin2_map_guild_inside01", "season2/metin2_map_empirewar01", "season2/metin2_map_empirewar02", "season2/metin2_map_empirewar03", "metin2_map_dragon_timeattack_01", "metin2_map_dragon_timeattack_02", "metin2_map_dragon_timeattack_03", "metin2_map_skipia_dungeon_boss", "metin2_map_skipia_dungeon_boss2", "metin2_map_devilsCatacomb", "metin2_map_deviltower1", "metin2_map_t1", "metin2_map_t2", "metin2_map_t3", "metin2_map_t4", "metin2_map_t5", "metin2_map_wedding_01", "metin2_map_ring", "metin2_map_gemi", "gm_guild_build", "metin2_map_duel" ] if str(background.GetCurrentMapName()) in Blocked_MAPS: return TRUE return FALSE def ChangeChannelTo1(self): if self.__IsSpecialMap(): chat.AppendChat(1, "Bu haritada hızlı , CH değiştiremezsin! - ")+SERVERADI return net.SetServerInfo(SERVERADI+" , CH1 1") net.SetLoginInfo(net.ACCOUNT_ID, net.ACCOUNT_PW) net.ConnectToAccountServer(serverip, ch1port, serverip, girisportu) net.DirectEnter(0) net.SendSelectCharacterPacket(0) net.SendEnterGamePacket() chat.AppendChat(chat.CHAT_TYPE_INFO, SERVERADI+" Hızlı CH Değiştiriliyor: CH 1") def ChangeChannelTo2(self): if self.__IsSpecialMap(): chat.AppendChat(1, "Bu haritada hızlı , CH değiştiremezsin! - ")+SERVERADI return net.SetServerInfo(SERVERADI+" , CH 2") net.SetLoginInfo(net.ACCOUNT_ID, net.ACCOUNT_PW) net.ConnectToAccountServer(serverip, ch2port, serverip, girisportu) net.DirectEnter(0) net.SendSelectCharacterPacket(0) net.SendEnterGamePacket() chat.AppendChat(chat.CHAT_TYPE_INFO, SERVERADI+" Hızlı CH Değiştiriliyor: CH 2") def ChangeChannelTo3(self): if self.__IsSpecialMap(): chat.AppendChat(1, "Bu haritada hızlı , CH değiştiremezsin! - ")+SERVERADI return net.SetServerInfo(SERVERADI+" , CH 3") net.SetLoginInfo(net.ACCOUNT_ID, net.ACCOUNT_PW) net.ConnectToAccountServer(serverip, ch3port, serverip, girisportu) net.DirectEnter(0) net.SendSelectCharacterPacket(0) net.SendEnterGamePacket() chat.AppendChat(chat.CHAT_TYPE_INFO, SERVERADI+" Hızlı CH Değiştiriliyor: CH 3") def ChangeChannelTo4(self): if self.__IsSpecialMap(): chat.AppendChat(1, "Bu haritada hızlı , CH değiştiremezsin! - ")+SERVERADI return net.SetServerInfo(SERVERADI+" , CH 4") net.SetLoginInfo(net.ACCOUNT_ID, net.ACCOUNT_PW) net.ConnectToAccountServer(serverip, ch4port, serverip, girisportu) net.DirectEnter(0) net.SendSelectCharacterPacket(0) net.SendEnterGamePacket() chat.AppendChat(chat.CHAT_TYPE_INFO, SERVERADI+" Hızlı CH Değiştiriliyor: CH 4")


def __OnClickSalesTextOffButton(self):
systemSetting.SetShowSalesTextFlag(FALSE)
self.RefreshShowSalesText()

Aratın Altına Bir Boşluk




Kod:
def __OnClickSalesTextOffButton(self): systemSetting.SetShowSalesTextFlag(FALSE) self.RefreshShowSalesText() def __OnClickEnableAutoPickUp(self): self.AutoPickUpButtonList[0].Down() self.AutoPickUpButtonList[1].SetUp() constInfo.AUTO_PICK_UP = 1 chat.AppendChat(chat.CHAT_TYPE_INFO, "Otomatik yang ve item toplama sistemi aktive edildi.") def __OnClickDisableAutoPickUp(self): self.AutoPickUpButtonList[0].SetUp() self.AutoPickUpButtonList[1].Down() constInfo.AUTO_PICK_UP = 0 chat.AppendChat(chat.CHAT_TYPE_INFO, "Otomatik yang ve item toplama sistemi deaktif edildi.")
self.showsalesTextButtonList = [*] Aratın
Kod:
self.ChangeChannelButtonList = [*] self.AutoPickUpButtonList = [*] Altına Ekleyin

Root'u Kapatın İşimiz Bitti.

uiscript gameoptiondialog.py Açın

Kordinatları Bunlar İle Degişin

Kod:
TEMPORARY_X = +14 BUTTON_TEMPORARY_X = 5 PVP_X = -10 LINE_LABEL_X     = 30 LINE_DATA_X     = 90 LINE_STEP    = 0 SMALL_BUTTON_WIDTH     = 45 MIDDLE_BUTTON_WIDTH     = 65

Biraz Alta İnince Gelen Kordinat Yerlerinide

Kod:
window = { "name" : "GameOptionDialog", "style" : ("movable", "float",), "x" : 0, "y" : 0, "width" : 390, "height" : 32*11+8, "children" : ( { "name" : "board", "type" : "board", "x" : 0, "y" : 0, "width" : 390, "height" : 32*11+8, "children" : (

Son Hali

xA3lh.png


Kod:
{ "name" : "salestext_on_button", "type" : "radio_button", "x" : LINE_DATA_X, "y" : 240, "text" : uiScriptLocale.OPTION_SALESTEXT_VIEW_ON, "default_image" : ROOT_PATH + "middle_button_01.sub", "over_image" : ROOT_PATH + "middle_button_02.sub", "down_image" : ROOT_PATH + "middle_button_03.sub", }, { "name" : "salestext_off_button", "type" : "radio_button", "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH, "y" : 240, "text" : uiScriptLocale.OPTION_SALESTEXT_VIEW_OFF, "default_image" : ROOT_PATH + "middle_button_01.sub", "over_image" : ROOT_PATH + "middle_button_02.sub", "down_image" : ROOT_PATH + "middle_button_03.sub", },

Aratın Altına



Kod:
# Channel { "name" : "channel_board", "type" : "text", "x" : LINE_LABEL_X, "y" : 265+2, "text" : "CH Degistir", }, { "name" : "ch1", "type" : "button", "x" : LINE_DATA_X+SMALL_BUTTON_WIDTH*0, "y" : 265, "text" : "CH 1", "default_image" : ROOT_PATH + "small_Button_01.sub", "over_image" : ROOT_PATH + "small_Button_02.sub", "down_image" : ROOT_PATH + "small_Button_03.sub", }, { "name" : "ch2", "type" : "button", "x" : LINE_DATA_X+SMALL_BUTTON_WIDTH*1, "y" : 265, "text" : "CH 2", "default_image" : ROOT_PATH + "small_Button_01.sub", "over_image" : ROOT_PATH + "small_Button_02.sub", "down_image" : ROOT_PATH + "small_Button_03.sub", }, { "name" : "ch3", "type" : "button", "x" : LINE_DATA_X+SMALL_BUTTON_WIDTH*2, "y" : 265, "text" : "CH 3", "default_image" : ROOT_PATH + "small_Button_01.sub", "over_image" : ROOT_PATH + "small_Button_02.sub", "down_image" : ROOT_PATH + "small_Button_03.sub", }, { "name" : "ch4", "type" : "button", "x" : LINE_DATA_X+SMALL_BUTTON_WIDTH*3, "y" : 265, "text" : "CH 4", "default_image" : ROOT_PATH + "small_Button_01.sub", "over_image" : ROOT_PATH + "small_Button_02.sub", "down_image" : ROOT_PATH + "small_Button_03.sub", }, ## Auto PickUP { "name" : "auto_pickup_on_off", "type" : "text", "x" : LINE_LABEL_X, "y" : 290+2, "text" : "Oto Toplama", }, { "name" : "auto_pick_up_on_button", "type" : "radio_button", "x" : LINE_DATA_X, "y" : 290, "text" : "Aktif", "default_image" : ROOT_PATH + "middle_button_01.sub", "over_image" : ROOT_PATH + "middle_button_02.sub", "down_image" : ROOT_PATH + "middle_button_03.sub", }, { "name" : "auto_pick_up_off_button", "type" : "radio_button", "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH, "y" : 290, "text" : "Deaktif", "default_image" : ROOT_PATH + "middle_button_01.sub", "over_image" : ROOT_PATH + "middle_button_02.sub", "down_image" : ROOT_PATH + "middle_button_03.sub", },

root / intrologin.py açın Aratın

Kod:
def __OnClickLoginButton(self):

Kod:
return net.ACCOUNT_ID = id net.ACCOUNT_PW = pwd self.Connect(id, pwd)

Kod Blogu Komple Degişir


Son Hali

iWWJc.png


Son Olarak constinfo.py Açılır

CONSOLE_ENABLE = 0 Aratılır Altına

Kod:
AUTO_PICK_UP = 0

Eklenir

root / game.py açılır if self.enableXMasBoom:
self.__XMasBoom_Update()

Aratılır Altına Bi Boşluk
Kod:
if 1 == constInfo.AUTO_PICK_UP: self.PickUpItem()

elif player.SLOT_TYPE_INVENTORY == attachedType: Aratılır

Kod Blogu Komple Degişir

Kod:
elif player.SLOT_TYPE_INVENTORY == attachedType: if player.ITEM_MONEY == attachedItemIndex: self.__PutMoney(attachedType, attachedItemCount, self.PickingCharacterIndex) else: self.__PutItem(attachedType, attachedItemIndex, attachedItemSlotPos, attachedItemCount, self.PickingCharacterIndex) mouseModule.mouseController.DeattachObject() else: hyperlink = ui.GetHyperlink() if hyperlink: if app.IsPressed(app.DIK_LALT): link = chat.GetLinkFromHyperlink(hyperlink) ime.PasteString(link) else: self.interface.MakeHyperlinkTooltip(hyperlink) return else: player.SetMouseState(player.MBT_LEFT, player.MBS_CLICK)
Yapamayanlar İçin Kurulum Videosu


Kurulum Bitti.





------------------------------------------------------------------------

------------------------------------------------------------------------


xxerdo (Onur Erkünt)🆒




------------------------------------------------------------------------

DEMO GÖRÜNTÜLER

zm5QYB.jpg


587dz5.jpg


lkEvlp.jpg


AAnnb7.jpg


İYİ FORUMLAR DİLERİM..

BİR TEŞEKKÜR YETERLİ

DAHASI GELİCEK..

Sıkıntı Yok Yok :D

Oyun İçi Hızlı CH Değişme & Oto Toplama 2015 Onur Erkünt

Metin2 özel sunucularında oyun içi deneyimi artırmak için geliştirilen sistemlerden biri olan 'Hızlı CH Değişme' ve 'Oto Toplama' modülleri, oyuncuların savaş sırasında daha verimli hareket etmesini sağlar. Bu sistemler özellikle PvP odaklı sunucularda büyük önem taşır. Onur Erkünt tarafından 2015 yılında geliştirilen bu modülasyon, C++ tabanlı kaynak kodlara entegre edilebilir ve Python GUI ile de kullanıcı dostu arayüzlerle desteklenebilir.

CH Nedir?
CH (Character) değişimi, oyuncuların farklı karakterler arasında hızlıca geçiş yapabilmesini sağlayan bir özelliktir. Özellikle Metin2 gibi MMORPG oyunlarında, savaş sırasında karakter değiştirme ihtiyacı doğduğunda bu özellik büyük avantaj sağlar. Geleneksel olarak karakter değiştirme işlemi zaman alıcıdır; bu sistemle birlikte bu süreç hızlandırılır.

Hızlı CH Değişme Sistemi
Hızlı CH Değişme sistemi, oyuncuların belirli kısayollarla karakter değiştirme işlemini saniyeler içinde tamamlamasını sağlar. Bu sistem genellikle game server tarafında C++ ile geliştirilir. Sunucu tarafında CH listesi hızlı bir şekilde yeniden yüklenir ve oyuncunun seçtiği karaktere anında erişim sağlanır. Bu sayede PvP savaşları esnasında karakter geçişleri anlık gerçekleşir.

Oto Toplama Sistemi
Oto Toplama sistemi ise öldürülen düşmanlardan çıkan eşyaları otomatik olarak toplamayı sağlar. Bu özellik, oyuncuların dikkatini savaşta yoğunlaştırmasına yardımcı olur. Bu sistem genellikle client side üzerinde çalışır ve uiscript ile arayüz üzerinden kolay kullanım sağlanır. Ayrıca Python ile yazılmış GUI sistemleriyle de entegre edilebilir.

Sistem Entegrasyonu
Onur Erkünt’ün geliştirdiği bu sistemler, Metin2 lobby sunucularında test edilmiş ve performans açısından başarılı bulunmuştur. Geliştirme sürecinde hem auth server hem de game server üzerinde değişiklikler yapılmıştır. Sistemlerin doğru çalışması için db core ve game core yapılarının da buna uyumlu olması gerekir.

Kurulum ve Ayarlar
Bu sistemlerin kurulumu için öncelikle mevcut server files üzerinde değişiklik yapılması gerekir. Metin2 server src dosyalarına entegre edilirken dikkat edilmesi gereken bazı önemli hususlar vardır. Örneğin CH listesi veritabanında tutulmalı ve hızlı erişim için indekslenmiş olmalıdır. Ayrıca oto toplama sisteminin çalışması için py root klasöründe gerekli Python dosyalarının aktif olması gerekir.

Sonuç
Oyun içi hızlı CH değişme ve oto toplama sistemleri, Metin2 özel sunucularında oynanış keyfini ciddi anlamda artırır. Onur Erkünt’ün 2015 yılında geliştirdiği bu modüller, Metin2 lobby sitesi üzerinden sunucu sahipleri tarafından yaygın şekilde kullanılmaktadır. Bu sistemler sayesinde PvP mücadelesi daha akıcı ve stratejik hale gelir.


In-Game Fast CH Change & Auto Pickup 2015 Onur Erkunt

One of the modules developed to enhance the gaming experience on Metin2 private servers is the 'Fast CH Change' and 'Auto Pickup' systems, which allow players to act more efficiently during combat. These systems are especially important on PvP-oriented servers. Developed by Onur Erkunt in 2015, this modification can be integrated into C++-based source codes and supported with user-friendly interfaces via Python GUI.

What is CH?
CH (Character) switching allows players to quickly switch between different characters. In MMORPG games like Metin2, this feature becomes crucial during battles when there is a need to change characters. Traditionally, character switching takes time; with this system, the process is accelerated significantly.

Fast CH Change System
The Fast CH Change system allows players to switch characters within seconds using specific shortcuts. This system is generally developed in C++ on the game server side. The CH list is reloaded quickly on the server, allowing instant access to the selected character. As a result, character switches occur instantly during PvP battles.

Auto Pickup System
The Auto Pickup system automatically collects items dropped from defeated enemies. This feature helps players focus their attention during combat. Usually working on the client side, this system provides easy usage through uiscript interfaces. It can also be integrated with GUI systems written in Python.

System Integration
These systems developed by Onur Erkunt have been tested on Metin2 lobby servers and found successful in terms of performance. During the development process, modifications were made on both the auth server and game server. For these systems to work correctly, db core and game core structures must also be compatible.

Installation and Settings
To install these systems, modifications must first be made to the existing server files. When integrating into Metin2 server src files, certain critical points must be considered. For example, the CH list should be stored in the database and indexed for fast access. Additionally, the necessary Python files in the py root folder must be active for the auto pickup system to function properly.

Conclusion
In-game fast CH change and auto pickup systems significantly enhance the gameplay experience on Metin2 private servers. The modules developed by Onur Erkunt in 2015 are widely used by server owners via the Metin2 lobby website. Thanks to these systems, PvP battles become more fluid and strategic.
 

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

Benzer konular

Geri
Üst Alt