For a quick example:
playerArray exec "HighScore.sqs"
;; begin HighScore.sqs
_arrayOfPlayers = _this
_i = 0
; two lines below initialize highest score/player
_highestScore = score (_arrayOfPlayers select 0)
_highestPlayer = (_arrayOfPlayers select 0)
; this loops until all players in array have been checked
while {_i < count _arrayOfPlayers} do {if (score (_arrayOfPlayers select _i) > _highest) then {_highestScore = score (_arrayOfPlayers select _i); {_highestPlayer = (_arrayOfPlayers select _i)}; _i = _i + 1}
;; end HighScore.sqs
From the while statement to the end of the script is one long crazy line. _highestPlayer ends up being the guy with the highest score. This example won't help you much if two people are tied for first, but with a little more work there is a way around that.
This would probably make a better function, since then you'd be able to return the result (and you'd be able to write the loop on multiple lines). Something for you to work on.
And sorry if the above example doesn't work as planned. Practice debugging someone else's quick scripts, it'll be fun