OYUN SEÇENEKLERİNE EKLEMEK İSTEYEN İÇİN Anlatım:
Altına eklenir:
Aratılır:
Altına Eklenir:
En sona eklenir:
Aratılır:
Altına eklenir:
constInfo.py
açılır ve herhangi bir yere eklenir:
uiscript/gameoptiondialog.py
Açılır ve aratılır:
Değiştirilir:
Aratılır:
Altına Eklenir:
Aratılır 2 kere:
Değiştirilir 2 kere:
Server/game/src/cmd.cpp
Açılır ve aratılır:
Altına Eklenir:
Aratılır:
Altına Eklenir:
cmd_general.cpp açılır
Aratılır:
Altına Eklenir:
char.h
Açılır ve Aratılır:
Altına Eklenir:
char.cpp
Açılır ve aratılır:
Altına Eklenir:
ÖRNEK PORT DAĞILIMI:
<blockquote data-attributes="" data-quote="" data-source="" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch">
Bu kısmıda bu şekilde değiştirin:
Bu kısım portlarınızın kaç arttığıdır ona göre düzenleyin.
Hata alırsanız veya port kısmını yapamazsanız yorum olarak atabilirsiniz.
Metin2 sunucularında oyuncuların karakter adlarını değiştirmesi, özel sunucu sahipleri için önemli bir sistemdir. Bu işlem genellikle oyuncu deneyimini artırmak veya belirli turnuvalar, özel olaylar gibi durumlar için kullanılır. Official CH Değiştirme Sistemi, bu işlemi güvenli ve kontrollü bir şekilde gerçekleştirmek için geliştirilmiş bir özelliktir.
CH Değiştirme Sisteminin Amacı
Oyuncuların karakter adlarını değiştirme ihtiyacı, özellikle PVP odaklı sunucularda önem kazanır. Bazı oyuncular, belirli bir ün kazandıktan sonra adlarını gizlemek veya yeni bir imajla oynamak isteyebilir. Official CH değiştirme sistemi, bu taleplere karşı sunucu sahibinin kontrolü altında bir çözüm sunar.
Sistem, oyuncuya belirli bir ücret karşılığı karakter adı değiştirme hakkı verir. Bu ücret genellikle oyun içi para, premium jeton veya gerçek para ile sağlanabilir. Böylece hem sunucu geliri artırılır hem de bu işlemi kötüye kullanma riski azaltılır.
Sistem Nasıl Çalışır?
CH değiştirme sistemi genellikle oyun içi arayüz üzerinden çalışır. Oyuncu, karakterinin üzerine sağ tıkladığında veya menüden 'Ad Değiştir' seçeneğini seçtiğinde, sistem yeni bir ad girmesini ister. Yeni ad kurallara uygunsa ve ücret karşılanabiliyorsa, değişiklik onaylanır ve DB (veritabanı) üzerinde güncellenir.
Bu işlem sırasında, Game Server ile Auth Server arasında koordinasyon yapılmalıdır. Ad değişikliği hem oyun hem de giriş sunucusunda aynı anda güncellenmelidir. Bu nedenle sistem, hem client hem de server tarafında entegrasyon gerektirir.
Sistem Entegrasyonu
CH değiştirme sistemi, genellikle C++ tabanlı Metin2 Server SRC üzerinde geliştirilir. Oyun içi arayüzde Python GUI (Py Root) kullanılarak kullanıcı dostu bir panel tasarlanabilir. Bu panelde, oyuncu yeni adını girer, sistem kuralları kontrol eder ve ücret alınır.
Ayrıca, Martysama veya diğer community sistemlerinde bulunan CH değiştirme örnekleri referans alınabilir. Bununla birlikte, güvenlik açısından ad değişikliği işlemlerinin loglanması da önemlidir. Bu sayede, bir kullanıcı sürekli ad değiştirerek spam yapmasını engellemek mümkün olur.
Geliştirme Önerileri
CH değiştirme sistemi, Metin2 Development sürecinde dikkatle planlanmalıdır. Özellikle ad kuralları (örneğin, küfür barındırmaması, özel karakter içerip içermediği) sunucuya özel olarak ayarlanabilir. Aynı zamanda, ad değişikliği işlemi için bir bekleme süresi tanımlanabilir. Örneğin, bir oyuncu 30 gün içinde sadece bir kez ad değiştirebilir.
Sistem, Core seviyesinde entegre edildiğinde daha stabil çalışır. Bu nedenle, DB Core ile senkronize bir yapı oluşturulması önerilir. Böylece ad değişiklikleri anlık olarak veritabanına yansıtılır ve çakışmalar önlenir.
Sonuç
Official CH değiştirme sistemi, Metin2 özel sunucularında kullanıcı deneyimini artıran, aynı zamanda sunucu yöneticilerine kontrol sağlayan önemli bir özelliktir. Doğru uygulandığında, oyuncular için güvenli ve kolay bir hizmet sunar. Metin2Lobby.com olarak, bu tür sistemlerin detaylı açıklamalarını ve geliştirme süreçlerini paylaşarak topluluğa katkı sunmaya devam ediyoruz.
Metin2 servers, changing character names is an important feature for private server owners. This process is often used to enhance player experience or for special events like tournaments. The Official CH Change System is a secure and controlled solution developed for this purpose.
Purpose of the CH Change System
The need for players to change their character names gains importance especially in PVP-oriented servers. Some players may want to hide their identity after gaining fame or play with a new image. The Official CH change system provides a solution under server owner control to meet these needs.
The system grants the player the right to change their character name in exchange for a certain fee. This fee is usually paid with in-game money, premium tokens, or real currency. This way, both server revenue increases and the risk of misusing this action is reduced.
How Does the System Work?
The CH change system typically operates through the in-game interface. When the player right-clicks on their character or selects the 'Change Name' option from the menu, the system prompts them to enter a new name. If the new name complies with rules and the fee can be covered, the change is approved and updated in the database (DB).
During this process, coordination must be made between the Game Server and Auth Server. The name change must be updated simultaneously on both the game and login servers. Therefore, the system requires integration on both client and server sides.
System Integration
The CH change system is generally developed on C++ based Metin2 Server SRC. A user-friendly panel can be designed using Python GUI (Py Root) within the game interface. In this panel, the player enters their new name, the system checks the rules, and charges the fee.
Additionally, CH change examples found in Martysama or other community systems can be referenced. However, logging CH change operations is also important for security reasons. This way, preventing a user from constantly changing names to spam becomes possible.
Development Suggestions
The CH change system should be carefully planned during the Metin2 Development process. Particularly, name rules (e.g., not containing profanity, including special characters) can be customized per server. Additionally, a waiting period can be defined for name change operations. For example, a player can only change their name once in 30 days.
When integrated at the Core level, the system operates more stably. Therefore, creating a structure synchronized with DB Core is recommended. This ensures that name changes are instantly reflected in the database, preventing conflicts.
Conclusion
The Official CH change system is an essential feature that enhances user experience on Metin2 private servers while providing server administrators with control. When implemented correctly, it offers a safe and easy service for players. At Metin2Lobby.com, we continue to contribute to the community by sharing detailed explanations and development processes of such systems.
Kod:
self.showsalesTextButtonList.append(GetObject("salestext_off_button"))
Altına eklenir:
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Aratılır:
Kod:
self.showsalesTextButtonList[1].SAFE_SetEvent(self.__OnClickSalesTextOffButton)
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
En sona eklenir:
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Aratılır:
Kod:
self.showsalesTextButtonList = [*]
Altına eklenir:
Kod:
self.ChangeChannelButtonList = [*]
açılır ve herhangi bir yere eklenir:
Kod:
change_time = 0
uiscript/gameoptiondialog.py
Açılır ve aratılır:
Kod:
TEMPORARY_X = +13
Değiştirilir:
Kod:
TEMPORARY_X = +14
Aratılır:
Kod:
{ "name" : "titlebar", "type" : "titlebar", "style" : ("attach",), "x" : 8, "y" : 8, "width" : 284, "color" : "gray", "children" : ( { "name":"titlename", "type":"text", "x":0, "y":3, "text" : uiScriptLocale.GAMEOPTION_TITLE, "horizontal_align":"center", "text_horizontal_align":"center" }, ), },
Altına Eklenir:
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Aratılır 2 kere:
Kod:
"height" : 25*11+8,
Değiştirilir 2 kere:
Kod:
"height" : 25*11+8+25,
Server/game/src/cmd.cpp
Açılır ve aratılır:
Kod:
ACMD(do_item);
Altına Eklenir:
Kod:
ACMD(do_ch);
Aratılır:
Kod:
{ "pvp", do_pvp, 0, POS_DEAD, GM_PLAYER },
Altına Eklenir:
Kod:
{ "ch", do_ch, 0, POS_DEAD, GM_PLAYER },
Aratılır:
Kod:
ACMD(do_set_walk_mode) { ch->SetNowWalking(true); ch->SetWalking(true); }
Altına Eklenir:
Kod:
ACMD(do_ch) { char arg1[256]; one_argument(argument, arg1, sizeof(arg1)); if (!*arg1) return; int new_ch; str_to_number(new_ch, arg1); if( new_ch <1 || new_ch >4) return; if (!ch->IsPC()) return; ch->ChannelSwitch(new_ch); }
char.h
Açılır ve Aratılır:
Kod:
void StartWarpNPCEvent();
Altına Eklenir:
Kod:
void ChannelSwitch(int new_ch);
char.cpp
Açılır ve aratılır:
Kod:
EVENTFUNC(warp_npc_event) { char_event_info* info = dynamic_cast<char_event_info*>( event->info ); if ( info == NULL ) { sys_err( "warp_npc_event> <Factor> Null pointer" ); return 0; } LPCHARACTER ch = info->ch; if (ch == NULL) { // <Factor> return 0; } if (!ch->GetSectree()) { ch->m_pkWarpNPCEvent = NULL; return 0; } FuncCheckWarp f(ch); if (f.Valid()) ch->GetSectree()->ForEachAround(f); return passes_per_sec / 2; }
Altına Eklenir:
Kod:
void CHARACTER::ChannelSwitch(int iNewChannel) { long lAddr; long lMapIndex; WORD wPort; long x = this->GetX(); long y = this->GetY(); if (!CMapLocation::instance().Get(x, y, lMapIndex, lAddr, wPort)) { return; } if(lMapIndex >= 10000){ return; } std::map<WORD, int>ch; for(int i = 0; i < 4; i++) { for(int i2 = 1; i2 < 9; i2++) { ch[29*1000 + i*100 + i2] = i+1; } } int chan; if(ch.find(wPort) != ch.end()) { chan = ch[wPort]; } else { return; } Stop(); Save(); if(GetSectree()) { GetSectree()->RemoveEntity(this); ViewCleanup(); EncodeRemovePacket(this); } TPacketGCWarp p; p.bHeader = HEADER_GC_WARP; p.lX = x; p.lY = y; p.lAddr = lAddr; p.wPort = (wPort - 100*(chan-1) + 100*(iNewChannel-1)); GetDesc()->Packet(&p, sizeof(TPacketGCWarp)); }
ÖRNEK PORT DAĞILIMI:
Kod:
CH1: Core1: 29001 Core2: 29002 Core3: 29003 Core4: 29004 CH2: Core1: 29101 Core2: 29102 Core3: 29103 Core4: 29104 CH3: Core1: 29201 Core2: 29202 Core3: 29203 Core4: 29204
<blockquote data-attributes="" data-quote="" data-source="" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch">
Kod:
for(int i = 0; i < 4; i++) { ch[(13 * 1000) + (i * 3000)] = i + 1; if (i == 3) ch[(13 * 1000) + ((i * 3000) - 1000)] = i + 1; }
Kod:
p.wPort = (wPort - 100*(chan-1) + 100*(iNewChannel-1));
Bu kısmıda bu şekilde değiştirin:
Kod:
p.wPort = (wPort - 3000*(chan-1) + 3000*(iNewChannel-1));
Bu kısım portlarınızın kaç arttığıdır ona göre düzenleyin.
Hata alırsanız veya port kısmını yapamazsanız yorum olarak atabilirsiniz.
Official CH Değiştirme Sistemi
Metin2 sunucularında oyuncuların karakter adlarını değiştirmesi, özel sunucu sahipleri için önemli bir sistemdir. Bu işlem genellikle oyuncu deneyimini artırmak veya belirli turnuvalar, özel olaylar gibi durumlar için kullanılır. Official CH Değiştirme Sistemi, bu işlemi güvenli ve kontrollü bir şekilde gerçekleştirmek için geliştirilmiş bir özelliktir.
CH Değiştirme Sisteminin Amacı
Oyuncuların karakter adlarını değiştirme ihtiyacı, özellikle PVP odaklı sunucularda önem kazanır. Bazı oyuncular, belirli bir ün kazandıktan sonra adlarını gizlemek veya yeni bir imajla oynamak isteyebilir. Official CH değiştirme sistemi, bu taleplere karşı sunucu sahibinin kontrolü altında bir çözüm sunar.
Sistem, oyuncuya belirli bir ücret karşılığı karakter adı değiştirme hakkı verir. Bu ücret genellikle oyun içi para, premium jeton veya gerçek para ile sağlanabilir. Böylece hem sunucu geliri artırılır hem de bu işlemi kötüye kullanma riski azaltılır.
Sistem Nasıl Çalışır?
CH değiştirme sistemi genellikle oyun içi arayüz üzerinden çalışır. Oyuncu, karakterinin üzerine sağ tıkladığında veya menüden 'Ad Değiştir' seçeneğini seçtiğinde, sistem yeni bir ad girmesini ister. Yeni ad kurallara uygunsa ve ücret karşılanabiliyorsa, değişiklik onaylanır ve DB (veritabanı) üzerinde güncellenir.
Bu işlem sırasında, Game Server ile Auth Server arasında koordinasyon yapılmalıdır. Ad değişikliği hem oyun hem de giriş sunucusunda aynı anda güncellenmelidir. Bu nedenle sistem, hem client hem de server tarafında entegrasyon gerektirir.
Sistem Entegrasyonu
CH değiştirme sistemi, genellikle C++ tabanlı Metin2 Server SRC üzerinde geliştirilir. Oyun içi arayüzde Python GUI (Py Root) kullanılarak kullanıcı dostu bir panel tasarlanabilir. Bu panelde, oyuncu yeni adını girer, sistem kuralları kontrol eder ve ücret alınır.
Ayrıca, Martysama veya diğer community sistemlerinde bulunan CH değiştirme örnekleri referans alınabilir. Bununla birlikte, güvenlik açısından ad değişikliği işlemlerinin loglanması da önemlidir. Bu sayede, bir kullanıcı sürekli ad değiştirerek spam yapmasını engellemek mümkün olur.
Geliştirme Önerileri
CH değiştirme sistemi, Metin2 Development sürecinde dikkatle planlanmalıdır. Özellikle ad kuralları (örneğin, küfür barındırmaması, özel karakter içerip içermediği) sunucuya özel olarak ayarlanabilir. Aynı zamanda, ad değişikliği işlemi için bir bekleme süresi tanımlanabilir. Örneğin, bir oyuncu 30 gün içinde sadece bir kez ad değiştirebilir.
Sistem, Core seviyesinde entegre edildiğinde daha stabil çalışır. Bu nedenle, DB Core ile senkronize bir yapı oluşturulması önerilir. Böylece ad değişiklikleri anlık olarak veritabanına yansıtılır ve çakışmalar önlenir.
Sonuç
Official CH değiştirme sistemi, Metin2 özel sunucularında kullanıcı deneyimini artıran, aynı zamanda sunucu yöneticilerine kontrol sağlayan önemli bir özelliktir. Doğru uygulandığında, oyuncular için güvenli ve kolay bir hizmet sunar. Metin2Lobby.com olarak, bu tür sistemlerin detaylı açıklamalarını ve geliştirme süreçlerini paylaşarak topluluğa katkı sunmaya devam ediyoruz.
Official CH Change System
Metin2 servers, changing character names is an important feature for private server owners. This process is often used to enhance player experience or for special events like tournaments. The Official CH Change System is a secure and controlled solution developed for this purpose.
Purpose of the CH Change System
The need for players to change their character names gains importance especially in PVP-oriented servers. Some players may want to hide their identity after gaining fame or play with a new image. The Official CH change system provides a solution under server owner control to meet these needs.
The system grants the player the right to change their character name in exchange for a certain fee. This fee is usually paid with in-game money, premium tokens, or real currency. This way, both server revenue increases and the risk of misusing this action is reduced.
How Does the System Work?
The CH change system typically operates through the in-game interface. When the player right-clicks on their character or selects the 'Change Name' option from the menu, the system prompts them to enter a new name. If the new name complies with rules and the fee can be covered, the change is approved and updated in the database (DB).
During this process, coordination must be made between the Game Server and Auth Server. The name change must be updated simultaneously on both the game and login servers. Therefore, the system requires integration on both client and server sides.
System Integration
The CH change system is generally developed on C++ based Metin2 Server SRC. A user-friendly panel can be designed using Python GUI (Py Root) within the game interface. In this panel, the player enters their new name, the system checks the rules, and charges the fee.
Additionally, CH change examples found in Martysama or other community systems can be referenced. However, logging CH change operations is also important for security reasons. This way, preventing a user from constantly changing names to spam becomes possible.
Development Suggestions
The CH change system should be carefully planned during the Metin2 Development process. Particularly, name rules (e.g., not containing profanity, including special characters) can be customized per server. Additionally, a waiting period can be defined for name change operations. For example, a player can only change their name once in 30 days.
When integrated at the Core level, the system operates more stably. Therefore, creating a structure synchronized with DB Core is recommended. This ensures that name changes are instantly reflected in the database, preventing conflicts.
Conclusion
The Official CH change system is an essential feature that enhances user experience on Metin2 private servers while providing server administrators with control. When implemented correctly, it offers a safe and easy service for players. At Metin2Lobby.com, we continue to contribute to the community by sharing detailed explanations and development processes of such systems.
