.
------------------------------------------------------------------
Cmd.cpp açılır-aratılır:------------------------------------------------------------------
Kod:
ACMD(do_pcbang_check);
Kod:
ACMD(do_isinla_beni_beybi); ACMD(do_isinla_sure); ACMD(do_black_kalan); ACMD(do_hak_ver);
Kod:
{ "slow", do_slow, 0, POS_DEAD, GM_LOW_WIZARD },
Kod:
{ "isinla_beni_beybi", do_isinla_beni_beybi, 0, POS_DEAD, GM_PLAYER }, { "isinla_sure", do_isinla_sure, 0, POS_DEAD, GM_PLAYER }, { "black_kalan", do_black_kalan, 0, POS_DEAD, GM_PLAYER }, { "hak_ver", do_hak_ver, 0, POS_DEAD, GM_LOW_WIZARD }, ///new system by Blackdragonx61
Kod:
ACMD(do_view_equip)
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Kod:
ACMD(do_black_kalan) { int kalan = ch->GetQuestFlag("isinlama.black"); ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%d hakkiniz kaldi"), kalan); } ACMD(do_isinla_sure) { char arg1[256]; one_argument(argument, arg1, sizeof(arg1)); if (*arg1) { switch (LOWER(*arg1)) { case '1': // 5 tane 5m if (ch->GetGold() < 5000000) { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("paprarar yohh")); return; } else { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("?slem tamamlandi")); ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("?sinlanma limiti 5 yapildi")); ch->PointChange(POINT_GOLD, -5000000, true); ch->SetQuestFlag("isinlama.black", 5); } break; case '2': if (ch->GetGold() < 10000000) { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("paprarar yohh")); return; } else { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("?slem tamamlandi")); ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("?sinlanma limiti 10 yapildi")); ch->PointChange(POINT_GOLD, -10000000, true);//10M ch->SetQuestFlag("isinlama.black", 10); } //ch->SetQuestFlag("isinlayamam.sure", 0); break; case '3': if (ch->GetGold() < 30000000) { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("paprarar yohh")); return; } else { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("?slem tamamlandi")); ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("?sinlanma limiti 50 yapildi")); ch->PointChange(POINT_GOLD, -30000000, true);//30M ch->SetQuestFlag("isinlama.black", 50); } //ch->SetQuestFlag("isinlayamam.sure", 0); break; } } } ACMD(do_isinla_beni_beybi) { char arg1[256]; one_argument(argument, arg1, sizeof(arg1)); //int son_sure = ch->GetQuestFlag("isinlayamam.sure"); int kalan = ch->GetQuestFlag("isinlama.black"); if (ch->IsDead() || ch->GetHP() <= 0 || !ch->IsPC()) { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Oluyken bu islem gerceklestirilemez!")); return; } if (ch->GetQuestFlag("isinlama.black") == 0) { //ch->SetQuestFlag("isinlayamam.sure", get_global_time()); ch->ChatPacket(CHAT_TYPE_COMMAND, "isinlayamam"); //ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("1 saat beklemelisin")); return; } if (*arg1) { switch (LOWER(*arg1)) { case 'a'://Orumcek Zindanı 1.kat basi ch->SetQuestFlag("isinlama.black", ch->GetQuestFlag("isinlama.black")-1); ch->WarpSet(59800, 497300); ch->Stop(); break; case 'b'://Mavi 1. ch->SetQuestFlag("isinlama.black", ch->GetQuestFlag("isinlama.black")-1); ch->WarpSet(959800,268400); ch->Stop(); break; case 'c'://Kırmızı 1. ch->SetQuestFlag("isinlama.black", ch->GetQuestFlag("isinlama.black")-1); ch->WarpSet(474300,954800); ch->Stop(); break; case 'd'://Sari 1. ch->SetQuestFlag("isinlama.black", ch->GetQuestFlag("isinlama.black")-1); ch->WarpSet(63800,166400); ch->Stop(); break; case 'e'://Devler Diyarı ch->SetQuestFlag("isinlama.black", ch->GetQuestFlag("isinlama.black")-1); ch->WarpSet(829900,763300); ch->Stop(); break; case 'f':// MAVi 2. ch->SetQuestFlag("isinlama.black", ch->GetQuestFlag("isinlama.black")-1); ch->WarpSet(873100,242600); ch->Stop(); break; case 'g'://Kırmızı 2. ch->SetQuestFlag("isinlama.black", ch->GetQuestFlag("isinlama.black")-1); ch->WarpSet(360800,877600); ch->Stop(); break; case 'h'://Sari 2. ch->SetQuestFlag("isinlama.black", ch->GetQuestFlag("isinlama.black")-1); ch->WarpSet(138500,234900); ch->Stop(); break; case 'i'://Hayalet ormani ch->SetQuestFlag("isinlama.black", ch->GetQuestFlag("isinlama.black")-1); ch->WarpSet(288700,5700); ch->Stop(); break; case 'j':// Orumcek zindanı 2.Kat Basi ch->SetQuestFlag("isinlama.black", ch->GetQuestFlag("isinlama.black")-1); //ch->WarpSet(x, y); ch->Stop(); break; case 'k'://Seytan kulesi Black ya I love you askimmm ch->SetQuestFlag("isinlama.black", ch->GetQuestFlag("isinlama.black")-1); ch->WarpSet(590500,110500); ch->Stop(); break; case 'l'://Yongbi colu ch->SetQuestFlag("isinlama.black", ch->GetQuestFlag("isinlama.black")-1); ch->WarpSet(296800,547400); ch->Stop(); break; case 'm'://Surgun girisi ch->SetQuestFlag("isinlama.black", ch->GetQuestFlag("isinlama.black")-1); ch->WarpSet(284400,810700); ch->Stop(); break; case 'n'://Kizil Orman ch->SetQuestFlag("isinlama.black", ch->GetQuestFlag("isinlama.black")-1); ch->WarpSet(1119900,70800); ch->Stop(); break; case 'o'://Sohan dagi ch->SetQuestFlag("isinlama.black", ch->GetQuestFlag("isinlama.black")-1); ch->WarpSet(436400,215600); ch->Stop(); break; case 'p'://Ox haritasi if (!ch->IsGM()) { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("yalnizca gmler kullanir")); } else { ch->SetQuestFlag("isinlama.black", ch->GetQuestFlag("isinlama.black")-1); //ch->WarpSet(x, y); ch->Stop(); } break; case 'r'://Nemere'nin gozetleme kulesi 90 sinir if (ch->GetLevel() < 90) { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("level yeterli degil")); } else { ch->SetQuestFlag("isinlama.black", ch->GetQuestFlag("isinlama.black")-1); ch->WarpSet(432792,165998); ch->Stop(); } break; case 's'://Kırmızı Ejdeha Kalesi sinir 90 if (ch->GetLevel() < 90) { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("level yeterli degil")); } else { ch->SetQuestFlag("isinlama.black", ch->GetQuestFlag("isinlama.black")-1); ch->WarpSet(613800,707000); ch->Stop(); } break; case 't'://Vadi ch->SetQuestFlag("isinlama.black", ch->GetQuestFlag("isinlama.black")-1); ch->WarpSet(336000,755600); ch->Stop(); break; case 'u'://CapeDragon if (ch->GetLevel() < 90) { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("level yeterli degil")); } else { ch->SetQuestFlag("isinlama.black", ch->GetQuestFlag("isinlama.black")-1); //ch->WarpSet(x, y); ch->Stop(); } break; case 'v'://Maymunlar Zindani ch->SetQuestFlag("isinlama.black", ch->GetQuestFlag("isinlama.black")-1); //ch->WarpSet(x, y); ch->Stop(); break; } } }
---------------------------
cmd_gm.cpp açılır-aratılır:
Kod:
ACMD(do_group_random)
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Kod:
ACMD (do_hak_ver) { char arg1[256], arg2[256]; long hak; const char* Name; two_arguments(argument, arg1, sizeof(arg1), arg2, sizeof(arg2)); if (!*arg1 || !*arg2) { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("/hak_ver oyuncu hak miktari")); return; } Name = arg1; hak = atoi(arg2); LPCHARACTER tch = CHARACTER_MANAGER::instance().FindPC(Name); if(!tch) { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Oyuncu %s bulunamadi."), Name); return; } tch->SetQuestFlag("isinlama.black", tch->GetQuestFlag("isinlama.black") + hak); tch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Administrator %s hesabiniza %ld hak verdi."), ch->GetName(), hak); ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%ld hak verdin, bu hesaba; %s."),hak,tch->GetName()); }
PYTHON
root.py açılır
İmport'lara eklenir;
Kod:
import isinlama
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Tekrar aratılır:
Kod:
onPressKeyDict[app.DIK_F4] = lambda : self.__PressQuickSlot(7)
Kod:
onPressKeyDict[app.DIK_F5] = lambda : self.Black_ac()
Kod:
"PlayMusic" : self.__PlayMusic,
Kod:
"isinlayamam" : self.Blackcim,
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
---------------------------------
constinfo.py'ye ekleyin:
mavirenk="|cff00ccff"
yesilrenk="|cff00CC00|Hemp|h"
sarirenk="|cffFDD017|H|h"
kirmizirenk="|cffff0000|Hemp|h"
---------------------------------
Locale_tr/locale_game.txt'ye eklenir:
Kod:
BLACK_DIALOG Aşağıdan hak satın alabilirsiniz.BLACK_DIALOG2 Işınlanma hakkınız bitti. BLACK_SORU_DIALOG Bunu almak istediğinize emin misiniz?
root'a atılır:
Bulunur:
Altına eklenir;
game.py-açılır-aratılır:
Altına eklenir;
game.py sona eklenir;
Kod:
[/FONT][/B]bool CHARACTER::UseItemEx(LPITEM item, TItemPos DestCell)[B][FONT=Verdana]
Kod:
[/FONT][/B]case ITEM_HAIR:[B][FONT=Verdana]
Kod:
[/FONT][/B]case 40002: { ChatPacket(CHAT_TYPE_COMMAND, "accccc"); } break;[B][FONT=Verdana]
Kod:
[/FONT][/B]"PlayMusic" : self.__PlayMusic,[B][FONT=Verdana]
Kod:
[/FONT][/B]"accccc" : self.Aclansunu,[B][FONT=Verdana]
Kod:
[/FONT][/B]def Aclansunu(self): self.black = isinlanma.BlackIsinlanma() self.black.OpenWindow()[B][FONT=Verdana]
Hata alırsanız mutlaka sorun benim py çok karışıktı karışıklık olabilir kodlarda ayrıca benimki başka butondaydı f5'e ekledim sıkıntı çıkmaz inşallah.
KANIT:
Metin2 özel sunucularında oyun deneyimini artırmak için geliştirilen gelişmiş ışınlanma sistemleri, oyunculara daha hızlı ve kullanıcı dostu bir hareket imkanı sunar. Bu sistemde hem C++ backend tarafında hem de Python GUI tarafında güçlü entegrasyonlar sağlanmıştır.
C++ Tarafında Işınlanma Mekaniği
Metin2 özel sunucu geliştirme sürecinde, ışınlanma sistemi genellikle oyun sunucusunun çekirdek dosyalarında (game core) C++ ile yazılır. Bu sistem, oyuncuların belirli koordinatlara veya harita alanlarına anlık olarak taşınmasını sağlar. Channel yapısı üzerinde çalışırken, ışınlanma komutları auth ve game sunucuları arasında güvenli veri alışverişine dayanır.
Işınlanma mekaniği, oyuncu pozisyonu kontrol edilerek, hedef konuma göre db core üzerinden doğrulama yapılır. Eğer konum güvenliyse ve izin verilmişse, oyuncu anlık olarak hedefe ışınlanır. Bu işlem sırasında server src üzerindeki güvenlik kontrolleri, yetkilendirme sistemleriyle entegre çalışır.
Python GUI Entegrasyonu
Py GUI ile geliştirilen yönetim panelleri sayesinde, sunucu yöneticileri ışınlanma noktalarını kolayca tanımlayabilir ve düzenleyebilir. UIScript tabanlı arayüzler, kullanıcı dostu bir yapı sunarken, py root üzerinde çalışan komut setleri ile sunucu üzerinde dinamik değişiklikler yapılabilir.
Python tarafında geliştirilen GUI, ışınlanma komutlarını doğrudan C++ backend'e aktarır. Bu sayede hem geliştirici hem de yönetici kullanıcılar için etkili bir kontrol yapısı oluşur. Pack sistemi üzerinden dağıtılan GUI modülleri, farklı sunucu yapılandırmalarında da kolayca entegre edilebilir.
Martysama ve Metin2Dev Katkıları
Toplulukta tanınmış geliştiricilerden biri olan Martysama, Metin2 özel sunucu geliştirme dünyasında önemli projeler geliştirmiştir. Özellikle source edit ve metin2 compile süreçlerinde sunduğu çözümler, geliştiricilerin işini kolaylaştırmaktadır. ışınlanma sistemleri gibi gelişmiş özellikler, Martysama tarafından yayınlanan client src örneklerinde de yer almaktadır.
Metin2Dev platformu ise, Metin2 özel sunucu geliştirme süreçlerinde rehberler, kaynaklar ve topluluk desteği sunar. Bu sistemlerin geliştirilmesinde aktif rol oynamaktadır. Game server programming alanında derin bilgiye sahip geliştiriciler, bu platform aracılığıyla projelerini paylaşabilmektedir.
DB Entegrasyonu ve Güvenlik
Işınlanma sistemi, veritabanı (db) üzerinde özel tablolar kullanarak hedef konum bilgilerini saklar. Bu bilgiler, güvenlik kontrolleri için auth sunucusuna yönlendirilir. Her ışınlanma işlemi, oyuncu kimliği ve hedef konum doğrultusunda veritabanında kontrol edilir.
Olası hile girişimlerine karşı, ışınlanma komutları şifrelenmiş kanallar üzerinden gönderilir. Core seviyesinde uygulanan filtreler, yetkisiz ışınlanmaları engeller. Gelişmiş sistemlerde, IP tabanlı sınırlamalar ve cooldown mekanizmaları da entegre edilebilir.
Sonuç
Metin2 özel sunucularında gelişmiş ışınlanma sistemleri, hem oyun içi deneyimi artırır hem de sunucu yönetimini kolaylaştırır. C++ backend ile Python GUI entegrasyonu sayesinde, güçlü ve esnek bir yapı oluşturulabilir. Metin2Lobby olarak, bu tür sistemlerin geliştirilmesinde size yardımcı olacak kaynaklara ulaşabilirsiniz.
In order to enhance the gaming experience on Metin2 private servers, advanced teleportation systems have been developed to provide players with faster and more user-friendly movement. This system integrates strong backend operations using C++, along with Python GUI implementations.
Teleportation Mechanics in C++
Within the process of Metin2 private server development, the teleportation system is generally coded in C++ within the core game files (game core). This system allows players to instantly travel to specific coordinates or map areas. While working on the channel structure, teleport commands rely on secure data exchange between the auth and game servers.
The teleport mechanism validates player positions and checks if the destination is safe and authorized via the db core. If the location is verified, the player is instantly teleported. During this process, security controls on the server src integrate with authorization mechanisms to ensure safety.
Integration of Python GUI
Py GUI enables server administrators to easily define and modify teleportation points through user-friendly management panels. Interfaces based on UIScript offer intuitive control, while command sets running on py root allow dynamic server-side adjustments.
GUIs developed in Python send teleport commands directly to the C++ backend. This creates an efficient control structure for both developers and admin users. GUI modules distributed via the pack system can be easily integrated into various server configurations.
Contributions by Martysama and Metin2Dev
Among the well-known developers in the community, Martysama has developed significant projects in the field of Metin2 private server development. Especially solutions provided in source edit and metin2 compile processes ease the work of other developers. Advanced features like teleportation systems are also included in client src examples published by Martysama.
Metin2Dev provides guides, resources, and community support in Metin2 private server development processes. This platform plays an active role in developing such systems. Developers with deep knowledge in game server programming share their projects via this platform.
Database Integration and Security
The teleportation system stores target location data in special tables within the database (db). This information is sent to the auth server for security verification. Each teleport action is validated according to the player's identity and the target location.
To prevent cheating attempts, teleport commands are transmitted over encrypted channels. Filters applied at the core level block unauthorized teleports. In advanced systems, IP-based restrictions and cooldown mechanisms can also be implemented.
Conclusion
Advanced teleportation systems in Metin2 private servers both improve in-game experiences and simplify server management. With C++ backend and Python GUI integration, a powerful and flexible structure can be created. Visit Metin2Lobby to access resources that assist you in developing such systems.
KANIT:
Gelişmiş Işınlanma Sistemi[C++&PYTHON]
Metin2 özel sunucularında oyun deneyimini artırmak için geliştirilen gelişmiş ışınlanma sistemleri, oyunculara daha hızlı ve kullanıcı dostu bir hareket imkanı sunar. Bu sistemde hem C++ backend tarafında hem de Python GUI tarafında güçlü entegrasyonlar sağlanmıştır.
C++ Tarafında Işınlanma Mekaniği
Metin2 özel sunucu geliştirme sürecinde, ışınlanma sistemi genellikle oyun sunucusunun çekirdek dosyalarında (game core) C++ ile yazılır. Bu sistem, oyuncuların belirli koordinatlara veya harita alanlarına anlık olarak taşınmasını sağlar. Channel yapısı üzerinde çalışırken, ışınlanma komutları auth ve game sunucuları arasında güvenli veri alışverişine dayanır.
Işınlanma mekaniği, oyuncu pozisyonu kontrol edilerek, hedef konuma göre db core üzerinden doğrulama yapılır. Eğer konum güvenliyse ve izin verilmişse, oyuncu anlık olarak hedefe ışınlanır. Bu işlem sırasında server src üzerindeki güvenlik kontrolleri, yetkilendirme sistemleriyle entegre çalışır.
Python GUI Entegrasyonu
Py GUI ile geliştirilen yönetim panelleri sayesinde, sunucu yöneticileri ışınlanma noktalarını kolayca tanımlayabilir ve düzenleyebilir. UIScript tabanlı arayüzler, kullanıcı dostu bir yapı sunarken, py root üzerinde çalışan komut setleri ile sunucu üzerinde dinamik değişiklikler yapılabilir.
Python tarafında geliştirilen GUI, ışınlanma komutlarını doğrudan C++ backend'e aktarır. Bu sayede hem geliştirici hem de yönetici kullanıcılar için etkili bir kontrol yapısı oluşur. Pack sistemi üzerinden dağıtılan GUI modülleri, farklı sunucu yapılandırmalarında da kolayca entegre edilebilir.
Martysama ve Metin2Dev Katkıları
Toplulukta tanınmış geliştiricilerden biri olan Martysama, Metin2 özel sunucu geliştirme dünyasında önemli projeler geliştirmiştir. Özellikle source edit ve metin2 compile süreçlerinde sunduğu çözümler, geliştiricilerin işini kolaylaştırmaktadır. ışınlanma sistemleri gibi gelişmiş özellikler, Martysama tarafından yayınlanan client src örneklerinde de yer almaktadır.
Metin2Dev platformu ise, Metin2 özel sunucu geliştirme süreçlerinde rehberler, kaynaklar ve topluluk desteği sunar. Bu sistemlerin geliştirilmesinde aktif rol oynamaktadır. Game server programming alanında derin bilgiye sahip geliştiriciler, bu platform aracılığıyla projelerini paylaşabilmektedir.
DB Entegrasyonu ve Güvenlik
Işınlanma sistemi, veritabanı (db) üzerinde özel tablolar kullanarak hedef konum bilgilerini saklar. Bu bilgiler, güvenlik kontrolleri için auth sunucusuna yönlendirilir. Her ışınlanma işlemi, oyuncu kimliği ve hedef konum doğrultusunda veritabanında kontrol edilir.
Olası hile girişimlerine karşı, ışınlanma komutları şifrelenmiş kanallar üzerinden gönderilir. Core seviyesinde uygulanan filtreler, yetkisiz ışınlanmaları engeller. Gelişmiş sistemlerde, IP tabanlı sınırlamalar ve cooldown mekanizmaları da entegre edilebilir.
Sonuç
Metin2 özel sunucularında gelişmiş ışınlanma sistemleri, hem oyun içi deneyimi artırır hem de sunucu yönetimini kolaylaştırır. C++ backend ile Python GUI entegrasyonu sayesinde, güçlü ve esnek bir yapı oluşturulabilir. Metin2Lobby olarak, bu tür sistemlerin geliştirilmesinde size yardımcı olacak kaynaklara ulaşabilirsiniz.
Advanced Teleportation System[C++&PYTHON]
In order to enhance the gaming experience on Metin2 private servers, advanced teleportation systems have been developed to provide players with faster and more user-friendly movement. This system integrates strong backend operations using C++, along with Python GUI implementations.
Teleportation Mechanics in C++
Within the process of Metin2 private server development, the teleportation system is generally coded in C++ within the core game files (game core). This system allows players to instantly travel to specific coordinates or map areas. While working on the channel structure, teleport commands rely on secure data exchange between the auth and game servers.
The teleport mechanism validates player positions and checks if the destination is safe and authorized via the db core. If the location is verified, the player is instantly teleported. During this process, security controls on the server src integrate with authorization mechanisms to ensure safety.
Integration of Python GUI
Py GUI enables server administrators to easily define and modify teleportation points through user-friendly management panels. Interfaces based on UIScript offer intuitive control, while command sets running on py root allow dynamic server-side adjustments.
GUIs developed in Python send teleport commands directly to the C++ backend. This creates an efficient control structure for both developers and admin users. GUI modules distributed via the pack system can be easily integrated into various server configurations.
Contributions by Martysama and Metin2Dev
Among the well-known developers in the community, Martysama has developed significant projects in the field of Metin2 private server development. Especially solutions provided in source edit and metin2 compile processes ease the work of other developers. Advanced features like teleportation systems are also included in client src examples published by Martysama.
Metin2Dev provides guides, resources, and community support in Metin2 private server development processes. This platform plays an active role in developing such systems. Developers with deep knowledge in game server programming share their projects via this platform.
Database Integration and Security
The teleportation system stores target location data in special tables within the database (db). This information is sent to the auth server for security verification. Each teleport action is validated according to the player's identity and the target location.
To prevent cheating attempts, teleport commands are transmitted over encrypted channels. Filters applied at the core level block unauthorized teleports. In advanced systems, IP-based restrictions and cooldown mechanisms can also be implemented.
Conclusion
Advanced teleportation systems in Metin2 private servers both improve in-game experiences and simplify server management. With C++ backend and Python GUI integration, a powerful and flexible structure can be created. Visit Metin2Lobby to access resources that assist you in developing such systems.
