Ya, i did hints throughout the whole thing... and got rid of the variable. Here is how the script looks now:
;resspawn.sqs
#delete
#getpos
_rSx = getpos spack select 0
_rSy = getpos spack select 1
_rSz = getpos spack select 2
_randXY = random 5
#spawn
hint "respawn"
"OfficerG" CreateUnit [[(_rSx + +randXY),(_rSz + _randXY),(_rSz + 0.5)], groupBravo, "u1 = this"]
"SoldierGG" CreateUnit [[(_rSx + +randXY),(_rSz + _randXY),(_rSz + 0.5)], groupBravo, "u2 = this"]
"SoldierGMG" CreateUnit [[(_rSx + +randXY),(_rSz + _randXY),(_rSz + 0.5)], groupBravo, "u3 = this"]
~0.05
"SoldierGG" CreateUnit [[(_rSx + +randXY),(_rSz + _randXY),(_rSz + 0.5)], groupBravo, "u4 = ths"]
"SoldierGLAW" CreateUnit [[(_rSx + +randXY),(_rSz + _randXY),(_rSz + 0.5)], groupBravo, "u5 = this"]
"SoldierGB" CreateUnit [[(_rSx + +randXY),(_rSz + _randXY),(_rSz + 0.5)], groupBravo, "u6 = this"]
"SoldierGMedic" CreateUnit [[(_rSx + +randXY),(_rSz + _randXY),(_rSz + 0.5)], groupBravo, "u7 = this"]
~0.5
#group1
[u1,u2,u3,u4,u5,u6,7] join ul
#Attack
hint "attack"
player reveal u1
groupbravo setbehaviour "Combat"
groupbravo setcombatMode "RED"
groupbravo move getpos urak1
#Group2
~2.5
"OfficerG" CreateUnit [[(_rSx + +randXY),(_rSz + _randXY),(_rSz + 0.5)], groupCharlie, "u8 = this"]
"SoldierGG" CreateUnit [[(_rSx + +randXY),(_rSz + _randXY),(_rSz + 0.5)], groupCharlie, "u9 = this"]
"SoldierGMG" CreateUnit [[(_rSx + +randXY),(_rSz + _randXY),(_rSz + 0.5)], groupCharlie, "u10 = this"]
~0.05
"SoldierGG" CreateUnit [[(_rSx + +randXY),(_rSz + _randXY),(_rSz + 0.5)], groupCharlie, "u11 = this"]
"SoldierGLAW" CreateUnit [[(_rSx + +randXY),(_rSz + _randXY),(_rSz + 0.5)], groupCharlie, "u12 = this"]
"SoldierGB" CreateUnit [[(_rSx + +randXY),(_rSz + _randXY),(_rSz + 0.5)], groupCharlie, "u13 = this"]
"SoldierGMedic" CreateUnit [[(_rSx + +randXY),(_rSz + _randXY),(_rSz + 0.5)], groupCharlie, "u14 = this"]
~0.5
#group2
[u8,u9,u10,u11,u12,u14] join ul2
#Attack
groupcharlie setbehaviour "Combat"
groupCharlie setcombatmode "RED"
groupCharlie move getpos player
spawnres1 = false
exit
ul and ul2 are the units that make groupBravo and groupCharlie active.
The script appears to be behaving like it should, it just wont get the units to appear!