I'm really bad at this part of scripting, but I have a faint idea on how to do it.
I want the script to work on whatever object I put it on if its possible so i have to use some sort of getself but I don't know how to use it.
Begin Gamemode If player.getincell blablabla Activateendif
begin gamemode if xObject == 0 ; First time only: set vars ;====================== ; xStdSpeed positive: Object will initially go up ; xStdSpeed negative: Object will initially go down ;====================== set xObject to GetSelf ; aaqqPlatform ; aaqqPaint set xStdSpeed to -5 ; <<< Change to your liking (units per second) set xMaxDisplacement to 100 ; <<< Displacement limit set xPosZ to xObject.getstartingpos z if xStdSpeed > 0 set xPosMin to xPosZ set xPosMax to xPosZ + xMaxDisplacement else set xPosMax to xPosZ set xPosMin to xPosZ - xMaxDisplacement set xStdSpeed to -xStdSpeed endif endif set xPosZ to xObject.getpos Z + xSpeed * getsecondspassed if xPosZ > xPosMax set xPosZ to xPosMax set xSpeed to -xStdSpeed endif if xPosZ < xPosMin set xPosZ to xPosMin set xSpeed to xStdSpeed endif xObject.setpos Z xPosZ xObject.reset3Dstateend