Give this code a look. Note that it does a check to see if the parameter values are different before trying to set them (to prevent any kind of looping)
<abs contexttype="opengear" style="">
<meta>
<params>
<param access="1" constrainttype="INT_CHOICE" name="Numbers" oid="Numbers" precision="0" type="INT32" value="0" widget="combo">
<constraint key="0">0</constraint>
<constraint key="1">1</constraint>
<constraint key="2">2</constraint>
<constraint key="3">3</constraint>
</param>
<param access="1" constrainttype="INT_CHOICE" name="Names" oid="Names" precision="0" type="INT32" value="0" widget="combo">
<constraint key="0">Name Zero</constraint>
<constraint key="1">Name One</constraint>
<constraint key="2">Name Two</constraint>
<constraint key="3">Name Three</constraint>
</param>
</params>
</meta>
<param expand="true" height="44" left="20" oid="Numbers" runtasksonload="true" top="18" width="119">
<task tasktype="ogscript">
/*! block id=1010,1011,1012,1008,1009 !*/
if (params.getValue('Names', 0) != params.getValue('Numbers', 0))
{
params.setValue('Names', 0, params.getValue('Numbers', 0));
} else {
}
/*!!
<block id="1010" type="if" x="283" y="10" w="268" INPUT1="ID:1011" OPERATION="does not equal" INPUT2="ID:1012" TRUE="ID:1008" FALSE="" IGNORE="" />
<block id="1011" type="param_aNames (Names)[0]" x="10" y="10" w="243" SET="" />
<block id="1012" type="param_aNumbers (Numbers)[0]" x="10" y="72" w="243" SET="" />
<block id="1008" type="param_aNames (Names)[0]" x="854" y="60" w="243" SET="ID:1009" />
<block id="1009" type="param_aNumbers (Numbers)[0]" x="581" y="60" w="243" SET="" />
!!*/
/*!!<checksum>f55449228b3ea81e58e48a85b76b0021</checksum>!!*/</task>
</param>
<param expand="true" height="47" left="157" oid="Names" top="18" width="226">
<task tasktype="ogscript">
/*! block id=1010,1011,1012,1009,1008 !*/
if (params.getValue('Names', 0) != params.getValue('Numbers', 0))
{
params.setValue('Numbers', 0, params.getValue('Names', 0));
} else {
}
/*!!
<block id="1010" type="if" x="283" y="10" w="268" INPUT1="ID:1011" OPERATION="does not equal" INPUT2="ID:1012" TRUE="ID:1009" FALSE="" IGNORE="" />
<block id="1011" type="param_aNames (Names)[0]" x="10" y="10" w="243" SET="" />
<block id="1012" type="param_aNumbers (Numbers)[0]" x="10" y="72" w="243" SET="" />
<block id="1009" type="param_aNumbers (Numbers)[0]" x="854" y="60" w="243" SET="ID:1008" />
<block id="1008" type="param_aNames (Names)[0]" x="581" y="60" w="243" SET="" />
!!*/
/*!!<checksum>140e71d6966e948cf343eecba764fdfe</checksum>!!*/</task>
</param>
</abs>
#DashBoard