- Mesaj
- 92
- Çözümler
- 3
- Beğeni
- 39
- Puan
- 444
- Ticaret Puanı
- 0
Binekden indiğinizde itemin çıkarılmasını istiyorsanız
cmd_genaral.cpp de
Eğerki binek itemi envanterdeyken ctrl h ile binek itemini giymek istiyorsanız.
Çoğu kişide bu fonksiyon vardır. Eğer yoksa ona göre işlem yapınız.
cmd_general.cpp de
bul altına ekle
Yapamayan arkadaşlar olursa diye kendi do_ride mi bırakıyorum kendinize göre uyarlar veya değiştirirsiniz
cmd_genaral.cpp de
ACMD (do_ride) içinde arat:
if (ch->IsHorseRiding())
{
dev_log (LOG_DEB0, "[DO_RIDE] stop riding");
ch->StopRiding();
return;
}
Değiştir:
if (ch->IsHorseRiding())
{
dev_log (LOG_DEB0, "[DO_RIDE] stop riding");
ch->StopRiding();
LPITEM wear_mount = ch->GetWear(WEAR_COSTUME_MOUNT);
if (wear_mount)
{
dev_log(LOG_DEB0, "[DO_RIDE] Unequip WEAR_COSTUME_MOUNT");
ch->UnequipItem(wear_mount);
}
return;
}
Eğerki binek itemi envanterdeyken ctrl h ile binek itemini giymek istiyorsanız.
Çoğu kişide bu fonksiyon vardır. Eğer yoksa ona göre işlem yapınız.
cmd_general.cpp de
ACMD (do_ride) içinde bul:
if (ch->GetHorse() != NULL)
{
dev_log (LOG_DEB0, "[DO_RIDE] start riding");
ch->StartRiding();
return;
}
bul altına ekle
altına ekle:
for (BYTE i = 0; i < INVENTORY_MAX_NUM; ++i)
{
LPITEM item = ch->GetInventoryItem (i);
if (NULL == item)
{
continue;
}
// À¯´ÏÅ© Å»°Í ¾ÆÀÌÅÛ
if (item->IsRideItem())
{
if (NULL == ch->GetWear (WEAR_UNIQUE1) || NULL == ch->GetWear (WEAR_UNIQUE2) || NULL == ch->GetWear (WEAR_COSTUME_MOUNT))
{
dev_log (LOG_DEB0, "[DO_RIDE] USE UNIQUE ITEM");
//ch->EquipItem(item);
ch->UseItem (TItemPos (INVENTORY, i));
return;
}
}
Yapamayan arkadaşlar olursa diye kendi do_ride mi bırakıyorum kendinize göre uyarlar veya değiştirirsiniz
C++:
ACMD (do_ride)
{
dev_log (LOG_DEB0, "[DO_RIDE] start");
if (ch->IsDead() || ch->IsStun())
{
return;
}
{
if (ch->IsHorseRiding())
{
dev_log (LOG_DEB0, "[DO_RIDE] stop riding");
ch->StopRiding();
LPITEM wear_mount = ch->GetWear(WEAR_COSTUME_MOUNT);
if (wear_mount)
{
dev_log(LOG_DEB0, "[DO_RIDE] Unequip WEAR_COSTUME_MOUNT");
ch->UnequipItem(wear_mount);
}
return;
}
if (ch->GetMountVnum())
{
dev_log (LOG_DEB0, "[DO_RIDE] unmount");
do_unmount (ch, NULL, 0, 0);
return;
}
}
{
if (ch->GetHorse() != NULL)
{
dev_log (LOG_DEB0, "[DO_RIDE] start riding");
ch->StartRiding();
return;
}
for (BYTE i = 0; i < INVENTORY_MAX_NUM; ++i)
{
LPITEM item = ch->GetInventoryItem (i);
if (NULL == item)
{
continue;
}
// À¯´ÏÅ© Å»°Í ¾ÆÀÌÅÛ
if (item->IsRideItem())
{
if (NULL == ch->GetWear (WEAR_UNIQUE1) || NULL == ch->GetWear (WEAR_UNIQUE2) || NULL == ch->GetWear (WEAR_COSTUME_MOUNT))
{
dev_log (LOG_DEB0, "[DO_RIDE] USE UNIQUE ITEM");
//ch->EquipItem(item);
ch->UseItem (TItemPos (INVENTORY, i));
return;
}
}
// ÀÏ¹İ Å»°Í ¾ÆÀÌÅÛ
// TODO : Å»°Í¿ë SubType Ãß°¡
switch (item->GetVnum())
{
case 71114: // Àú½ÅÀÌ¿ë±Ç
case 71116: // »ê°ß½ÅÀÌ¿ë±Ç
case 71118: // ÅõÁö¹üÀÌ¿ë±Ç
case 71120: // »çÀÚ¿ÕÀÌ¿ë±Ç
dev_log (LOG_DEB0, "[DO_RIDE] USE QUEST ITEM");
ch->UseItem (TItemPos (INVENTORY, i));
return;
}
// GF mantis #113524, 52001~52090 ¹ø Å»°Í
if ((item->GetVnum() > 52000) && (item->GetVnum() < 52091))
{
dev_log (LOG_DEB0, "[DO_RIDE] USE QUEST ITEM");
ch->UseItem (TItemPos (INVENTORY, i));
return;
}
}
}
ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT ("Önce Bineğini çıkar."));
}