Agora Metin2 1
Agora Metin2
Bvural41 1
Bvural41
romegames 1
romegames
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Best Studio 1
Best Studio
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
InfernoShade 1
InfernoShade
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Seviyeli at geliştirme

  • Konuyu başlatan Konuyu başlatan texas134333
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 6
  • Görüntüleme Görüntüleme 801
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

texas134333

Level 2
Üye
Katılım
29 Tem 2020
Konular
26
Mesajlar
72
Çözüm
2
Online süresi
10d 23h
Reaksiyon Skoru
21
Altın Konu
0
TM Yaşı
5 Yıl 10 Ay 18 Gün
Başarım Puanı
60
MmoLira
2,723
DevLira
33
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

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
[CODE title="pvp.cpp:"]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;
}
}[/CODE]



değiş
[CODE title="pvp.cpp"]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;
}
}[/CODE]


bul ve değiş
[CODE title="InstanceBase.cpp"]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;
}[/CODE]


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
 
paylaşım için teşekkürler.
 
Koduna ve emeğine sağlık. Metin2 development ile ilgilenmeye başladım valla sayenizde bir sürü şey öğreniyorum
 
paylaşım için teşekkürler
 
24 saat içerisinde kanıt ekleyiniz.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst