Arma 3
68 ratings
Shipbuilder
2
2
2
2
   
Award
Favorite
Favorited
Unfavorite
Data Type: Mod
File Size
Posted
Updated
204.794 KB
12 Mar @ 12:51pm
24 Mar @ 6:26am
5 Change Notes ( view )

Subscribe to download
Shipbuilder

Description
Shipbuilder
!!! PLEASE READ !!!
Shipbuilder is in BETA. That means you should EXPECT the unexpected.
While this is not my first foray into modding, I have certainly had to learn a TON in order to make this work.
This took an lot amount of coding, testing, and time. HOWEVER,
I only have access to my own computer to run these tests. I don't have a dedicated server to run this on.
Please keep this in mind before throwing it into whatever you're doing.
Please send any bugs, glitches, or unexpected behavior to my discord: alsomjon
I plan to do updates early in the week so that I don't screw people by updating right before the weekend :)
Now onto the fun stuff!

Description
Shipbuilder is, as the name suggests, a modular shipbuilder for arma 3.
There is a ton of flexibility in the system. Make your ship your own!
This mod is intended to be used in conjunction with other mods.
(you don't want to see what my modelling looks like)
Github: https://github.com/AJGaming72/ShipBuilder
OPTRE Shipbuilder example: https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=3443887041


Setup!
Being as modular as it is, this mod requires some setup. I'll go through each module, which can be found in its own tab in the 3den editor.
The modules uses the ability to sync modules and objects to one another in order to work.
Keep in mind, your interior can be ANYWHERE. I suggest a large, flat area to make building easier.
Ship
This module connects to the object you want to use as your ship
It is the brains of the operation, and is neccessary for everything to work.
It has 3 parameters, Speed and Rotational Speed. These are the MAXIMUM speed you can travel/rotate at. Name is the unique name you use for your ship. It MUST be unique, no other mission object can have it. You can call this name during the mission for scripting purposes!
Ship Builder Trigger
Connected to the ship module
Anything within the area of the trigger is considered to be the "Interior" of your ship.
This is necessary to create an interior for your ship, and is often used in logic. Be sure that any objects that should be inside the ship are within the bounds, otherwise it may cause issues.
Ship Controller
Connected to the ship module, and the controller object
This uses Addaction to create a controller for the ship.
"Anchor" deactivates the ship, and can save the server resources.
Ship Captain's Chair
Connected to the ship module, and the controller vehicle
The user has to be able to sit in the connected object.
This is an alternative to the controller, and uses CBA keybinds as a method to control the ship.
Ship Builder Hangar Trigger
Connected to the ship module
This allows transport between the inside and outside of the ship. When transporting to the interior, you will notice a shift towards the middle. This is to allow somewhat of a safezone so that players are less likely to clip into walls when entering at a weird angle.
(Currently only allows players to transport. May change this if necessary, but seems reasonable)
It has 2 parameters, Hangar ID and Trigger Type. Each Interior trigger should have a corresponding Exterior trigger. Match the ID's of the triggers so they connect!
Turret Module
Connected to Ship Module, Turret and turret controller
This allows you to connect turrets to the ship! Turrets cannot be used while anchored. Your controller can be any object, there will be an action to "Get In"
Ship Camera
Connected to Ship Module, Screen, and Camera Pointer Object
Has the parameter selection ID, which allows you to select the hiddenSelection you want the camera's output on
The pointer object just shows the camera where it will be pointing. I like to use those colorful VR arrows
You CAN have multiple cameras. Windows yay! The main purpose is for being able to see out the front of the ship for the pilot, though.
Ship Map
Connected to Ship Module, Screen
Has parameters Selection ID, X+Y Dimensions. Selection ID is your Hiddenselection, and selection ID shrinks the map according to your screen. Some screens, the map won't be centered, and you won't be able to see your ship's icon if you don't exit these.
Escape Pod
Connected to SHip Module, Escape pod vehicle, Escape pod pointer
The escape pod pointer is just an object that points the direction and spot an escape pod should shoot out of your ship.
Hitpoints
Connected to ship module
Hitpoints allow you to damage and destroy your ship!
They have 2 parameters, type and health. Health is self explanatory, with Type there are two options:
ENGINE: Each time an engine is destroyed, a fire will spawn, and the ship will slow down. If you have 4 engines, and destroy 2, it moves half as fast!
CORE: If destroyed, it will start the ship destruction sequence.
Explosion Points
Connected to the ship module
During the destruction sequence, these have 2 roles
INTERIOR: Points placed in the interior will explode, in a smaller way than the exterior ones
EXTERIOR: Points placed on the exterior will explode and create fires on the ship for dramatic effect
CBA Settings
Ship Update Interval: You should probably leave this at 0.1 unless you are hosting the server. The ship's movement is handled by the server, and when running at 10FPS seems to interpolate movement well. However, interpolation doesn't happen on the host's machine. Normally, we don't care because the server doesn't need to see anything pretty. It also means less strain on the server. However, if you are hosting, I'd drop the interval down a little bit. 0.3 seems sufficient for me!

Happy building!
46 Comments
alsomjon  [author] 15 Sep @ 8:19am 
Yeah sure, feel free. Thanks!
Commander Kibbins 15 Sep @ 1:47am 
Also, do you still want people to send any bug reports and stuff to your Discord? If so I can compile a list of what I have encountered so far.
Commander Kibbins 15 Sep @ 12:11am 
Gotcha, gotcha, also glad to hear that you're messing with it again, I was gonna ask for an ETA on the autonomous stuff but since you're in college I'd imagine an accurate ETA is impossible lol. I was only gonna ask because I was planning an op that I'd wait to go through with until your update if it was within a month or two lol. Anyway, apologies for the bombardment of comments, I really like the mod, obviously, and wanted to ask a couple questions lol.
alsomjon  [author] 14 Sep @ 7:59pm 
I'm imagining the issue you're having is the jittery camera? Like when the camera lags behind the ship
You would likely have less jittering if you increased the update frequency of the ship, as it is a simple attachTo
I have ideas for a way to make it better but im in college and have very limited time to work on the mod. I also didn't touch it for like a year and now I'm back to touching it lol
If you mean the screen itself not updating then idk sometimes arma just be like that
Commander Kibbins 14 Sep @ 6:14pm 
Oh, that is awesome! Also, is it a common issue for the cameras to not update quickly while local hosting?
alsomjon  [author] 14 Sep @ 12:07pm 
Im actually currently working on that, as well as a way to call down support from the guns on the ship with it. I'm gonna have it be an item, like the UAV terminal, but CBA setting is probably a good thing to add too
Commander Kibbins 13 Sep @ 9:39pm 
Oh, another question I had, would it be possible to create a system for this that allows the ship to be moved via telling it to go places by clicking on the map? Like maybe by using the existing map module? Or allow 'away Commanders' to tell the ship to go places by having an item that could be defined in the CBA settings?
Commander Kibbins 13 Sep @ 6:56pm 
I will look into that, thank you. I've been searching for a "vehicle teleport" script for a long awhile now and have had no luck and had a thought about the hangar module in this mod lol. Thanks for the reply!
alsomjon  [author] 13 Sep @ 11:21am 
With the mod as it is, no. However, it would take very minor tweaks to the script to allow that to happen. Feel free to check out the github and use the scripts as a reference for a mission. I did consider adding something like that at one point, but its low priority. You could also theoretically just make the aboveground part of the bunker the ship and anchor it.
Commander Kibbins 13 Sep @ 1:34am 
Would it be possible to have the hangar system set up to not require the other modules to function? So that say it could be used with a ship attachto'd to a ship model attached to a Simplex support aircraft lol. Or maybe using it for driving vehicles into underground tunnels?