Connecting to the project
To connect the system, go to: //Project Settings/Maps & Mode/Default GameMode and connect BP_GameMode.
Connecting your character
To connect a new character, you need to add a component to it BP_ControlSystem, interface BPI_Interface, and connect the components in the same way as in the standard interface characters Character Data, Set Speed. After that, the character is completely ready and it can be connected to BP_GameMode to use.
Parent classes
These parent classes are used to add new items:
- BP_MasterItem - Parent class of items
- BP_MasterWeapon - Parent Weapon Class
- BP_MasterModul - Parent class of weapon modules
- BP_MasterAmmo - Parent Ammunition Class
- BP_MasterProjectile - The parent class of ammunition that flies out of the barrel during a shot
Creating a new weapon
To create a new weapon, select the parent class of the weapon BP_MasterWeapon, create a child element and then go to its settings:
- Name - Name of the weapon
- Socket Name - The name of the socket to which the weapon is attached
- Socket Transform - The position of the weapon in the hands
- Modules - An array of slots modules that make up the weapon
- Weapon Damage - Basic Weapon Damage
- Dec Aim Recoil - Reduced recoil during targeted shooting
Creating new modules
To create new modules, select the parent class of modules BP_MasterModul, create a child element, in Skeletal Mesh the model of the weapon module is added and then go to its settings:
- Name - Module name
- Type - Module Type
- Parent - The parent for this module
- Socket Name - Name of the attachment socket
- No Attach - Do not attach the module
- Recipe - Requirement for using the module
- Shooting - Shooting Settings
- Use Set Sound - Does the module change the sound of shooting?
- Use Nozzles - If the module is a nozzle for the trunk that changes the sound then select it as a new one
- Set Fire Mod? - Does the module change the firing modes
- Fire Mod Type - array of supported shooting modes in the order of activation. (Single, Burst, Full Auto)
- Fire Delay? - Set the rate of fire?
- Fire Delay - Delay after the shot
- Lots of bullets? - Use multiple shots?
- Number of projectiles - The number of bullets fired at a time
- Change of consumption - Setting up the consumption of weapons
- Use Ammo - Use ammo?
- Use Heat - Use weapon heating?
- Set Recoil - Set the return?
- Max Recoil bullet to left - The maximum value in each direction by how much the player's camera can be shifted after the shot
- Max Recoil bullet to Right - The maximum value in each direction by how much the player's camera can be shifted after the shot
- Max Recoil bullet to Top - The maximum value in each direction by how much the player's camera can be shifted after the shot
- Max Recoil bullet to Bottom - The maximum value in each direction by how much the player's camera can be shifted after the shot
- Set Spread - Set the spread?
- Max Deflection bullet to left - The maximum value in each direction by how much the bullet can be displaced after firing
- Max Deflection bullet to Right - The maximum value in each direction by how much the bullet can be displaced after firing
- Max Deflection bullet to Top - The maximum value in each direction by how much the bullet can be displaced after firing
- Max Deflection bullet to Bottom - The maximum value in each direction by how much the bullet can be displaced after firing
- Set Heat - Set the heating / cooling parameters
- Add Heat - Heating per shot
- Remove Heat - Cooling step
- Delay Full Cooling - Full cooling time
- Delay Cooling - Cooling rate
- Aiming - Aiming Settings
- Aim? - The scope uses both markers for aiming
- Start - Uses 1 start marker
- End - Uses 1 end marker
- Mouse Sensitivity - The sensitivity of the mouse while using this sight
- Type Anim - Weapon Animation Settings
- LHIK - Use the inverse kinematics of the left hand?
- Standard Anim - Standard Animations
- SetTypeAnim? - Higher priority animations (replacement)
- TypeAnim - Hand animation type
- Set Fire Anim? - Specify the animation of the shot
- No Aimed shot - Shot without aiming
- Aimed shot - Aimed shot
- Set Reload Anim? - Specify cooldown animations
- Reload No Empety - Reloading of no empty weapons
- Reload Empety - Reloading an empty weapon
- Ammo Info - Settings of the ammunition used
- Set Ammo - Change the ammunition used
- Ammo - New ammunition
- Max Ammo - Weapon capacity
Module functions
The event when the shot is fired. Example animation of a gun shot in the screenshot:
Event when Recharging. An example of the animation of reloading weapons in the screenshot:
The zoom change event. Example of zooming in / out of the sight zoom in the screenshot:
Lists
- E_ModulesType - Stores all types of modules
- E_AllSocketName - Stores all socket names
- E_FireMod - Stores all shooting modes
- E_TypeAnim - List of weapon animation types
Configuring Models
Each module to be replaced must have the same location of anchor points on the mesh and in the skeleton of the weapon you need to specify all the sockets that it supports. An example of installing sockets is shown in the screenshots:
Creating ammunition
To create new ammunition, you need to select the parent ammunition class BP_MasterAmmo, create a child element, write a name and select ProJectile for this ammunition.
Creating a physical bullet
To create new physical bullets, you need to select the parent class BP_MasterProjectile, create a child element, write a name and configure the behavior. It provides the following function Damage Widget which shows the damage caused by the weapon. The widget is shown in the screenshot:
Adding items to a character
To add items to the character, you need to select a component BP_ControlSystem and add items to the arrays shown in the screenshot:
Anim Montage
To call any animation in the character, you need to use a macro Call Anim Montage located in BP_PlayerController to display the animation correctly