function GroupPickRandomUnit takes group whichGroup returns unit
local group g = CreateGroup()
local integer i = 0
local unit array u
local unit random
call GroupEnumUnits ......
loop
set u<i> = FirstOfGroup(g)
exitwhen u<i> == null
call GroupRemoveUnit(g, u<i>)
set i = i + 1
endloop
set random = u[GetRandomInt(0, i - 1)]</i></i></i>