official afk sistemi ekledim çalışmasında problem yok ama ufak bi sorunu var oyuna girdiğin afk süresini seçmediğin sürece afk kalmıyor seçtiğimde süre işliyip afk kalıyor ve bir kere afk olduktan sonra tekrar olmuyor tahminimce şu kod bloğundan kaynaklı bir sorun
afk sistemi linki
yardımcı olanlara şimdiden teşşekkür ediyorum
Kod:
void CLeftSeat::AwayFromKeyboard(const LPCHARACTER ch, const uint8_t Minute) const
{
if (!ch || !ch->IsPC())
{
sys_err("CLeftSeat::AwayFromKeyboard - ch null or not IsPC");
return;
}
if (Minute >= EAwayFromKeyboardMinute::AFK_MINUTE_MAX)
return;
/* You are already in AFK mode. */
if (ch->GetAwayFromKeyboard() == EAwayFromKeyboard::AFK_TITLE_ON)
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You are already in AFK mode."));
return;
}
/* If there is an event */
if (ch->m_pkLeftSeatAfkEvent)
event_cancel(&ch->m_pkLeftSeatAfkEvent);
if (Minute == EAwayFromKeyboardMinute::AFK_MINUTE_10 || Minute == EAwayFromKeyboardMinute::AFK_MINUTE_30
|| Minute == EAwayFromKeyboardMinute::AFK_MINUTE_90)
{
auto* pInfo = AllocEventInfo<TLeftSeatEventAfk>();
if (!pInfo) return;
pInfo->m_ch = ch;
ch->m_pkLeftSeatAfkEvent = event_create(left_seat_event_afk, pInfo, PASSES_PER_SEC(Minute * 60));
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("LEFT_SEAT_WAIT_TIME_TOOLTIP"));
}
}
afk sistemi linki
yardımcı olanlara şimdiden teşşekkür ediyorum
Son düzenleme: