-
Notifications
You must be signed in to change notification settings - Fork 7
RotorOps PERKS
Perks is a standalone script that enables a points and rewards system. You can use this script on its own or together with CTLD and/or RotorOps. There is no configuration necessary, and it works with single player or multiplayer.
Why a points system? This was developed to incentivize teamwork in multiplayer support roles, and to enhance single player experiences with more control over the battlefield.
Where do I get the script? The script will be maintained with RotorOps in the main repo: https://github.com/spencershepard/RotorOps/tree/main/scripts
Load RotorOpsPerks.lua in do script file trigger after the mission begins. Requires MIST (currently requires my version of MIST, mist_4_5_107_grimm.lua), but CTLD is optional. Load scripts in this order: 1) MIST 2) CTLD 3) RotorOpsPerks All scripts are available in the scripts directory of RotorOps: https://github.com/spencershepard/RotorOps/tree/main/scripts
You can earn points from actions you take directly, like kills, or indirectly like kills from troops you drop. These are broken down into the points categories below. See the script for the actual number of points per action.
- Kill infantry
- Kill vehicles
- Kill helicopters
- Kill planes
- Kill tanks
- Kill ships
- CTLD rearm vehicles
- CTLD unpack crates
- CTLD dropped troops kill infantry
- CTLD dropped troops kill vehicles
- CTLD dropped troops kill tanks
When you kill enemy troops or vehicles near your friendly ground units, you earn a hefty CAS bonus for supporting the war on the ground.
Perks works with multicrew! In fact, Perks encourages multicrew with multiplied point earnings and shared costs.
- Everyone in the same group/aircraft will receive points for the group's actions. ie. If the gunner gets a kill, the pilot recieves the same number of points.
- Perk costs are divided among crew.
Spend points on Perks by using the 'ROTOROPS PERKS' F10 menu. Perks can either be activated at your current position, or at a position that you mark on the map.
Request an AI CH-47 Chinook that will land at your designated position and deploy a working FARP for refuel or rearm!
- Available at your current position
- Available at your mark on the map. Name the mark 'fatcow'
This perk requires a few objects on the map in order to work. This is because these objects need to be 'teleported' to the location in order to work properly. If you are using the RotorOps mission generator, it will be done automatically. If not, you will need to:
- Place one CH-47 helicopter on the map where you would like it to take off from, set as late-activated, with a group name of 'FAT COW'.
- At least one static Invisible FARP, named 'FAT COW FARP 1'
- At lease one static FARP Ammo Depot, named 'FAT COW AMMO 1'
- AT least one static FARP Fuel Depot, named 'FAT COW FUEL 1'
- At least one static FARP Tent, named 'FAT COW TENT 1' The static objects can be placed anywhere on the map. You probably want them placed outside the area of your mission so players don't see them until they are used to build the Fat Cow FARP. Each time the perk is used, it will look for the next set of statics, ie. 'FAT COW FARP 2' etc, so you will need add more sets of these objects if you want to be able to use the perk multiple times in the same mission. You only need to do this for the static FARP objects, not the CH-47.
For easy reference, this mission file contains the minimum basic setup for the Fatcow FARP: Minimum viable FATCOW miz
Request a cruise missle strike at a designated location. Right now this is essentially a demo for the perks system, and will likely be removed or modified in the future to be more realistic.
- Available at your mark on the map. Name the mark 'strike'
The script is desinged to be easy to create your own perks for your use or to easily modify their attributes, such as:
- Cooldown time
- Max uses per player
- Max uses per mission
- Points cost
You can easily change perk options from a do script, if you don't want to edit the script file. For example, you could do this any time after the script loads:
RotorOpsPerks.perks.fatcow.cost=100
RotorOpsPerks.perks.fatcow.cooldown=60
RotorOpsPerks.perks.fatcow.max_per_player=1
RotorOpsPerks.perks.fatcow.max_per_mission=4
You can create your own perks by modifying the script, or from another script after the perks script has loaded (preferred method). The radio menu and all other aspects are handled automatically. First define a function that will fire when the perk is activated by a player. Then add the perk table to RotorOpsPerks.perks, like below:
---- INSTANT STRIKE PERK ----
function requestStrikePerk(args)
--explosion at target point after 10 seconds
timer.scheduleFunction(function()
trigger.action.explosion(args.target_point, 1000)
end, nil, timer.getTime() + 10)
end
RotorOpsPerks.perks["strike"] = {
perk_name='strike', --name used for target marks on F10 map
display_name='Instant Strike',
cost=100,
cooldown=60, --minimum seconds between uses in mission
max_per_player=1,
max_per_mission=3,
at_mark=true, --if players can request a map mark as the target
at_position=false, --if players can request their own position as the target
enabled=true,
last_used=0, --don't change
used=0, --don't change
action_function=requestStrikePerk --the name of your predefined function to call when the perk is used
}
See the latest version of the script for perk code samples, as this wiki may not be up to date.
Check out the PERKS system together with our atmospheric Black Hawk Down mission! Demo Mission: Black Hawk Down