Math Functions⚓︎
Warning
The MWSE-mwscript API is deprecated. The documentation found here is for legacy purposes only. None of the following functions can be used directly from Lua.
xArcCos
⚓︎
Parameters:
float
angle: The angle to take the trigonometric function of.
Returned:
float
result: Result of the function.
Provides the inverse trigonometric function arccosine on the given angle.
xArcSin
⚓︎
Parameters:
float
angle: The angle to take the trigonometric function of.
Returned:
float
result: Result of the function.
Provides the inverse trigonometric function arcsine on the given angle.
xArcTan
⚓︎
Parameters:
float
angle: The angle to take the trigonometric function of.
Returned:
float
result: Result of the function.
Provides the inverse trigonometric function arctangent on the given angle.
xArcTan2
⚓︎
Parameters:
float
x: The angle to take the trigonometric function of.float
y: The angle to take the trigonometric function of.
Returned:
float
result: Result of the function.
Provides the inverse trigonometric function arctan2 on y/x.
xBitAnd
⚓︎
Parameters:
long
leftValue: First value for the bitwise operation.long
rightValue: Second value for the bitwise operation.
Returned:
long
result: 1 if the bitwise operation returns true.
This function performs an AND bitwise operation, and returns its result.
A | B | xBitAnd A B |
---|---|---|
0000 | 0000 | 0000 |
0101 | 1010 | 0000 |
1100 | 1111 | 1100 |
1111 | 0000 | 0000 |
xBitNot
⚓︎
Parameters:
long
leftValue: Value for the bitwise operation.
Returned:
long
result: 1 if the bitwise operation returns true.
This function performs a NOT bitwise operation, and returns its result.
A | xBitNot A |
---|---|
0000 | 1111 |
0101 | 1010 |
1100 | 0011 |
1111 | 0000 |
xBitOr
⚓︎
Parameters:
long
leftValue: First value for the bitwise operation.long
rightValue: Second value for the bitwise operation.
Returned:
long
result: 1 if the bitwise operation returns true.
This function performs an OR bitwise operation, and returns its result.
A | B | xBitOr A B |
---|---|---|
0000 | 0000 | 0000 |
0101 | 1010 | 1111 |
1100 | 1111 | 1111 |
1111 | 0000 | 1111 |
xBitXor
⚓︎
Parameters:
long
leftValue: First value for the bitwise operation.long
rightValue: Second value for the bitwise operation.
Returned:
long
result: 1 if the bitwise operation returns true.
This function performs an XOR bitwise operation, and returns its result.
A | B | xBitXor A B |
---|---|---|
0000 | 0000 | 0000 |
0101 | 1010 | 1111 |
1100 | 1111 | 0011 |
1111 | 0000 | 1111 |
xCos
⚓︎
Parameters:
float
angle: The angle to take the trigonometric function of.
Returned:
float
result: Result of the function.
Provides the trigonometric function cosine on the given angle.
xDegRad
⚓︎
Parameters:
float
angle: An angle, in degrees.
Returned:
float
result: The value of angle in radians.
This simple function converts from degrees to radians.
xFloatsToLong
⚓︎
Parameters:
float
value1: First value. Order doesn't matter.float
value2: Second value. Order doesn't matter.
Returned:
long
result: Merged value from value1 and value2.
This function retrieves a long value using a pair of floats. It is intended to work around the issue that all globals are really floats.
This work by splitting the long 32-bit value into two 16-bit values and adding a flag to indicate which value maps to the high 16 bits. Argument order doesn't matter.
Warning
MWEdit doesn't like to compile these functions with globals as arguments, and temporary locals will need to be used instead.
Example
long lVal1
long lVal2
float fVal1
float fVal2
set lVal1 to 2147483647
setx fVal1 fVal2 to xLongToFloats lVal1
setx lVal2 to xFloatsToLong fVal1 fVal2
if ( lVal1 == lVal2 )
MessageBox "Success!"
else
MessageBox "Failure!"
endif
Hypot
⚓︎
Parameters:
float
x:float
y:
Returned:
float
hypotenuse:
xHypot
returns the hypotenuse for sides a and b, c = sqrt(aa + bb). Unlike xSqrt
this is more efficient than calculating the formula inside the script.
xLongToFloats
⚓︎
Parameters:
long
value: Value to split.
Returned:
float
result1: First half of the split value.float
result2: Second half of the split value.
This function stores a long value using a pair of floats. It is intended to work around the issue that all globals are really floats.
This work by splitting the long 32-bit value into two 16-bit values and adding a flag to indicate which value maps to the high 16 bits. Argument order doesn't matter.
Warning
MWEdit doesn't like to compile these functions with globals as arguments, and temporary locals will need to be used instead.
Example
long lVal1
long lVal2
float fVal1
float fVal2
set lVal1 to 2147483647
setx fVal1 fVal2 to xLongToFloats lVal1
setx lVal2 to xFloatsToLong fVal1 fVal2
if ( lVal1 == lVal2 )
MessageBox "Success!"
else
MessageBox "Failure!"
endif
xPow
⚓︎
Parameters:
float
base: Base value.float
exponent: Exponent to calculate.
Returned:
float
result: Result of the function.
Calculates the value of base raised to exponent.
xDegRad
⚓︎
Parameters:
float
angle: An angle, in radians.
Returned:
float
result: The value of angle in degrees.
This simple function converts from radians to degrees.
xRandomFloat
⚓︎
Parameters:
float
minimum: Lowest value to return.float
maximum: Highest value to return.
Returned:
float
result: A random value between minimum and maximum.
This function returns a random float
value.
xRandomLong
⚓︎
Parameters:
long
minimum: Lowest value to return.long
maximum: Highest value to return.
Returned:
long
result: A random value between minimum and maximum.
This function returns a random long
value.
xShift
⚓︎
Parameters:
long
value: The value to shift.long
magnitude: The number of bits to shift. If negative, the bits will be reverse-shifted.
Returned:
long
result: value, shifted magnitude bits.
This function allows shifting a value by a number of bits equal to magnitude.
xSin
⚓︎
Parameters:
float
angle: The angle to take the trigonometric function of.
Returned:
float
result: Result of the function.
Provides the trigonometric function sine on the given angle.
xSqrt
⚓︎
Parameters:
float
value: Value to take the square root of.
Returned:
float
result: Result of the function.
Calculates the square root of value.
xTan
⚓︎
Parameters:
float
angle: The angle to take the trigonometric function of.
Returned:
float
result: Result of the function.
Provides the trigonometric function tangent on the given angle.