Agora Metin2 1
Agora Metin2
raderde 1
raderde
Cannn6161 1
Cannn6161
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Mt2Hizmet 1
Mt2Hizmet
melankolıa18 1
melankolıa18
romegames 1
romegames
Krutzo 1
Krutzo
shrpnl 1
shrpnl
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Cevaplanmadı Char_Item.cpp Hakkında

HacKer_CaN

Level 3
TM Üye
Katılım
26 Ağu 2010
Konular
37
Mesajlar
196
Online süresi
6d 1h
Reaksiyon Skoru
13
Altın Konu
0
TM Yaşı
15 Yıl 9 Ay 16 Gün
Başarım Puanı
107
MmoLira
48
DevLira
0
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!

Merhabalar, öncelikle yeniden TurkMMO'da konu açmak heyecan verici.

char_item.cpp'de efsun nesneleriyle oynuyorum ancak bir konuda takılı kaldım.

Kullandığım yeni bir efsun itemi "71352" ekledim. Bu efsun nesnesi silah itemine sürüklendiği takdirde belirli bir efsun vermesini istiyorum (Atıyorum Güç efsunu).
Ekrana saatlerdir bakıyorum, bir kaç deneme kodum oldu ama maalesef oyundaki standart efsun nesnesi işlevi sağladı. Bu konu hakkında yardımcı olabilecek varsa ne mutlu bize.



case USE_ADD_ATTRIBUTE :
if (item->GetVnum() == 71352)
{
if (item2->GetType() == ITEM_WEAPON)
{

item2->AddAttribute(5, 5);
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Başarıyla Eklendi."));
}
else
{
ChatPacket(CHAT_TYPE_INFO, "Eklenemedi");
return false;
}
}
 
item2->ClearAttribute();
item2->SetForceAttribute( 0, APPLY_STR, 5); //Güç +5

Bunu dener misin?

Efsun Arrayı yapıp içine efsunlar eklersin bunu random ile arrayın 1 ve 2 .ci kısımlarını alarak

SetForceAttribute(0, random[0], random[1]) gibi yapabilirsin.
 
Son düzenleme:
item2->ClearAttribute();
item2->SetForceAttribute( 0, APPLY_STR, 5); //Güç +5

Bunu dener misin?

Efsun Arrayı yapıp içine efsunlar eklersin bunu random ile arrayın 1 ve 2 .ci kısımlarını alarak

SetForceAttribute(0, random[0], random[1]) gibi yapabilirsin.
Teşekkür ederim. Maalesef itemi kullandığımda sıradan Efsun nesnesi işlevi gösteriyor. Acaba case USE_ADD_ATTRIBUTE veya case USE_CHANGE_ATTRIBUTE kaynaklı olabilir mi?
 
Buraya case USE_ADD_ATTRIBUTE : kodunuzu komple ekler misiniz?
 
Buraya case USE_ADD_ATTRIBUTE : kodunuzu komple ekler misiniz?
case USE_ADD_ATTRIBUTE3:
if (item2->GetAttributeCount() < 4)
{
// ¿¬Àç°¡ Ư¼öó¸®
// Àı´ë·Î ¿¬Àç°¡ Ãß°¡ ¾ÈµÉ°Å¶ó ÇÏ¿© Çϵå ÄÚµùÇÔ.
if (item->GetVnum() == 71353)
{
if (item2->GetType() == ITEM_WEAPON)
{
bool bCanUse = true;
for (int i = 0; i < ITEM_LIMIT_MAX_NUM; ++i)
{
if (item2->GetLimitType(i) == LIMIT_LEVEL && item2->GetLimitValue(i) > 90)
{
bCanUse = false;
break;
}
}
if (false == bCanUse)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Àû¿ë ·¹º§º¸´Ù ³ô¾Æ »ç¿ëÀÌ ºÒ°¡´ÉÇÕ´Ï´Ù."));
break;
}
}
else
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¹«±â¿Í °©¿Ê¿¡¸¸ »ç¿ë °¡´ÉÇÕ´Ï´Ù."));
break;
}
}
char buf[21];
snprintf(buf, sizeof(buf), "%u", item2->GetID());

if (number(1, 100) <= aiItemAttributeAddPercent[item2->GetAttributeCount()])
{
item2->ClearAttribute();
item2->SetForceAttribute(0, APPLY_STR, 5); //Güç +5
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¼Ó¼º Ãß°¡¿¡ ¼º°øÇÏ¿´½À´Ï´Ù."));

int iAddedIdx = item2->GetAttributeCount() - 1;
LogManager::instance().ItemLog(
GetPlayerID(),
item2->GetAttributeType(iAddedIdx),
item2->GetAttributeValue(iAddedIdx),
item->GetID(),
"ADD_ATTRIBUTE_SUCCESS",
buf,
GetDesc()->GetHostName(),
item->GetOriginalVnum());
}



else
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¼Ó¼º Ãß°¡¿¡ ½ÇÆĞÇÏ¿´½À´Ï´Ù."));
LogManager::instance().ItemLog(this, item, "ADD_ATTRIBUTE_FAIL", buf);
}

item->SetCount(item->GetCount() - 1);
}
else
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("´õÀÌ»ó ÀÌ ¾ÆÀÌÅÛÀ» ÀÌ¿ëÇÏ¿© ¼Ó¼ºÀ» Ãß°¡ÇÒ ¼ö ¾ø½À´Ï´Ù."));
}
break;
item_length.h dosyasında case USE_ADD_ATTRIBUTE3 tanımladım.
kodu 71152 yeşil efsun nesnesi kodundan baz aldım.
 

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

Geri
Üst