A script timeout error occurs if your script ever takes more than 2 seconds to do something (because it's supposed to come back about 60 times a second, GameDev figures if it's taken 2 whole seconds, somethings gone wrong). If your script legitimately takes more than 2 seconds to do some things, you can increase the timeout by setting HostObj.ScriptTimeOutSeconds to a value greater than 2, or you can set it to 0 to disable script timeout.