Shipbuilder

If you liked this item, please rate it up on Steam Workshop page.

Author: alsomjon

Last revision: 24 Mar, 2025 at 13:26 UTC (1)

File size: 204.79 KB

On Steam Workshop

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://steamcommunity.com/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!

Download
Required items:

Click the title to search on this site.


CBA_A3Steam Workshop
Revisions:

Old revisions of this mod are available below. Click the link to download.