- Mesaj
- 4.377
- Çözümler
- 183
- Beğeni
- 3.942
- Puan
- 1.850
- Ticaret Puanı
- 3
görüldüğü gibi item slotta değilken bile binek yanımda duruyor. bunun fixi neredeydi ya bir türlü bulamadım.
oda olurben dcden yazmam wpden yazarım
hayırIşınlanınca da aynı sorun devam ediyor mu?
teşekkürler bir kontrol edeyim dediğin gibi fixi buluruz belkiÇözüm olurmu bilmiyorum amaLinkleri görebilmek için giriş yap veya kayıt ol.te sistem ekli ve böyle bir sorun yoktu hatırladığım kadarıyla en azından kod karşılaştırması yapabilirsin
cmd_genaral.cpp
açılır
ACMD(do_user_horse_ride)
aratılır
if (ch->GetMountVnum())
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ÀÌ¹Ì Å»°ÍÀ» ÀÌ¿ëÁßÀÔ´Ï´Ù."));
return;
}
tekrar aratılır altına eklenir
#ifdef ENABLE_YANINDA_GEZEN_BINEK_FIX
if (ch->GetQuestFlag("HORSE.CHECKER") && get_global_time() < ch->GetQuestFlag("HORSE.CHECKER"))
{
ch->ChatPacket(CHAT_TYPE_INFO, "Bunu yapabilmek için %d saniye bekleyin.", (ch->GetQuestFlag("HORSE.CHECKER") - get_global_time()) % 180);
return;
}
#endif
if (ch->GetHorse() == NULL)
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¸»À» ¸ÕÀú ¼ÒȯÇØÁÖ¼¼¿ä."));
return;
}
aratılır cmd_genaral.cpp de gine
#ifdef ENABLE_YANINDA_GEZEN_BINEK_FIX
ch->SetQuestFlag("HORSE.CHECKER", get_global_time() + 3);
#endif
altına eklenir.
ACMD(do_user_horse_back)
aratılır
değiştir
ACMD(do_user_horse_back)
{
if (ch->GetHorse() != NULL)
{
#ifdef ENABLE_YANINDA_GEZEN_BINEK_FIX
if (ch->GetQuestFlag("HORSE.CHECKER") && get_global_time() < ch->GetQuestFlag("HORSE.CHECKER"))
{
ch->ChatPacket(CHAT_TYPE_INFO, "Bunu yapabilmek için %d saniye bekleyin.", (ch->GetQuestFlag("HORSE.CHECKER") - get_global_time()) % 180);
return;
}
#endif
#ifdef ENABLE_YANINDA_GEZEN_BINEK_FIX
ch->SetQuestFlag("HORSE.CHECKER", get_global_time() + 3);
#endif
ch->HorseSummon(false);
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¸»À» µ¹·Áº¸³Â½À´Ï´Ù."));
}
else if (ch->IsHorseRiding() == true)
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¸»¿¡¼ ¸ÕÀú ³»·Á¾ß ÇÕ´Ï´Ù."));
}
else
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¸»À» ¸ÕÀú ¼ÒȯÇØÁÖ¼¼¿ä."));
}
}
ACMD(do_ride)
aratılır
if (ch->IsDead() || ch->IsStun())
return;
aratılır
altına
#ifdef ENABLE_YANINDA_GEZEN_BINEK_FIX
if (ch->IsPolymorphed() == true){
ch->ChatPacket(CHAT_TYPE_INFO, "Dönüşmüş haldeyken bineğe binemezsin.");
return;
}
#ifdef ENABLE_YANINDA_GEZEN_BINEK_FIX
if (ch->GetQuestFlag("HORSE.CHECKER") && get_global_time() < ch->GetQuestFlag("HORSE.CHECKER"))
{
ch->ChatPacket(CHAT_TYPE_INFO, "Bunu yapabilmek için %d saniye bekleyin.", (ch->GetQuestFlag("HORSE.CHECKER") - get_global_time()) % 180);
return;
}
#endif
if (ch->GetMountVnum())
{
aratılır
#ifdef ENABLE_YANINDA_GEZEN_BINEK_FIX
ch->SetQuestFlag("HORSE.CHECKER", get_global_time() + 3);
#endif
altına eklenir
if (ch->IsHorseRiding())
{
ch->StopRiding();
return;
}
aratılır
#ifdef ENABLE_YANINDA_GEZEN_BINEK_FIX
if (ch->GetQuestFlag("HORSE.CHECKER") && get_global_time() < ch->GetQuestFlag("HORSE.CHECKER"))
{
ch->ChatPacket(CHAT_TYPE_INFO, "Bunu yapabilmek için %d saniye bekleyin.", (ch->GetQuestFlag("HORSE.CHECKER") - get_global_time()) % 180);
return;
}
#endif
altına eklenir
if (ch->GetHorse() != NULL)
{
aratılır
#ifdef ENABLE_YANINDA_GEZEN_BINEK_FIX
ch->SetQuestFlag("HORSE.CHECKER", get_global_time() + 3);
#endif
altına eklenir
if (ch->GetMountVnum())
{
dev_log(LOG_DEB0, "[DO_RIDE] unmount");
do_unmount(ch, NULL, 0, 0);
return;
}
}
aratılır
{
#ifdef ENABLE_YANINDA_GEZEN_BINEK_FIX
if (ch->GetQuestFlag("HORSE.CHECKER") && get_global_time() < ch->GetQuestFlag("HORSE.CHECKER"))
{
ch->ChatPacket(CHAT_TYPE_INFO, "Bunu yapabilmek için %d saniye bekleyin.", (ch->GetQuestFlag("HORSE.CHECKER") - get_global_time()) % 180);
return;
}
#endif
eklenir
if (ch->GetHorse() != NULL)
değiştirilir
if (ch->GetHorse() != NULL)
{
dev_log(LOG_DEB0, "[DO_RIDE] start riding");
#ifdef ENABLE_YANINDA_GEZEN_BINEK_FIX
ch->SetQuestFlag("HORSE.CHECKER", get_global_time() + 3);
#endif
ch->StartRiding();
return;
}
#define ENABLE_YANINDA_GEZEN_BINEK_FIX
service.h eklenir finsh.
cmd_genaral.cpp
açılır
ACMD(do_user_horse_ride)
aratılır
if (ch->GetMountVnum())
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ÀÌ¹Ì Å»°ÍÀ» ÀÌ¿ëÁßÀÔ´Ï´Ù."));
return;
}
tekrar aratılır altına eklenir
#ifdef ENABLE_YANINDA_GEZEN_BINEK_FIX
if (ch->GetQuestFlag("HORSE.CHECKER") && get_global_time() < ch->GetQuestFlag("HORSE.CHECKER"))
{
ch->ChatPacket(CHAT_TYPE_INFO, "Bunu yapabilmek için %d saniye bekleyin.", (ch->GetQuestFlag("HORSE.CHECKER") - get_global_time()) % 180);
return;
}
#endif
if (ch->GetHorse() == NULL)
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¸»À» ¸ÕÀú ¼ÒȯÇØÁÖ¼¼¿ä."));
return;
}
aratılır cmd_genaral.cpp de gine
#ifdef ENABLE_YANINDA_GEZEN_BINEK_FIX
ch->SetQuestFlag("HORSE.CHECKER", get_global_time() + 3);
#endif
altına eklenir.
ACMD(do_user_horse_back)
aratılır
değiştir
ACMD(do_user_horse_back)
{
if (ch->GetHorse() != NULL)
{
#ifdef ENABLE_YANINDA_GEZEN_BINEK_FIX
if (ch->GetQuestFlag("HORSE.CHECKER") && get_global_time() < ch->GetQuestFlag("HORSE.CHECKER"))
{
ch->ChatPacket(CHAT_TYPE_INFO, "Bunu yapabilmek için %d saniye bekleyin.", (ch->GetQuestFlag("HORSE.CHECKER") - get_global_time()) % 180);
return;
}
#endif
#ifdef ENABLE_YANINDA_GEZEN_BINEK_FIX
ch->SetQuestFlag("HORSE.CHECKER", get_global_time() + 3);
#endif
ch->HorseSummon(false);
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¸»À» µ¹·Áº¸³Â½À´Ï´Ù."));
}
else if (ch->IsHorseRiding() == true)
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¸»¿¡¼ ¸ÕÀú ³»·Á¾ß ÇÕ´Ï´Ù."));
}
else
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¸»À» ¸ÕÀú ¼ÒȯÇØÁÖ¼¼¿ä."));
}
}
ACMD(do_ride)
aratılır
if (ch->IsDead() || ch->IsStun())
return;
aratılır
altına
#ifdef ENABLE_YANINDA_GEZEN_BINEK_FIX
if (ch->IsPolymorphed() == true){
ch->ChatPacket(CHAT_TYPE_INFO, "Dönüşmüş haldeyken bineğe binemezsin.");
return;
}
#ifdef ENABLE_YANINDA_GEZEN_BINEK_FIX
if (ch->GetQuestFlag("HORSE.CHECKER") && get_global_time() < ch->GetQuestFlag("HORSE.CHECKER"))
{
ch->ChatPacket(CHAT_TYPE_INFO, "Bunu yapabilmek için %d saniye bekleyin.", (ch->GetQuestFlag("HORSE.CHECKER") - get_global_time()) % 180);
return;
}
#endif
if (ch->GetMountVnum())
{
aratılır
#ifdef ENABLE_YANINDA_GEZEN_BINEK_FIX
ch->SetQuestFlag("HORSE.CHECKER", get_global_time() + 3);
#endif
altına eklenir
if (ch->IsHorseRiding())
{
ch->StopRiding();
return;
}
aratılır
#ifdef ENABLE_YANINDA_GEZEN_BINEK_FIX
if (ch->GetQuestFlag("HORSE.CHECKER") && get_global_time() < ch->GetQuestFlag("HORSE.CHECKER"))
{
ch->ChatPacket(CHAT_TYPE_INFO, "Bunu yapabilmek için %d saniye bekleyin.", (ch->GetQuestFlag("HORSE.CHECKER") - get_global_time()) % 180);
return;
}
#endif
altına eklenir
if (ch->GetHorse() != NULL)
{
aratılır
#ifdef ENABLE_YANINDA_GEZEN_BINEK_FIX
ch->SetQuestFlag("HORSE.CHECKER", get_global_time() + 3);
#endif
altına eklenir
if (ch->GetMountVnum())
{
dev_log(LOG_DEB0, "[DO_RIDE] unmount");
do_unmount(ch, NULL, 0, 0);
return;
}
}
aratılır
{
#ifdef ENABLE_YANINDA_GEZEN_BINEK_FIX
if (ch->GetQuestFlag("HORSE.CHECKER") && get_global_time() < ch->GetQuestFlag("HORSE.CHECKER"))
{
ch->ChatPacket(CHAT_TYPE_INFO, "Bunu yapabilmek için %d saniye bekleyin.", (ch->GetQuestFlag("HORSE.CHECKER") - get_global_time()) % 180);
return;
}
#endif
eklenir
if (ch->GetHorse() != NULL)
değiştirilir
if (ch->GetHorse() != NULL)
{
dev_log(LOG_DEB0, "[DO_RIDE] start riding");
#ifdef ENABLE_YANINDA_GEZEN_BINEK_FIX
ch->SetQuestFlag("HORSE.CHECKER", get_global_time() + 3);
#endif
ch->StartRiding();
return;
}
#define ENABLE_YANINDA_GEZEN_BINEK_FIX
service.h eklenir finsh.
bu sadece bineğe binmek için süre koyuyor gibi
Evet şimdi baktımda bende ayrıntılı binme ve inme süresi birde dönüşümdeyken binememesi olayı varmış bundabu sadece bineğe binmek için süre koyuyor gibi
if (ch->GetHorse() == NULL)
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¸»À» ¸ÕÀú ¼ÒȯÇØÁÖ¼¼¿ä."));
return;
}
ACMD(do_user_horse_ride)
{
if (ch->IsObserverMode())
return;
if (ch->IsDead() || ch->IsStun())
return;
if (ch->IsHorseRiding() == false)
{
if (ch->GetMountVnum())
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ÀÌ¹Ì Å»°ÍÀ» ÀÌ¿ëÁßÀÔ´Ï´Ù."));
return;
}
if (ch->GetHorse() == NULL)
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¸»À» ¸ÕÀú ¼ÒȯÇØÁÖ¼¼¿ä."));
return;
}
ch->StartRiding();
}
else
{
ch->StopRiding();
}
}
ACMD(do_user_horse_back)
{
if (ch->GetHorse() != NULL)
{
ch->HorseSummon(false);
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¸»À» µ¹·Áº¸³Â½À´Ï´Ù."));
}
else if (ch->IsHorseRiding() == true)
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¸»¿¡¼ ¸ÕÀú ³»·Á¾ß ÇÕ´Ï´Ù."));
}
else
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¸»À» ¸ÕÀú ¼ÒȯÇØÁÖ¼¼¿ä."));
}
}
var ama yanında gezeni etkilemiyor o horse statüsünde olmadığı için. ama 20201 kodlu mobu horseye çevirip neler olcağını deneyebilirim. iyi bir fikir verdin.Evet şimdi baktımda bende ayrıntılı binme ve inme süresi birde dönüşümdeyken binememesi olayı varmış bunda
ACMD(do_user_horse_ride)
bunun içerisinde şöyle bir kontrol kodu var mı
C++:if (ch->GetHorse() == NULL) { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¸»À» ¸ÕÀú ¼ÒȯÇØÁÖ¼¼¿ä.")); return; }
örnek kodlar
C++:ACMD(do_user_horse_ride) { if (ch->IsObserverMode()) return; if (ch->IsDead() || ch->IsStun()) return; if (ch->IsHorseRiding() == false) { if (ch->GetMountVnum()) { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ÀÌ¹Ì Å»°ÍÀ» ÀÌ¿ëÁßÀÔ´Ï´Ù.")); return; } if (ch->GetHorse() == NULL) { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¸»À» ¸ÕÀú ¼ÒȯÇØÁÖ¼¼¿ä.")); return; } ch->StartRiding(); } else { ch->StopRiding(); } } ACMD(do_user_horse_back) { if (ch->GetHorse() != NULL) { ch->HorseSummon(false); ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¸»À» µ¹·Áº¸³Â½À´Ï´Ù.")); } else if (ch->IsHorseRiding() == true) { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¸»¿¡¼ ¸ÕÀú ³»·Á¾ß ÇÕ´Ï´Ù.")); } else { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¸»À» ¸ÕÀú ¼ÒȯÇØÁÖ¼¼¿ä.")); } }
ekledim 3 tane vardı zaten mainline olduğu içinCheckMount'ların hepsini ekledin mi
ben dcden yazmam wpden yazarım@hasanmacit 2-3 saat sonra dc den yaz düzeltelim
oda olurben dcden yazmam wpden yazarım
ben körümoda olur
edit:
item.cpp de equip kontrol ederken kodun farklı bir yere eklendiğini bulup gerekli düzenlemesini yaptık sorunsuz çalışıyor. hayırlı olsun =)