Mulțumim frumos, dar asta nu e tot. Trebuie căutat 75084 sau cât e vnum-ul al Schimbă Bonus și acolo modificăm. Te rog frumos să modifici in topic toată funcția unde trebuie să caute, și locul exact unde să modifice. Tu ai spus bine acolo, dar sunt multe linii ca aceea( mă refer pentru începători )
Nu imi placerealitatea, de asta trăiesc înlumea mea !
Gaz3rNr1 scrie:Mulțumim frumos, dar asta nu e tot. Trebuie căutat 75084 sau cât e vnum-ul al Schimbă Bonus și acolo modificăm. Te rog frumos să modifici in topic toată funcția unde trebuie să caute, și locul exact unde să modifice. Tu ai spus bine acolo, dar sunt multe linii ca aceea( mă refer pentru începători )
Gaz3rNr1 scrie:Mulțumim frumos, dar asta nu e tot. Trebuie căutat 75084 sau cât e vnum-ul al Schimbă Bonus și acolo modificăm. Te rog frumos să modifici in topic toată funcția unde trebuie să caute, și locul exact unde să modifice. Tu ai spus bine acolo, dar sunt multe linii ca aceea( mă refer pentru începători )
case USE_CHANGE_ATTRIBUTE :
if (item2->GetAttributeSetIndex() == -1)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성을 변경할 수 없는 아이템입니다."));
return false;
}
if (item2->GetAttributeCount() == 0)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("변경할 속성이 없습니다."));
return false;
}
if (GM_PLAYER == GetGMLevel() && false == test_server && false == g_bDisableItemBonusChangeTime)
{
//
// Event Flag 를 통해 이전에 아이템 속성 변경을 한 시간으로 부터 충분한 시간이 흘렀는지 검사하고
// 시간이 충분히 흘렀다면 현재 속성변경에 대한 시간을 설정해 준다.
//
DWORD dwChangeItemAttrCycle = quest::CQuestManager::instance().GetEventFlag(msc_szChangeItemAttrCycleFlag);
if (dwChangeItemAttrCycle < msc_dwDefaultChangeItemAttrCycle)
dwChangeItemAttrCycle = msc_dwDefaultChangeItemAttrCycle;
quest::PC* pPC = quest::CQuestManager::instance().GetPC(GetPlayerID());
if (pPC)
{
DWORD dwNowSec = get_global_time();
DWORD dwLastChangeItemAttrSec = pPC->GetFlag(msc_szLastChangeItemAttrFlag);
if (dwLastChangeItemAttrSec + dwChangeItemAttrCycle > dwNowSec)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성을 바꾼지 %d분 이내에는 다시 변경할 수 없습니다.(%d 분 남음)"),
dwChangeItemAttrCycle, dwChangeItemAttrCycle - (dwNowSec - dwLastChangeItemAttrSec));
return false;
}
pPC->SetFlag(msc_szLastChangeItemAttrFlag, dwNowSec);
}
}
if (item->GetSubType() == USE_CHANGE_ATTRIBUTE2)
{
int aiChangeProb[ITEM_ATTRIBUTE_MAX_LEVEL] =
{
0, 0, 30, 40, 3
};
item2->ChangeAttribute(aiChangeProb);
}
else if (item->GetVnum() == 76014)
{
int aiChangeProb[ITEM_ATTRIBUTE_MAX_LEVEL] =
{
0, 10, 50, 39, 1
};
item2->ChangeAttribute(aiChangeProb);
}
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("적용 레벨보다 높아 사용이 불가능합니다."));
break;
}
}
else
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("무기와 갑옷에만 사용 가능합니다."));
break;
}
}
item2->ChangeAttribute();
}
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성을 변경하였습니다."));
{
char buf[21];
snprintf(buf, sizeof(buf), "%u", item2->GetID());
LogManager::instance().ItemLog(this, item, "CHANGE_ATTRIBUTE", buf);
}
item->SetCount(item->GetCount() - 1);
break;
Ai testat măcar ? am pus şi cu item->SetCount(item->GetCount() - 0); şi item->SetCount(item->GetCount() 0); şi tot eroare la compilare ca a lui ăsta primesc