Seviyeli at geliştirme

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
selam arkadaşlar seviye at gelişmtirmeyi göstermek istiyorum




Kod:
quest madalyon_at begin     state start begin         when 50050.use begin             if horse.get_level() < 21 then -- BURASI DEĞİŞTİ (30 → 21)                 if pc.getqf("use_pm") == 0 then                     horse.set_level(1)                     pc.setqf("use_pm", 1)                     pc.remove_item(50050)                 else                     horse.advance()                     pc.remove_item(50050)                     local newLevel = horse.get_level()                     if newLevel == 1 then                         pc.give_item2(50051, 1)                     elseif newLevel == 11 then                         pc.give_item2(50052, 1)                     elseif newLevel == 21 then                         pc.give_item2(50053, 1)                     end                 end             else                 chat("Atınız zaten 21. seviye. Daha fazla geliştirilemez.") -- BURASI DEĞİŞTİ (30 → 21)             end         end     end end




arat
Kod:
bool CPVPManager::CanAttack(LPCHARACTER pkChr, LPCHARACTER pkVictim) {     switch (pkVictim->GetCharType())     {         case CHAR_TYPE_NPC:         case CHAR_TYPE_WARP:         case CHAR_TYPE_GOTO:             return false;     }     if (pkChr == pkVictim)         return false;     if (pkVictim->IsNPC() && pkChr->IsNPC() && !pkChr->IsGuardNPC())         return false;     if( true == pkChr->IsHorseRiding() )     {         if( pkChr->GetHorseLevel() > 0 && 1 == pkChr->GetHorseGrade() )             return false;     }     else     {         eMountType eIsMount = GetMountLevelByVnum(pkChr->GetMountVnum(), false);         switch (eIsMount)         {             case MOUNT_TYPE_NONE:             case MOUNT_TYPE_COMBAT:             case MOUNT_TYPE_MILITARY:                 break;             case MOUNT_TYPE_NORMAL:             default:                 if (test_server)                     sys_log(0, "CanUseSkill: Mount can't attack. vnum(%u) type(%d)", pkChr->GetMountVnum(), static_cast<int>(eIsMount));                 return false;                 break;         }     }



değiş
Kod:
bool CPVPManager::CanAttack(LPCHARACTER pkChr, LPCHARACTER pkVictim) {     switch (pkVictim->GetCharType())     {         case CHAR_TYPE_NPC:         case CHAR_TYPE_WARP:         case CHAR_TYPE_GOTO:             return false;     }     if (pkChr == pkVictim)  // ³»°¡ ³¯ Ä¥¶ó°í ÇÏ³× -_-         return false;     if (pkVictim->IsNPC() && pkChr->IsNPC() && !pkChr->IsGuardNPC())         return false;     if( true == pkChr->IsHorseRiding() )     {         if( pkChr->GetHorseLevel() == 0 )             return false;     }     else     {         switch( pkChr->GetMountVnum() )         {             case 0:             case 20101:             case 20102:             case 20103:             case 20030:             case 20110:             case 20111:             case 20112:             case 20113:             case 20114:             case 20115:             case 20116:             case 20117:             case 20118:                 //½Å±Ô Å»°Í °í±Ş             case 20205:             case 20206:             case 20207:             case 20208:             case 20209:             case 20210:             case 20211:             case 20212:             case 20119:        // ¶ó¸¶´Ü Èæ¸¶             case 20219:        // ¶ó¸¶´Ü Èæ¸¶ Ŭ·Ğ (ÇÒ·ÎÀ©¿ë)             case 20220:        // Å©¸®½º¸¶½º Å»°Í             case 20221:        // Àü°© ¹é¿õ             case 20222:        // Àü°© ÆÒ´õ             case 20120:             case 20121:             case 20122:             case 20123:             case 20124:             case 20125:             case 20214:        // ³ÆøÇÑ Àü°©¼ø¼ø·Ï             case 20215:        // ¿ë¸ÍÇÑ Àü°©¼ø¼ø·Ï             case 20217:        // ³ÆøÇÑ Àü°©¾Ï¼ø·Ï             case 20218:        // ¿ë¸ÍÇÑ Àü°©¾Ï¼ø·Ï                 break;             default:                 return false;         }     }


bul ve değiş
Kod:
UINT CInstanceBase::SHORSE::GetLevel() {     if (m_pkActor)     {         DWORD mount = m_pkActor->GetRace();         switch (mount)         {             case 20101:             case 20102:             case 20103:                 return 2;             case 20104:             case 20105:             case 20106:                 return 2;             case 20107:             case 20108:             case 20109:             case 20110: // #0000673: [M2EU] »õ·Î¿î Å»°Í Ÿ°í °ø°İ ¾ÈµÊ             case 20111: // #0000673: [M2EU] »õ·Î¿î Å»°Í Ÿ°í °ø°İ ¾ÈµÊ             case 20112: // #0000673: [M2EU] »õ·Î¿î Å»°Í Ÿ°í °ø°İ ¾ÈµÊ             case 20113: // #0000673: [M2EU] »õ·Î¿î Å»°Í Ÿ°í °ø°İ ¾ÈµÊ             case 20114:             case 20115:             case 20116:             case 20117:             case 20118:             case 20120:             case 20121:             case 20122:             case 20123:             case 20124:             case 20125:                 return 3;             case 20119: // ¶ó¸¶´Ü À̺¥Æ®¿ë Èæ¸¶´Â ½ºÅ³ºÒ°¡, °ø°İ°¡´ÉÇÑ ·¹º§2·Î ¼³Á¤             case 20219: // ÇÒ·ÎÀ© À̺¥Æ®¿ë Èæ¸¶´Â ½ºÅ³ºÒ°¡, °ø°İ°¡´ÉÇÑ ·¹º§2·Î ¼³Á¤ (=¶ó¸¶´Ü Èæ¸¶ Ŭ·Ğ)             case 20220:             case 20221:             case 20222:                 return 2;         }         // ¸¶¿îÆ® È®Àå ½Ã½ºÅÛ¿ë Æ¯¼ö ó¸® (20201 ~ 20212 ´ë¿ªÀ» »ç¿ëÇÏ°í ¼ø¼´ë·Î 4°³¾¿ ³ª´²¼ ÃʱŞ, Áß±Ş, °í±ŞÀÓ)         //    -- Å»°Í ·¹º§À» Ŭ¶ó¿¡¼ ÃøÁ¤ÇÏ°í °ø°İ/½ºÅ³ »ç¿ë°¡´É ¿©ºÎµµ Ŭ¶ó¿¡¼ ó¸®ÇÏ´Â °Í ÀÚü¿¡ ¹®Á¦°¡ ÀÖ´Â µí.. [hyo]         {             // Áß±Ş Å»°ÍÀº ·¹º§2 (°ø°İ °¡´É, ½ºÅ³ ºÒ°¡)             if ((20205 <= mount &&  20208 >= mount) ||                 (20214 == mount) || (20217 == mount)            // ³ÆøÇÑ Àü°©¼ø¼ø·Ï, ³ÆøÇÑ Àü°©¾Ï¼ø·Ï                 )                 return 2;             // °í±Ş Å»°ÍÀº ·¹º§3 (°ø°İ °¡´É, ½ºÅ³ °¡´É)             if ((20209 <= mount &&  20212 >= mount) ||                 (20215 == mount) || (20218 == mount) ||            // ¿ë¸ÍÇÑ Àü°©¼ø¼ø·Ï, ¿ë¸ÍÇÑ Àü°©¾Ï¼ø·Ï                 (20220 == mount)                 )                 return 3;         }     }     return 0; }


Kod:
50050    ¸¶ÆĞ    ITEM_QUEST    0    1    NONE    ITEM_STACKABLE    NONE        0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0

Seviyeli At Geliştirme Sistemi ile Metin2 Sunucularında Oyuncu Deneyimini Arttırın

Metin2 özel sunucularında oyuncuların gelişimini desteklemek ve oyun içi hazzı artırmak adına seviyeli at sistemleri büyük önem taşır. Bu sistem, sadece estetik açıdan değil, aynı zamanda performans ve stratejik olarak da oyuncuların avantaj elde edeceği bir özelliktir. Atlar, Metin2 oyununda hareket hızı, can, defans gibi istatistikleri artıran önemli yardımcı varlıklardır. Seviyeli at geliştirme sistemi sayesinde oyuncular, atlarını özel görevlerle veya özel eşyalarla geliştirerek daha güçlü hale getirebilirler.

Atların Seviye Sistemine Genel Bakış

Metin2 özel sunucularında geliştirilen atlar, genellikle 0 ila 100 arasında bir seviyeye kadar çıkartılabilir. Her seviye atlama, belirli miktarda deneyim kazanımı ile sağlanır. Deneyim puanları, özel item kullanımı, canavar öldürme veya görev tamamlama gibi eylemlerle kazanılır. Bu sistem, oyuncuların aktif olarak oynamasını teşvik eder. Seviyeli at sistemleri ayrıca PvP ve PvE deneyimi için kritik öneme sahiptir çünkü yüksek seviyeli bir at, savaşlarda büyük bir hız ve dayanıklılık avantajı sağlar.

Otomatik At Geliştirme Sistemi

Bazı Metin2 özel sunucularında, otomatik at geliştirme sistemleri entegre edilmiştir. Bu sistemler, oyuncuların sürekli olarak atlarını geliştirmekle vakit kaybetmesini engeller. Oyuncu, belirli itemleri veya gold harcayarak atını otomatik olarak geliştirme şansı elde eder. Bu tür sistemler genellikle C++ veya Python tabanlı olarak geliştirilir ve game server tarafına entegre edilir. Py root veya uiscript[/COORD] dosyaları üzerinden kullanıcı arayüzüne de entegrasyon yapılabilir.

At Seviyesi ile Artan Özellikler

Her at seviyesi yükseldikçe, oyuncuya sunulan bonuslar da artar. Örnek bonuslar:

- Hız: Seviye arttıkça atın hareket hızında doğrusal artış.
- Can: Atın dayanıklılığı artar, PvP esnasında daha uzun süre dayanır.
- Defans: Fiziksel saldırıya karşı koruma artar.
- Saldırı: Bazı sunucularda atın saldırmaya da katkı sağladığı sistemler mevcuttur.

Geliştirme İçin Gerekli Itemler

At seviyesi yükseltmek için bazı özel itemler gerekir. Bunlar genellikle at besinleri, deneyim tozu[/COORD] veya geliştirme taşları[/COORD] olarak adlandırılır. Bu itemler, quest[/COORD], market[/COORD] veya drop[/COORD] yoluyla elde edilebilir. Itemlerin kullanımı sırasında bazı sistemlerde başarılı çıkma[/COORD] oranı da vardır. Bu oran, sunucu yapılandırmasına göre değişebilir.

Sunucu Tarafında Kodlama ve Entegrasyon

Seviyeli at sistemleri, genellikle C++[/COORD] tabanlı server src[/COORD] üzerinde geliştirilir. Game core[/COORD] kısmında at sınıfına özel fonksiyonlar yazılır. Bu fonksiyonlar, atın seviyesi, deneyimi ve bonus istatistiklerini yönetir. Ayrıca DB[/COORD] (database) tarafında at bilgilerinin tutulması için özel tablolar oluşturulur. Auth[/COORD] ve game[/COORD] sunucuları arasında senkronizasyon sağlanmalıdır. Martysama[/COORD] gibi popüler sistemler, bu tür geliştirmeler için örnek alınabilir.

Sonuç

Seviyeli at geliştirme sistemleri, Metin2 özel sunucularında oyuncu sadakati ve oyun içi etkileşimi artırmak için ideal bir özelliktir. Doğru uygulandığında hem oyuncu[/COORD] hem de sunucu[/COORD] yöneticisi için faydalıdır. Oyuncular, atlarını kişiselleştirme ve geliştirme imkanı sayesinde daha fazla zaman harcar; bu da sunucunuzun popülaritesini[/COORD] ve aktif oyuncu[/COORD] sayısını artırır.


Enhance Player Experience with Tiered Horse Development System in Metin2 Private Servers

In Metin2 private servers, tiered horse development systems are crucial for supporting player progression and increasing in-game enjoyment. This system is important not only aesthetically but also strategically and performance-wise, giving players significant advantages. Horses in Metin2 are vital assets that enhance character stats like movement speed, HP, and defense. With a tiered horse development system, players can strengthen their horses through special quests, items, or custom mechanics.

Overview of Horse Leveling Systems

In Metin2 private servers, developed horses typically level up from 0 to 100. Each level gain is achieved by earning experience points. These points are obtained through actions such as using special items, killing monsters, or completing quests. Such systems encourage active gameplay. Tiered horse systems are also critical for PvP and PvE experiences, as high-level horses provide significant advantages in speed and durability during battles.

Automatic Horse Development System

Some Metin2 private servers feature integrated automatic horse development systems. These systems prevent players from spending excessive time manually upgrading their horses. Players can upgrade their horses automatically by spending specific items or gold. These systems are often built using C++ or Python and integrated into the game server. Integration can also occur through user interfaces via py root or uiscript[/COORD] files.

Features Increasing with Horse Level

As each horse levels up, the bonuses provided to the player increase. Example bonuses:

- Speed: Linear increase in movement speed as level increases.
- HP: Increased durability allows longer endurance in PvP combat.
- Defense: Enhanced protection against physical attacks.
- Attack: Some servers offer attack bonuses from the horse itself.

Required Items for Development

Special items are needed to upgrade horse levels. These are usually called horse food[/COORD], experience dust[/COORD], or upgrade stones[/COORD]. These items can be obtained through quests[/COORD], shop purchases[/COORD], or drops[/COORD]. Some systems also feature a success rate[/COORD] when using these items, which can vary depending on server configurations.

Server-Side Coding and Integration

Tiered horse systems are typically developed using C++[/COORD] based server src[/COORD]. Special functions are written in the game core[/COORD] section to manage horse level, experience, and stat bonuses. Additionally, custom tables are created in the DB[/COORD] (database) to store horse data. Synchronization must be maintained between auth[/COORD] and game[/COORD] servers. Popular systems like Martysama[/COORD] can serve as examples for such implementations.

Conclusion

Tiered horse development systems are ideal features for enhancing player loyalty and in-game interaction in Metin2 private servers. When properly implemented, they benefit both players[/COORD] and server administrators[/COORD]. Players spend more time customizing and upgrading their horses, increasing your server's popularity[/COORD] and active player count[/COORD].
 

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

Benzer konular

Geri
Üst Alt