The variable array NrPlayerChange is never set, so you can't use it properly.
You directly can use "Loop for each Jnumber from 1-4", instead of using IntegerB loop and then incrementing Jnumber by your own.
(it's called "For each integer variable".)
Btw, it's no multiboard, but a leaderboard. And please try to explain us next time what exactly to test/look for, so it's easier for us to help.
oh i used picked -_-..You only can use "PickedUnit" withint the "PickEveryUnitAndDoActions" operation.
Leaderboard - Change the value for TablePlayer[Jnumber] in LeaderBoardP to (Number of units in (Units owned by TablePlayer[Jnumber] matching (((Picked unit) is alive) Equals True)))
In your case you need "... matching (Matching unit) is alive Equals True".
Tell me if you have problems with the for integer variable loop.
You leak unit groups. In case you are interested, read this: http://www.hiveworkshop.com/forums/tutorial-submission-283/memory-leaks-263410/#post2661133
placing that above theBe aware that that action leaks... and as you probably run that action a lot, that means that it is pretty nasty shit.
Try placing a custom script (if you havent got that already) that says "set bj_wantDestroyGroup = true" just above that action.
uhm... yea I made a mistake there...
When you create a unit group (meaning "Units owned by <player> matching <boolean>" created a new group), you also have to destroy it.
However the bj_wantDestroyGroup only works when you loop through the group.
So in this case, you have to place that group in a variable, use the variable in the action and do the custom script "call DestroyGroup(udg_*groupname*)" where *groupname* (including the stars) must be replaced by your variable name.