Scripting First Steps – Arma Reforger

From Bohemia Interactive Community
Revision as of 16:34, 16 November 2025 by Tanin69 (talk | contribs) (Page creation)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Welcome to Enforce Script! This guide will get you writing and testing your first lines of code in 5 minutes.

This is a hands-on quick start. Skip the theory, start coding immediately!

What You Need

  • Arma Reforger Tools (Enfusion Workbench) installed via Steam
  • That's it!

Step 1: Open Workbench and Remote Console

  1. Launch Enfusion Workbench from Steam (Arma Reforger Tools)
  2. Click on the Script Editor icon or select it from the menu
Launch Script Editor from Workbench
  1. If the Remote Console window is not visible, open it from the menu
  2. Click on the Remote Console and Output tabs at the bottom to switch to the appropriate view
Script Editor default UI - click the tabs at the bottom
Script Editor with Remote Console and Output panels visible
  1. You're ready to start coding!
For these basic exercises, you don't need to load a world or run the game. The Remote Console can execute simple code directly.

Step 2: Your First Line of Code

Type this in the Remote Console and click the Run button at the top of the remote console panel:

Print("Hello Arma Reforger!");

You did it! You just wrote your first Enforce Script code. The text appears in the console output.

Step 3: Basic Math

Try these commands one by one in the Remote Console:

Print(10 + 5); Print(20 * 3); Print(100 / 4);

The console shows: 15, 60, 25

Step 4: Variables (Storing Values)

Variables let you store and reuse values:

int myAge = 25; Print("I am " + myAge + " years old");

Try changing the number and run it again!

Common variable types:

  • int - whole numbers (1, 42, -5)
  • float - decimal numbers (3.14, 10.5)
  • string - text ("Hello", "Arma")
  • bool - true or false
For a complete list of all data types, see Scripting Values.

float distance = 150.5; string playerName = "Soldier"; bool isAlive = true; Print(playerName + " is at " + distance + "m");

Step 5: Making Decisions (if/else)

int health = 75; if (health > 50) { Print("Healthy!"); } else { Print("Need medical attention"); }

Try changing health to different numbers!

Step 6: Arrays (Lists)

Arrays store multiple values:

array<string> soldiers = {"Alpha", "Bravo", "Charlie"}; Print(soldiers[0]); // Prints "Alpha" Print(soldiers[1]); // Prints "Bravo" soldiers.Insert("Delta"); Print("Squad size: " + soldiers.Count());

Step 6: Loops (Repeat Actions)

For loop - repeat a specific number of times:

for (int i = 0; i < 5; i++) { Print("Count: " + i); }

Foreach loop - go through each item in an array:

array<string> weapons = {"Rifle", "Pistol", "Grenade"}; foreach (string weapon : weapons) { Print("Weapon: " + weapon); }

Your First Mini-Program

Combine what you learned! Copy this entire block and run it:

// Soldier health checker array<string> squad = {"Alpha", "Bravo", "Charlie", "Delta"}; array<int> healthValues = {100, 45, 80, 20}; Print("=== Squad Status Report ==="); for (int i = 0; i < squad.Count(); i++) { string soldierName = squad[i]; int health = healthValues[i]; if (health > 70) { Print(soldierName + ": Healthy (" + health + "%)"); } else if (health > 30) { Print(soldierName + ": Injured (" + health + "%)"); } else { Print(soldierName + ": Critical! (" + health + "%)"); } } Print("=== End of Report ===");

Lines starting with // are comments - they're ignored by the code but help explain what's happening.

Quick Reference Card

Category Code What it does
Output Print("text"); Shows text in console
Variables int number = 42; Stores a whole number
float decimal = 3.14; Stores a decimal number
string text = "Hi"; Stores text
bool flag = true; Stores true/false
Arrays array<int> numbers = {1, 2, 3}; Creates a list
myArray.Insert(value); Adds item to list
myArray.Count(); Gets list size
If/Else if (condition) { } Do something if true
else { } Do something if false
Loops for (int i = 0; i < 10; i++) { } Repeat 10 times
foreach (item : array) { } Repeat for each item
Math + Add
- Subtract
* Multiply
/ Divide
Compare == Equal to
!= Not equal to
> Greater than
< Less than
>= Greater or equal
<= Less or equal

Common Mistakes to Avoid

❌ Wrong ✅ Correct Why
print("hello") Print("hello") Capital P in Print
int x = 5 int x = 5; Missing semicolon
if (x = 5) if (x == 5) Use == for comparison, = for assignment
array[5] on 5-item array array[4] Arrays start at 0, not 1
string name = John string name = "John" Text needs quotes
Follow professional coding standards: Scripting Conventions.

Practice Exercises

Try these challenges on your own:

Exercise 1: Temperature Converter Create a program that converts 25°C to Fahrenheit.

// Convert Celsius to Fahrenheit float celsius = 25; float fahrenheit = (celsius * 9 / 5) + 32; Print(celsius + "°C = " + fahrenheit + "°F");

Exercise 2: Countdown Create a countdown from 10 to 0, then print "Launch!".

// Count down from 10 to 0 for (int i = 10; i >= 0; i--) { Print(i); } Print("Launch!");

Exercise 3: Squad Filter Print only the soldiers with health above 50 from two arrays (names and health values).

// Only print soldiers with health above 50 array<string> names = {"Alpha", "Bravo", "Charlie"}; array<int> health = {80, 30, 90}; for (int i = 0; i < names.Count(); i++) { if (health[i] > 50) { Print(names[i] + " is combat ready"); } }

Troubleshooting

Console won't open?

  • Make sure you've opened the Script Editor in Workbench
  • Look for the Remote Console panel - if hidden, open it from the menu
  • Ensure Workbench is properly installed via Steam (Arma Reforger Tools)

Code doesn't work?

  • Check for missing semicolons ;
  • Make sure quotes match: "text"
  • Check spelling and capitalization (it matters!)
  • Look for error messages in red

Getting errors?

  • Read the error message - it often tells you what's wrong
  • Check line numbers
  • Make sure all brackets { } are balanced

See Also

Reference Documentation: