This seems like a pretty basic question and yet I have been unsuccessful in finding an answer. I am trying to find the actual skill points for a partially trained skill (to predict the remaining training time for that skill).
Using the ESI call to /characters/xxxx/skills/ all the skills are returned but it only shows what level the skills are trained to and the corresponding skill points for that level.
Take for example the Gunnery skill. To get to level 4 requires 45,255 points and to level 5 requires 256,000 points. Suppose a character has trained about halfway from level 4 to level 5 so they have about 150,000 skill points in the Gunnery skill. If I make the call to /characters/xxx/skills/ the Gunnery skill is returned and it has the correct level (4) but it shows the skill_points_in_skill as 45,255 not 150,000 (which is the actual number of points in the skill).
Can anyone point me in the right direction about how to go about finding the actual trained points in a skill so that I can calculate the remaining training time for that skill?
Again, this seems like something pretty basic and I apologize if I have missed something obvious.
I suggest u use a print_r or something to see the json/xml
Some of the fields i get in the scope
skillpoints_in_skill
active_skill_level
trained_skill_level
U need use skillpoints_in skill. Myself save in a databse, and later use a sum to get the total because i want the ready skill points, not the unassigned.
You can get the skill rank from GET /universe/types/{type_id}/, I don’t remember the actual Dogma attribute ID you’re looking for, but you can probably figure that out yourself, there’s an endpoint to resolve those, too.
I appreciate the answers, but unfortunately they don’t answer my question.
I my original post I point out that I am getting the skillpoints_in_skill field from the GET API call to /characters/xxx/skills/. The problem that I am having is that it is not showing me the current skill points. It is showing me the skill points for the level the character has trained. So if I have trained to level 4 and partway to level 5 it is only showing the skill points to level 4.
If you read my original post question it explains my problem pretty clearly there.
I understand but maybe the problem is in the access / esi nature.
I have now the habit to enter, stop and active the actual queue of my pilotos for the ghost training problem. Some things only update if you enter in the char in game, and in some cases, pausing. Example.
character i enter 3.900,000 (invented skill points)
pause
active
now show 3906,504 aprox for two hours of training.
I am sure i am getting the real points betwwn 45255 and 256000 but only SURE if i stop and reaasume the training characters. Myself decide not use the refresh tokens because i note this as a normal behaivor in some pilots.
@Shailemar okay, I’ve done some more digging and you are absolutely right, there isn’t any way to get an accurate skillpoints_in_skill figure from ESI. That is mainly down to how EVE updates these numbers in the database. The skillpoints_in_skill only updates if the skillqueue is updated.
The most accurate number you can get is by using GET /characters/{character_id}/skillqueue/ to get the training start time and sp and then calculate an estimate based on the characters attributes using the following formula:
This can’t be relied on to be 100% accurate due to things like injectors and boosters, but it’s the closest estimate you can get to my knowledge.