# Functions

***

*(Version 2.7)*\ <mark style="color:yellow;">**NoticeType(aIndex, Type, R, G, B, Opacity, Speed, Message)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Player Index.\ <mark style="color:yellow;">Type</mark> = Message type <mark style="color:orange;">\[0 \~ 15]</mark>.\ <mark style="color:yellow;">R</mark> = <mark style="color:red;">Red</mark> Color.\ <mark style="color:yellow;">G</mark> = <mark style="color:green;">Green</mark> Color.\ <mark style="color:yellow;">B</mark> = <mark style="color:blue;">Blue</mark> Color.\ <mark style="color:yellow;">Opacity</mark> = <mark style="color:$info;">Alpha</mark> Color.\ <mark style="color:yellow;">Speed</mark> = Sliding speed, if it is a sliding type.\ <mark style="color:yellow;">Message</mark> = Text.\
\
Used to create news items that can also appear in the Slider, as well as to add color to the text.

***

*(Version 2.7)*\ <mark style="color:yellow;">**GetWarehouseNumber(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Player Index.\
\
Returns the number of the selected chest.

***

*(Version 2.7)*\ <mark style="color:yellow;">**GetCastleSiegeState()**</mark>\
\
Returns:\ <mark style="color:orange;">\[NONE, IDLE\_1, REG\_SIEGE, IDLE\_2, REG\_MARK, IDLE\_3, NOTIFY, READY, START, END, END\_CYCLE]</mark>\
\
Returns the 11 states from the Castle Siege event.

***

*(Version 2.7)*\ <mark style="color:yellow;">**GetCastleSiegeOwner()**</mark>\
\ <mark style="color:orange;">Return "" for none.</mark>\
\
Returns the name of the guild that owns the castle "Castle Siege".

***

*(Version 2.6)*\ <mark style="color:yellow;">**NoticeLangGlobalSend(Type, EngString, PorString, SpnString)**</mark>\
\ <mark style="color:yellow;">aValue</mark> = Message type (0=Global/1=System). <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">**EngString**</mark> = Message English. <mark style="color:orange;">"Need string"</mark>\ <mark style="color:yellow;">**PorString**</mark> = Message Portuguese. <mark style="color:orange;">"Need string"</mark>\ <mark style="color:yellow;">**SpnString**</mark> = Message Spanish. <mark style="color:orange;">"Need string"</mark>\
\ <mark style="color:red;">"All Strings max size is 127"</mark>\
\
**Usage Example:**

```lua
CommandManagerDirect = function(aIndex, str)
	local Cmd = CommandGetArgString(str, 0)

	if (Cmd == "/test") then
		NoticeLangGlobalSend(0, "Hello gay", "Olá Bixa", "Hola Baitola")
	elseif (Cmd == "/test2") then
		NoticeLangGlobalSend(1, "Hello gay", "Olá Bixa", "Hola Baitola")
	end

	return 0
end

BridgeFunctionAttach("OnCommandManagerDirect", "CommandManagerDirect");
```

Send the news to each customer in their current language.

***

*(Version 2.5)*\ <mark style="color:yellow;">**KillPlayer(aIndex)**</mark>\
\ <mark style="color:yellow;">**aIndex**</mark> = User Index.\
\
Kill the character.

***

*(Version 2.5)*\ <mark style="color:yellow;">**http\_request(Host, Path, Method, JsonData, Headers)**</mark>\
\ <mark style="color:yellow;">Host</mark> = Target server domain. <mark style="color:orange;">"without https\://"</mark>\ <mark style="color:yellow;">Path</mark> = Endpoint path on the server.\ <mark style="color:yellow;">Method</mark> = HTTP method used.\ <mark style="color:yellow;">JsonData</mark> = Request body in JSON format. <mark style="color:orange;">"Use "{}" when there is no content to send"</mark>\ <mark style="color:yellow;">Headers</mark> = Additional headers separated by \r\n.\
\
**Example of use:**

```
Host = "api.example.com"
Path = "/v1/data" or "/authorization"
Method = "GET", "POST", "PUT", "DELETE"
JsonData = "{}" or '{"amount":100}'
Headers = "Content-Type: application/json\r\nAuthorization: Bearer TOKEN\r\n"
```

```lua
CommandManagerDirect = function(aIndex, str)

    local Cmd = CommandGetArgString(str, 0)

    if (Cmd == "/test") then
        local headers = "Content-Type: application/json\r\nAuthorization: Bearer TOKEN123\r\n"
        local jsonData = '{"message":"Hello World"}'
        local result = http_request("api.example.com", "/v1/echo", "POST", jsonData, headers)

        local maxLen = 200
        local totalLen = string.len(result)
        local index = 1
        while index <= totalLen do
            local chunk = string.sub(result, index, index + maxLen - 1)
            NoticeSend(aIndex, 0, chunk)
            index = index + maxLen
        end
    end

    return 0
end

BridgeFunctionAttach("OnCommandManagerDirect", "CommandManagerDirect");
```

***

*(Version 2.5)*\ <mark style="color:yellow;">**GetIndexByAccountName(AccountName)**</mark>\
\ <mark style="color:yellow;">AccountName</mark> = User Account.\
\
Returns the index of the character logged into the given account.

***

*(Version 2.5)*\ <mark style="color:yellow;">**CreateCloneByName(Name, Map, X, Y, Dir)**</mark>\
\ <mark style="color:yellow;">Name</mark> = User Name. <mark style="color:orange;">"Offline or Online"</mark>\ <mark style="color:yellow;">Map</mark> = Destination map.\ <mark style="color:yellow;">X</mark> = X position of the destination map.\ <mark style="color:yellow;">Y</mark> = Y position of the destination map.\ <mark style="color:yellow;">Dir</mark> = Character's direction in relation to the destination map.\
\
Function used to create a clone of a character.

***

*(Version 2.5)*\ <mark style="color:yellow;">**DeleteCloneByName(Name)**</mark>\
\ <mark style="color:yellow;">Name</mark> = User Name. <mark style="color:orange;">"Offline or Online"</mark>\
\
Function used to delete the Clone created by the CreateCloneByName function.

***

*(Version 2.5)*\ <mark style="color:yellow;">**SetUserReset(aIndex, Reset, Type, ReAddPoint)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User Index.\ <mark style="color:yellow;">Reset</mark> = Number of resets.\ <mark style="color:yellow;">Type</mark> = Reset increment type. <mark style="color:orange;">"0 - Replace, 1 - Accumulate"</mark>\ <mark style="color:yellow;">ReAddPoint</mark> = Optional. <mark style="color:orange;">"0 - None , 1 - Redistributes points according to the new amount of resets"</mark>\
\
Command used to add or replace the number of resets of an User.

***

*(Version 2.5)*\ <mark style="color:yellow;">**SetUserMasterReset(aIndex, MasterReset, Type, ReAddPoint)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User Index.\ <mark style="color:yellow;">MasterReset</mark> = Number of resets.\ <mark style="color:yellow;">Type</mark> = Master Reset increment type. <mark style="color:orange;">"0 - Replace, 1 - Accumulate"</mark>\ <mark style="color:yellow;">ReAddPoint</mark> = Optional. <mark style="color:orange;">"0 - None , 1 - Redistributes points according to the new amount of master resets"</mark>\
\
Command used to add or replace the number of master resets of an User.

***

*(Version 2.5)*\ <mark style="color:yellow;">**AddUserStrength(aIndex, Points)**</mark>\ <mark style="color:yellow;">aIndex</mark> = User Index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">Points</mark> = Amount of points. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:red;">Adds points to strength.</mark>\
\
\&#xNAN;*(Version 2.3)*\ <mark style="color:yellow;">**AddUserAgility(aIndex, Points)**</mark>\ <mark style="color:yellow;">aIndex</mark> = User Index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">Points</mark> = Amount of points. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:red;">Adds points to agility.</mark>\
\
\&#xNAN;*(Version 2.3)*\ <mark style="color:yellow;">**AddUserVitality(aIndex, Points)**</mark>\ <mark style="color:yellow;">aIndex</mark> = User Index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">Points</mark> = Amount of points. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:red;">Adds points to Vitality.</mark>\
\
\&#xNAN;*(Version 2.3)*\ <mark style="color:yellow;">**AddUserEnergy(aIndex, Points)**</mark>\ <mark style="color:yellow;">aIndex</mark> = User Index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">Points</mark> = Amount of points. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:red;">Adds points to Energy.</mark>\
\
\&#xNAN;*(Version 2.3)*\ <mark style="color:yellow;">**AddUserCommand(aIndex, Points)**</mark>\ <mark style="color:yellow;">aIndex</mark> = User Index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">Points</mark> = Amount of points. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:red;">Adds points to Command, only for Dark Lord or Lord Emperor characters.</mark>\
\ <mark style="color:green;">"If the current attribute value + the set amount of points exceeds the maximum value of released points, the set amount of points will automatically be changed to the maximum value of released points - the current attribute value."</mark>\
\ <mark style="color:green;">"If the current attribute value + the set amount of points is less than the default attribute value then the set value will automatically be changed to the default attribute value according to the class in question."</mark>

***

*(Version 2.3)*\ <mark style="color:yellow;">**UserGetOrigOptionValue(aIndex, Option)**</mark>\ <mark style="color:yellow;">aIndex</mark> = User Index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">Option</mark> = Name of the attribute that will return the original value. <mark style="color:orange;">"Need string"</mark>\ <mark style="color:red;">Returns the attribute value of the character's original structure.</mark>\
\
\&#xNAN;*(Version 2.3)*\ <mark style="color:yellow;">**UserGetOptionValue(aIndex, Option)**</mark>\ <mark style="color:yellow;">aIndex</mark> = User Index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">Option</mark> = Name of the attribute that will return the value of the new structure. <mark style="color:orange;">"Need string"</mark>\ <mark style="color:red;">Returns the attribute value of the new character structure.</mark>\
\
\&#xNAN;*(Version 2.3)*\ <mark style="color:yellow;">**UserSetOptionValue(aIndex, Option, Value)**</mark>\ <mark style="color:yellow;">aIndex</mark> = User Index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">Option</mark> = Name of the attribute that will receive the value in the new structure. <mark style="color:orange;">"Need string"</mark>\ <mark style="color:yellow;">Value</mark> = Value that will be applied to the Option attribute. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:red;">Used to set a value for the option passed into the function.</mark>\
\
**Options Names:**\ <mark style="color:green;">"AddPhysiDamage, AddMagicDamage, AddCurseDamage, AddMinPhysiDamage, AddMaxPhysiDamage, AddMinMagicDamage, AddMaxMagicDamage, AddMinCurseDamage, AddMaxCurseDamage, AddAttackSuccessRate, AddPhysiSpeed, AddMagicSpeed, AddDefense, AddDefenseSuccessRate, AddMaxHP, AddMaxMP, AddMaxBP, AddMaxSD, AddStrength, AddDexterity, AddVitality, AddEnergy, AddLeadership, AddDamageReduction, AddDamageReflect, AddCriticalDamageRate, AddCriticalDamage, AddExcellentDamageRate, AddExcellentDamage, AddExperienceRate, AddMasterExperienceRate, AddVolcanoExperienceRate, AddPartyBonusExperienceRate, AddIgnoreDefenseRate, AddItemDropRate, AddHPRecovery, AddMPRecovery, AddBPRecovery, AddSDRecovery, AddHPRecoveryRate, AddMPRecoveryRate, AddBPRecoveryRate, AddSDRecoveryRate, AddSwordPowerDamageRate, AddSwordPowerDefenseRate, SubDefense, MulPhysiDamage, MulMagicDamage, MulCurseDamage, MulAttackSuccessRate, MulPhysiSpeed, MulMagicSpeed, MulDefense, MulDefenseSuccessRate,</mark>\ <mark style="color:green;">MulMaxHP, MulMaxMP, MulMaxBP, MulMaxSD, DivPhysiDamage, DivMagicDamage, DivCurseDamage, DivAttackSuccessRate, DivPhysiSpeed, DivMagicSpeed, DivDefense, DivDefenseSuccessRate, DivMaxHP, DivMaxMP, DivMaxBP, DivMaxSD"</mark>\
\
The attributes set in the new structure will be assigned in the original structure without affecting the original values.\
\
**CODE USED IN TESTS:**

```lua
CommandManagerDirect = function(aIndex, Str)

	local Cmd1 = CommandGetArgString(Str, 0)
	local Cmd2 = CommandGetArgString(Str, 1)
	
	if (Cmd1 == "/teste1") then
		local Value1 = UserGetOptionValue(aIndex, "AddDamageReduction")
		LogColor(1, string.format("%d", Value1))
	end

	if (Cmd1 == "/teste2") then
		UserSetOptionValue(aIndex, "AddDamageReduction", tonumber(Cmd2))
		local Value2 = UserGetOptionValue(aIndex, "AddDamageReduction")
		LogColor(1, string.format("%d", Value2))
		UserCalcAttribute(aIndex)
	end

	return 0
end

BridgeFunctionAttach("OnCommandManagerDirect", "CommandManagerDirect");
```

***

<mark style="color:yellow;">**Send(aIndex, String)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User Index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">String</mark> = Parameter to be sent in text form. <mark style="color:orange;">"Need string"</mark>\
\ <mark style="color:red;">"String max size is 1024"</mark>\
\
Sends texts to the Client, used as a package system for interacting with the Main.

***

<mark style="color:yellow;">**SendAll(String)**</mark>\
\ <mark style="color:yellow;">String</mark> = Parameter to be sent in text form. <mark style="color:orange;">"Need string"</mark>\
\ <mark style="color:red;">"String max size is 1024"</mark>\
\
Sends texts to the Client, used as a package system for interacting with the Main.

***

<mark style="color:yellow;">**AddObjectExperience(aIndex, Amount)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User Index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">Amount</mark> = Experience Value. <mark style="color:orange;">"Accepts Integer or float number"</mark>\
\ <mark style="color:red;">"Max experience value is 2147483647"</mark>\
\
Function used to set an amount of experience to be sent to the user.

***

<mark style="color:yellow;">**MoneyDrop(Map, MapX, MapY, Money)**</mark>\
\ <mark style="color:yellow;">Map</mark> = Map number. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">MapX</mark> = Location X on the map. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">MapY</mark> = Location Y on the map. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">Money</mark> = Amount of money that will drop. <mark style="color:orange;">"Accepts Integer or float number"</mark>\
\ <mark style="color:red;">"MapX is 0 to 255"</mark>\ <mark style="color:red;">"MapY is 0 to 255"</mark>\ <mark style="color:red;">"Max money value is 2000000000"</mark>\
\
Drops an amount of zen at a location on the map.

***

<mark style="color:yellow;">**SetObjectSkillBlockTime(aIndex, aValue, bValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User Index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Skill ID. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">bValue</mark> = Optional Time for Block. <mark style="color:orange;">"Need integer number"</mark>\
\ <mark style="color:red;">"aValue is BlockSkillId"</mark>\ <mark style="color:red;">"bValue is BlockSkillTime"</mark>\
\
Block a specific skill from a specific character for a specific time.

***

<mark style="color:yellow;">**SQLAsyncQuery(label, query, param)**</mark>\
\ <mark style="color:yellow;">label</mark> = Identification, used to distinguish the query commands \
passed to the processing queue. <mark style="color:orange;">"Need string"</mark>\ <mark style="color:yellow;">query</mark> = SQL Query. <mark style="color:orange;">"Need string"</mark>\ <mark style="color:yellow;">param</mark> = Parameter for labeling. <mark style="color:orange;">"Need string"</mark>\
\ <mark style="color:red;">"label max size is 256"</mark>\ <mark style="color:red;">"query max size is 2048"</mark>\ <mark style="color:red;">"param is an optional argument and its maximum size is 4096"</mark>\
\
Sends the Query command to the SQL Async processing queue.

***

<mark style="color:yellow;">**GetItemLevelName(Index, Level)**</mark>\
\ <mark style="color:yellow;">Index</mark> = Item Index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">Level</mark> = Item Level. <mark style="color:orange;">"Need integer number"</mark>\
\ <mark style="color:red;">"Index is the calculation ((512xSection)+Item)"</mark>\ <mark style="color:red;">"Level is 0 to 15"</mark>\ <mark style="color:red;">"If a name is not found, the word (Unknown) will be returned."</mark>\
\
Returns the Level item name from the ItemLevelName.txt file.

***

<mark style="color:yellow;">**PartyCreate(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return (1) if success, (0) otherwise.                                                                                           &#x20;

***

<mark style="color:yellow;">**PartyDestroy(aValue)**</mark>\
\ <mark style="color:yellow;">aValue</mark> = Party index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return (1) if success, (0) otherwise.&#x20;

***

<mark style="color:yellow;">**PartyAddMember(aValue, aIndex)**</mark>\
\ <mark style="color:yellow;">aValue</mark> = Party index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aIndex</mark> = User Index. <mark style="color:orange;">"Need integer number"</mark>\
\
Add user to the selected party, return (1) if success, (0) otherwise.

***

<mark style="color:yellow;">**PartyDelMember(aValue, aIndex)**</mark>\
\ <mark style="color:yellow;">aValue</mark> = Party index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aIndex</mark> = User Index. <mark style="color:orange;">"Need integer number"</mark>\
\
Delete user from the selected party, return (1) if success, (0) otherwise.

***

<mark style="color:yellow;">**GetMapName(Map)**</mark>\
\ <mark style="color:yellow;">Map</mark> = Map index. <mark style="color:orange;">"Need integer number"</mark>\
\ <mark style="color:red;">"Max map is 110"</mark>\ <mark style="color:red;">"If a name is not found, the word (Unknown) will be returned."</mark>\
\
Return the GetMapName string

***

<mark style="color:yellow;">**GetObjectOfflineFlag(aIndex)**</mark>

<mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Requires integer"</mark>

Returns 1 if in OffModes and 0 otherwise.

<mark style="color:red;">OffModes = OffAttack / OffHelper / OffStore</mark>

***

<mark style="color:yellow;">**GetObjectHardwareId(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return the GetObjectHardwareId string

***

<mark style="color:yellow;">**GetObjectPassword(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return the LuaGetObjectPassword string

***

<mark style="color:yellow;">**GetMonsterName(Monster)**</mark>\
\ <mark style="color:yellow;">Monster</mark> = Monster index. <mark style="color:orange;">"Need integer number"</mark>\
\ <mark style="color:red;">"Monster is the number of the monster, for example, Kundun is 275"</mark>\ <mark style="color:red;">"If a name is not found, the word (Unknown) will be returned."</mark>\
\
Return the GetMonsterName string

***

<mark style="color:yellow;">**GetItemName(Item)**</mark>\
\ <mark style="color:yellow;">Item</mark> = Item Index. <mark style="color:orange;">"Need integer number"</mark>\
\ <mark style="color:red;">"Item</mark> <mark style="color:red;">is the calculation ((512xSection)+Item)"</mark>\
\
Return the GetItemName string

***

<mark style="color:yellow;">**GetCustomerName()**</mark>\
\
Return the CustomerName string

***

<mark style="color:yellow;">**GetSpecialCode()**</mark>\
\
Return the SpecialCode Value

***

<mark style="color:yellow;">**NoticeSendToAllLang(Type, Array, ...)**</mark>\
\ <mark style="color:yellow;">Type</mark> = Notice type. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">Array</mark> = Array witch 3 languages. <mark style="color:orange;">"Accepts all types"</mark>\ <mark style="color:yellow;">...</mark> = Maximum 5 parameters. <mark style="color:orange;">"Accepts all types"</mark>

```lua
local Text = { 
"One %d, Two %d, Three %d, Four %d, Five %d",
"Um %d, Dois %d, Três %d, Quatro %d, Cinco %d",
"Uno %d, Dos %d, Tres %d, Cuatro %d, Cinco %d" }

local Type = 0

NoticeSendToAllLang(Type, Text[GetUserLanguage+1], 1, 2, 3, 4, 5)
```

Automatically selects the Array language and adds parameters

***

<mark style="color:yellow;">**GetUserLanguage(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Returns 0 for Eng, 1 for Por and 2 for Spn.

***

<mark style="color:yellow;">**SendTimeLimit(aIndex, Time, Msg)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">Time</mark> = Time limit. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">Msg</mark> = Message to display at client. <mark style="color:orange;">"Need string"</mark>\
\ <mark style="color:red;">"Msg max size is 255"</mark>\
\
This function will start a timer on the client with a degressive value whose time is informed.

***

<mark style="color:yellow;">**GetTickCount()**</mark>\
\
This function returns amount of time that your system has been running in milliseconds.\
By comparing two values of getTickCount, you can determine how much time has passed (in milliseconds) between two events.\
\
This could be used to determine how efficient your code is, or to time how long a player takes to complete a task.

***

<mark style="color:yellow;">**GetMaxIndex()**</mark>\
\
Return object final index.

***

<mark style="color:yellow;">**GetMinUserIndex()**</mark>\
\
Return user start index.

***

<mark style="color:yellow;">**GetMaxUserIndex()**</mark>\
\
Return user final index.

***

<mark style="color:yellow;">**GetMinMonsterIndex()**</mark>\
\
Return monster start index.

***

<mark style="color:yellow;">**GetMaxMonsterIndex()**</mark>\
\
Return monster final index.

***

<mark style="color:yellow;">**GetGameServerCode()**</mark>\
\
Return Game Server server code.

***

<mark style="color:yellow;">**GetGameServerVersion()**</mark>\
\
Return Game Server version number.

***

<mark style="color:yellow;">**GetGameServerProtocol()**</mark>\
\
Return Game Server protocol (0=Kor/1=Eng/2=Jpn/3=Chs/4=Tai/5=Phi).

***

<mark style="color:yellow;">**GetGameServerCurUser()**</mark>\
\
Return Game Server current users.

***

<mark style="color:yellow;">**GetGameServerMaxUser()**</mark>\
\
Return Game Server maximum users.

***

<mark style="color:yellow;">**GetObjectConnected(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object connection state.

***

<mark style="color:yellow;">**GetObjectIpAddress(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object ip address.

***

<mark style="color:yellow;">**GetObjectType(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object type.

***

<mark style="color:yellow;">**GetObjectAccount(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object account.

***

<mark style="color:yellow;">**GetObjectName(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object name.

***

<mark style="color:yellow;">**GetObjectPersonalCode(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object personal code.

***

<mark style="color:yellow;">**GetObjectClass(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object class.

***

<mark style="color:yellow;">**GetObjectChangeUp(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object evolution.

***

<mark style="color:yellow;">**GetObjectLevel(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object level.

***

<mark style="color:yellow;">**GetObjectLevelUpPoint(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object level up points.

***

<mark style="color:yellow;">**GetObjectMoney(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object zen amount.

***

<mark style="color:yellow;">**GetObjectStrength(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object strength.

***

<mark style="color:yellow;">**GetObjectDexterity(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object dexterity.

***

<mark style="color:yellow;">**GetObjectVitality(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object vitality.

***

<mark style="color:yellow;">**GetObjectEnergy(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object energy.

***

<mark style="color:yellow;">**GetObjectLeadership(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object leadership.

***

<mark style="color:yellow;">**GetObjectExtraStrength(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object extra strength.

***

<mark style="color:yellow;">**GetObjectExtraDexterity(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object extra dexterity.

***

<mark style="color:yellow;">**GetObjectExtraVitality(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object extra vitality.

***

<mark style="color:yellow;">**GetObjectExtraEnergy(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object extra energy.

***

<mark style="color:yellow;">**GetObjectExtraLeadership(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object extra leadership.

***

<mark style="color:yellow;">**GetObjectDefaultStrength(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object default strength.

***

<mark style="color:yellow;">**GetObjectDefaultDexterity(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object default dexterity.

***

<mark style="color:yellow;">**GetObjectDefaultVitality(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object default vitality.

***

<mark style="color:yellow;">**GetObjectDefaultEnergy(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object default energy.

***

<mark style="color:yellow;">**GetObjectDefaultLeadership(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object default leadership.

***

<mark style="color:yellow;">**GetObjectLive(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object live state.

***

<mark style="color:yellow;">**GetObjectLife(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object current life.

***

<mark style="color:yellow;">**GetObjectMaxLife(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object maximum life.

***

<mark style="color:yellow;">**GetObjectMana(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object current mana.

***

<mark style="color:yellow;">**GetObjectMaxMana(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object maximum mana.

***

<mark style="color:yellow;">**GetObjectBP(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object current BP.

***

<mark style="color:yellow;">**GetObjectMaxBP(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object maximum BP.

***

<mark style="color:yellow;">**GetObjectShield(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object current SD.

***

<mark style="color:yellow;">**GetObjectMaxShield(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object maximum SD.

***

<mark style="color:yellow;">**GetObjectPKCount(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object PK count.

***

<mark style="color:yellow;">**GetObjectPKLevel(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object PK level.

***

<mark style="color:yellow;">**GetObjectPKTimer(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object PK timer.

***

<mark style="color:yellow;">**GetObjectMap(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object current map.

***

<mark style="color:yellow;">**GetObjectMapX(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object current position X.

***

<mark style="color:yellow;">**GetObjectMapY(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object current position Y.

***

<mark style="color:yellow;">**GetObjectAuthority(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object authority value.

***

<mark style="color:yellow;">**GetObjectPartyNumber(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object party number.

***

<mark style="color:yellow;">**GetObjectGuildNumber(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object guild number.

***

<mark style="color:yellow;">**GetObjectGuildStatus(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object guild status.

***

<mark style="color:yellow;">**GetObjectGuildName(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object guild name.

***

<mark style="color:yellow;">**GetObjectGuildRelationship(aIndex, bIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index.  <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">bIndex</mark> = Target index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object guild relationship with target (0=None/1=Ally/2=Rival).

***

<mark style="color:yellow;">**GetObjectGuildUnionNumber(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object guild union number.

***

<mark style="color:yellow;">**GetObjectGuildUnionName(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object guild union name.

***

<mark style="color:yellow;">**GetObjectChange(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object transformation number.

***

<mark style="color:yellow;">**GetObjectInterface(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object interface state.

***

<mark style="color:yellow;">**GetObjectMasterLevel(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object master level.

***

<mark style="color:yellow;">**GetObjectMasterPoint(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object master point.

***

<mark style="color:yellow;">**GetObjectAccountLevel(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object account level.

***

<mark style="color:yellow;">**GetObjectAccountExpireDate(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object account expire date.

***

<mark style="color:yellow;">**GetObjectReset(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object reset amount.

***

<mark style="color:yellow;">**GetObjectMasterReset(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object master reset amount.

***

<mark style="color:yellow;">**GetObjectGensRank(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object gens global rank.

***

<mark style="color:yellow;">**GetObjectGensSymbol(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object gens patent symbol number.

***

<mark style="color:yellow;">**GetObjectGensFamily(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object gens family (0=None/1=Varnert/2=Duprian).

***

<mark style="color:yellow;">**GetObjectGensContribution(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object gens contribution amount.

***

<mark style="color:yellow;">**GetObjectCSGuildSide(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return object Castle Siege guild side.

***

<mark style="color:yellow;">**GetObjectIndexByName(aString)**</mark>\
\ <mark style="color:yellow;">aString</mark> = Object name. <mark style="color:orange;">"Need string"</mark>\
\ <mark style="color:red;">"If a name is not found, the index will return -1"</mark>\
\
Return object index.

***

<mark style="color:yellow;">**SetObjectLevel(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Level value. <mark style="color:orange;">"Need integer number"</mark>\
\ <mark style="color:red;">"aValue is user level, 1 to 400"</mark>\
\
Define object level.

***

<mark style="color:yellow;">**SetObjectLevelUpPoint(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Level up point value. <mark style="color:orange;">"Need integer number"</mark>\
\ <mark style="color:red;">"aValue minumum is 0"</mark>\
\
Define object level up point.

***

<mark style="color:yellow;">**SetObjectMoney(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Zen value. <mark style="color:orange;">"Need integer number"</mark>\
\ <mark style="color:red;">"aValue is minimum 0 and maximum 2000000000"</mark>\
\
Define object zen amount.

***

<mark style="color:yellow;">**SetObjectStrength(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Strength value. <mark style="color:orange;">"Need integer number"</mark>\
\ <mark style="color:red;">"aValue is user strength, the minimum value is according to DefaultClassInfo.txt and the maximum value is according to Common.dar"</mark>\
\
Define object strength.

***

<mark style="color:yellow;">**SetObjectDexterity(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Dexterity value. <mark style="color:orange;">"Need integer number"</mark>\
\ <mark style="color:red;">"aValue is user dexterity, the minimum value is according to DefaultClassInfo.txt and the maximum value is according to Common.dar"</mark>\
\
Define object dexterity.

***

<mark style="color:yellow;">**SetObjectVitality(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Vitality value. <mark style="color:orange;">"Need integer number"</mark>\
\ <mark style="color:red;">"aValue is user vitality, the minimum value is according to DefaultClassInfo.txt and the maximum value is according to Common.dar"</mark>\
\
Define object vitality.

***

<mark style="color:yellow;">**SetObjectEnergy(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Energy value. <mark style="color:orange;">"Need integer number"</mark>\
\ <mark style="color:red;">"aValue is user energy, the minimum value is according to DefaultClassInfo.txt and the maximum value is according to Common.dar"</mark>\
\
Define object energy.

***

<mark style="color:yellow;">**SetObjectLeadership(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Leadership value. <mark style="color:orange;">"Need integer number"</mark>\
\ <mark style="color:red;">"aValue is user leadership, the minimum value is according to DefaultClassInfo.txt and the maximum value is according to Common.dar"</mark>\
\
Define object leadership.

***

<mark style="color:yellow;">**SetObjectChatLimitTime(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Limit time value, in seconds. <mark style="color:orange;">"Need integer number"</mark>\
\
Define object chat limit time.

***

<mark style="color:yellow;">**SetObjectPKCount(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = PK count value. <mark style="color:orange;">"Need integer number"</mark>\
\
Define object PK count.

***

<mark style="color:yellow;">**SetObjectPKLevel(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = PK level value. <mark style="color:orange;">"Need integer number"</mark>\
\
Define object PK level.

***

<mark style="color:yellow;">**SetObjectPKTimer(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = PK timer value. <mark style="color:orange;">"Need integer number"</mark>\
\
Define object PK timer.

***

<mark style="color:yellow;">**SetObjectMap(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Map value. <mark style="color:orange;">"Need integer number"</mark>\
\ <mark style="color:red;">"aValue is Map, 0 to 110"</mark>\
\
Define object current map.

***

<mark style="color:yellow;">**SetObjectMapX(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Position X value. <mark style="color:orange;">"Need integer number"</mark>\
\ <mark style="color:red;">"aValue is 0 to 255"</mark>\
\
Define object current position X.

***

<mark style="color:yellow;">**SetObjectMapY(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Position Y value. <mark style="color:orange;">"Need integer number</mark>\
\ <mark style="color:red;">aValue is 0 to 255"</mark>\
\
Define object current position Y.

***

<mark style="color:yellow;">**SetObjectMasterLevel(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Master level value. <mark style="color:orange;">"Need integer number</mark>\
\ <mark style="color:red;">"User must be at master level!"</mark>\
\
Define object master level.

***

<mark style="color:yellow;">**SetObjectMasterPoint(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Master point value. <mark style="color:orange;">"Need integer number"</mark>\
\ <mark style="color:red;">"User must be at master level!"</mark>\
\
Define object master point.

***

<mark style="color:yellow;">**ChatTargetSend(aIndex, bIndex, aString)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = NPC index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">bIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aString</mark> = Message. <mark style="color:orange;">"Need string"</mark>\
\ <mark style="color:red;">"aString max size is 59"</mark>\
\
Selected NPC talks to the chosen User.

***

<mark style="color:yellow;">**CommandCheckGameMasterLevel(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">bValue</mark> = Game Master level. <mark style="color:orange;">"Need integer number"</mark>\
\
Return (1) if the user have the chosen level, (0) if not.

***

<mark style="color:yellow;">**CommandGetArgNumber(aString, aValue)**</mark>\
\ <mark style="color:yellow;">aString</mark> = Command parameter.  <mark style="color:orange;">"Need string"</mark>\ <mark style="color:yellow;">aValue</mark> = Parameter position. <mark style="color:orange;">"Need integer number"</mark>\
\
Return as number the parameter of the chosen position.

***

<mark style="color:yellow;">**CommandGetArgString(aString, aValue)**</mark>\
\ <mark style="color:yellow;">aString</mark> = Command parameter. <mark style="color:orange;">"Need string"</mark>\ <mark style="color:yellow;">aValue</mark> = Parameter position. <mark style="color:orange;">"Need integer number"</mark>\
\
Return as string the parameter of the chosen position.

***

<mark style="color:yellow;">**CommandSend(aIndex, aString)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aString</mark> = Command Syntax. <mark style="color:orange;">"Need string"</mark>\
\
Return a command as if it had been typed.

***

<mark style="color:yellow;">**ConfigReadNumber(aString, bString, cString)**</mark>\
\ <mark style="color:yellow;">aString</mark> = Configuration group name. <mark style="color:orange;">"Need string"</mark>\ <mark style="color:yellow;">bString</mark> = Configuration name. <mark style="color:orange;">"Need string"</mark>\ <mark style="color:yellow;">cString</mark> = Configuration file path. <mark style="color:orange;">"Need string"</mark>\
\
Return as number the chosen configuration.

***

<mark style="color:yellow;">**ConfigReadString(aString, bString, cString)**</mark>\
\ <mark style="color:yellow;">aString</mark> = Configuration group name. <mark style="color:orange;">"Need string"</mark>\ <mark style="color:yellow;">bString</mark> = Configuration name. <mark style="color:orange;">"Need string"</mark>\ <mark style="color:yellow;">cString</mark> = Configuration file path. <mark style="color:orange;">"Need string"</mark>\
\
Return as string the chosen configuration.

***

<mark style="color:yellow;">**ConfigSaveString(aString, bString, cString, dString)**</mark>\
\ <mark style="color:yellow;">aString</mark> = Configuration group name. <mark style="color:orange;">"Need string"</mark>\ <mark style="color:yellow;">bString</mark> = Configuration name. <mark style="color:orange;">"Need string"</mark>\ <mark style="color:yellow;">cString</mark> = Configuration value. <mark style="color:orange;">"Need string"</mark>\ <mark style="color:yellow;">dString</mark> = Configuration file path. <mark style="color:orange;">"Need string"</mark>

***

<mark style="color:yellow;">**EffectAdd(aIndex, aValue, bValue, cValue, dValue, eValue, fValue, gValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Effect mode. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">bValue</mark> = Effect index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">cValue</mark> = Effect duration, in seconds. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">dValue</mark> = Effect value 1. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">eValue</mark> = Effect value 2. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">fValue</mark> = Effect value 3. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">gValue</mark> = Effect value 4. <mark style="color:orange;">"Need integer number"</mark>\
\
Add to the object the chosen effect.

***

<mark style="color:yellow;">**EffectDel(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Effect index. <mark style="color:orange;">"Need integer number"</mark>\
\
Remove from the object the chosen effect.

***

<mark style="color:yellow;">**EffectCheck(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Effect index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return (1) if the object have the chosen effect, (0) if not.

***

<mark style="color:yellow;">**EffectClear(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Object index. <mark style="color:orange;">"Need integer number"</mark>\
\
Remove from the object all effects.

***

<mark style="color:yellow;">**FireworksSend(aIndex, aValue, bValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index.  <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Position X. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">bValue</mark> = Position Y. <mark style="color:orange;">"Need integer number"</mark>\
\ <mark style="color:red;">"aValue is 0 to 255"</mark>\ <mark style="color:red;">"bValue is 0 to 255"</mark>\
\
Send fireworks effect to the chosen position.

***

<mark style="color:yellow;">**InventoryGetWearSize()**</mark>\
\
Return wear inventory max slot.

***

<mark style="color:yellow;">**InventoryGetMainSize()**</mark>\
\
Return main inventory max slot.

***

<mark style="color:yellow;">**InventoryGetFullSize()**</mark>\
\
Return full inventory max slot.

***

<mark style="color:yellow;">**InventoryGetItemTable(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Slot number. <mark style="color:orange;">"Need integer number"</mark>\
\
Return the item attribute table from the chosen inventory slot. Table elements: Serial, Index, Level, Durability, Option1, Option2, Option3, NewOption, SetOption, JoHOption, 380Option, SocketOption1, SocketOption2, SocketOption3, SocketOption4, SocketOption5, SocketOptionBonus, PeriodicTime, PeriodicTimeConvert, PeriodicTimeRemain, PeriodicTimeRemainConvert.

***

<mark style="color:yellow;">**InventoryGetItemIndex(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Slot number. <mark style="color:orange;">"Need integer number"</mark>\
\
Return the item index from the chosen inventory slot.

***

<mark style="color:yellow;">**InventoryGetItemCount(aIndex, aValue, bValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Item index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">bValue</mark> = Item level (-1 any level). <mark style="color:orange;">"Need integer number"</mark>\
\
Return the amount of the chosen item in the user inventory.

***

<mark style="color:yellow;">**InventoryDelItemIndex(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Slot number. <mark style="color:orange;">"Need integer number"</mark>\
\
Remove the item from the chosen inventory slot.

***

<mark style="color:yellow;">**InventoryDelItemCount(aIndex, aValue, bValue, cValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Item index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">bValue</mark> = Item level (-1 any level). <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">cValue</mark> = Item Amount. <mark style="color:orange;">"Need integer number"</mark>\
\
Remove from the user inventory the chosen item.

***

<mark style="color:yellow;">**InventoryGetFreeSlotCount(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return the amount of free slots in the user inventory.

***

<mark style="color:yellow;">**InventoryCheckSpaceByItem(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Item index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return (1) if the item fits in the user inventory, (0) if not.

***

<mark style="color:yellow;">**InventoryCheckSpaceBySize(aIndex, aValue, bValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Item Width. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">bValue</mark> = Item Height. <mark style="color:orange;">"Need integer number"</mark>\
\
Return (1) if the item fits in the user inventory, (0) if not.

***

<mark style="color:yellow;">**ItemDrop(aIndex, aValue, bValue, cValue, dValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Map number. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">bValue</mark> = Map position X. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">cValue</mark> = Map position Y. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">dValue</mark> = EventItemBag SpecialValue. <mark style="color:orange;">"Need integer number"</mark>\
\
Drop at the chosen position an item from an EventItemBag.

***

<mark style="color:yellow;">**ItemDropEx(aIndex, aValue, bValue, cValue, dValue, eValue, fValue, gValue, hValue, iValue, jValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Map number. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">bValue</mark> = Map position X. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">cValue</mark> = Map position Y. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">dValue</mark> = Item index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">eValue</mark> = Item level. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">fValue</mark> = Item Durability. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">gValue</mark> = Item Option1. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">hValue</mark> = Item Option2. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">iValue</mark> = Item Option3. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">jValue</mark> = Item NewOption. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">kValue</mark> = Item SetOption (OPTIONAL). <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">lValue</mark> = Item JoHOption (OPTIONAL). <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">mValue</mark> = Item 380Option (OPTIONAL). <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">nValue</mark> = Item SocketOption1 (OPTIONAL). <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">oValue</mark> = Item SocketOption2 (OPTIONAL). <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">pValue</mark> = Item SocketOption3 (OPTIONAL). <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">qValue</mark> = Item SocketOption4 (OPTIONAL). <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">rValue</mark> = Item SocketOption5 (OPTIONAL). <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">sValue</mark> = Item SocketOptionBonus (OPTIONAL). <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">tValue</mark> = Item Duration (OPTIONAL). <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">uValue</mark> = Item owner index (OPTIONAL). <mark style="color:orange;">"Need integer number"</mark>\
\
Drop at the chosen position the chosen item.

***

<mark style="color:yellow;">**ItemGive(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = EventItemBag SpecialValue. <mark style="color:orange;">"Need integer number"</mark>\
\
Insert to the user inventory an item from an EventItemBag.

***

<mark style="color:yellow;">**ItemGiveEx(aIndex, aValue, bValue, cValue, dValue, eValue, fValue, gValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Item index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">bValue</mark> = Item level. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">cValue</mark> = Item durability. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">dValue</mark> = Item Option1. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">eValue</mark> = Item Option2. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">fValue</mark> = Item Option3. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">gValue</mark> = Item NewOption. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">hValue</mark> = Item SetOption (OPTIONAL). <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">iValue</mark> = Item JoHOption (OPTIONAL). <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">jValue</mark> = Item 380Option (OPTIONAL). <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">kValue</mark> = Item SocketOption1 (OPTIONAL). <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">lValue</mark> = Item SocketOption2 (OPTIONAL). <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">mValue</mark> = Item SocketOption3 (OPTIONAL). <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">nValue</mark> = Item SocketOption4 (OPTIONAL). <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">oValue</mark> = Item SocketOption5 (OPTIONAL). <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">pValue</mark> = Item SocketOptionBonus (OPTIONAL). <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">qValue</mark> = Item Duration (OPTIONAL). <mark style="color:orange;">"Need integer number"</mark>\
\
Insert to the user inventory the chosen item.

***

<mark style="color:yellow;">**LevelUpSend(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\
\
Update the user level at the client.

***

<mark style="color:yellow;">**LogPrint(aString)**</mark>\
\ <mark style="color:yellow;">aString</mark> = Text. <mark style="color:orange;">"Need string"</mark>\
\ <mark style="color:red;">"aString max size is 1024"</mark>\
\
Insert to the log the chosen text.

***

<mark style="color:yellow;">**LogColor(aValue, aString)**</mark>\
\ <mark style="color:yellow;">aValue</mark> = Color <mark style="color:yellow;">(</mark>0 - Black <mark style="color:yellow;">|</mark> 1 - Red <mark style="color:yellow;">|</mark> 2 - Green <mark style="color:yellow;">|</mark> 3 - Blue <mark style="color:yellow;">|</mark> 4 - Pink <mark style="color:yellow;">|</mark> 5 - Light Blue <mark style="color:yellow;">|</mark> 6 - Dark Red<mark style="color:yellow;">)</mark>. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aString</mark> = Text. <mark style="color:orange;">"Need string"</mark>\
\ <mark style="color:red;">"aString max size is 1024"</mark>\
\
Insert to the GameServer window log the chosen text.

***

<mark style="color:yellow;">**MapCheckAttr(aValue, bValue, cValue, dValue)**</mark>\
\ <mark style="color:yellow;">aValue</mark> = Map number. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">bValue</mark> = Map position X. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">cValue</mark> = Map position Y. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">dValue</mark> = Terrain attribute (1 - Safe Zone <mark style="color:yellow;">|</mark> 2 - Stand <mark style="color:yellow;">|</mark> 4 - Invalid <mark style="color:yellow;">|</mark> 8 - Invalid <mark style="color:yellow;">|</mark> 16 - Invalid). <mark style="color:orange;">"Need integer number"</mark>\
\ <mark style="color:red;">"aValue is 0 to 110"</mark>\
"bValue is 0 to 255"\
"bValue is 0 to 255"\
\
Return (1) if the chosen position has the attribute, (0) if not.

***

<mark style="color:yellow;">**MapGetItemTable(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Slot number. <mark style="color:orange;">"Need integer number"</mark>\
\
Return the item attribute table from the chosen map slot. Table elements: Serial, Index, Level, Durability, Option1, Option2, Option3, NewOption, SetOption, JoHOption, 380Option, SocketOption1, SocketOption2, SocketOption3, SocketOption4, SocketOption5, SocketOptionBonus.

***

<mark style="color:yellow;">**MasterLevelUpSend(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\
\
Update the user master level at the client.

***

<mark style="color:yellow;">**MasterSkillTreeRebuild(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index.  <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Group number (0=All /1\~3=Columns). <mark style="color:orange;">"Need integer number"</mark>\
\
Reset the chosen master skill tree group.

***

<mark style="color:yellow;">**MessageGet(aValue, bValue)**</mark>\
\ <mark style="color:yellow;">aValue</mark> = Message index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">bValue</mark> = Language. <mark style="color:orange;">"Need integer number"</mark>\
\
Return the chosen message from "Message.txt".

***

<mark style="color:yellow;">**MoneySend(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Zen amount. <mark style="color:orange;">"Need integer number"</mark>\
\ <mark style="color:red;">"aValue max is 2000000000"</mark>\
\
Update the user zen at the client.

***

<mark style="color:yellow;">**MonsterCreate(aValue, bValue, cValue, dValue, eValue, fValue)**</mark>\
\ <mark style="color:yellow;">aValue</mark> = Monster number. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">bValue</mark> = Map number. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">cValue</mark> = Map position X. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">dValue</mark> = Map position Y. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">eValue</mark> = Turn direction.<mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">fValue</mark> = Range the monster will walk. <mark style="color:green;">"Neither a value or 0 for NPC."</mark> <mark style="color:orange;">"Need integer number"</mark>\
\ <mark style="color:red;">"bValue is 0 to 110"</mark>\ <mark style="color:red;">"cValue is 0 to 255"</mark>\ <mark style="color:red;">"dValue is 0 to 255"</mark>\ <mark style="color:red;">"eValue is 1 to 8"</mark>\ <mark style="color:red;">"If the monster appears in the wrong potion, it will return 0."</mark>\
\
Put a monster at the chosen position.

***

<mark style="color:yellow;">**MonsterDelete(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = Monster index. <mark style="color:orange;">"Need integer number"</mark>\
\
Remove the chosen monster.

***

<mark style="color:yellow;">**MonsterSummonCreate(aIndex, aValue, bValue, cValue, dValue, eValue, fValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Monster number. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">bValue</mark> = Extra life rate. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">cValue</mark> = Extra defense rate. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">dValue</mark> = Extra defense success rate. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">eValue</mark> = Extra damage rate. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">fValue</mark> = Extra damage success rate. <mark style="color:orange;">"Need integer number"</mark>\
\
Add the chosen summon monster to the user.

***

<mark style="color:yellow;">**MonsterSummonDelete(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\
\
Remove the monster summon from the user.

***

<mark style="color:yellow;">**MoveUser(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Gate number. <mark style="color:orange;">"Need integer number"</mark>\
\
Move the user to the chosen gate.

***

<mark style="color:yellow;">**MoveUserEx(aIndex, aValue, bValue, cValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Map number. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">bValue</mark> = Map position X. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">cValue</mark> = Map position Y. <mark style="color:orange;">"Need integer number"</mark>\
\ <mark style="color:red;">"aValue is 0 to 110"</mark>\ <mark style="color:red;">"bValue is 0 to 255"</mark>\ <mark style="color:red;">"cValue is 0 to 255"</mark>\
\
Move the user to the chosen position.

***

<mark style="color:yellow;">**MessageSend(aIndex, aValue, bValue, aString)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Type (0 - Text Box <mark style="color:yellow;">|</mark> 1 - Chat Text). <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">bValue</mark> = Message color (1 - Common <mark style="color:yellow;">|</mark> 2 - Whisper <mark style="color:yellow;">|</mark> 3 - System <mark style="color:yellow;">|</mark> 4 - Error <mark style="color:yellow;">|</mark> 5 - Party <mark style="color:yellow;">|</mark> 6 - Guild <mark style="color:yellow;">|</mark> 7 - Warning <mark style="color:yellow;">|</mark> 8 - GameMaster <mark style="color:yellow;">|</mark> 9 - Gens).  <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aString</mark> = Message. <mark style="color:orange;">"Need string"</mark>\
\ <mark style="color:red;">"aString max size is 128"</mark>\
\
Send a message to the user.

***

<mark style="color:yellow;">**MessageSendToAll(aValue, bValue, aString)**</mark>\
\ <mark style="color:yellow;">aValue</mark> = Type. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">bValue</mark> = Message color (0=Chat/1=Whisper/2=Error/3=Party/4=Guild/5=Union/6=GameMaster). <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aString</mark> = Message. <mark style="color:orange;">"Need string"</mark>\
\ <mark style="color:red;">"aString max size is 128"</mark>\
\
Send a message to the user.

***

<mark style="color:yellow;">**NoticeSend(aIndex, aValue, aString)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Message type (0=Global/1=System). <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aString</mark> = Message. <mark style="color:orange;">"Need string"</mark>\
\ <mark style="color:red;">"aString max size is 255"</mark>\
\
Send a notice to the user.

***

<mark style="color:yellow;">**NoticeSendToAll(aValue, aString)**</mark>\
\ <mark style="color:yellow;">aValue</mark> = Message type (0=Global/1=System). <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aString</mark> = Message. <mark style="color:orange;">"Need string"</mark>\
\ <mark style="color:red;">"aString max size is 255"</mark>\
\
Send a notice to all users in the room.

***

<mark style="color:yellow;">**NoticeGlobalSend(aValue, aString)**</mark>\
\ <mark style="color:yellow;">aValue</mark> = Message type (0=Global/1=System). <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aString</mark> = Message. <mark style="color:orange;">"Need string"</mark>\
\ <mark style="color:red;">"aString max size is 127"</mark>\
\
Send a notice to all users in all rooms.

***

<mark style="color:yellow;">**PartyGetMemberCount(aValue)**</mark>\
\ <mark style="color:yellow;">aValue</mark> = Party index. <mark style="color:orange;">"Need integer number"</mark>\
\
Return the amount of users in the party.

***

<mark style="color:yellow;">**PartyGetMemberIndex(aValue, bValue)**</mark>\
\ <mark style="color:yellow;">aValue</mark> = Party index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">bValue</mark> = Member slot. <mark style="color:orange;">"Need integer number"</mark>\
\
Return the index of the user at the chosen slot.

***

<mark style="color:yellow;">**ObjectGetCoin(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\
\
Returns Coin1 (WCoinC), Coin2 (WCoinP), Coin3 (GoblinPoint), Coin4 (Ruud).

***

<mark style="color:yellow;">**ObjectAddCoin(aIndex, aValue, bValue, cValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Coin1 add amount. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">bValue</mark> = Coin2 add amount. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">cValue</mark> = Coin3 add amount. <mark style="color:orange;">"Need integer number"</mark>\
\
Adds Coin to the user. Info: Coin1 (WCoinC), Coin2 (WCoinP), Coin3 (GoblinPoint).

***

<mark style="color:yellow;">**ObjectSubCoin(aIndex, aValue, bValue, cValue, dValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Coin1 sub amount. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">bValue</mark> = Coin2 sub amount. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">cValue</mark> = Coin3 sub amount. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">dValue</mark> = Coin3 sub amount. <mark style="color:orange;">"Need integer number"</mark>\
\
Subs Coin from the user. Info: Coin1 (WCoinC), Coin2 (WCoinP), Coin3 (GoblinPoint), Coin4 (Ruud).

***

<mark style="color:yellow;">**PermissionCheck(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Permission number. <mark style="color:orange;">"Need integer number"</mark>\
\
Permission list: \
1 = Move Item. \
2 = Sell Item. \
3 = Buy Item. \
4 = Use Item. \
5 = Drop Item. \
6 = Pick Item. \
7 = Open Trade. \
8 = Open Personal Shop. \
9 = Use Chaos Machine. \
10 = Open Cash Shop / PCPoint. \
11 = Use Chat. \
12 = Move character. \
13\~49 = Empty for custom use.\
\
Return (1) if the user has the chosen permission, (0) if not.

***

<mark style="color:yellow;">**PermissionInsert(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Permission number. <mark style="color:orange;">"Need integer number"</mark>\
\
Insert chosen permission to the user.

***

<mark style="color:yellow;">**PermissionRemove(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Permission number. <mark style="color:orange;">"Need integer number"</mark>\
\
Remove chosen permission from the user.

***

<mark style="color:yellow;">**PKLevelSend(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = PK level. <mark style="color:orange;">"Need integer number"</mark>\
\
Update the PK level at the client.

***

<mark style="color:yellow;">**PostSend(aValue, bValue, aString, bString)**</mark>\
\ <mark style="color:yellow;">aValue</mark> = Post type. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">bValue</mark> = Message index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aString</mark> = User name. <mark style="color:orange;">"Need string"</mark>\ <mark style="color:yellow;">bString</mark> = Message. <mark style="color:orange;">"Need string"</mark>\
\ <mark style="color:red;">"aString max size is 10"</mark>\ <mark style="color:red;">"bString max size is 59"</mark>\
\
Send a message in post format.

***

<mark style="color:yellow;">**QuestStateCheck(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Quest number. <mark style="color:orange;">"Need integer number"</mark>\
\
Return (1) if the user has the chosen quest complete, (0) if not.

***

<mark style="color:yellow;">**RandomGetNumber(aValue)**</mark>\
\ <mark style="color:yellow;">aValue</mark> = Maximum number. <mark style="color:orange;">"Need integer number"</mark>\
\
Return a random value within the selected range.

***

<mark style="color:yellow;">**SkinChangeSend(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Monster number. <mark style="color:orange;">"Need integer number"</mark>\
\
Transform the user to the chosen monster.

***

<mark style="color:yellow;">**UserDisconnect(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\
\
Disconnect the user.

***

<mark style="color:yellow;">**UserGameLogout(aIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Logout type (0 - Close Game <mark style="color:yellow;">|</mark> 1 - Select Char <mark style="color:yellow;">|</mark> 2 - Select Server). <mark style="color:orange;">"Need integer number"</mark>\
\
Logout the user.

***

<mark style="color:yellow;">**UserCalcAttribute(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\
\
Update user attributes.

***

<mark style="color:yellow;">**UserInfoSend(aIndex)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\
\
Update user info at the client.

***

<mark style="color:yellow;">**UserActionSend(aIndex, bIndex, aValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">bIndex</mark> = Target user index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Action number. <mark style="color:orange;">"Need integer number"</mark>\
\
User performs the chosen action.

***

<mark style="color:yellow;">**UserSetAccountLevel(aIndex, aValue, bValue)**</mark>\
\ <mark style="color:yellow;">aIndex</mark> = User index. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">aValue</mark> = Account level. <mark style="color:orange;">"Need integer number"</mark>\ <mark style="color:yellow;">bValue</mark> = Account expire time, in seconds. <mark style="color:orange;">"Need integer number"</mark>\
\
Set user account level.

***

<mark style="color:yellow;">**SQLConnect(aString, bString, cString)**</mark>\
\ <mark style="color:yellow;">aString</mark> = ODBC name. <mark style="color:orange;">"Need string"</mark>\ <mark style="color:yellow;">bString</mark> = MSSQL user. <mark style="color:orange;">"Need string"</mark>\ <mark style="color:yellow;">cString</mark> = MSSQL password. <mark style="color:orange;">"Need string"</mark>\
\ <mark style="color:red;">"aString max size is 32"</mark>\ <mark style="color:red;">"bString max size is 32"</mark>\ <mark style="color:red;">"cString max size is 32"</mark>\
\
Connect to MSSQL database.

***

<mark style="color:yellow;">**SQLDisconnect()**</mark>\
\
Disconnect from MSSQL database.

***

<mark style="color:yellow;">**SQLCheck()**</mark>\
\
Return (1) if MSSQL is already connected, (0) if not.

***

<mark style="color:yellow;">**SQLQuery(aString)**</mark>\
\ <mark style="color:yellow;">aString</mark> = Query. <mark style="color:orange;">"Need string"</mark>\
\ <mark style="color:red;">"aString max size is 4096"</mark>\
\
Execute the query, return (0) if it fails.

***

<mark style="color:yellow;">**SQLClose()**</mark>\
\
Close the last query.

***

<mark style="color:yellow;">**SQLFetch()**</mark>\
\
Load the results of the last query, return (0) if it fails.

***

<mark style="color:yellow;">**SQLGetResult(aValue)**</mark>\
\ <mark style="color:yellow;">aValue</mark> = Result number. <mark style="color:orange;">"Need integer number"</mark>\
\
Return as number the chosen result.

***

<mark style="color:yellow;">**SQLGetNumber(aString)**</mark>\
\ <mark style="color:yellow;">aString</mark> = Column name. <mark style="color:orange;">"Need string"</mark>

<mark style="color:red;">"aString max size is 30"</mark>\
\
Return as number the chosen column.

***

<mark style="color:yellow;">**SQLGetSingle(aString)**</mark>\
\ <mark style="color:yellow;">aString</mark> = Column name. <mark style="color:orange;">"Need string"</mark>\
\ <mark style="color:red;">"aString max size is 30"</mark>\
\
Return as float the chosen column.

***

<mark style="color:yellow;">**SQLGetString(aString)**</mark>\
\ <mark style="color:yellow;">aString</mark> = Column name. <mark style="color:orange;">"Need string"</mark>\
\ <mark style="color:red;">"aString max size is 30"</mark>\
\
Return as string the chosen column.

***
