Balık Tutarken ( İstediğiniz item'de Duyuru ) C++

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Mantık : Örnek Balık tutarken istediğiniz item tutuldugun'da duyuru geçer.

fishing.cpp açılır. ve aratılır

Kod:
LPITEM item = ch->AutoGiveItem(item_vnum, 1, -1, false); if (item) {
değiştirilir.
Kod:
LPITEM item = ch->AutoGiveItem(item_vnum, 1, -1, false); if (item) {     if (item_vnum == 71135 || item_vnum == 71143 ||     item_vnum == 45077 || item_vnum == 30319 ||     item_vnum == 60005 || item_vnum == 27994 ||     item_vnum == 53001 || item_vnum == 80017 ||     item_vnum == 84014     )     {         char Notice[256];         snprintf(Notice, sizeof(Notice), "[Balık] %s, nadir olan: %s yakaladı!", ch->GetName(), ITEM_MANAGER::instance().GetTable(item_vnum)->szLocaleName);         BroadcastNotice(Notice,true);     }

Balık Tutarken (İstediğiniz Item'de) Duyuru Sistemi - C++ ile Metin2 Özel Sunucu Geliştirme


Metin2 özel sunucularında oyuncuların deneyimini artırmak için birçok küçük ama etkili sistem eklenebilir. Bu sistemlerden birisi de balık tutma sırasında belirli bir item kazanıldığında duyuru yapılmasıdır. Bu yazıda, C++ tabanlı bir Metin2 sunucusunda bu sistemin nasıl geliştirileceğini adım adım inceleyeceğiz.

Balık Tutma Sistemi Nedir?
Metin2 oyununda balık tutma, hem eğlenceli hem de belirli item'lar kazanmak için kullanılan bir mekaniktir. Balık tutarken rastgele item'lar elde edilebilir. Bu item'ların bazıları nadirdir ve oyuncuların dikkatini çekebilir. İşte tam da bu noktada, belirli nadir item'lar elde edildiğinde ekranın ortasında duyuru yapılması, diğer oyunculara da bu başarıyı göstermek açısından oldukça etkileyici olabilir.

Sistem Geliştirme Adımları
1. Olay Tetikleyiciyi Belirlemek
Öncelikle, balık tutma sırasında bir item kazanıldığında çalışan fonksiyonu bulmamız gerekir. Bu genellikle game_src klasöründe yer alır. Balık sistemi için fishing_manager.cpp gibi dosyalarda bu olay yakalanabilir.

2. Item Kontrolü
Belirli item'lar için duyuru yapılmasını istiyorsak, kazanılan item ID'sini kontrol etmemiz gerekir. Örneğin, Dragon Soul ya da Ancient Gold Coin gibi item'lar için duyuru yapılabilir. Bu kontrolü if bloklarıyla yapabiliriz.

3. Duyuru Fonksiyonunu Tetiklemek
Item kontrolü başarılı olduğunda, duyuru mesajı göndermek için ChatPacket veya benzeri bir fonksiyon kullanılabilir. Bu sayede, oyuncunun adı ve kazandığı item ile birlikte duyuru yapılabilir.

Örnek Kod Yapısı (Pseudocode)
Kod:
[B][COLOR=#9365b8]if (item_id == ITEM_ID_DRAGON_SOUL || item_id == ITEM_ID_ANCIENT_COIN)[/COLOR][/B][BR][/BR]{[BR][/BR]    [B][COLOR=#9365b8]char announce_msg[256];[/COLOR][/B][BR][/BR]    [B][COLOR=#9365b8]snprintf(announce_msg, sizeof(announce_msg), '%s adlı oyuncu %s itemini balık tutarken kazandı!', player_name, item_name);[/COLOR][/B][BR][/BR]    [B][COLOR=#9365b8]SendNotice(CHAT_TYPE_ANNOUNCE, announce_msg);[/COLOR][/B][BR][/BR]}

Avantajlar
- Oyuncular arasında rekabeti artırır.
- Balık tutma aktivitesini daha keyifli ve ödüllendirici kılar.
- Sunucu etkinliğini artırır.

Sonuç
Metin2 özel sunucu geliştirmede, kullanıcı deneyimini artırmak için küçük ama etkili sistemler büyük fark yaratır. Balık tutarken belirli item'lar kazanıldığında duyuru yapmak bu sistemlerden biridir. C++ bilgisiyle kolayca entegre edilebilir ve Metin2 Lobby gibi platformlarda geliştiriciler tarafından paylaşılabilir. Bu tarz sistemlerle sunucunuzun kalitesi ve oynanış zenginliği artar.


Announcement When Fishing (On Desired Item) - C++ for Metin2 Private Server Development


In Metin2 private servers, many small but effective systems can be added to enhance the player experience. One of these systems is making announcements when a specific item is obtained during fishing. In this article, we will examine step-by-step how to develop such a system in a C++ based Metin2 server.

What is the Fishing System?
In the Metin2 game, fishing is both fun and a way to obtain certain items. While fishing, random items can be acquired. Some of these items are rare and can catch players' attention. At this point, making an announcement in the center of the screen when certain rare items are obtained can be quite impressive and visible to other players.

System Development Steps
1. Identifying the Event Trigger
Firstly, we need to locate the function that runs when an item is won during fishing. This is usually found within the game_src folder. The event can be caught in files like fishing_manager.cpp.

2. Item Check
If we want announcements for specific items, we must check the item ID received. For example, announcements could be triggered for items like Dragon Soul or Ancient Gold Coin. This check can be done with if blocks.

3. Triggering the Announcement Function
When the item check is successful, a function like ChatPacket can be used to send the announcement message. This allows the announcement to include the player's name and the item obtained.

Sample Code Structure (Pseudocode)
Kod:
[B][COLOR=#9365b8]if (item_id == ITEM_ID_DRAGON_SOUL || item_id == ITEM_ID_ANCIENT_COIN)[/COLOR][/B][BR][/BR]{[BR][/BR]    [B][COLOR=#9365b8]char announce_msg[256];[/COLOR][/B][BR][/BR]    [B][COLOR=#9365b8]snprintf(announce_msg, sizeof(announce_msg), '%s has obtained %s while fishing!', player_name, item_name);[/COLOR][/B][BR][/BR]    [B][COLOR=#9365b8]SendNotice(CHAT_TYPE_ANNOUNCE, announce_msg);[/COLOR][/B][BR][/BR]}

Advantages
- Increases competition among players.
- Makes fishing more enjoyable and rewarding.
- Enhances server activity.

Conclusion
In Metin2 private server development, small but impactful systems can make a big difference in user experience. Making announcements when specific items are won while fishing is one such system. With C++ knowledge, it can be easily integrated and shared on platforms like Metin2 Lobby. Such systems enhance your server's quality and gameplay richness.
 

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

Geri
Üst Alt