- Mesaj
- 434
- Çözümler
- 4
- Beğeni
- 30
- Puan
- 459
- Ticaret Puanı
- 0
1 99 emek için at seviyesini nasıl ayarlayabilirim yardım
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)...
hocam tr deki gibi at geliştirmek gibi seviye yükseltmeli atınHocam biraz daha açar mısın tam olarak ne istediğini anlayamadım.
Official at görevleri questi lazım sana ama maalesef bende yok.hocam tr deki gibi at geliştirmek gibi seviye yükseltmeli atın
nerden bulurum hocam ?Official at görevleri questi lazım sana ama maalesef bende yok.
Biraz baktım forumlara ama bulamadım istersen konu aç elinde olan varsa paylaşsın.nerden bulurum hocam ?
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
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;
}
}
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;
}
}
UINT CInstanceBase::SHORSE::GetLevel()
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;
}
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
anladım hocam teşekkür ederimBiraz baktım forumlara ama bulamadım istersen konu aç elinde olan varsa paylaşsın.
bunları yaptıktan sonra madalyon çalışır demi hocam o sorunda vardı bende ?al dostum senin için araştırdım benimde aklımda vardı zaten yapmak
Kod:quest madalyon_at begin state start begin when 50050.use begin if horse.get_level() < 30 then if pc.getqf("use_pm") == 0 then horse.set_level(1) pc.setqf("use_pm", 1) pc.remove_item(50050) else horse.advance() local X = horse.get_level() horse.set_level(X + 1) pc.remove_item(50050) if horse.get_level() == 1 then pc.give_item2(50051, 1) elseif horse.get_level() == 11 then pc.give_item2(50052, 1) elseif horse.get_level() == 21 then pc.give_item2(50053, 1) end end else chat("Atınız zaten 30. seviye. Daha fazla geliştirilemez.") end end end end
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; } }
bul
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; } }
değiş
bulInstanceBase.cpp:UINT CInstanceBase::SHORSE::GetLevel()
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; }
değiş
tamam hocam deniyip haber veririmevet çalışır test edip paylaştım zaten birde item_proto değişmeyi onuda yazdım şimdi
hocam pvp.cpp kod arattımda bendekiler değişik yardım edermisinevet çalışır test edip paylaştım zaten birde item_proto değişmeyi onuda yazdım şimdi
Bu değişiklikler at madalyonuna sağ tıklayarak binicilik seviyesini arttırmaya mı yarıyor ?al dostum senin için araştırdım benimde aklımda vardı zaten yapmak
quest: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
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; } }
bul
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; } }
değiş
bulInstanceBase.cpp:UINT CInstanceBase::SHORSE::GetLevel()
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; }
değiş
item_proto: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
Teşekkür ederim ihtiyaç olabilecek şeyler arşive kaldırayım illaki lazım olur