Hi Mr Love
This looks like a script for a switch? If it is I would separate the two scripts (switch & water part).
Quote: " I want the animation to play once, and not once backwards"
If you look at "state=1:incframe=0" then remove anything to do with the aimation
afterwards. Then take it to a "state" where nothing happens. Like this....
:state=0:hudreset,hudx=50,hudy=90,hudimagefine=gamecore\text\pressentertouse.tga,hudname=useswitchprompt,hudhide=1,hudmake=display,state=10
:state=10,plrdistwithin=30,plrusingaction=1:state=1,setframe=0,plrsound=$0,activateifused=1
:state=1:incframe=0
:state=1,frameatend=0:state=2
The have this script activate the water script.
;Triggers
:state=0:water=1,waterfogdist=500,waterred=210,watergreen=230,dimvar=waterlevel,setvar=waterlevel 595,waterheight=%waterlevel,dimvar=waterstate,setvar=waterstate 0,state=1
:state=1,activated=1,varequal=waterstate 0:setvar=waterstate 1,activate=0
:state=1,activated=1,varequal=waterstate 1:setvar=waterstate 0,activate=0
:state=1,varequal=waterstate 1,varless=waterlevel 995:addvar=waterlevel 1,waterheight=%waterlevel
:state=1,varequal=waterstate 0,vargreater=waterlevel 595:subvar=waterlevel 1,waterheight=%waterlevel
;End of Script
To make it raise slower use a timer to add the variable.
best
My games never have bugs. They just develop random features..
Lots and lots of random features...