I've placed a ferry in a mod I'm working on, and it works... sort of. The problem that causes me the most headaches is the fact that after the ferry (a small longboat) travels a failry short distance the collision vanishes, letting player and ferryman drop into the water through the boat.. IAside from an unplanned bath, it also makes it difficult to disembark on the ohher side when you get there. I put in scripted waterwalking as a workaround, but it's not terribly satisfactory.
So, my question is this... If I had place the script on a different object (say the ferryman for instance), would the static longboat keep it's collision?
I've also noticed that static objects placed in game by "PlaceAtPC" through script or console also lose their collision, and I was wondering if there is a fix for that.
Back to the ferry issue for a sec, the ferry does not cross any cell borders so that should not be an issue. Here is the script I'm using:
Begin FerryScriptshort controlvarshort doneshort NorthEndshort SouthEndfloat currXposfloat currYposfloat currZposfloat BDcurrXposfloat BDcurrYposfloat BDcurrZposfloat FMcurrXposfloat FMcurrYposfloat FMcurrZpos;global ferry01If ( done == 0 ) ;get initial co-ordinatews set currXpos to ( GetPos, X ) set currYpos to ( GetPos,Y ) set currZpos to ( GetPos, Z ) set FMcurrXpos to ( GetPos, X ) set FMcurrYpos to ( GetPos, Y ) set FMcurrZpos to ( GetPos, Z ) set done to 1endIfIf ( currYpos <= ( -30000 ) ) ;determine whether ferry is on North side or South side set controlvar to 0 set NorthEnd to 1 set currypos to (-29999) ReturnendIfIf ( currYpos >= -27330 ) ;determine whether ferry is on North side or South side set controlvar to 0 set NorthEnd to 0 set currypos to (-27335) ReturnendIfIf ( GetDistance, Player >=128 ) ;check to see if player is on or very near boat "Player"->setwaterwalking 0endIfIf ( MenuMode == 1 ) ReturnendIfIf ( ferry01 == 1 ) ;DisablePlayerControls On a second thought I disabled this, but I may add it back in if it seems to cause issues set controlvar to 1endIfIf ( controlvar == 1 ) ;waterwalking is set because of collision issuesset ferry01 to 0"Player"->set BDcurrXpos to ( GetPos, X )"Player"->set BDcurrYpos to ( GetPos, Y )"Player"->set BDcurrZpos to ( GetPos, Z )"Player"->setwaterwalking 1"1HD_Ferryman_01"->setwaterwalking 1set controlvar to 2endIfIf ( controlvar == 2 ) If ( NorthEnd == 0 ) ;Move ferry et al set currYpos to ( currYPos + (-2) ) set FMcurrYpos to ( FMcurrYpos + (-2) ) set BDcurrYpos to ( BDcurrYpos + (-2) ) set controlvar to 3 endIfendIfIf ( controlvar == 2 ) If ( NorthEnd == 1 ) set currYpos to ( currYPos + 2 ) set BDcurrYpos to ( BDcurrYpos + 2 ) set FMcurrYpos to ( FMcurrYpos +2 ) set controlvar to 3 endIf endIfIf ( controlvar == 3 ) ;move player and ferryman if ( GetPos, y != currypos) SetPos, y, currypos "1HD_Ferryman_01"->setPos, y, FMcurrYpos "1HD_Ferryman_01"->setPos, x, FMcurrXpos "Player"->SetPos, y, BDcurrYpos set controlvar to 2 endIfendIfEnd FerryScript
EDIT:
Moderator , Sorry, I originally posted this in the construction set ( or at least I tried) but I keep getting an error about secure key does not match. When that happens, I have to leave the site entirely and return before I can get anything to post... Anyway, I grabbed the wrong forum when I got back., my bad.