Enforce Script Syntax – DayZ
Jump to navigation
Jump to search
m (→Comparison: Even more tables) |
patriot821 (talk | contribs) (Add more examples.) |
||
Line 60: | Line 60: | ||
Classes can be seen as a blueprint of an object. An object is an instance of a class. A class can have more than one object. | Classes can be seen as a blueprint of an object. An object is an instance of a class. A class can have more than one object. | ||
=== Basic Class Example === | |||
<syntaxhighlight lang=cpp> | <syntaxhighlight lang=cpp> | ||
Line 73: | Line 70: | ||
{ | { | ||
// Constructor that will be called when class gets instantiated | // Constructor that will be called when class gets instantiated | ||
} | |||
void myMethod() | |||
{ | |||
// Some code here | |||
} | } | ||
Line 87: | Line 89: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Instantiate and Use === | |||
Write {{Inline code|new YourClassName()}} to instantiate - create a new instance of a class, and assign it to some variable which type is {{Inline code|YourClassName}}. After assign the instance, you can access attributes and methods inside a class through that variable by using dot notation like {{Inline code|myClass.myMethod()}}. | |||
=== Basic Script Example === | |||
<syntaxhighlight lang=cpp> | |||
MyClass myClass = new MyClass(); | |||
myClass.myMethod(); | |||
myClass.setTest("Hello, Enforce Script!"); | |||
string str = myClass.getTest(); // str is now "Hello, Enforce Script!" | |||
</syntaxhighlight> | |||
=== Modded class === | |||
In order to get your custom code to work and function on top of another class already in the game, a modded class is where you want to turn to. | In order to get your custom code to work and function on top of another class already in the game, a modded class is where you want to turn to. | ||
Revision as of 11:10, 20 December 2018
Enforce Script is the language that is used by the Enfusion engine first introduced in DayZ Standalone. It is a Object-Oriented Scripting Language (OOP) that works with objects and classes.
Operators
Arithmetic Operators
Operation | Symbol |
---|---|
Add | +
|
Subtract | -
|
Multiply | *
|
Divide | /
|
Assignments
Operation | Symbol |
---|---|
Define value to variable | =
|
Increment variable by value | +=
|
Decrement variable by value | -=
|
Multiply variable by value | *=
|
Divide variable by value | /=
|
Increment variable by 1 | ++
|
Decrement variable by 1 | --
|
Comparison
Operation | Symbol |
---|---|
More than value | >
|
Less than value | <
|
More or equal to the value | >=
|
Less or equal to the value | <=
|
Classes and Objects
Classes can be seen as a blueprint of an object. An object is an instance of a class. A class can have more than one object.
Basic Class Example
class MyClass
{
private string _test;
void MyClass()
{
// Constructor that will be called when class gets instantiated
}
void myMethod()
{
// Some code here
}
string getTest()
{
return _test;
}
string setTest(value)
{
_test = value;
}
}
Instantiate and Use
Write new YourClassName()
to instantiate - create a new instance of a class, and assign it to some variable which type is YourClassName
. After assign the instance, you can access attributes and methods inside a class through that variable by using dot notation like myClass.myMethod()
.
Basic Script Example
MyClass myClass = new MyClass();
myClass.myMethod();
myClass.setTest("Hello, Enforce Script!");
string str = myClass.getTest(); // str is now "Hello, Enforce Script!"
Modded class
In order to get your custom code to work and function on top of another class already in the game, a modded class is where you want to turn to.
modded class PlayerBase
{
override void EEKilled(Object killer)
{
// This will call the method in which you are overriding.
// Do this if you want to keep the original functionality
super().EEKilled;
// Custom code here (i.e. Print(killer.GetIdentity().GetName()))
}
}