// By bkp // Here is a script for an object movement. Basically used for things like // elevator doors or anything that slides one direction then returns. ACTION elvdr_mv { MY.ENABLE_SCAN = ON; MY._TYPE = _TYPE_ELEVATOR; //A built in type for moving objects MY.EVENT = elevator_event; //required to opperate on elevator types } function elevator_event() //Needs this event name to function ? { IF ((EVENT_TYPE == EVENT_SCAN) && (indicator == _HANDLE)) { IF( MY.skill1 > 0 ) { MY._STARTPOS_X = MY.X; if( MY.skill6 <= 0 ) { MY._ENDPOS_X = MY._STARTPOS_X + MY.skill4; WHILE( MY.X <= MY._ENDPOS_X ) { MY.X += MY.skill1*time; wait(1); }//End of while loop wait(100); WHILE( MY.X >= MY._STARTPOS_X ) { MY.X -= MY.skill1*time; wait(1); }//End of while loop }//End of if myskill 6 else { MY._ENDPOS_X = MY._STARTPOS_X - MY.skill4; WHILE( MY.X >= MY._ENDPOS_X ) { MY.X -= MY.skill1*time; wait(1); }//End of while loop wait(100); WHILE( MY.X <= MY._STARTPOS_X ) { MY.X += MY.skill1*time; wait(1); }//Endo of while loop }//End of else }//End of if myskill 1 IF( MY.skill2 > 0 ) { MY._STARTPOS_Y = MY.Y; if( MY.skill6 <= 0 ) { MY._ENDPOS_Y = MY._STARTPOS_Y + MY.skill4; WHILE( MY.Y <= MY._ENDPOS_Y ) { MY.Y += MY.skill2*time; wait(1); }//End of while loop wait(100); WHILE( MY.Y >= MY._STARTPOS_Y ) { MY.Y -= MY.skill2*time; wait(1); }//End of while loop }//End of if myskill 6 else { MY._ENDPOS_Y = MY._STARTPOS_Y - MY.skill4; WHILE( MY.Y >= MY._ENDPOS_Y ) { MY.Y -= MY.skill2*time; wait(1); }//End of while loop wait(100); WHILE( MY.Y <= MY._STARTPOS_Y ) { MY.Y += MY.skill2*time; wait(1); }//End of while loop }//End of else }//End of if myskill 2 IF( MY.skill3 > 0 ) { MY._STARTPOS_Z = MY.Z; if( MY.skill6 <= 0 ) { MY._ENDPOS_Z = MY._STARTPOS_Z + MY.skill4; WHILE( MY.Z <= MY._ENDPOS_Z ) { MY.Z += MY.skill3*time; wait(1); }//End of while loop wait(100); WHILE( MY.Z >= MY._STARTPOS_Z ) { MY.Z -= MY.skill3*time; wait(1); }//End of while loop }//End of if myskill 6 else { MY._ENDPOS_Z = MY._STARTPOS_Z - MY.skill4; WHILE( MY.Z >= MY._ENDPOS_Z ) { MY.Z -= MY.skill3*time; wait(1); }//End of while loop wait(100); WHILE( MY.Z <= MY._STARTPOS_Z ) { MY.Z += MY.skill3*time; wait(1); }//End of while loop }//End of else }//End of if myskill 3 }//End of if event type scan }//End of function elvator event