Arma 3
64 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://steamhost.cn/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!
34 Comments
Arcanum_wolf 24 Jul @ 12:17am 
Checked and was able to get it working... Looked like it was inside of it but I just made the interior bigger and it took... also replaced the module, camera object and billboard.
alsomjon  [author] 22 Jul @ 5:11pm 
Check to make sure your billboard is inside of the ship interior module
Arcanum_wolf 21 Jul @ 5:54pm 
All good. And in reference to what soyuz was saying, the camera object and the billboard object (for some reason) are getting swapped when its trying to do the camera... I synced it in the same order you did in the video and used the exact same object and it keeps putting actual picture for the camera on the object that is supposed to be the camera.
alsomjon  [author] 21 Jul @ 5:50pm 
There should be an option to set the ship's starting rotation. There is a real possibility I never pushed that update to the mod and its only on my local copy, I'll check this weekend
Arcanum_wolf 21 Jul @ 5:06pm 
Also it would help to have an orientation option in the ship module for allowing to pick the starting orientation of the ship in reference to the model (Some star wars models are backwards for whatever reason...)
Arcanum_wolf 21 Jul @ 4:07pm 
Did you ever plan to incorporate a timer for the escape pods to be put back where they originally were by chance? There was a star wars game for the PlayStation portable that you could use the escape pods to get down to the planet (had both space and ground combat at the same time) and I think it would be cool to be able to use that same concept here...

Also just a random question... whats to stop me from putting a teleporter "inside" the ship that goes to the outside of the ship? is there any negatives or will it attempt to put the person back in the ship or does it break something all together?
Faded™ 2 Jun @ 11:46am 
Instructions unclear, I now have 12 goats and a orb of steel the size of a city block.
alsomjon  [author] 5 May @ 4:43pm 
I'm not sure what item you're using for the billboard, but you likely have to change the selection, if I had to guess. The only thing the script modifies about the billboard is the texture
Soyuz. 1 May @ 10:48pm 
edit: I fixed it by changing it to a different billboard item, but I'm still not sure how the issue started either or how to resolve it.
Soyuz. 1 May @ 10:43pm 
Hi, I'm having a problem where the billboard I'm using for the camera screen disappears whenever I start the mission.