Try this
Untested
package negativeWaterHeight
{
function serverCmdEnvGui_SetVar(%client,%var,%val)
{
if(%var $= "WaterHeight")
{
$EnvGuiServer::WaterHeight = mClampF(%value, -100, 100);
if (isObject(WaterPlane))
{
%pos = getWords(GroundPlane.getTransform(), 0, 2);
%pos = vectorAdd(%pos, "0 0" SPC $EnvGuiServer::WaterHeight);
WaterPlane.setTransform(%pos SPC "0 0 1 0");
WaterPlane.sendUpdate();
updateWaterFog();
if (isObject(WaterZone))
{
%pos = vectorSub(%pos, "0 0 99.5");
%pos = vectorSub(%pos, "500000 -500000 0");
WaterZone.setTransform(%pos SPC "0 0 1 0");
}
}
}
else
Parent::serverCmdEnvGui_SetVar(%client,%var,%val)
}
};
ActivatePackage(negativeWaterHeight);