i am working on some quest journal thing, particularly the usable item icon displayed next to a quest that you click to use it so you dont have to find it in inventory and possibly move to a hot bar in order to use it
i have already fixed the struct for it
and i have modified the lua add queststep function to add an optional option at the end for the item numbet you wish to have in the quest journal
i have also add code for the quest step info to include that item number
the proplem is this, for the struct i need
the item number (given that is passed by the lua script and help in the addqueststep step info
unique item number
icon
the problem is it appears that quest and steps are loaded before character items are loaded
i am trying to find where a can switch the character load order and have inventory(player itemlist) loaded before quests are loaded
any idea where to look
quests, player item load order
Moderator: Team Members
- Ememjr
- Team Member
- Posts: 975
- Joined: Wed Mar 15, 2017 9:41 am
- EQ2Emu Server: Perseverance
- Ememjr
- Team Member
- Posts: 975
- Joined: Wed Mar 15, 2017 9:41 am
- EQ2Emu Server: Perseverance
Re: quests, player item load order
ok i fixed this one, to insure player items are loaded before player quests
in client.cpp
i moved the following out of sendcharinfo
and placed it above database.LoadPlayerFactions(this);
I will post all the other changes to make this work in another post
in client.cpp
i moved the following out of sendcharinfo
Code: Select all
database.LoadCharacterItemList(GetAccountID(), GetCharacterID(), player);
if (firstlogin && player->item_list.GetNumberOfItems() == 0 && player->GetEquipmentList()->GetNumberOfItems() == 0) //re-add starting items if missing
{
LogWrite(CCLIENT__WARNING, 0, "Client", "Player has no items - reloading starting items: '%s' (%u)", player->GetName(), GetCharacterID());
database.UpdateStartingItems(GetCharacterID(), player->GetAdventureClass(), player->GetRace());
database.LoadCharacterItemList(GetAccountID(), GetCharacterID(), player);
}Code: Select all
database.LoadCharacterItemList(GetAccountID(), GetCharacterID(), player);
if (firstlogin && player->item_list.GetNumberOfItems() == 0 && player->GetEquipmentList()->GetNumberOfItems() == 0) //re-add starting items if missing
{
LogWrite(CCLIENT__WARNING, 0, "Client", "Player has no items - reloading starting items: '%s' (%u)", player->GetName(), GetCharacterID());
database.UpdateStartingItems(GetCharacterID(), player->GetAdventureClass(), player->GetRace());
database.LoadCharacterItemList(GetAccountID(), GetCharacterID(), player);
}
database.LoadPlayerFactions(this);
database.LoadCharacterQuests(this);
database.LoadPlayerMail(this);Who is online
Users browsing this forum: No registered users and 0 guests