örnek kolyedeki cevherin vnum değerini nasıl alabilirim
item->getvnum yaptığımda kolyenin vnum değerini alıyor
kullanmak istediğim yerin kod bloğu
item->getvnum yaptığımda kolyenin vnum değerini alıyor
kullanmak istediğim yerin kod bloğu
C++:
EVENTFUNC(accessory_socket_expire_event)
{
item_vid_event_info* info = dynamic_cast<item_vid_event_info*>( event->info );
if ( info == NULL )
{
sys_err( "accessory_socket_expire_event> <Factor> Null pointer" );
return 0;
}
LPITEM item = ITEM_MANAGER::instance().FindByVID(info->item_vid);
// LPITEM vnm = ITEM_MANAGER::instance().FindByVID(info->GetSocket(Get));
// TItemTable * p = ITEM_MANAGER::instance().GetTable(dwVnum);
if (item->GetAccessorySocketDownGradeTime() <= 1)
{
degrade:
item->SetAccessorySocketExpireEvent(NULL);
if (item->GetVnum() != 16626) // burası
{
item->AccessorySocketDegrade();
sys_err( "accessory_socket_expire_event içinde AccessorySocketDegrade kullandi vnum kodu %ld ", item->GetSocket()->GetVnum());
}
return 0;
}
else
{
int iTime = item->GetAccessorySocketDownGradeTime() - 60;
if (iTime <= 1)
goto degrade;
item->SetAccessorySocketDownGradeTime(iTime);
if (iTime > 60)
return PASSES_PER_SEC(60);
else
return PASSES_PER_SEC(iTime);
}
}
En son bir moderatör tarafından düzenlenmiş: