I'm receiving ChallengeTurnTakenMessage after each LogChallengeEventRequest I send. They are not actually consuming player turn unless I send this one, particular LogChallengeEventRequest that I have set as "Turn / Attempt Consumers" in my multiplayer challenge settings. I can live with that and write code that will work in that case, but gettings those messages seems counter-intuitive to me. Is that a right behaviour or maybe mistake is somewhere on my side?
Simple example, in case I was not clear enough:
- I have a multiplayer challenge called "testChallenge" that takes "takeTurn" event to consume player turn. Challenge is turn-based obviously.
- I have two events: "takeTurn" and "uselessEvent".
- I'm invoking event "uselessEvent". GS sends me a ChallengeTurnTakenMessage and turn is not consumed. I can still send requests using this player and get more ChallengeTurnTakenMessages.
- I'm invoking event "takeTurn". GS sends me a ChallengeTurnTakenMessage and turn is consumed. I cannot do anything more on this player.
Don't think so, I am still facing the issue.
Wondering if this issue has been resolved?
ok I found an elegant way to bring back everything to its course,
simply disabling the "turn based" feature in the challenge and managing turns on my own is way easier and cleaner than dealing with the non-intuitive "ChallengeTurnTakenMessage"
hope this helps others who hit this issue in their games
No good :(
it actually does create the message and executes all the code inside, but yeah, it does not send it. which is not what I want
well, ugly solution it is...
I wish there was an edit button for posts on this site, I keep deleting/reposting to make minor spelling/styling changes
OK, this might work, but then I have to make a custom message to send when taking turns, is that what I am supposed to do after disabling this message?
In the end, I only need to disable the auto-call on this message, I actually need the method, but only when a turn is consumed via Challenge.consumeTurn(), and not after every custom event. the challenge object embedded in this call was pretty useful.
I had an ugly solution, which was "dismiss the message as soon as it's created and only call it when a flag (stored in the challenge data) is true", but I was looking for a cleaner one.
Anyway, I think this solution seems cleaner than the one above.
EDIT: wait, does this still create the message, only it does not send it ? having the playerMessages collection get populated with useless messages isn't desirable either, I just wish there was a flag to make a custom event silent or sth.
You can turn off a message in the message tab on the portal. Below I've clicked into the ChallengeTurnTakenMessage and turned off "Send Via Socket" and "Send As Push" to stop the message being sent.
Does this sound like it will work for you ? If you have any further questions just let us know.
Yo please I need this resolved asap..
It's actually detrimental to my logic, not just useless.
I'm in a crossroad now, and it's gonna be hard to switch later, I need to disable the call to ChallengeTurnTakenMessage on every LogChallengeEventRequest.
I'm controlling when turns are consumed just fine, I want this to be only called when I actually consume a turn.
could we disable sending a ChallengeTurnTakenMessage after each LogChallengeEventRequest ?
1- it counts towards the limited quota of monthly requests/responses per player
2- it is going to be called for each custom request and is useless unless I want it to be called ( I need it for only 1/4 of the custom requests )
If there's a way to disable it, please let me know, if not, please add a flag or something to disable automatically sending it.
Support told me this: "When a LogChallengeEvent is called, the ChallengeTurnTakenMessge will be sent to all players in the challenge"
I thought "who" was broken, but from your logs, I see it's the display name; shouldn't it be the player's Id?
I'm also having the exact same problem. Has anyone solved it?
Unfortunatelly no, I just figured out a way to use only one LogChallengeEvent in my game that actually should "take turn" so I'm avoiding this issue. I can imagine that's not possible in every game though.
I am also having this problem, did you ever figure it out?
Right now all I have is testEvent and testChallenge because I was preparing clean example in test harness for Oisin. You can find them in game "... - separate FB test". I have removed my previous code entirely and I'm currently working with only one LogChallengeEvent as a workaround (that is even better than my original solution) for this issue.