Page 4 of 4
Re: Implementing: Achievements
Posted: Thu Mar 28, 2019 1:40 pm
by Ememjr
unless i can find the code xinus wrote 5 years ago to support the smaller list size, i am going to rewrite it
although i would prefer to only use AOM or higher client and not dov or coe i will let the world create achieveement packets for both client types, and the let the client version determine which packet is sent out for the for the achievement list
i know there are alway complaints that the world takes to long to start up, when the server is live emu, whould it hurt if it tok 15 minutes to start up, Live eq2 is always down an hour for an update or reboot
Re: Implementing: Achievements
Posted: Fri Mar 29, 2019 8:03 am
by Ememjr
ok so now that my issue is resolved and i got this working in DOV just fine, i will concentrate on DOV to get some of the actual tracking in place
first of all we need to have counters that kep track of this type ofthe XX Gnoll Slain, we cannot just use the achievement ID since there are
8 achiements that use this counter
we have the `character_achievements_items` that tracks the
char_id character
achiement_id
and number of items
add item id
i propose to add a table for a list of ids for thes type of info
such as
1 gnoll killed
2 collection completed
3 item crafted
4 rare harvested
etc for each type and use this id as the item id above
then in the server when a player kills a gnoll or coletes a collection we just update the the single item and it will update the gnoll killed etc
the other thing we have to account for is triggers that unlock another achievement like once you kill 25 gnolls it unlocks and make visable the 50 gnol achievemnt
i will but something to gether and submit
Re: Implementing: Achievements
Posted: Fri Mar 29, 2019 3:44 pm
by Jabantiz
There is already a `character_history` table in place that is meant for stuff like this, basically tracking whatever needs to be tracked per character. It has not been used a lot so it may still need some work.
Re: Implementing: Achievements
Posted: Fri Mar 29, 2019 5:42 pm
by Ememjr
does not look like the history working to well, the id is up do 915146 (auto increment) but there are only 51 entries total in it
if it can track a hundred character life time counters then ill be glad to give it a try
for instance
just about every race needs count
number of recipes combined
number of rares harvested
just to name a few
and not place in a table 1 at a time, here we whould have to go and count all the time something was killed
just ideas and thoughts
Re: Implementing: Achievements
Posted: Fri Mar 29, 2019 7:02 pm
by Jabantiz
That table has been messed with a lot so I wouldn't worry too much about the auto increment value.
In theory all you have to do is set the type/subtype and the values. Values can be whatever you want so you could use the race id for value1 and the kill count for value2 and just update that record every time you kill that race.
That said looking at the types/subtypes i think more need to be added, mainly a killed in the type.
Re: Implementing: Achievements
Posted: Fri Dec 11, 2020 5:24 am
by Ememjr
Ememjr wrote: Thu Mar 28, 2019 1:36 pm
ok i found the issue it was an extra SendAchievementsList();that was in send charinfo i commented it back out and the achiements show up
guess not arrapently even the very next toon logging in does not get the proper packet from here
master_achievement_list.masterPacket
seems to work once per reboot, not sure if its one of those mutex we dont like, or masterPacket is just going away, when a user disconnects, or camps
the ninja, lol
i was able to resolve this by adding ->copy() tothe end of these lines
Code: Select all
EQ2Packet* app = master_achievement_list[0].GetAchievementPacket()->Copy();
the reason it is needed the packet is created when the server starts up, if you then queue the packet that packet will get deleted, hence and additon al character logging in will not get it
Re: Implementing: Achievements
Posted: Sat Feb 20, 2021 10:10 pm
by John Adams
Nice work Ememjr. Did you guys find a new repo to push code to? Mine hasn't had a commit since May 2020... I'm assuming it's abandoned, or not working and no one told me.

Re: Implementing: Achievements
Posted: Wed Mar 03, 2021 8:46 pm
by devn00b
John Adams wrote: Sat Feb 20, 2021 10:10 pm
Nice work Ememjr. Did you guys find a new repo to push code to? Mine hasn't had a commit since May 2020... I'm assuming it's abandoned, or not working and no one told me.
Everything is going to git (your fav I know). But SVN really is a thing of the past and git is the way. You can find it
HERE should you want to look at the issues/commits (1119 as of this posting!).