- Mesaj
- 245
- Çözümler
- 2
- Beğeni
- 27
- Puan
- 84
- Ticaret Puanı
- 0
6 7 efsun nesnesinde sorun vardı onları düzelttim ama yeşil efsunda sıkıntı cıktı 3 günden beri kafam maf oldu durdu bilen desteklersin sevinirim
char_item_cpp
char_item_cpp
Kod:
else
{
if (item->GetVnum() == 71151 || item->GetVnum() == 76023)
{
if ((item2->GetType() == ITEM_WEAPON)
|| (item2->GetType() == ITEM_ARMOR && item2->GetSubType() == ARMOR_BODY))
{
bool bCanUse = true;
for (int i = 0; i < ITEM_LIMIT_MAX_NUM; ++i)
{
if (item2->GetLimitType(i) == LIMIT_LEVEL && item2->GetLimitValue(i) > 40)
{
bCanUse = false;
break;
}
}
if (false == bCanUse)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("SADECE_40_LEVEL"));
break;
}
}
else
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("SADECE_40_LEVEL"));
break;
}
}
item2->ChangeAttribute();
}
Kod:
case USE_CHANGE_ATTRIBUTE2:
if (item2->GetAttributeSetIndex() == -1)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("oldu"));
return false;
}
if (item2->GetAttributeCount() == 0)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("olmadı"));
return false;
}
case USE_CHANGE_ATTRIBUTE :
{
#ifdef ENABLE_CHANGE_6TH_7TH_SYSTEM
sys_log(0, "DEBUG: USE_CHANGE_ATTRIBUTE case calisti. Item vnum: %u, Target vnum: %u", item->GetVnum(), item2->GetVnum());
// 72351: %10 ?ans ile 6-7 efsun de?i?tirir
if (item->GetVnum() == 72351)
{
sys_log(0, "DEBUG: 72351 item tespit edildi. Sans kontrolu yapiliyor...");
if (number(1, 100) <= 10) // test icin 100 yapabilirsin
{
sys_log(0, "DEBUG: Sans tuttu, Change6th7thRareAttribute() cagrilacak.");
char buf[21];
snprintf(buf, sizeof(buf), "%u", item2->GetID());
if (item2->Change6th7thRareAttribute())
{
sys_log(0, "DEBUG: 6-7 efsun basariyla degisti.");
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("6 ve 7. efsun ba?arıyla de?i?tirildi."));
LogManager::instance().ItemLog(this, item, "CHANGE_6TH_7TH_RARE", buf);
}
else
{
sys_log(0, "DEBUG: 6-7 efsun yok, islem yapilmadi.");
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Bu itemda 6?7 efsun bulunamadı."));
LogManager::instance().ItemLog(this, item, "CHANGE_6TH_7TH_FAIL", buf);
}
}
else
{
sys_log(0, "DEBUG: Sans tutmadi, islem yapilmiyor.");
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("?ans tutmadı?ı icin efsun de?i?tirilemedi."));
}
item->SetCount(item->GetCount() - 1);
return true;
}
// 72346: %100 garantili 6-7 efsun de?i?tirir
if (item->GetVnum() == 72346)
{
sys_log(0, "DEBUG: 72346 item tespit edildi. Garantili 6-7 efsun degisimi yapiliyor.");
char buf[21];
snprintf(buf, sizeof(buf), "%u", item2->GetID());
if (item2->Change6th7thRareAttribute())
{
sys_log(0, "DEBUG: 6-7 efsun basariyla degisti.");
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("6 ve 7. efsun ba?arıyla de?i?tirildi."));
LogManager::instance().ItemLog(this, item, "CHANGE_6TH_7TH_RARE", buf);
}
else
{
sys_log(0, "DEBUG: 6-7 efsun yok, islem yapilmadi.");
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Bu itemda 6?7 efsun bulunamadı."));
LogManager::instance().ItemLog(this, item, "CHANGE_6TH_7TH_FAIL", buf);
}
item->SetCount(item->GetCount() - 1);
return true;
}
#endif // ENABLE_CHANGE_6TH_7TH_SYSTEM
}
// Normal 1-5 efsun de?i?imi (orijinal kod)
if (item2->GetAttributeSetIndex() == -1)
return false;
if (item2->IsEquipped())
return false;
sys_log(0, "DEBUG: Normal ChangeAttribute() cagriliyor (1-5 efsun).");
item2->ChangeAttribute();
item->SetCount(item->GetCount() - 1);
break;