native IsAbilityPassive takes integer abilityId returns boolean
//Detect ability is passive or not
native PlayerShareUnitVisionEx takes player whoShare, player toShare, boolean share returns boolean
//Share vision of units inventory cd, Abilities and also abilities cd, without control to player
//or just new ALLIANCE_TYPE variable
native PlayerShareUnitVision takes unit wichUnit, player toWichPlayer, boolean share returns boolean
//Same as previous, but only for selected unit shared vision of cd, inventory and etc. Without control
//or just new ALLIANCE_TYPE variable
native GetConvertedType takes type wichType returns integer
//Thats means you can take every primitive type wich converted with function Convert....(int) and get index(integer) of this
//For example UNIT_TYPE_PEON = ConvertUnitType(16), so you can:
//local integer utype = GetConvertedType(UNIT_TYPE_PEON) thats means utype = 16
native GetFilterInteger takes integer wichFilter returns boolean
//Uses previous function GetConvertedType in filter functions, thats means will be worked more faster than filtering unittypes, itemtypes and etc, and will be universally for every filters
native RealWithInt takes integer beforeDotl, integer AfterDot returns real
//thats means you can make any real with integer arguments, for example:
//local integer i = 123
//local integer a = 5
//local real b = realRealWithInt(a,i) thats will be looks like a.i or 5.123, or:
//====================
//local integer i = 143
//local real a = RealWithInt(5,i) and will looks like a = 5.143
native GetIntFromReal takes real arg1, boolean afterDot returns integer
//returns an value integer of real after dot
//For example
//local real a = 3.14
//local integer i = GetIntFromReal(a,true) wich returns 14, or GetIntFromReal(a,false) wich returns 3
native RootReal takes real arg, real rootArg returns real
//returns a root of real from pow rootArg
//For example local real a = 156
// local real b = RootReal(a, 5) thats means some value x^5 = a, so this function will return x
type matrix extends smth... or not extends
//new type wich will an alternative of hashtables with every size as you want for example wich also emulate an 2D and 3D massives and works more faster and universally, and you can save every type with same values of matrix.
for example:
you can save in matrix with X=1 coordinate, Y=1 coordinate, Z=1 coordinate a unit and also an integer,
when you save a different types in same coordinates, VM will create a different adresses in memory.
Its more comfortable and more faster for use than a big hashtables. As you know, for save in hash a different values you should do smth like this:
// call SaveUnitHandle(h,GetHandleId(smth),0,unit)
and you cant save the different value in childhash and you should for save other different value make another point in childhash...call SaveInteger((h,GetHandleId(smth),1,integer) and etc...
but with matrix you can save this in same coordinates. Sorry for my engl. its hard to explain.:)
Who understand what is matrix, should to know)
native CreateMatrix takes nothing returns matrix
//Creates a matrix of integers,reals... and natives for work with it...
native SetMatrixSizeX takes matrix ma, integer sizeX returns nothing
//Set a value of matix size X
native SetMatrixSizeY takes matrix ma, integer sizeY returns nothing
//Set a value of matix size Y
native SetMatrixSizeZ takes matrix ma, integer sizeZ returns nothing
//Set a value of matix size Z (if no setup this value, will be a defaul 2D matrix)
native GetMatrixSizeX/Y/Z takes matrix ma returns integer
//Get size of matrix of XYZ
native SaveMatrixValueX/Y/Z takes integer x/y/zCoordinate, type value returns nothing
//Set a value (any type) of matrix in xyz coordinate
native GetMatrixValue takes integer x, integer y, integer z return type
//returns a type wich saved in coordinates xyz, so if there is a unit, then matrix will return unit, if there //is an integer, then will return integer F.E:
local unit a = GetMatrixValue(1,4,2) so its should return (unit for example). If there is //no unit, then return null.
also in same time:
local real b = GetMatrixValue(1,4,2)
native SetEventPriority takes trigger trig, type eventype, integer priority returns nothing
//set a value of priority of fire events with same eventid, value > means more priority
//to avoid a big systems with that
native SetEventPriorityEx takes type eventype, type eventtype2, integer priority returns nothing
//set a value of a events fire priority, thats means priority between different events wich fire for unit use an item and event cast ability for example, you can setup a priority wich event will fire first for all map...wich event will fire first