How to adjust experience points

Im am new to Unreal/ARK modding.
I want to create a small mod in which the amount of experience points gained is adjusted based on a few factors.

Simple Example: If a player holds a certain (new) item in his inventory, the amount of experience points gained should be lowered by 50%.

I was unable to find information about how to hook into the ARK experience points system and would appreciate pointers of how to implement such a functionality.

Experience gains are set across all players. There is no event (currently) for when a player gains experience, which means there is no way to modify that incoming value.

You might be able to make a Blueprint that tracks the player’s XP value changes and grants them additional XP.

One of my first mods was kind of this thing. Its a consumable xp buff with a multiplier(that can also be lower than 1) you can adjust via server settings. It works on tick and compares the current xp value of the player with a saved xp value from the last tick. Then i apply the multiplier to the difference of both values, add the result to the saved last tick xp value and set that as the new experience on the player. I can show you the graph if the explanation wasn’t clear :smiley:

Thanks for your answers!
After your reply, boats, I figured that keeping track of the xp and adjusting them would be the way to go.
However I am still struggling a bit to get my feet wet with the graphical programming of the editor. So Mezzow, I would appreciate it if you could show me your implementation graph.

The graph is on a buff as i mentioned:

@Mezzow: Thank you very much for the graph. It helped a lot with figuring out how to implement this, especially how to acces the experience points of a character.

Is there a documentation of the Ark-Datastructures/Classes available (I did not find any in the tutoruals/faq) - or is it search and try and error?

Unfortunately there is no documentation, so it is all just looking at the files and variables for a long time and trial and error :smiley: