04-29-2022, 10:46 AM
12 minutes ago, Desarija said:
It was actually not subzone 0 that it brought me to, it was subzone 6. And shane was right, it had something to do with the new tutorial. This code is active in Server.cpp even when JUNO_RENEWAL_MESSAGEBOX is disabled:
if( d->m_pChar->m_etcEvent & ETC_EVENT_JUNO_RENEWAL_QUESTCOMPLETE && !bCashZoneMove )
{
extra = 6; // ��������
if(d->m_pChar->m_questList.FindQuest(386, QUEST_STATE_DONE))
{
d->m_pChar->m_etcEvent &= ~ETC_EVENT_JUNO_RENEWAL_QUESTCOMPLETE;
extra = 0;
}
d->m_pChar->m_pos.m_x = GetRandom(d->m_pChar->m_pZone->m_zonePos[extra][1], d->m_pChar->m_pZone->m_zonePos[extra][3]) / 2.0f;
d->m_pChar->m_pos.m_z = GetRandom(d->m_pChar->m_pZone->m_zonePos[extra][2], d->m_pChar->m_pZone->m_zonePos[extra][4]) / 2.0f;
}
else
extra = 0;
Change it to
#ifdef JUNO_RENEWAL_MESSAGEBOX
if( d->m_pChar->m_etcEvent & ETC_EVENT_JUNO_RENEWAL_QUESTCOMPLETE && !bCashZoneMove )
{
extra = 6; // ��������
if(d->m_pChar->m_questList.FindQuest(386, QUEST_STATE_DONE))
{
d->m_pChar->m_etcEvent &= ~ETC_EVENT_JUNO_RENEWAL_QUESTCOMPLETE;
extra = 0;
}
d->m_pChar->m_pos.m_x = GetRandom(d->m_pChar->m_pZone->m_zonePos[extra][1], d->m_pChar->m_pZone->m_zonePos[extra][3]) / 2.0f;
d->m_pChar->m_pos.m_z = GetRandom(d->m_pChar->m_pZone->m_zonePos[extra][2], d->m_pChar->m_pZone->m_zonePos[extra][4]) / 2.0f;
}
else
#endif
extra = 0;
and you should be good.
I should have found that earlier, thank's everyone for helping! ?
P. S. This is an issue on june files as well as nov files as far as I can see, for everyone that does not use the EP3/4 tutorial quests.
Hmm ... not sure about it, i've check it right now, and seems i've already disable this function. The problem may be accourred by the "extra = 0" which should be get from the subzone passed as parameter and only 0 if the parameter subzone == NULL !
2
(still bugged)

