- Joined
- Apr 27, 2008
- Messages
- 2,455
I've decided to play a bit with GetLocalPlayer, since now it's quite trivial to test desyncs, thx to Moyack and his JNGP 2 with multiple players emulating.
Of course thx for all the tool makers and contributors.
I will do more tests later, but for now it's quite exciting that what i thought was right.
In short, as long you don't interact with the gameplay result and don't create an handle only for one player,and don't open a new "thread" for one player, you should be able to do almost everything.
So far i've tried these things with no desync :
- creating a different unit for each player (the same in fact but not the same rawcode).
- setting a different position for the same unit for each player.
- calling ForForce with only one player inside it for player1 and empty for player 2
- calling TriggerEvaluate
- setting a different ability level : >>> read here <<<
- calling ExecuteFunc with 2 different valid functions
- starting a timer (but it must already been started at least one time before)
These ones desync :
- calling TriggerExecute
Now, of course these examples will lead to a desync in many cases, but still it's cool to know for some advanced stuff
I provide a test map in attachments.
Feel free to add your own tests or eventually give some ideas
Of course thx for all the tool makers and contributors.
I will do more tests later, but for now it's quite exciting that what i thought was right.
In short, as long you don't interact with the gameplay result and don't create an handle only for one player,
So far i've tried these things with no desync :
- creating a different unit for each player (the same in fact but not the same rawcode).
- setting a different position for the same unit for each player.
- calling ForForce with only one player inside it for player1 and empty for player 2
- calling TriggerEvaluate
- setting a different ability level : >>> read here <<<
- calling ExecuteFunc with 2 different valid functions
- starting a timer (but it must already been started at least one time before)
These ones desync :
- calling TriggerExecute
Now, of course these examples will lead to a desync in many cases, but still it's cool to know for some advanced stuff

I provide a test map in attachments.
Feel free to add your own tests or eventually give some ideas
Attachments
Last edited: