Asirios Posted July 5, 2011 Author Share Posted July 5, 2011 (edited) just lifting them out of the water in the CS already? Yes, but i need the ability to change height stayed ship in-game. Just lift this and horisontal moving in air. But i can't find script command for this simple spell. I need 'spelltarget.setpos z to spelltarget.getpos z + 200', but how write "spelltarget"? Yeah, i'm real noob. Edited July 5, 2011 by Asirios Link to comment Share on other sites More sharing options...
DrakeTheDragon Posted July 5, 2011 Share Posted July 5, 2011 I don't know how those scripts in the Sailing Ships mod are working in detail, but I know in Oblivion the ships consist of multiple seperated parts (maybe this was changed for the pilotable ships though, I don't know), so just moving 1 of them up will only make the ship come apart. It needs to be done the same way the movement scripts are doing it, and there I'm lacking insight into the scripts to know anything about it. Taking up your example though, those ships do have a "persistent reference" EditorID in the CS. This would then be used as spelltarget and all would work. But as I said, doing so with only 1 of multiple parts will not do the trick obviously. And don't forget, when you call this SetPos on anything with collision, things on top of it will "fall through" when it disappears and reappears at its new position. The ship will move, but you and anyone with you will drop to the ground. That's what makes this whole moving objects business so tricky and why there are only few mod projects doing this at all. (Damn, I can sense it... I'm getting interested again already... now I "must" know how the steering in this mod is working... thanks, just what I needed, yet more off-topic things to look into instead of continuing my projects. :sweat: ) Link to comment Share on other sites More sharing options...
Asirios Posted July 5, 2011 Author Share Posted July 5, 2011 (edited) Taking up your example though, those ships do have a "persistent reference" EditorID in the CS. This would then be used as spelltarget and all would work. Not work, CS don't see numbers in this, just words D: for example: 02000ED4.getpos z ERROR: ED4 is not blablabla... What i do wrong? Edited July 5, 2011 by Asirios Link to comment Share on other sites More sharing options...
Asirios Posted July 5, 2011 Author Share Posted July 5, 2011 The ship will move, but you and anyone with you will drop to the ground. Also, if place buttons to increase/decrease ship's high into ship's room, player will not jump down when setpos. =p Link to comment Share on other sites More sharing options...
DrakeTheDragon Posted July 5, 2011 Share Posted July 5, 2011 Also, if place buttons to increase/decrease ship's high into ship's room, player will not jump down when setpos. =pGood point! I don't know about anybody else on deck by this time though, but this could as well be a non-issue here. But I'm not sure if you can even use GetPos and SetPos on objects in a different cell than the player's. The 1st 2 digits of this "FormID" is always the mod index, the hexadecimal representation of the plugin's position in your load order. The CS always states 01 here for assets from Oblivion.esm and 02 for stuff from the plugin, but those numbers won't work ingame.You can read this number up in Wrye Bash or OBMM though. Then it should work. Link to comment Share on other sites More sharing options...
fg109 Posted July 5, 2011 Share Posted July 5, 2011 Wow, Side's Sailing Ships sound amazing. I'm also really interested in looking at the scripts to see how he managed to let you walk around the deck with the ship moving (maybe toggle collision while forcing the player's z position to stay the same?) and how pathgrids are managed, but I don't think I want to download a 70 mb mod just to find out. :ohdear: Link to comment Share on other sites More sharing options...
ub3rman123 Posted July 5, 2011 Share Posted July 5, 2011 I believe it works with moving the player at the same time as the ship, but I haven't examined the coding. I don't think there are any pathgrids. I recall having trouble with an NPC you hireon the boat because she kept falling through the deck and getting stuck. Link to comment Share on other sites More sharing options...
fg109 Posted July 6, 2011 Share Posted July 6, 2011 I've spent hours trying to figure out how to do this but I give up. No matter what I try, I can't get the collision to update. I'm left standing in midair while the ship runs around. Link to comment Share on other sites More sharing options...
Asirios Posted July 6, 2011 Author Share Posted July 6, 2011 (edited) I lift up the ship and doors in the sky with console command 'Setpos' and collision didn't dissapear. By if it fly above land, message "Your ship is an ground". Just buy unlimited spell 'Free your ship' of the girl about the seller ships. But next problem: when i use ship for teleport to deck or leave the ship's room, i teleported not to decks, but in place, where deck should be when ship in the water and it's height is default. I think we need to add changing of character's z-coordinate, but i don't know how to realize this... It will not be 1 line of code. P.S. If lift up ship in the CS, it returned back in the water. Edited July 6, 2011 by Asirios Link to comment Share on other sites More sharing options...
fg109 Posted July 6, 2011 Share Posted July 6, 2011 I haven't downloaded the sailing ships mod; I wanted to try creating it from scratch. And I found out I was partly wrong, I was able to update the collision for some parts of the ship. I built a ship with BloatedFloat01 (the hull), MainDeck01 (the deck), ShipCabin01 (the cabin), and MainMast01 (the mast). The things I tried to use to update collision (Update3D, PositionCell and then MoveTo Player) worked for the deck and the mast. I'm not sure about the cabin, because apparently ShipCabin01 doesn't come with havok collision. The hull refuses to update its collision. I can get it to update it's collision by selecting it and typing "Update3D" in the console while playing the game. But trying to do the same thing in the script (whether just using Update3D or RunScriptLine "Update3D") doesn't work. I even tried putting in a wait time of 10 frames in the script after every time I tried to update it, but still no good. Link to comment Share on other sites More sharing options...
Recommended Posts