I'd love to buy you a pint man, that tip you gave me a while back about the use of conversion to create formatted script lines. I experimented and i have got it going well, check some of the examples out below, so much faster and less loops!
from vietnam cti (MORE INFO :
http://vietnamcti.freewebpage.org/)
; at top
   ? (group player == westcommanderteam) : _resources = "westresources"
   ? (group player == westalphateam) : _resources = "westalpharesources"
   ? (group player == westbravoteam) : _resources = "westbravoresources"
   ? (group player == westcharlieteam) : _resources = "westcharlieresources"
   ? (group player == westdeltateam) : _resources = "westdeltaresources"
   ? (group player == westechoteam) : _resources = "westechoresources"
   ? (group player == westfoxtrotteam) : _resources = "westfoxtrotresources"
   ? (group player == westgolfteam) : _resources = "westgolfresources"
   ? (group player == westhotelteam) : _resources = "westhotelresources"
;on call
   _Conversion       = format["_needed = %1 - %2", _cost, _resources]
   _Conversion foreach [ 0 ]
   ? (_Needed > 0)    : _Error = Format["Not enough resources! (Need $%1 more.)",_Needed] ; Hint _Error    ; goto "Update"
   _Conversion       = format["%2 = %2 - %1", _cost, _resources]
   _Conversion foreach [ 0 ]
   _Conversion       = format["PublicVariable ""%1""", _resources]
   _Conversion foreach [ 0 ]
My personal fave
   _Closest       = ObjNull
   _ClosestDistance    = 9999
   _Conversion = format["""_distance = _unit distance _x ; if (_distance < _ClosestDistance) then {_ClosestDistance = _Distance ; _Closest = _x}"" foreach West%1Factory", _SelectedObjectType]
   _Conversion foreach [ 0 ]
as a note if you use a local variable (ie one beginning with _) then it has to be declared outside the _conversion bit, otherwise it just doesnt work, weird huh?
cheers again man
if anyone would like help using this method i'd be happy to explain, just msn me at feliix1956@hotmail.com
ron