Lacro59 / playnite-successstory-plugin

This plugin shows the game achievements in Playnite.
https://playnite.link
MIT License
170 stars 31 forks source link

Exophase search no results #417

Closed Kayzels closed 10 months ago

Kayzels commented 10 months ago

I wanted to add the achievements from Exophase rather than Steam, because the Steam achievements don't show the description for hidden achievements.

Previously, I have been able to add the Exophase achievements, and manually update. However, today, trying to add the achievements using Exophase leads to no results in the search screen.

Unsure if this is due to an external recent development, or how this might be fixed?

Kayzels commented 10 months ago

Appears that the Exophase API returns a double instead of an int for the pages value. Going to https://api.exophase.com/public/archive/games lists a pages variable containing the value 743.0, rather than 743

This might be the cause - worth looking into?

brob-sudo commented 10 months ago

Same thing to me, I wanted to import PlayStation achievements for a game I have on Epic Games that doesn't have achievements. Exophase doesn't find any results, and if I try to import from steam it gives me error SuccessStory Input string '1.0' is not a valid integer. Path 'games.pages', line 1, position 90.

Dayflare commented 10 months ago

complete log trying to sync Planet of Lana Achievments from Xbox:

05-12 16:48:25.165|WARN |SuccessStory#ExophaseAchievements:No game found for Planet of Lana in GetAchievementsPageUrl()
05-12 16:48:27.163|ERROR|SuccessStory#Common:Error on SearchGame()|G:\GitHub\Lacro59\playnite-successstory-plugin\source\Clients\ExophaseAchievements.cs|227
Newtonsoft.Json.JsonReaderException: Input string '1.0' is not a valid integer. Path 'games.pages', line 1, position 90.
   bei Newtonsoft.Json.JsonTextReader.ParseReadNumber(ReadType readType, Char firstChar, Int32 initialPosition)
   bei Newtonsoft.Json.JsonTextReader.ParseNumber(ReadType readType)
   bei Newtonsoft.Json.JsonTextReader.ReadNumberValue(ReadType readType)
   bei Newtonsoft.Json.JsonTextReader.ReadAsInt32()
   bei Newtonsoft.Json.JsonReader.ReadForType(JsonContract contract, Boolean hasConverter)
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target)
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
   bei Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
   bei Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
   bei Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)
   bei Playnite.Common.Serialization.FromJson[T](String json) in C:\projects\playnite\source\Playnite\Common\Serialization.cs:Zeile 336.
   bei Playnite.Common.DataSerializer.FromJson[T](String json) in C:\projects\playnite\source\Playnite\Common\Serialization.cs:Zeile 80.
   bei Playnite.SDK.Data.Serialization.FromJson[T](String json) in C:\projects\playnite\source\PlayniteSDK\Data\DataSerialization.cs:Zeile 406.
   bei SuccessStory.Clients.ExophaseAchievements.SearchGame(String Name) in G:\GitHub\Lacro59\playnite-successstory-plugin\source\Clients\ExophaseAchievements.cs:Zeile 227.
Vildiil commented 10 months ago

I'm also having the Input string '1.0' is not a valid integer. Path 'games.pages', line 1, position 90. problem when I try to use exophase for achievements.

fernandoepm1 commented 13 hours ago

I'm having the same issue now with the latest SucessStory version, tried in multiple games and no results found for any achievements on Exophase, maybe I missed some configuration needed?