GXX引擎LUA脚本帮助

GXX引擎 Lua脚本接口 >
GXX引擎LUA脚本使用帮助

LUA脚本调用命令：

   RunLuaScript

说明：

   使用 RunLuaScript 命令执行指定的LUA脚本文件中的函数，如有参数，在命令最后追加。多个参数用空格分隔。

参数：

 | 描述
参数一 | LUA脚本文件相对路径。说明：此参数为相对路径，文件路径相对于X:\MirServer\Mir200\LuaEnvir\，如有多级目录，需给出此多级路径。
参数二 | LUA脚本文件中的函数名（注意大小写）
参数... | 脚本执行的参数。没有参数可不提供，如有多参数，参数间用空格分割。此参数最多支持八个。

使用示例：

范例一：
[@Login]
#ACT
RunLuaScript Market_Def\Test.lua Main 100 "字符串" true

范例二：
[@MAIN]
这是一个NPC点击触发LUA调用范例
<测试LUA/@测试LUA>\

[@测试LUA]
RunLuaScript Market_Def\Test.lua Main 100 "字符串" true

LUA脚本范例：
function Main(param1, param2, param3)
    print(param1) -- param1 = 100
    print(param2) -- param2 = "字符串"
    print(param3) -- param3 = true
end

范例说明:“RunLuaScript”是LUA脚本执行命令；
        “Market_Def\Test.lua”是 X:\MirServer\Mir200\LuaEnvir\ 目录下的脚本相对路径；
        “Main”是LUA脚本中的函数名；
        “100 "字符串" true”是三个参数。


GXX引擎LUA脚本的优势

GXX引擎 Lua脚本接口 >
GXX引擎LUA脚本的优势

优势：

1、有别于其它引擎的LUA系统需要对NPC配置进行excel改造，GXX引擎LUA系统支持原始设计模式，GM学习成本低。
2、GXX引擎LUA系统支持混合编写。原生脚本和LUA脚本可在同一个txt文件中实现混编，简单逻辑可使用原生脚本，复杂逻辑可使用LUA高效实现。且两种类型的脚本可实现变量互通。
3、GXX引擎LUA系统使用最新版本的LUA 5.4.4，处理效率较以往LUA版本提升了一个数量级(十倍)。
4、GXX引擎LUA系统可对提供的对象任意挂接变量，变量可根据实际需要决定是否存盘。对变量的类型和数量不做限制。

使用示例：
;TXT脚本部分
[@MAIN]
#ACT
OPENMERCHANTBIGDLG 62 1259 1 4 0 0 1 427 7 1
#SAY
\ \
     {狂暴系统：/SCOLOR=21}\
     {开启狂暴后，人物打怪伤害+50%，爆率+50%/SCOLOR=21}\
     {被玩家杀死后，属性消失，杀人者获得30跨服币/SCOLOR=21}\
     {被怪物杀死不受影响，开启狂暴需要：60跨服币/SCOLOR=21}\
                 你当前跨服币为：<$GAMEGIRD>\  \  \
     <开启狂暴/@main_1>

[@main_1]
;使用LUA脚本交互完成以下功能
#ACT
RUNLUASCRIPT LuaTestVar.lua TestDemo

--LUA脚本部分 LuaTestVar.lua
--gSyStem、gNPC、gObject、gPlayer 是参与此脚本执行的四个当前全局对象
--引用LUA函数库
require "string"
require "io"

--LUA脚本部分
function TestDemo()
    --读取狂暴变量
    gPlayer:LoadVariables({ 'Berserker' })
    --如果玩家身上灵符大于59则执行以下操作
    if gPlayer.GameGird > 59 and not gPlayer.Berserker then
        gPlayer.GameGird = gPlayer.GameGird - 60
        --改变狂暴状态
        gPlayer.Berserker = false
        --保存狂暴状态
        gPlayer:SaveVariables({ 'Berserker' })

        --开启狂暴后给予货币、装备、技能
        --增加金币50000到玩家包裹
        gPlayer:IncGold(50000)
        --通知客户端刷新金币
        gPlayer:SendGoldChanged()

        --按物品名称创建物品
        local tmpItem = gSystem:CreateItemByName("在线回收(临时)")
        --如果用户物品对象存在
        if tmpItem then
            --向指定人物加物品到背包
            if gPlayer:AddItemToBag(tmpItem) then
                --如果添加成功，则向客户端发送添加物品消息。
                gPlayer:SendAddItem(tmpItem)
            end
        end

        --负重量上限+200
        gPlayer.WAbility = { ['MaxWearWeight'] = gPlayer.WAbility.MaxWearWeight + 200 }

        --背包扩展页数+1
        gNPC:EXTBAGPAGECOUNT(gObject, gPlayer, '+', 1)
        --扩展背包已开启格数+24
        gNPC:EXTBAGOPENITEMCOUNT(gObject, gPlayer, '+', 24)
        gPlayer:SysMsg("你的大背包已经扩展成功！", 254, 255, 1)

        --打开文件
        local tmpOpenFile = io.open(gSystem.M2Dir .. '\\Envir\\QuestDiary\\职业技能.txt', "r")
        assert(tmpOpenFile, "read file is nil")
        for tmpLine in tmpOpenFile:lines() do
            --按技能名称创建技能
            local tmpMagic = gSystem:CreateMagicByName(gPlayer, tmpLine)
            --用户技能对象存在
            if tmpMagic then
                tmpMagic.Level = 3
                --添加技能对象,成功返回创建技能索引，失败则返回-1
                if gPlayer:AddMagic(tmpMagic) >= 0 then
                    gPlayer:SendAddMagic(tmpMagic)
                else
                    gPlayer:Free(tmpMagic)
                end
            end
        end
        io.close(tmpOpenFile)

        gSystem:SendTopBroadCastMsg('狂暴系统开启，被玩家杀死后，属性消失，被怪物杀死不受影响',
            249, 116, 10, 2, 1)
        gSystem:SendCenterMsg(string.format('恭喜玩家【%s】开启狂暴！', gPlayer.Name), 249,
            0, 10)
    else
        gSystem:SendTopBroadCastMsg('你的跨服币不足或已经开启狂暴。', 253, 116, 10, 2, 1)
    end
end

LUA常用库：
1.string：字符串处理库，提供了字符串的一些基本操作，比如查找、替换、格式化等。
2.table：表处理库，提供了一些表的操作函数，比如插入、删除、排序、合并等。
3.math：数学库，提供了一些常用的数学函数，比如三角函数、指数函数、对数函数等。
4.io：I/O库，提供了对文件和流的读写操作。
5.os：操作系统库，提供了一些与操作系统相关的函数，比如获取当前时间、创建删除文件等。
6.debug：调试库，提供了一些用于调试的函数，比如获取函数调用栈信息、设置断点等。
7.package: 模块管理库，提供了模块加载、模块路径配置等功能。

除了以上的标准库，还有一些扩展库，它们不是默认加载的，需要通过调用require函数来加载，比如socket库用于网络编程、lfs库用于文件系统操作等。
需要注意的是，标准库的函数都是以全局函数的形式存在的，可以直接调用，比如string.sub、table.sort等。如果要自定义函数，建议使用局部函数的形
式定义，以避免污染全局命名空间。


LUA脚本UI控件类

GXX引擎 Lua脚本接口 >
LUA脚本UI控件类

UI控件类介绍：

  GUI页面打开 M2 - 选项 - 功能设置 - LUA脚本

  LUA创建UI效果图：

UI控件包含以下八个控件：
    TLuaPageControl：用于容纳其他控件的面板
    TLuaTabSheet：用于创建多个选项卡的选项卡控件
    TLuaLabel：用于显示文本信息的标签控件
    TLuaButton：用于触发事件或执行操作的按钮控件
    TLuaCheckBox：用于让用户选择一个或多个选项的复选框控件
    TLuaComBoBox：结合了文本框和下拉框的控件，用于选择列表项或输入自定义值
    TLuaEdit：允许用户输入文本的单行编辑框控件
    TLuaListBox：用于显示一组可选项并允许用户选择一个或多个选项的列表框控件

三种控件事件：
    OnClick：当用户单击控件时触发的事件。可以在此事件中执行任何操作，如显示消息框、执行计算等。
    OnDblClick：当用户双击控件时触发的事件。通常用于执行一些需要双击的操作，如打开一个新窗口或编辑控件的内容。
    OnChange：当控件的值发生改变时触发的事件。常用于响应用户在编辑框中输入或选择列表框中的选项。

以上控件可以通过每个控件特定的事件和属性创建自定义用户界面和交互功能。

   LUA脚本位置：
    Mir200\LuaEnvir\CreateUI.lua
   注意：此文件名称以及创建LUA_UI的函数名 function CreateUI() 都不能更改。

使用示例：

--gSystem、gUI 是参与此脚本执行的当前全局对象
require "string"

--创建LUA_UI
function CreateUI()
    --读取全局变量
    gSystem:LoadVariables({ 'GiveLevel' })

    --当前页面宽度
    print(string.format('页面宽度为：%d', gUI.ClientWidth))
    --当前页面高度
    print(string.format('页面高度为：%d', gUI.ClientHeight))

    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' or tmpSheets[key].Name == 'tsUserTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        --创建交互页面一
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建标签
            local tmpLbl = gUI:CreateLabel("lblTest", tmpSheet);
            if tmpLbl then
                tmpLbl.Caption = '测试标签:'
                tmpLbl.Color = 0XFF
                tmpLbl.Top = 56
                tmpLbl.Left = 45
            end

            --创建按钮
            local tmpBtn = gUI:CreateButton("btnTest", tmpSheet);
            if tmpBtn then
                tmpBtn.Caption = '测试按钮'
                print(string.format('按钮名字为：%s', tmpBtn.Name))
                tmpBtn.Hint = "这是一个提示"
                tmpBtn.Top = 50
                tmpBtn.Left = 100
                tmpBtn.ClickEventName = "DoBtnClick"
            end

            --创建复选框
            local tmpChk = gUI:CreateCheckBox("chkTest", tmpSheet);
            if tmpChk then
                tmpChk.Caption = '测试复选框'
                tmpChk.Hint = "这是一个提示"
                tmpChk.Top = 85
                tmpChk.Left = 100
                tmpChk.ClickEventName = "DoChkClick"
            end

            --创建组合框
            local tmpCmb = gUI:CreateComBoBox("cmbTest", tmpSheet);
            if tmpCmb then
                tmpCmb.Text = '测试下拉框'
                tmpCmb.Hint = "这是一个提示"
                tmpCmb.Top = 110
                tmpCmb.Left = 100
                tmpCmb.ItemIndex = 0
                tmpCmb.Style = 2
                tmpCmb.ClickEventName = "DoCmbClick"
                tmpCmb.ChangeEventName = "DoCmbChange"
                tmpCmb:AddItem("第三个项目", gUI)
                tmpCmb:AddItem("第四个项目", gUI)
                print(string.format("添加的Item索引是 %d", tmpCmb:Add("第一个项目")))
                print(string.format("添加的Item索引是 %d", tmpCmb:Add("第二个项目")))
            end

            --创建编辑栏
            local tmpEdt = gUI:CreateEdit("edtTest", tmpSheet);
            if tmpEdt then
                tmpEdt.Top = 140
                tmpEdt.Left = 100
                tmpEdt.Color = 0xff
                tmpEdt.Text = '测试编辑框'
                tmpEdt.ChangeEventName = "DoEdtChange"
            end

            --创建列表框
            local tmplst = gUI:CreateListBox("lstTest", tmpSheet);
            if tmplst then
                tmplst.Width = 100
                --alNone, alTop, alBottom, alLeft, alRight, alClient, alCustom
                tmplst.Align = 4
                tmplst.DblClickEventName = "DoLstDblClick"
                --向列表框中添加一个项目
                print(string.format("添加的Item索引是 %d", tmplst:Add("测试列表框一")))
                tmplst:Add("测试列表框二")
                --通过对象向列表框中添加一个项目
                tmplst:AddItem("测试列表框三", gUI)
                tmplst:AddItem("测试列表框四", gUI)
            end
        end
    else
        print("页面 tsTest 已存在.")
    end

    --新建交互页二
    local tmpUserSheet = gUI:AddNewSheet("tsUserTest", "UI界面展示")
    if tmpUserSheet then
        local tmpUserLbl = gUI:CreateLabel("lblUserTest", tmpUserSheet);
        if tmpUserLbl then
            tmpUserLbl.Caption = '修改升级等级为：'
            tmpUserLbl.Color = 0XFF
            tmpUserLbl.Top = 56
            tmpUserLbl.Left = 45
        end

        local tmpUserEdt = gUI:CreateEdit("edtUserTest", tmpUserSheet);
        if tmpUserEdt then
            tmpUserEdt.Top = 52
            tmpUserEdt.Left = tmpUserLbl.Left + tmpUserLbl.Width + 5
            tmpUserEdt.Color = 0xff
            tmpUserEdt.Text = gSystem.GiveLevel
        end

        local tmpUserBtn = gUI:CreateButton("btnUserTest", tmpUserSheet);
        if tmpUserBtn then
            tmpUserBtn.Caption = '点击修改'
            tmpUserBtn.Top = 50
            tmpUserBtn.Left = tmpUserEdt.Left + tmpUserEdt.Width + 5
            tmpUserBtn.ClickEventName = "DoBtnUserClick"
        end
    else
        print("页面 tsUserTest 已存在.")
    end
end

--事件触发

--按钮单击事件
function DoBtnUserClick(Sender)
    print(Sender.Name)
    local tmpCont = gUI:GetControlByName("edtUserTest")
    if tmpCont then
        --print(tmpCont.Text)
        gSystem.GiveLevel = tonumber(tmpCont.Text)
        gSystem:SetGlobalVarG(500, gSystem.GiveLevel)
        gSystem:SaveVariables({ 'GiveLevel' })
    end
end

--按钮单击事件
function DoBtnClick(Sender)
    print(Sender.Name)
    --根据控件名称获取多页控制组件对象
    local tmpCont = gUI:GetControlByName("lstTest")
    if tmpCont then
        --点击按钮时在组合框中添加一个项目
        tmpCont:AddItem("测试列表框五", Sender)
        tmpCont:Delete(0)
    end
end

--复选框单击事件
function DoChkClick(Sender)
    if Sender.Checked then
        print(Sender.Caption)
    else
        print("Checked = false")
    end
end

--组合框单击事件
function DoCmbClick(Sender)
    print(string.format("下拉框：%s 发生了点击", Sender.Name))
end

--组合框选择改变事件
function DoCmbChange(Sender)
    print(string.format("下拉框：%s 发生了改变", Sender.Name))
end

--编辑框改变事件
function DoEdtChange(Sender)
    print(string.format("编辑框：%s 发生了改变 %s", Sender.Name, Sender.Text))
end

--列表框双击事件
function DoLstDblClick(Sender)
    if Sender.ItemIndex >= 0 then
        Sender:Delete(Sender.ItemIndex)
    end
end


TLuaPageControl [多页控制组件类]

GXX引擎 Lua脚本接口 > TLuaPageControl [多页控制组件类] >
TLuaPageControl

TLuaPageControl介绍：

    TLuaPageControl为多页控制组件类，用于容纳其他控件的面板。


属性

GXX引擎 Lua脚本接口 > TLuaPageControl [多页控制组件] >
TLuaPageControl

多页控制组件类：

属性名称 | 描述 | 读写状态
ClientWidth | 页面宽度 | 只读
ClientHeight | 页面高度 | 只读


页面宽度

GXX引擎 Lua脚本接口 > TLuaPageControl [多页控制组件类] > 属性 >
页面宽度

属性名称：

    ClientWidth

说明：

    页面宽度

读写状态：

    只读

使用示例：

--创建LUA_UI
function CreateUI()
    --当前页面宽度
    print(string.format('页面宽度为：%d', gUI.ClientWidth))
    --当前页面高度
    print(string.format('页面高度为：%d', gUI.ClientHeight))


页面高度

GXX引擎 Lua脚本接口 > TLuaPageControl [多页控制组件类] > 属性 >
页面高度

属性名称：

    ClientHeight

说明：

    页面高度

读写状态：

    只读

使用示例：

--创建LUA_UI
function CreateUI()
    --当前页面宽度
    print(string.format('页面宽度为：%d', gUI.ClientWidth))
    --当前页面高度
    print(string.format('页面高度为：%d', gUI.ClientHeight))


方法

GXX引擎 Lua脚本接口 > TLuaPageControl [多页控制组件] >
TLuaPageControl

多页控制组件类：

方法名称 | 描述
GetControlByName | 根据控件名称获取控件对象
AddNewSheet | 新增交互页
GetSheetList | 获取交互页列表
CreateLabel | 创建标签
CreateButton | 创建按钮
CreateComBoBox | 创建复选框
CreateCheckBox | 创建组合框
CreateEdit | 创建编辑框
CreateListBox | 创建列表框


根据控件名称获取控件对象

GXX引擎 Lua脚本接口 > TLuaPageControl [多页控制组件类] > 方法 >
根据控件名称获取控件对象

声明：

   function GetControlByName()

说明：

   根据控件名称获取控件对象

参数：

 | 数据类型 | 描述
参数一 | string | 控件对象名称
返回值 | TObject | 返回控件对象

使用示例：

--按钮单击事件
function DoBtnClick(Sender)
    --根据控件名称获取控件对象
    local tmpCont = gUI:GetControlByName("btnTest")
    if tmpCont then
        print('当前对象存在')


新增交互页

GXX引擎 Lua脚本接口 > TLuaPageControl [多页控制组件类] > 方法 >
新增交互页

声明：

   function AddNewSheet()

说明：

   新增交互页

   注意事项：控件对象名称不能与其他控件对象名称相同。

参数：

 | 数据类型 | 描述
参数一 | string | 控件对象名称
参数二 | string | 页面标题
返回值 | TLuaTabSheet | 返回交互页对象或空

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            print("页面tsTest创建成功")
        else
            print("页面tsTest已存在")


获取交互页列表

GXX引擎 Lua脚本接口 > TLuaPageControl [多页控制组件类] > 方法 >
获取交互页列表

声明：

   function GetSheetList()

说明：

   获取交互页列表

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 | table | 返回交互页列表

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    --获取交互页列表
    local tmpSheets = gUI:GetSheetList();
    --遍历交互页列表
    for key in pairs(tmpSheets) do
        --输出交互页名称
        print(tmpSheets[key].Name)


创建标签

GXX引擎 Lua脚本接口 > TLuaPageControl [多页控制组件类] > 方法 >
创建标签

声明：

   function CreateLabel()

说明：

   创建标签

   注意事项：控件对象名称不能与其他控件对象名称相同。

参数：

 | 数据类型 | 描述
参数一 | string | 控件对象名称
参数二 | TWinControl | 父窗口对象
返回值 | TLuaLabel | 返回标签对象或空

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建标签
            local tmpLbl = gUI:CreateLabel("lblTest", tmpSheet);
            if tmpLbl then
                tmpLbl.Top = 56
                tmpLbl.Left = 45
                tmpLbl.Color = 0XFF
                tmpLbl.Caption = '测试标签:'
            end
        else
            print("页面tsTest已存在")


创建按钮

GXX引擎 Lua脚本接口 > TLuaPageControl [多页控制组件类] > 方法 >
创建按钮

声明：

   function CreateButton()

说明：

   创建按钮

   注意事项：控件对象名称不能与其他控件对象名称相同。

参数：

 | 数据类型 | 描述
参数一 | string | 控件对象名称
参数二 | TWinControl | 父窗口对象
返回值 | TLuaButton | 返回按钮对象或空

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建按钮
            local tmpBtn = gUI:CreateButton("btnTest", tmpSheet);
            if tmpBtn then
                tmpBtn.Top = 50
                tmpBtn.Left = 100
                tmpBtn.Caption = '测试按钮'
                tmpBtn.Hint = "这是一个提示"
                tmpBtn.ClickEventName = "DoBtnClick"
            end
        else
            print("页面tsTest已存在")


创建复选框

GXX引擎 Lua脚本接口 > TLuaPageControl [多页控制组件类] > 方法 >
创建复选框

声明：

   function CreateCheckBox()

说明：

   创建复选框

   注意事项：控件对象名称不能与其他控件对象名称相同。

参数：

 | 数据类型 | 描述
参数一 | string | 控件对象名称
参数二 | TWinControl | 父窗口对象
返回值 | TLuaCheckBox | 返回复选框对象或空

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建复选框
            local tmpChk = gUI:CreateCheckBox("chkTest", tmpSheet);
            if tmpChk then
                tmpChk.Top = 85
                tmpChk.Left = 100
                tmpChk.Caption = '测试复选框'
                tmpChk.ClickEventName = "DoChkClick"
            end
        else
            print("页面tsTest已存在")


创建组合框

GXX引擎 Lua脚本接口 > TLuaPageControl [多页控制组件类] > 方法 >
创建组合框

声明：

   function CreateComBoBox()

说明：

   创建组合框

   注意事项：控件对象名称不能与其他控件对象名称相同。

参数：

 | 数据类型 | 描述
参数一 | string | 控件对象名称
参数二 | TWinControl | 父窗口对象
返回值 | TLuaComBoBox | 返回组合框对象或空

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建组合框
            local tmpCmb = gUI:CreateComBoBox("cmbTest", tmpSheet);
            if tmpCmb then
                tmpCmb.Top = 110
                tmpCmb.Left = 100
                tmpCmb.Style = 2
                tmpCmb.Text = '测试下拉框'
                tmpCmb.ClickEventName = "DoCmbClick"
                tmpCmb.ChangeEventName = "DoCmbChange"

                print(string.format("添加的Item索引是 %d", tmpCmb:Add("One")))
                print(string.format("添加的Item索引是 %d", tmpCmb:Add("Two")))
            end
        else
            print("页面tsTest已存在")


创建编辑框

GXX引擎 Lua脚本接口 > TLuaPageControl [多页控制组件类] > 方法 >
创建编辑框

声明：

   function CreateEdit()

说明：

   创建编辑框

   注意事项：控件对象名称不能与其他控件对象名称相同。

参数：

 | 数据类型 | 描述
参数一 | string | 控件对象名称
参数二 | TWinControl | 父窗口对象
返回值 | TLuaEdit | 返回编辑框对象或空

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建编辑框
            local tmpEdt = gUI:CreateEdit("edtTest", tmpSheet);
            if tmpEdt then
                tmpEdt.Top = 140
                tmpEdt.Left = 100
                tmpEdt.Text = '测试编辑框'
                tmpEdt.ChangeEventName = "DoEdtChange"
            end
        else
            print("页面tsTest已存在")


创建列表框

GXX引擎 Lua脚本接口 > TLuaPageControl [多页控制组件类] > 方法 >
创建列表框

声明：

   function CreateListBox()

说明：

   创建列表框

   注意事项：控件对象名称不能与其他控件对象名称相同。

参数：

 | 数据类型 | 描述
参数一 | string | 控件对象名称
参数二 | TWinControl | 父窗口对象
返回值 | TLuaListBox | 返回列表框对象或空

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建列表框
            local tmplst = gUI:CreateListBox("lstTest", tmpSheet);
            if tmplst then
                tmplst.Width = 100
                --alNone, alTop, alBottom, alLeft, alRight, alClient, alCustom
                tmplst.Align = 4
                tmplst.DblClickEventName = "DoLstDblClick"
                tmplst:Add("测试列表框")
            end
        else
            print("页面tsTest已存在")


TLuaTabSheet [交互页类]

GXX引擎 Lua脚本接口 > TLuaTabSheet [交互页类] >
TLuaTabSheet

TLuaTabSheet介绍：

    TLuaTabSheet为交互页类，用于创建多个选项卡的选项卡控件。


属性

GXX引擎 Lua脚本接口 > TLuaTabSheet [交互页类] >
TLuaTabSheet

交互页类：

属性名称 | 描述 | 读写状态
Caption | 交互页标题 | 可读 可写
Name | 交互页名字 | 只读
Hint | 交互页提示 | 可读 可写


标题

GXX引擎 Lua脚本接口 > TLuaTabSheet [交互页类] > 属性 >
交互页标题

属性名称：

    Caption

说明：

    交互页标题

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --设置页面标题
            tmpSheet.Caption = '测试页面标题'

            --输出页面标题
            print(string.format('标题为：%s', tmpSheet.Caption))


名字

GXX引擎 Lua脚本接口 > TLuaTabSheet [交互页类] > 属性 >
交互页名字

属性名称：

    Name

说明：

    交互页名字

读写状态：

    只读

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --输出页面名字
            print(string.format('页面名字为：%s', tmpSheet.Name))


提示

GXX引擎 Lua脚本接口 > TLuaTabSheet [交互页类] > 属性 >
交互页提示

属性名称：

    Hint

说明：

    交互页提示

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --设置页面提示
            tmpSheet.Hint = '测试页面提示'

            --输出页面提示
            print(string.format('提示为：%s', tmpSheet.Hint))


TLuaLabel [标签类]

GXX引擎 Lua脚本接口 > TLuaLabel [标签类] >
TLuaLabel

TLuaLabel介绍：

    TLuaLabel为标签类，用于显示文本信息的标签控件。


属性

GXX引擎 Lua脚本接口 > TLuaLabel [标签类] >
TLuaLabel

标签类：

属性名称 | 描述 | 读写状态
Caption | 标签标题 | 可读 可写
Name | 标签名字 | 只读
Color | 标签颜色 | 可读 可写
Width | 标签宽度 | 可读 可写
Height | 标签高度 | 可读 可写
Top | 顶部边距 | 可读 可写
Left | 左部边距 | 可读 可写
Enabled | 是否可用 | 可读 可写
Visible | 是否可见 | 可读 可写


标题

GXX引擎 Lua脚本接口 > TLuaLabel [标签类] > 属性 >
标签标题

属性名称：

    Caption

说明：

    标签标题

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建标签
            local tmpLbl = gUI:CreateLabel("lblTest", tmpSheet);
            if tmpLbl then
                --设置标签标题
                tmpLbl.Caption = '测试标签:'

                --输出标签标题
                print(string.format('标签为：%s', tmpLbl.Caption))


名字

GXX引擎 Lua脚本接口 > TLuaButton [按钮类] > 属性 >
标签名字

属性名称：

    Name

说明：

    标签名字

读写状态：

    只读

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建标签
            local tmpLbl = gUI:CreateLabel("lblTest", tmpSheet);
            if tmpLbl then
                --输出标签名字
                print(string.format('标签名字为：%s', tmpLbl.Name))


颜色

GXX引擎 Lua脚本接口 > TLuaLabel [标签类] > 属性 >
标签颜色

属性名称：

    Color

说明：

    标签颜色(三原色)

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建标签
            local tmpLbl = gUI:CreateLabel("lblTest", tmpSheet);
            if tmpLbl then
                --设置标签颜色
                tmpLbl.Color = 0XFF

                --输出标签颜色
                print(string.format('颜色为：%d', tmpLbl.Color))


宽度

GXX引擎 Lua脚本接口 > TLuaLabel [标签类] > 属性 >
标签宽度

属性名称：

    Width

说明：

    标签宽度

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建标签
            local tmpLbl = gUI:CreateLabel("lblTest", tmpSheet);
            if tmpLbl then
                --设置标签宽度
                tmpLbl.Width = 49

                --输出标签宽度
                print(string.format('宽度为：%d', tmpLbl.Width))


高度

GXX引擎 Lua脚本接口 > TLuaLabel [标签类] > 属性 >
标签高度

属性名称：

    Height

说明：

    标签高度

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建标签
            local tmpLbl = gUI:CreateLabel("lblTest", tmpSheet);
            if tmpLbl then
                --设置标签高度
                tmpLbl.Height = 16

                --输出标签高度
                print(string.format('高度为：%d', tmpLbl.Height))


顶部边距

GXX引擎 Lua脚本接口 > TLuaLabel [标签类] > 属性 >
顶部边距

属性名称：

    Top

说明：

    顶部边距

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建标签
            local tmpLbl = gUI:CreateLabel("lblTest", tmpSheet);
            if tmpLbl then
                --设置顶部边距
                tmpLbl.Top = 56

                --输出顶部边距
                print(string.format('顶部边距为：%d', tmpLbl.Top))


左部边距

GXX引擎 Lua脚本接口 > TLuaLabel [标签类] > 属性 >
左部边距

属性名称：

    Left

说明：

    左部边距

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建标签
            local tmpLbl = gUI:CreateLabel("lblTest", tmpSheet);
            if tmpLbl then
                --设置左部边距
                tmpLbl.Left = 45

                --输出左部边距
                print(string.format('左部边距为：%d', tmpLbl.Left))


是否可用

GXX引擎 Lua脚本接口 > TLuaLabel [标签类] > 属性 >
是否可用

属性名称：

    Enabled

说明：

    是否可用

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建标签
            local tmpLbl = gUI:CreateLabel("lblTest", tmpSheet);
            if tmpLbl then
                --设置是否可用
                tmpLbl.Enabled = true

                --输出是否可用
                print(string.format('是否可用为：%s', tmpLbl.Enabled))


是否可见

GXX引擎 Lua脚本接口 > TLuaLabel [标签类] > 属性 >
是否可见

属性名称：

    Visible

说明：

    是否可见

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建标签
            local tmpLbl = gUI:CreateLabel("lblTest", tmpSheet);
            if tmpLbl then
                --设置是否可见
                tmpLbl.Visible = true

                --输出是否可见
                print(string.format('是否可见为：%s', tmpLbl.Visible))


TLuaButton [按钮类]

GXX引擎 Lua脚本接口 >  TLuaButton [按钮类] >
TLuaButton

TLuaButton介绍：

    TLuaButton为按钮类，用于触发事件或执行操作的按钮控件。


属性

GXX引擎 Lua脚本接口 > TLuaButton [按钮类] >
TLuaButton

按钮类：

属性名称 | 描述 | 读写状态
Caption | 按钮标题 | 可读 可写
Name | 按钮名字 | 只读
Hint | 按钮提示 | 可读 可写
Width | 按钮宽度 | 可读 可写
Height | 按钮高度 | 可读 可写
Top | 顶部边距 | 可读 可写
Left | 左部边距 | 可读 可写
Align | 对齐方式 | 可读 可写
Enabled | 是否可用 | 可读 可写
Visible | 是否可见 | 可读 可写
ClickEventName | 单击事件名称 | 可读 可写


标题

GXX引擎 Lua脚本接口 > TLuaButton [按钮类] > 属性 >
按钮标题

属性名称：

    Caption

说明：

    按钮标题

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建按钮
            local tmpBtn = gUI:CreateButton("btnTest", tmpSheet);
            if tmpBtn then
                --设置按钮标题
                tmpBtn.Caption = '测试按钮'

                --输出按钮标题
                print(string.format('按钮标题为：%s', tmpBtn.Caption))


名字

GXX引擎 Lua脚本接口 > TLuaButton [按钮类] > 属性 >
按钮名字

属性名称：

    Name

说明：

    按钮名字

读写状态：

    只读

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建按钮
            local tmpBtn = gUI:CreateButton("btnTest", tmpSheet);
            if tmpBtn then
                --输出按钮名字
                print(string.format('按钮名字为：%s', tmpBtn.Name))


提示

GXX引擎 Lua脚本接口 > TLuaButton [按钮类] > 属性 >
按钮提示

属性名称：

    Hint

说明：

    按钮提示

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建按钮
            local tmpBtn = gUI:CreateButton("btnTest", tmpSheet);
            if tmpBtn then
                --设置按钮提示
                tmpBtn.Hint = "这是一个提示"

                --输出按钮提示
                print(string.format('按钮提示为：%s', tmpBtn.Hint))


宽度

GXX引擎 Lua脚本接口 > TLuaButton [按钮类] > 属性 >
按钮宽度

属性名称：

    Width

说明：

    按钮宽度

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建按钮
            local tmpBtn = gUI:CreateButton("btnTest", tmpSheet);
            if tmpBtn then
                --设置按钮宽度
                tmpBtn.Width = 72

                --输出按钮宽度
                print(string.format('按钮宽度为：%d', tmpBtn.Width))


高度

GXX引擎 Lua脚本接口 > TLuaButton [按钮类] > 属性 >
按钮高度

属性名称：

    Height

说明：

    按钮高度

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建按钮
            local tmpBtn = gUI:CreateButton("btnTest", tmpSheet);
            if tmpBtn then
                --设置按钮高度
                tmpBtn.Height = 24

                --输出按钮高度
                print(string.format('按钮高度为：%d', tmpBtn.Height))


顶部边距

GXX引擎 Lua脚本接口 > TLuaButton [按钮类] > 属性 >
顶部边距

属性名称：

    Top

说明：

    顶部边距

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建按钮
            local tmpBtn = gUI:CreateButton("btnTest", tmpSheet);
            if tmpBtn then
                --设置顶部边距
                tmpBtn.Top = 50

                --输出顶部边距
                print(string.format('顶部边距为：%d', tmpBtn.Top))


左部边距

GXX引擎 Lua脚本接口 > TLuaButton [按钮类] > 属性 >
左部边距

属性名称：

    Left

说明：

    左部边距

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建按钮
            local tmpBtn = gUI:CreateButton("btnTest", tmpSheet);
            if tmpBtn then
                --设置左部边距
                tmpBtn.Left = 100

                --输出顶部边距
                print(string.format('左部边距为：%d', tmpBtn.Left))


对齐方式

GXX引擎 Lua脚本接口 > TLuaButton [按钮类] > 属性 >
对齐方式

属性名称：

    Align

说明：

    对齐方式

读写状态：

    可读 可写

对齐方式：
对齐方式 | 描述
0 | 控件不进行任何对齐，它将根据其Left和Top属性确定其在父容器中的位置。
1 | 控件将被置于父容器的顶部，并且会随着父容器的大小调整而保持在顶部位置。
2 | 控件将被置于父容器的底部，并且会随着父容器的大小调整而保持在底部位置。
3 | 控件将被置于父容器的左侧，并且会随着父容器的大小调整而保持在左侧位置。
4 | 控件将被置于父容器的右侧，并且会随着父容器的大小调整而保持在右侧位置。
5 | 控件将占据整个父容器的客户区，并且会随着父容器的大小调整而自动调整自身的大小。
6 | 控件的对齐方式由开发人员自定义，可以通过编写代码来指定控件在父容器中的位置。

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建按钮
            local tmpBtn = gUI:CreateButton("btnTest", tmpSheet);
            if tmpBtn then
                --设置对齐方式
                tmpBtn.Align = 0

                --输出对齐方式
                print(string.format('对齐方式为：%d', tmpBtn.Align))


是否可用

GXX引擎 Lua脚本接口 > TLuaButton [按钮类] > 属性 >
是否可用

属性名称：

    Enabled

说明：

    是否可用

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建按钮
            local tmpBtn = gUI:CreateButton("btnTest", tmpSheet);
            if tmpBtn then
                --设置是否可用
                tmpBtn.Enabled = true

                --输出是否可用
                print(string.format('是否可用为：%s', tmpBtn.Enabled))


是否可见

GXX引擎 Lua脚本接口 > TLuaButton [按钮类] > 属性 >
是否可见

属性名称：

    Visible

说明：

    是否可见

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建按钮
            local tmpBtn = gUI:CreateButton("btnTest", tmpSheet);
            if tmpBtn then
                --设置是否可见
                tmpBtn.Visible = true

                --输出是否可见
                print(string.format('是否可见为：%s', tmpBtn.Visible))


单击事件名称

GXX引擎 Lua脚本接口 > TLuaButton [按钮类] > 属性 >
单击事件名称

属性名称：

    ClickEventName

说明：

    单击事件名称

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建按钮
            local tmpBtn = gUI:CreateButton("btnTest", tmpSheet);
            if tmpBtn then
                --设置单击事件名称
                tmpBtn.ClickEventName = "DoBtnClick"

                --输出单击事件名称
                print(string.format('单击事件名称为：%s', tmpBtn.ClickEventName))


TLuaCheckBox [复选框类]

GXX引擎 Lua脚本接口 > TLuaCheckBox [复选框类] >
TLuaCheckBox

TLuaCheckBox介绍：

    TLuaCheckBox为复选框类，用于让用户选择一个或多个选项的复选框控件。


属性

GXX引擎 Lua脚本接口 > TLuaCheckBox [复选框类] >
TLuaCheckBox

复选框类：

属性名称 | 描述 | 读写状态
Caption | 复选框标题 | 可读 可写
Name | 复选框名字 | 只读
Hint | 复选框提示 | 可读 可写
Width | 复选框宽度 | 可读 可写
Height | 复选框高度 | 可读 可写
Top | 顶部边距 | 可读 可写
Left | 左部边距 | 可读 可写
Align | 对齐方式 | 可读 可写
Enabled | 是否可用 | 可读 可写
Visible | 是否可见 | 可读 可写
Checked | 是否被选中 | 可读 可写
ClickEventName | 单击事件名称 | 可读 可写


标题

GXX引擎 Lua脚本接口 > TLuaCheckBox [复选框类] > 属性 >
复选框标题

属性名称：

    Caption

说明：

    复选框标题

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建复选框
            local tmpChk = gUI:CreateCheckBox("chkTest", tmpSheet);
            if tmpChk then
                --设置复选框标题
                tmpChk.Caption = '测试复选框'

                --输出复选框标题
                print(string.format('复选框标题为：%s', tmpChk.Caption))


名字

GXX引擎 Lua脚本接口 > TLuaCheckBox [复选框类] > 属性 >
复选框名字

属性名称：

    Name

说明：

    复选框名字

读写状态：

    只读

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建复选框
            local tmpChk = gUI:CreateCheckBox("chkTest", tmpSheet);
            if tmpChk then
                --输出复选框名字
                print(string.format('复选框名字为：%s', tmpChk.Name))


提示

GXX引擎 Lua脚本接口 > TLuaCheckBox [复选框类] > 属性 >
复选框提示

属性名称：

    Hint

说明：

    复选框提示

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建复选框
            local tmpChk = gUI:CreateCheckBox("chkTest", tmpSheet);
            if tmpChk then
                --设置复选框提示
                tmpChk.Hint = "这是一个提示"

                --输出复选框提示
                print(string.format('复选框提示为：%s', tmpChk.Hint))


宽度

GXX引擎 Lua脚本接口 > TLuaCheckBox [复选框类] > 属性 >
复选框宽度

属性名称：

    Width

说明：

    复选框宽度

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建复选框
            local tmpChk = gUI:CreateCheckBox("chkTest", tmpSheet);
            if tmpChk then
                --设置复选框宽度
                tmpChk.Width = 80

                --输出复选框宽度
                print(string.format('复选框宽度为：%d', tmpChk.Width))


高度

GXX引擎 Lua脚本接口 > TLuaCheckBox [复选框类] > 属性 >
复选框高度

属性名称：

    Height

说明：

    复选框高度

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建复选框
            local tmpChk = gUI:CreateCheckBox("chkTest", tmpSheet);
            if tmpChk then
                --设置复选框高度
                tmpChk.Height = 18

                --输出复选框高度
                print(string.format('复选框高度为：%d', tmpChk.Height))


顶部边距

GXX引擎 Lua脚本接口 > TLuaCheckBox [复选框类] > 属性 >
顶部边距

属性名称：

    Top

说明：

    顶部边距

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建复选框
            local tmpChk = gUI:CreateCheckBox("chkTest", tmpSheet);
            if tmpChk then
                --设置顶部边距
                tmpChk.Top = 85

                --输出顶部边距
                print(string.format('顶部边距为：%d', tmpChk.Top))


左部边距

GXX引擎 Lua脚本接口 > TLuaCheckBox [复选框类] > 属性 >
左部边距

属性名称：

    Left

说明：

    左部边距

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建复选框
            local tmpChk = gUI:CreateCheckBox("chkTest", tmpSheet);
            if tmpChk then
                --设置左部边距
                tmpChk.Left = 100

                --输出左部边距
                print(string.format('左部边距为：%d', tmpChk.Left))


对齐方式

GXX引擎 Lua脚本接口 > TLuaCheckBox [复选框类] > 属性 >
对齐方式

属性名称：

    Align

说明：

    对齐方式

读写状态：

    可读 可写

对齐方式：
对齐方式 | 描述
0 | 控件不进行任何对齐，它将根据其Left和Top属性确定其在父容器中的位置。
1 | 控件将被置于父容器的顶部，并且会随着父容器的大小调整而保持在顶部位置。
2 | 控件将被置于父容器的底部，并且会随着父容器的大小调整而保持在底部位置。
3 | 控件将被置于父容器的左侧，并且会随着父容器的大小调整而保持在左侧位置。
4 | 控件将被置于父容器的右侧，并且会随着父容器的大小调整而保持在右侧位置。
5 | 控件将占据整个父容器的客户区，并且会随着父容器的大小调整而自动调整自身的大小。
6 | 控件的对齐方式由开发人员自定义，可以通过编写代码来指定控件在父容器中的位置。

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建复选框
            local tmpChk = gUI:CreateCheckBox("chkTest", tmpSheet);
            if tmpChk then
                --设置对齐方式
                tmpChk.Align = 0

                --输出对齐方式
                print(string.format('对齐方式为：%d', tmpChk.Align))


是否可用

GXX引擎 Lua脚本接口 > TLuaCheckBox [复选框类] > 属性 >
是否可用

属性名称：

    Enabled

说明：

    是否可用

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建复选框
            local tmpChk = gUI:CreateCheckBox("chkTest", tmpSheet);
            if tmpChk then
                --设置是否可用
                tmpChk.Enabled = true

                --输出是否可用
                print(string.format('是否可用为：%s', tmpChk.Enabled))


是否可见

GXX引擎 Lua脚本接口 > TLuaCheckBox [复选框类] > 属性 >
是否可见

属性名称：

    Visible

说明：

    是否可见

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建复选框
            local tmpChk = gUI:CreateCheckBox("chkTest", tmpSheet);
            if tmpChk then
                --设置是否可见
                tmpChk.Visible = true

                --输出是否可见
                print(string.format('是否可见为：%s', tmpChk.Visible))


是否被选中

GXX引擎 Lua脚本接口 > TLuaCheckBox [复选框类] > 属性 >
是否被选中

属性名称：

    Checked

说明：

    是否被选中

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建复选框
            local tmpChk = gUI:CreateCheckBox("chkTest", tmpSheet);
            if tmpChk then
                --设置是否被选中
                tmpChk.Checked = true

                --输出是否被选中
                print(string.format('是否被选中为：%s', tmpChk.Checked))


单击事件名称

GXX引擎 Lua脚本接口 > TLuaCheckBox [复选框类] > 属性 >
单击事件名称

属性名称：

    ClickEventName

说明：

    单击事件名称

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建复选框
            local tmpChk = gUI:CreateCheckBox("chkTest", tmpSheet);
            if tmpChk then
                --设置单击事件名称
                tmpChk.ClickEventName = "DoChkClick"

                --输出单击事件名称
                print(string.format('单击事件名称为：%s', tmpChk.ClickEventName))


TLuaComBoBox [组合框类]

GXX引擎 Lua脚本接口 > TLuaComBoBox [组合框类] >
TLuaComBoBox

TLuaComBoBox介绍：

    TLuaComBoBox为组合框类，结合了文本框和下拉框的控件，用于选择列表项或输入自定义值。


属性

GXX引擎 Lua脚本接口 > TLuaComBoBox [组合框类] >
TLuaComBoBox

组合框类：

属性名称 | 描述 | 读写状态
Text | 组合框文本 | 可读 可写
Name | 组合框名字 | 只读
Hint | 组合框提示 | 可读 可写
Width | 组合框宽度 | 可读 可写
Height | 组合框高度 | 可读 可写
Top | 顶部边距 | 可读 可写
Left | 左部边距 | 可读 可写
Enabled | 是否可用 | 可读 可写
Visible | 是否可见 | 可读 可写
ItemIndex | 组合框中被选择的项目序号 | 可读 可写
Style | 组合框样式 | 可读 可写
Items | 组合框项目集合 | 只读
Objects | 组合框项目对象集合 | 只读
ClickEventName | 单击事件名称 | 可读 可写
ChangeEventName | 改变事件名称 | 可读 可写


文本

GXX引擎 Lua脚本接口 > TLuaComBoBox [组合框类] > 属性 >
组合框文本

属性名称：

    Text

说明：

    组合框文本

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建组合框
            local tmpCmb = gUI:CreateComBoBox("cmbTest", tmpSheet);
            if tmpCmb then
                --设置组合框文本
                tmpCmb.Text = '测试下拉框'

                --输出组合框文本
                print(string.format('组合框文本为：%s', tmpCmb.Text))


名字

GXX引擎 Lua脚本接口 > TLuaComBoBox [组合框类] > 属性 >
组合框名字

属性名称：

    Name

说明：

    组合框名字

读写状态：

    只读

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建组合框
            local tmpCmb = gUI:CreateComBoBox("cmbTest", tmpSheet);
            if tmpCmb then
                --输出组合框名字
                print(string.format('组合框名字为：%s', tmpCmb.Name))


提示

GXX引擎 Lua脚本接口 > TLuaComBoBox [组合框类] > 属性 >
组合框提示

属性名称：

    Hint

说明：

    组合框提示

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建组合框
            local tmpCmb = gUI:CreateComBoBox("cmbTest", tmpSheet);
            if tmpCmb then
                --设置组合框提示
                tmpCmb.Hint = "这是一个提示"

                --输出组合框提示
                print(string.format('组合框提示为：%s', tmpCmb.Hint))


宽度

GXX引擎 Lua脚本接口 > TLuaComBoBox [组合框类] > 属性 >
组合框宽度

属性名称：

    Width

说明：

    组合框宽度

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建组合框
            local tmpCmb = gUI:CreateComBoBox("cmbTest", tmpSheet);
            if tmpCmb then
                --设置组合框宽度
                tmpCmb.Width = 146

                --输出组合框宽度
                print(string.format('组合框宽度为：%d', tmpCmb.Width))


高度

GXX引擎 Lua脚本接口 > TLuaComBoBox [组合框类] > 属性 >
组合框高度

属性名称：

    Height

说明：

    组合框高度

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建组合框
            local tmpCmb = gUI:CreateComBoBox("cmbTest", tmpSheet);
            if tmpCmb then
                --设置组合框高度
                tmpCmb.Height = 22

                --输出组合框高度
                print(string.format('组合框高度为：%d', tmpCmb.Height))


顶部边距

GXX引擎 Lua脚本接口 > TLuaComBoBox [组合框类] > 属性 >
顶部边距

属性名称：

    Top

说明：

    顶部边距

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建组合框
            local tmpCmb = gUI:CreateComBoBox("cmbTest", tmpSheet);
            if tmpCmb then
                --设置顶部边距
                tmpCmb.Top = 110

                --输出顶部边距
                print(string.format('顶部边距为：%d', tmpCmb.Top))


左部边距

GXX引擎 Lua脚本接口 > TLuaComBoBox [组合框类] > 属性 >
左部边距

属性名称：

    Left

说明：

    左部边距

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建组合框
            local tmpCmb = gUI:CreateComBoBox("cmbTest", tmpSheet);
            if tmpCmb then
                --设置左部边距
                tmpCmb.Left = 100

                --输出左部边距
                print(string.format('左部边距为：%d', tmpCmb.Left))


是否可用

GXX引擎 Lua脚本接口 > TLuaComBoBox [组合框类] > 属性 >
是否可用

属性名称：

    Enabled

说明：

    是否可用

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建组合框
            local tmpCmb = gUI:CreateComBoBox("cmbTest", tmpSheet);
            if tmpCmb then
                --设置是否可用
                tmpCmb.Enabled = true

                --输出是否可用
                print(string.format('是否可用为：%s', tmpCmb.Enabled))


是否可见

GXX引擎 Lua脚本接口 > TLuaComBoBox [组合框类] > 属性 >
是否可见

属性名称：

    Visible

说明：

    是否可见

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建组合框
            local tmpCmb = gUI:CreateComBoBox("cmbTest", tmpSheet);
            if tmpCmb then
                --设置是否可见
                tmpCmb.Visible = true

                --输出是否可见
                print(string.format('是否可见为：%s', tmpCmb.Visible))


组合框中被选择的项目序号

GXX引擎 Lua脚本接口 > TLuaComBoBox [组合框类] > 属性 >
组合框中被选择的项目序号

属性名称：

    ItemIndex

说明：

    组合框中被选择的项目序号

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建组合框
            local tmpCmb = gUI:CreateComBoBox("cmbTest", tmpSheet);
            if tmpCmb then
                --设置组合框中被选择的项目序号
                tmpCmb.ItemIndex = 0

                --输出组合框中被选择的项目序号
                print(string.format('组合框中被选择的项目序号为：%d', tmpCmb.ItemIndex))


组合框样式

GXX引擎 Lua脚本接口 > TLuaComBoBox [组合框类] > 属性 >
组合框样式

属性名称：

    Style

说明：

    组合框样式

读写状态：

    可读 可写

样式：
样式 | 描述
0 | 下拉框是可编辑的，用户可以手动输入文本或选择下拉列表中的选项。
1 | 下拉框是只读的，用户只能从下拉列表中选择选项，无法手动输入文本。
2 | 下拉框是自定义绘制的，用户可以自定义绘制下拉列表中的选项。
3 | 下拉框是自定义绘制的，用户可以自定义绘制下拉列表中的选项，且每个选项的高度可以不同。
4 | 下拉框是只读的，用户只能从下拉列表中选择选项，无法手动输入文本。下拉列表以简单的方式显示，不带滚动条。
5 | 下拉框是可编辑的，用户可以手动输入文本或选择下拉列表中的选项。与csDropDownList相比，该样式允许用户手动输入文本。
6 | 下拉框是可编辑的，用户可以手动输入文本或选择下拉列表中的选项。与csDropDown相比，该样式允许用户手动输入文本。

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建组合框
            local tmpCmb = gUI:CreateComBoBox("cmbTest", tmpSheet);
            if tmpCmb then
                --设置组合框样式
                tmpCmb.Style = 2

                --输出组合框样式
                print(string.format('组合框样式为：%d', tmpCmb.Style))


组合框项目集合

GXX引擎 Lua脚本接口 > TLuaComBoBox [组合框类] > 属性 >
组合框项目集合

属性名称：

    Items

说明：

    组合框项目集合

读写状态：

    只读

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建组合框
            local tmpCmb = gUI:CreateComBoBox("cmbTest", tmpSheet);
            if tmpCmb then
                local Items = tmpCmb.Items
                for key in pairs(Items) do
                    --输出组合框项目名称
                    print(string.format('组合框项目名称为：%s', Items[key]))


组合框项目对象集合

GXX引擎 Lua脚本接口 > TLuaComBoBox [组合框类] > 属性 >
组合框项目对象集合

属性名称：

    Objects

说明：

    组合框项目对象集合

读写状态：

    只读

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建组合框
            local tmpCmb = gUI:CreateComBoBox("cmbTest", tmpSheet);
            if tmpCmb then
                local Objects = tmpCmb.Objects
                for key in pairs(Objects) do
                    if Objects[key] then
                        print('集合对象已存在')
                    end


单击事件名称

GXX引擎 Lua脚本接口 > TLuaComBoBox [组合框类] > 属性 >
单击事件名称

属性名称：

    ClickEventName

说明：

    单击事件名称

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建组合框
            local tmpCmb = gUI:CreateComBoBox("cmbTest", tmpSheet);
            if tmpCmb then
                --设置单击事件名称
                tmpCmb.ClickEventName = "DoCmbClick"

                --输出单击事件名称
                print(string.format('单击事件名称为：%d', tmpCmb.ClickEventName))


改变事件名称

GXX引擎 Lua脚本接口 > TLuaComBoBox [组合框类] > 属性 >
改变事件名称

属性名称：

    ChangeEventName

说明：

    改变事件名称

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建组合框
            local tmpCmb = gUI:CreateComBoBox("cmbTest", tmpSheet);
            if tmpCmb then
                --设置改变事件名称
                tmpCmb.ChangeEventName = "DoCmbChange"

                --输出改变事件名称
                print(string.format('改变事件名称为：%d', tmpCmb.ChangeEventName))


方法

GXX引擎 Lua脚本接口 > TLuaComBoBox [组合框类] >
TLuaComBoBox

组合框类：

方法名称 | 描述
Add | 向组合框中添加一个项目
AddItem | 通过对象向组合框中添加一个项目
Delete | 向组合框中删除一个项目


向组合框中添加一个项目

GXX引擎 Lua脚本接口 > TLuaComBoBox [组合框类] > 方法 >
向组合框中添加一个项目

声明：

   function Add()

说明：

   向组合框中添加一个项目

参数：

 | 数据类型 | 描述
参数一 | string | 项目名称
返回值 | integer | 返回添加项目的索引

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建组合框
            local tmpCmb = gUI:CreateComBoBox("cmbTest", tmpSheet);
            if tmpCmb then
                tmpCmb.Text = '测试下拉框'
                print(string.format('组合框名字为：%s', tmpCmb.Name))
                tmpCmb.Top = 110
                tmpCmb.Left = 100
                tmpCmb.ItemIndex = 0
                tmpCmb.Style = 2
                tmpCmb.ClickEventName = "DoCmbClick"
                tmpCmb.ChangeEventName = "DoCmbChange"
                --通过对象向组合框中添加一个项目
                tmpCmb:AddItem("第三个项目", gUI)
                tmpCmb:AddItem("第四个项目", gUI)
                --向组合框中添加一个项目
                print(string.format("添加的Item索引是 %d", tmpCmb:Add("第一个项目")))
                print(string.format("添加的Item索引是 %d", tmpCmb:Add("第二个项目")))


通过对象向组合框中添加一个项目

GXX引擎 Lua脚本接口 > TLuaComBoBox [组合框类] > 方法 >
通过对象向组合框中添加一个项目

声明：

   function AddItem()

说明：

   通过对象向组合框中添加一个项目

参数：

 | 数据类型 | 描述
参数一 | string | 项目名称
参数二 | TObject | 当前控件对象
返回值 |  | 无

使用示例：

--按钮单击事件
function DoBtnClick(Sender)
    print(Sender.Name)
    --根据控件名称获取多页控制组件对象
    local tmpCont = gUI:GetControlByName("cmbTest")
    if tmpCont then
        --点击按钮时在组合框中添加一个项目
        tmpCont:AddItem("Three", Sender)


向组合框中删除一个项目

GXX引擎 Lua脚本接口 > TLuaComBoBox [组合框类] > 方法 >
向组合框中删除一个项目

声明：

   function Delete()

说明：

   向组合框中删除一个项目

参数：

 | 数据类型 | 描述
参数一 | integer | 项目索引
返回值 |  | 无

使用示例：

--按钮单击事件
function DoBtnClick(Sender)
    print(Sender.Name)
    --根据控件名称获取多页控制组件对象
    local tmpCont = gUI:GetControlByName("cmbTest")
    if tmpCont then
        --点击按钮时在组合框中添加一个项目
        tmpCont:AddItem("Three", Sender)
        tmpCont:Delete(0)


TLuaEdit [编辑框类]

GXX引擎 Lua脚本接口 > TLuaEdit [编辑框类] >
TLuaEdit

TLuaEdit介绍：

    TLuaEdit为编辑框类，允许用户输入文本的单行编辑框控件。


属性

GXX引擎 Lua脚本接口 > TLuaEdit [编辑框类] >
TLuaEdit

编辑框类：

属性名称 | 描述 | 读写状态
Name | 编辑框名字 | 只读
Text | 编辑框文本 | 可读 可写
Hint | 编辑框提示 | 可读 可写
Color | 编辑框颜色 | 可读 可写
Width | 编辑框宽度 | 可读 可写
Height | 编辑框高度 | 可读 可写
Top | 顶部边距 | 可读 可写
Left | 左部边距 | 可读 可写
Enabled | 是否可用 | 可读 可写
Visible | 是否可见 | 可读 可写
ChangeEventName | 改变事件名称 | 可读 可写


名字

GXX引擎 Lua脚本接口 > TLuaEdit [编辑框类] > 属性 >
编辑框名字

属性名称：

    Name

说明：

    编辑框名字

读写状态：

    只读

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建编辑框
            local tmpEdt = gUI:CreateEdit("edtTest", tmpSheet);
            if tmpEdt then
                --输出编辑框名称
                print(string.format('编辑框名称为：%s', tmpEdt.Name))


文本

GXX引擎 Lua脚本接口 > TLuaEdit [编辑框类] > 属性 >
编辑框文本

属性名称：

    Text

说明：

    编辑框文本

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建编辑框
            local tmpEdt = gUI:CreateEdit("edtTest", tmpSheet);
            if tmpEdt then
                --设置编辑栏文本
                tmpEdt.Text = '测试编辑框'

                --输出编辑栏文本
                print(string.format('编辑栏文本为：%s', tmpEdt.Text))


提示

GXX引擎 Lua脚本接口 > TLuaEdit [编辑框类] > 属性 >
编辑框提示

属性名称：

    Hint

说明：

    编辑框提示

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建编辑框
            local tmpEdt = gUI:CreateEdit("edtTest", tmpSheet);
            if tmpEdt then
                --设置编辑栏提示
                tmpEdt.Hint = '这是一个提示'

                --输出编辑栏提示
                print(string.format('编辑栏提示为：%s', tmpEdt.Hint))


颜色

GXX引擎 Lua脚本接口 > TLuaEdit [编辑框类] > 属性 >
编辑框颜色

属性名称：

    Color

说明：

    编辑框颜色(三原色)

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建编辑框
            local tmpEdt = gUI:CreateEdit("edtTest", tmpSheet);
            if tmpEdt then
                --设置编辑栏颜色
                tmpEdt.Color = 0xff

                --输出编辑栏颜色
                print(string.format('编辑栏颜色为：%d', tmpEdt.Color))


宽度

GXX引擎 Lua脚本接口 > TLuaEdit [编辑框类] > 属性 >
编辑框宽度

属性名称：

    Width

说明：

    编辑框宽度

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建编辑框
            local tmpEdt = gUI:CreateEdit("edtTest", tmpSheet);
            if tmpEdt then
                --设置编辑栏宽度
                tmpEdt.Width = 120

                --输出编辑栏宽度
                print(string.format('编辑栏宽度为：%d', tmpEdt.Width))


高度

GXX引擎 Lua脚本接口 > TLuaEdit [编辑框类] > 属性 >
编辑框高度

属性名称：

    Height

说明：

    编辑框高度

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建编辑框
            local tmpEdt = gUI:CreateEdit("edtTest", tmpSheet);
            if tmpEdt then
                --设置编辑栏高度
                tmpEdt.Height = 20

                --输出编辑栏高度
                print(string.format('编辑栏高度为：%d', tmpEdt.Height))


顶部边距

GXX引擎 Lua脚本接口 > TLuaEdit [编辑框类] > 属性 >
顶部边距

属性名称：

    Top

说明：

    顶部边距

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建编辑框
            local tmpEdt = gUI:CreateEdit("edtTest", tmpSheet);
            if tmpEdt then
                --设置顶部边距
                tmpEdt.Top = 140

                --输出顶部边距
                print(string.format('顶部边距为：%d', tmpEdt.Top))


左部边距

GXX引擎 Lua脚本接口 > TLuaEdit [编辑框类] > 属性 >
左部边距

属性名称：

    Left

说明：

    左部边距

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建编辑框
            local tmpEdt = gUI:CreateEdit("edtTest", tmpSheet);
            if tmpEdt then
                --设置左部边距
                tmpEdt.Left = 100

                --输出左部边距
                print(string.format('左部边距为：%d', tmpEdt.Left))


是否可用

GXX引擎 Lua脚本接口 > TLuaEdit [编辑框类] > 属性 >
是否可用

属性名称：

    Enabled

说明：

    是否可用

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建编辑框
            local tmpEdt = gUI:CreateEdit("edtTest", tmpSheet);
            if tmpEdt then
                --设置是否可用
                tmpEdt.Enabled = true

                --输出是否可用
                print(string.format('是否可用为：%s', tmpEdt.Enabled))


是否可见

GXX引擎 Lua脚本接口 > TLuaEdit [编辑框类] > 属性 >
是否可见

属性名称：

    Visible

说明：

    是否可见

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建编辑框
            local tmpEdt = gUI:CreateEdit("edtTest", tmpSheet);
            if tmpEdt then
                --设置是否可用
                tmpEdt.Enabled = true

                --输出是否可用
                print(string.format('是否可用为：%s', tmpEdt.Enabled))


改变事件名称

GXX引擎 Lua脚本接口 > TLuaEdit [编辑框类] > 属性 >
改变事件名称

属性名称：

    ChangeEventName

说明：

    改变事件名称

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建编辑框
            local tmpEdt = gUI:CreateEdit("edtTest", tmpSheet);
            if tmpEdt then
                --设置改变事件名称
                tmpEdt.ChangeEventName = "DoEdtChange"

                --输出改变事件名称
                print(string.format('改变事件名称为：%s', tmpEdt.ChangeEventName))


TLuaListBox [列表框类]

GXX引擎 Lua脚本接口 > TLuaListBox [列表框类] >
TLuaListBox

TLuaListBox介绍：

    TLuaListBox为列表框类，用于显示一组可选项并允许用户选择一个或多个选项的列表框控件。


属性

GXX引擎 Lua脚本接口 > TLuaListBox [列表框类] >
TLuaListBox

列表框类：

属性名称 | 描述 | 读写状态
Name | 列表框名字 | 只读
Hint | 列表框提示 | 可读 可写
Align | 对齐方式 | 可读 可写
Width | 列表框宽度 | 可读 可写
Height | 列表框高度 | 可读 可写
Top | 顶部边距 | 可读 可写
Left | 左部边距 | 可读 可写
Enabled | 是否可用 | 可读 可写
Visible | 是否可见 | 可读 可写
ItemIndex | 列表框中被选择的项目序号 | 可读 可写
Items | 列表框项目集合 | 只读
Objects | 列表框项目对象集合 | 只读
ClickEventName | 单击事件名称 | 可读 可写
DblClickEventName | 双击事件名称 | 可读 可写


名字

GXX引擎 Lua脚本接口 > TLuaListBox [列表框类] > 属性 >
列表框名字

属性名称：

    Name

说明：

    列表框名字

读写状态：

    只读

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建列表框
            local tmplst = gUI:CreateListBox("lstTest", tmpSheet);
            if tmplst then
                --输出列表栏名字
                print(string.format('列表框名字为：%s', tmplst.Name))


提示

GXX引擎 Lua脚本接口 > TLuaListBox [列表框类] > 属性 >
列表框提示

属性名称：

    Hint

说明：

    列表框提示

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建列表框
            local tmplst = gUI:CreateListBox("lstTest", tmpSheet);
            if tmplst then
                --设置列表栏提示
                tmplst.Hint = "这是一个提示"

                --输出列表栏提示
                print(string.format('列表框提示为：%s', tmplst.Hint))


对齐方式

GXX引擎 Lua脚本接口 > TLuaListBox [列表框类] > 属性 >
对齐方式

属性名称：

    Align

说明：

    对齐方式

读写状态：

    可读 可写

对齐方式：
对齐方式 | 描述
0 | 控件不进行任何对齐，它将根据其Left和Top属性确定其在父容器中的位置。
1 | 控件将被置于父容器的顶部，并且会随着父容器的大小调整而保持在顶部位置。
2 | 控件将被置于父容器的底部，并且会随着父容器的大小调整而保持在底部位置。
3 | 控件将被置于父容器的左侧，并且会随着父容器的大小调整而保持在左侧位置。
4 | 控件将被置于父容器的右侧，并且会随着父容器的大小调整而保持在右侧位置。
5 | 控件将占据整个父容器的客户区，并且会随着父容器的大小调整而自动调整自身的大小。
6 | 控件的对齐方式由开发人员自定义，可以通过编写代码来指定控件在父容器中的位置。

使用示例：
--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建列表框
            local tmplst = gUI:CreateListBox("lstTest", tmpSheet);
            if tmplst then
                --设置对齐方式
                tmplst.Align = 4

                --输出对齐方式
                print(string.format('对齐方式为：%d', tmplst.Align))


宽度

GXX引擎 Lua脚本接口 > TLuaListBox [列表框类] > 属性 >
列表框宽度

属性名称：

    Width

说明：

    列表框宽度

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建列表框
            local tmplst = gUI:CreateListBox("lstTest", tmpSheet);
            if tmplst then
                --设置列表框宽度
                tmplst.Width = 100

                --输出列表框宽度
                print(string.format('列表框宽度为：%d', tmplst.Width))


高度

GXX引擎 Lua脚本接口 > TLuaListBox [列表框类] > 属性 >
列表框高度

属性名称：

    Height

说明：

    列表框高度

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建列表框
            local tmplst = gUI:CreateListBox("lstTest", tmpSheet);
            if tmplst then
                --设置列表框高度
                tmplst.Height = 366

                --输出列表框高度
                print(string.format('列表框高度为：%d', tmplst.Height))


顶部边距

GXX引擎 Lua脚本接口 > TLuaListBox [列表框类] > 属性 >
顶部边距

属性名称：

    Top

说明：

    顶部边距

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建列表框
            local tmplst = gUI:CreateListBox("lstTest", tmpSheet);
            if tmplst then
                --设置顶部边距
                tmplst.Top = 0

                --输出顶部边距
                print(string.format('顶部边距为：%d', tmplst.Top))


左部边距

GXX引擎 Lua脚本接口 > TLuaListBox [列表框类] > 属性 >
左部边距

属性名称：

    Left

说明：

    左部边距

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建列表框
            local tmplst = gUI:CreateListBox("lstTest", tmpSheet);
            if tmplst then
                --设置左部边距
                tmplst.Left = 0

                --输出左部边距
                print(string.format('顶部边距为：%d', tmplst.Left))


是否可用

GXX引擎 Lua脚本接口 > TLuaListBox [列表框类] > 属性 >
是否可用

属性名称：

    Enabled

说明：

    是否可用

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建列表框
            local tmplst = gUI:CreateListBox("lstTest", tmpSheet);
            if tmplst then
                --设置是否可用
                tmplst.Enabled = true

                --输出是否可用
                print(string.format('是否可用为：%s', tmplst.Enabled))


是否可见

GXX引擎 Lua脚本接口 > TLuaListBox [列表框类] > 属性 >
是否可见

属性名称：

    Visible

说明：

    是否可见

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建列表框
            local tmplst = gUI:CreateListBox("lstTest", tmpSheet);
            if tmplst then
                --设置是否可见
                tmplst.Visible = true

                --输出是否可见
                print(string.format('是否可见为：%s', tmplst.Visible))


列表框中被选择的项目序号

GXX引擎 Lua脚本接口 > TLuaListBox [列表框类] > 属性 >
列表框中被选择的项目序号

属性名称：

    ItemIndex

说明：

    列表框中被选择的项目序号

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建列表框
            local tmplst = gUI:CreateListBox("lstTest", tmpSheet);
            if tmplst then
                --设置列表框中被选择的项目序号
                tmplst.ItemIndex = 0

                --输出列表框中被选择的项目序号
                print(string.format('列表框中被选择的项目序号为：%d', tmplst.ItemIndex))


列表框项目集合

GXX引擎 Lua脚本接口 > TLuaListBox [列表框类] > 属性 >
列表框项目集合

属性名称：

    Items

说明：

    列表框项目集合

读写状态：

    只读

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建列表框
            local tmplst = gUI:CreateListBox("lstTest", tmpSheet);
            if tmplst then
                local Items = tmplst.Items
                for key in pairs(Items) do
                    --输出列表框项目名称
                    print(string.format('列表框项目名称为：%s', Items[key]))


列表框项目对象集合

GXX引擎 Lua脚本接口 > TLuaListBox [列表框类] > 属性 >
列表框项目对象集合

属性名称：

    Objects

说明：

    列表框项目对象集合

读写状态：

    只读

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建列表框
            local tmplst = gUI:CreateListBox("lstTest", tmpSheet);
            if tmplst then
                local Objects = tmplst.Objects
                for key in pairs(Objects) do
                    if Objects[key] then
                        print('集合对象已存在')
                    end


单击事件名称

GXX引擎 Lua脚本接口 > TLuaListBox [列表框类] > 属性 >
单击事件名称

属性名称：

    ClickEventName

说明：

    单击事件名称

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建列表框
            local tmplst = gUI:CreateListBox("lstTest", tmpSheet);
            if tmplst then
                --设置单击事件名称
                tmplst.ClickEventName = "DoListClick"

                --输出单击事件名称
                print(string.format('单击事件名称为：%s', tmplst.ClickEventName))


双击事件名称

GXX引擎 Lua脚本接口 > TLuaListBox [列表框类] > 属性 >
双击事件名称

属性名称：

    DblClickEventName

说明：

    双击事件名称

读写状态：

    可读 可写

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
            --创建列表框
            local tmplst = gUI:CreateListBox("lstTest", tmpSheet);
            if tmplst then
                --设置双击事件名称
                tmplst.DblClickEventName = "DoLstDblClick"

                --输出双击事件名称
                print(string.format('双击事件名称为：%s', tmplst.DblClickEventName))


方法

GXX引擎 Lua脚本接口 > TLuaListBox [列表框类] >
TLuaListBox

列表框类：

方法名称 | 描述
Add | 向列表框中添加一个项目
AddItem | 通过对象向列表框中添加一个项目
Delete | 向列表框中删除一个项目


向列表框中添加一个项目

GXX引擎 Lua脚本接口 > TLuaListBox [列表框类] > 方法 >
向列表框中添加一个项目

声明：

   function Add()

说明：

   向列表框中添加一个项目

参数：

 | 数据类型 | 描述
参数一 | string | 项目名称
返回值 | integer | 返回添加项目的索引

使用示例：

--创建LUA_UI
function CreateUI()
    local tmpFind = false
    local tmpSheets = gUI:GetSheetList();
    for key in pairs(tmpSheets) do
        if tmpSheets[key].Name == 'tsTest' then
            tmpFind = true
            break
        end
    end

    if not tmpFind then
        --为了保证唯一性，创建Sheet时，Name属性最好使用GUID
        local tmpSheet = gUI:AddNewSheet("tsTest", "测试页面")
        if tmpSheet then
             --创建列表框
             local tmplst = gUI:CreateListBox("lstTest", tmpSheet);
             if tmplst then
                 tmplst.Width = 100
                 --alNone, alTop, alBottom, alLeft, alRight, alClient, alCustom
                 tmplst.Align = 4
                 tmplst.DblClickEventName = "DoLstDblClick"
                 --向列表框中添加一个项目
                 print(string.format("添加的Item索引是 %d", tmplst:Add("测试列表框一")))
                 tmplst:Add("测试列表框二")
                 --通过对象向列表框中添加一个项目
                 tmplst:AddItem("测试列表框三", gUI)
                 tmplst:AddItem("测试列表框四", gUI)


通过对象向列表框中添加一个项目

GXX引擎 Lua脚本接口 > TLuaComBoBox [组合框类] > 方法 >
通过对象向列表框中添加一个项目

声明：

   function AddItem()

说明：

   通过对象向列表框中添加一个项目

参数：

 | 数据类型 | 描述
参数一 | string | 项目名称
参数二 | TObject | 当前控件对象
返回值 |  | 无

使用示例：

--按钮单击事件
function DoBtnClick(Sender)
    --根据控件名称获取多页控制组件对象
    local tmpCont = gUI:GetControlByName("lstTest")
    if tmpCont then
        --点击按钮时在组合框中添加一个项目
        tmpCont:AddItem("测试列表框五", Sender)


向列表框中删除一个项目

GXX引擎 Lua脚本接口 > TLuaComBoBox [组合框类] > 方法 >
向列表框中删除一个项目

声明：

   function Delete()

说明：

   向列表框中删除一个项目

参数：

 | 数据类型 | 描述
参数一 | integer | 项目索引
返回值 |  | 无

使用示例：

--按钮单击事件
function DoBtnClick(Sender)
    --根据控件名称获取多页控制组件对象
    local tmpCont = gUI:GetControlByName("lstTest")
    if tmpCont then
        --点击按钮时在组合框中添加一个项目
        tmpCont:AddItem("测试列表框五", Sender)
        tmpCont:Delete(0)


TSystem [系统对象类]

GXX引擎 Lua脚本接口 > TSystem [系统对象类] >
TSystem

TSystem介绍：

    TSystem属于公共系统对象类

    包括以下功能

    获取玩家数量、获取怪物数量、发送广播、获取在线对象等相关功能


属性

GXX引擎 Lua脚本接口 > TSystem [系统对象类] >
TSystem

系统对象类：

属性名称 | 描述 | 读写状态
Version | M2版本号 | 只读
MonsterCount | 刷怪数量 | 只读
PlayerCount | 玩家数量 | 只读
UserCount | 在线玩家数量 | 只读
OnUserCount | 真实在线玩家数量 | 只读
ManageNPC | ManageNPC | 只读
FunctionNPC | FunctionNPC | 只读
RobotNPC | RobotNPC | 只读
MissionNPC | MissionNPC | 只读
ExpItemRate | 经验物品经验倍率 | 只读
PowerItemRate | 力量物品经验倍率 | 只读
M2Dir | M2目录 | 只读


M2版本号

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 属性 >
M2版本号

属性名称：

    Version

说明：

    M2版本号

读写状态：

    只读

使用示例：
function TestDemo()
    --M2后台输出
    print(string.format("当前M2版本号：%s", gSystem.Version))
    --游戏界面输出
    gPlayer:SysMsg(string.format("当前M2版本号：%s", gSystem.Version), 215, 116, 1)


刷怪数量

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 属性 >
刷怪数量

属性名称：

    MonsterCount

说明：

    刷怪数量

读写状态：

    只读

使用示例：
function TestDemo()
    --M2后台输出
    print(string.format("刷怪数量：%d", gSystem.MonsterCount))
    --游戏界面输出
    gPlayer:SysMsg(string.format("刷怪数量：%d", gSystem.MonsterCount), 215, 116, 1)


玩家数量

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 属性 >
玩家数量

属性名称：

    PlayerCount

说明：

    玩家数量（包含假人）

读写状态：

    只读

使用示例：
function TestDemo()
    --M2后台输出
    print(string.format("玩家数量：%d", gSystem.PlayerCount))
    --游戏界面输出
    gPlayer:SysMsg(string.format("玩家数量：%d", gSystem.PlayerCount), 215, 116, 1)


在线玩家数量

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 属性 >
在线玩家数量

属性名称：

    UserCount

说明：

    在线玩家数量（包含假人）

读写状态：

    只读

使用示例：
function TestDemo()
    --M2后台输出
    print(string.format("在线玩家数量：%d", gSystem.UserCount))
    --游戏界面输出
    gPlayer:SysMsg(string.format("在线玩家数量：%d", gSystem.UserCount), 215, 116, 1)


真实在线玩家数量

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 属性 >
真实在线玩家数量

属性名称：

    OnUserCount

说明：

    真实在线玩家数量（不包含假人）

读写状态：

    只读

使用示例：
function TestDemo()
    --M2后台输出
    print(string.format("真实在线玩家数量：%d", gSystem.OnUserCount))
    --游戏界面输出
    gPlayer:SysMsg(string.format("真实在线玩家数量：%d", gSystem.OnUserCount), 215, 116, 1)


ManageNPC

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 属性 >
ManageNPC

属性名称：

    ManageNPC

说明：

    登录触发脚本对象

读写状态：

    只读

使用示例：
local tmpManagenpc = gSystem.ManageNPC
if tmpManagenpc then
    print(string.format("ManageNPC对象已存在"))


FunctionNPC

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 属性 >
FunctionNPC

属性名称：

    FunctionNPC

说明：

    商人NPC脚本对象

读写状态：

    只读

使用示例：
local tmpFuntionnpc = gSystem.FunctionNPC
if tmpFuntionnpc then
    print(string.format("FunctionNPC对象已存在"))


RobotNPC

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 属性 >
RobotNPC

属性名称：

    RobotNPC

说明：

    机器人脚本对象

读写状态：

    只读

使用示例：
local tmpRobotnpc = gSystem.RobotNPC
if tmpRobotnpc then
    print(string.format("RobotNPC对象已存在"))


MissionNPC

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 属性 >
MissionNPC

属性名称：

    MissionNPC

说明：

    任务脚本对象

读写状态：

    只读

使用示例：
local tmpMissionnpc = gSystem.MissionNPC
if tmpMissionnpc then
    print(string.format("MissionNPC对象已存在"))


经验物品经验倍率

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 属性 >
经验物品经验倍率

属性名称：

    ExpItemRate

说明：

    经验物品经验倍率(物品装备->特殊属性->经验翻倍->倍率)

读写状态：

    只读

使用示例：

function TestDemo()
    --M2后台输出
    print(string.format("经验物品经验倍率：%d", gSystem.ExpItemRate))
    --游戏界面输出
    gPlayer:SysMsg(string.format("经验物品经验倍率：%d", gSystem.ExpItemRate), 215, 116, 1)


力量物品经验倍率

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 属性 >
力量物品经验倍率

属性名称：

    PowerItemRate

说明：

    力量物品经验倍率(物品装备->特殊属性->攻击翻倍->倍率)

读写状态：

    只读

使用示例：

function TestDemo()
    --M2后台输出
    print(string.format("力量物品经验倍率：%d", gSystem.PowerItemRate))
    --游戏界面输出
    gPlayer:SysMsg(string.format("力量物品经验倍率：%d", gSystem.PowerItemRate), 215, 116, 1)


M2目录

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 属性 >
M2目录

属性名称：

    M2Dir

说明：

    M2目录

读写状态：

    只读

使用示例：

function TestDemo()
    --M2后台输出
    print(string.format("M2目录：%s", gSystem.M2Dir))
    --游戏界面输出
    gPlayer:SysMsg(string.format("M2目录：%s", gSystem.M2Dir), 215, 116, 1)


方法

GXX引擎 Lua脚本接口 > TSystem [系统对象类] >
TSystem

系统对象类：

方法名称 | 描述
GetGlobalVarI | 获取全局I变量
SetGlobalVarI | 设置全局I变量
GetGlobalVarG | 获取全局G变量
SetGlobalVarG | 设置全局G变量
GetGlobalVarA | 获取全局A变量
SetGlobalVarA | 设置全局A变量
SendBroadCastMsg | 发送广播消息
SendBroadCastMsgExt | 发送广播消息
SendTopBroadCastMsg | 发送消息框顶部消息
SendCenterMsg | 发送居中消息
SendMoveMsg | 发送顶部移动消息
SendNewLineMsg | 发送换行消息
SendSuperMoveMsg | 发送仿盛大顶部渐隐消息
SendSceneShake | 发送屏幕震动
GetPlayerList | 获取所有在线人物列表（含假人）
GetPlayerByName | 根据在线名字获取玩家对象
GetPlayerByUserID | 根据在线账号获取玩家对象
CheckPlayerValidity | 判断对象是否是一个合法的在线人物
GetOfflinePlayer | 根据账户获取一个离线挂机对象
KickPlayer | 踢掉在线玩家
GetHeroList | 获取英雄列表
GetHeroByName | 根据在线英雄获取英雄对象
KickHero | 踢掉在线英雄
GetMerchantList | 获取交易NPC列表
GetQuestNPCList | 获取MapQuest.txt中的文件名
CheckMerchantValidity | 判断Merchant对象是否合法
GetMerchantByName | 根据名字获取NPC
GetMerchantByPosition | 根据地图坐标获取NPC
CheckNPCValidity | 判断NPC对象是否合法
GetDBItemList | 获取数据库物品列表
GetDBItemByName | 按名称获取数据库物品对象
GetDBItemByIndex | 按索引获取数据库物品对象
GetDBItemIndex | 按名称获取数据库物品对象索引
GetDBMonsterList | 获取数据库怪物列表
GetDBMagicList | 获取数据库技能列表
AddGuildByName | 按名称添加行会
DeleteGuildByName | 按名称删除行会
GetGuildByName | 按名称获取行会对象
GetMapByName | 按名称获取地图环境对象
CreateItemByName | 按名称创建用户物品
CreateItemByDBItem | 按数据库物品创建用户物品
RandomUpgradeItem | 随机更新物品
RandomItemNewAbil | 随机更新物品新属性
GetUnknowItemValue | 获取神秘物品属性值
CreateMagicByName | 按名称创建用户技能
CreateMagicByDBItem | 按数据库技能创建用户技能


获取全局I变量

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
获取全局I变量

声明：

   function GetGlobalVarI()

说明：

   获取全局I变量

参数：

 | 数据类型 | 描述
参数一 | integer | I变量取值范围(0-999)
返回值 | integer | 返回I变量值

使用示例：
function TestDemo()
    --获取全局I100变量
    print(string.format("全局I100变量的值:%d", gSystem:GetGlobalVarI(100)))


设置全局I变量

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
设置全局I变量

声明：

   function SetGlobalVarI()

说明：

   设置全局I变量

参数：

 | 数据类型 | 描述
参数一 | integer | I变量取值范围(0-999)
参数二 | integer | 设置I变量的值
返回值 |  | 无

使用示例：
function TestDemo()
    --设置全局I100变量的值为488
    gSystem:SetGlobalVarI(100, 488)
    print(string.format("全局I100变量的值:%d", gSystem:GetGlobalVarI(100)))


获取全局G变量

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
获取全局G变量

声明：

   function GetGlobalVarG()

说明：

   获取全局G变量

参数：

 | 数据类型 | 描述
参数一 | integer | G变量取值范围(0-999)
返回值 | integer | 返回G变量值

使用示例：
function TestDemo()
    --获取全局G100变量
    print(string.format("全局G100变量的值：%d", gSystem:GetGlobalVarG(100)))


设置全局G变量

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
设置全局G变量

声明：

   function SetGlobalVarG()

说明：

   设置全局G变量

参数：

 | 数据类型 | 描述
参数一 | integer | G变量取值范围(0-999)
参数二 | integer | 设置G变量的值
返回值 |  | 无

使用示例：
function TestDemo()
    --设置全局G100变量的值为408
    gSystem:SetGlobalVarG(100, 408)
    print(string.format("全局G100变量的值：%d", gSystem:GetGlobalVarG(100)))


获取全局A变量

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
获取全局A变量

声明：

   function GetGlobalVarG()

说明：

   获取全局A变量

参数：

 | 数据类型 | 描述
参数一 | integer | A变量取值范围(0-999)
返回值 | string | 返回A变量值

使用示例：
function TestDemo()
    --获取全局A2变量
    print(string.format("获取全局A2变量的值：%s", gSystem:GetGlobalVarA(2)))


设置全局A变量

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
设置全局G变量

声明：

   function SetGlobalVarG()

说明：

   设置全局G变量

参数：

 | 数据类型 | 描述
参数一 | integer | A变量取值范围(0-999)
参数二 | string | 设置A变量的值
返回值 |  | 无

使用示例：
function TestDemo()
    --设置全局A2变量
    gSystem:SetGlobalVarA(2, '今天下雨')
    print(string.format("获取全局A2变量的值：%s", gSystem:GetGlobalVarA(2)))


发送广播消息

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
发送广播消息

声明：

   function SendBroadCastMsg()

说明：

   发送广播消息

参数：

 | 数据类型 | 描述
参数一 | string | 消息文字
参数二 | integer | 消息类型(0:江湖公告; 1:提示; 2:系统;3:说话; 4:怪物; 5:管理员; 6:祝福; 7:沙巴克城主; )
参数三 | integer | 消息窗口
返回值 |  | 无

使用示例：
function TestDemo()
    gSystem:SendBroadCastMsg('发送一个普通广播消息显示。', 0, 1)


发送广播消息

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
发送广播消息

声明：

   function SendBroadCastMsgExt()

说明：

   发送广播消息

参数：

 | 数据类型 | 描述
参数一 | string | 消息文字
参数二 | integer | 消息类型(0:江湖公告; 1:提示; 2:系统;3:说话; 4:怪物; 5:管理员; 6:祝福; 7:沙巴克城主; )
参数三 | integer | 消息窗口
返回值 |  | 无

使用示例：
function TestDemo()
    gSystem:SendBroadCastMsgExt('发送一个广播消息显示。', 0, 1)


发送消息框顶部消息

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
发送消息框顶部消息

声明：

   function SendTopBroadCastMsg()

说明：

   发送消息框顶部消息

参数：

 | 数据类型 | 描述
参数一 | string | 消息文字
参数二 | integer | 字体颜色(0-255)
参数三 | integer | 背景颜色(0-255)
参数四 | integer | 显示时间
参数五 | integer | 消息类型(0:江湖公告; 1:提示; 2:系统;3:说话; 4:怪物; 5:管理员; 6:祝福; 7:沙巴克城主; )
参数六 | integer | 消息窗口
返回值 |  | 无

使用示例：
function TestDemo()
    gSystem:SendTopBroadCastMsg('发送一个消息框顶部消息显示', 249, 116, 10, 2, 1)


发送居中消息

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
发送居中消息

声明：

   function SendCenterMsg()

说明：

   发送居中消息

参数：

 | 数据类型 | 描述
参数一 | string | 文字内容
参数二 | integer | 字体颜色(0-255)
参数三 | integer | 背景颜色(0-255)
参数四 | integer | 显示时间
返回值 |  | 无

使用示例：
function TestDemo()
    gSystem:SendCenterMsg('发送一个居中消息显示', 249, 116, 10)


发送顶部移动消息

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
发送顶部移动消息

声明：

   function SendMoveMsg ()

说明：

   发送顶部移动消息（消息内容支持颜色设置，可以设置不同文字不同颜色显示）

参数：

 | 数据类型 | 描述
参数一 | string | 文字内容
参数二 | integer | 字体颜色(0-255)
参数三 | integer | 背景颜色(0-255)
参数四 | integer | 消息距顶部高度
参数五 | integer | 滚动次数
参数六 | integer | 字体大小
参数七 | integer | 显示时间
返回值 |  | 无

使用示例：
function TestDemo()
    gSystem:SendMoveMsg('发送一个顶部移动消息显示', 253, 116, 10, 5, 18, 20)
    gSystem:SendMoveMsg('{★★★通知★★★/SCOLOR=22}{发送一个顶部移动消息显示。/SCOLOR=146}支持自定义颜色分段显示', 249, 116, 50, 5, 18, 20)


发送换行消息

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
发送换行消息

声明：

   function SendNewLineMsg()

说明：

   发送换行消息

参数：

 | 数据类型 | 描述
参数一 | string | 文字内容
参数二 | integer | 字体颜色(0-255)
参数三 | integer | 背景颜色(0-255)
参数四 | integer | 字体大小
参数五 | integer | X坐标
参数六 | integer | Y坐标
参数七 | integer | 显示时间
参数八 | integer | 类型
返回值 |  | 无

使用示例：
function TestDemo()
    gSystem:SendNewLineMsg('发送一个换行消息显示', 251, 116, 18, 0, 100, 10, 1)


发送仿盛大顶部渐隐消息

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
发送仿盛大顶部渐隐消息

声明：

   function SendSuperMoveMsg()

说明：

   发送仿盛大顶部渐隐消息

参数：

 | 数据类型 | 描述
参数一 | string | 文字内容
参数二 | integer | 字体颜色(0-255)
参数三 | integer | 背景颜色(0-255)
参数四 | integer | 字体大小
参数五 | integer | X坐标
参数六 | integer | Y坐标
参数七 | integer | 显示次数
返回值 |  | 无

使用示例：
function TestDemo()
    gSystem:SendSuperMoveMsg('发送一个仿盛大顶部渐隐消息显示', 249, 116, 18, 50, 100, 10)


发送屏幕震动

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
发送屏幕震动

声明：

   function SendSceneShake()

说明：

   发送所有玩家屏幕震动

参数：

 | 数据类型 | 描述
参数一 | integer | 震动次数
返回值 |  | 无

使用示例：
function TestDemo()
    gSystem:SendSceneShake(10)


获取所有在线人物列表(含假人)

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
获取所有在线人物列表(含假人)

声明：

   function GetPlayerList()

说明：

   获取所有在线人物列表(含假人)

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 | table | 在线人物表

使用示例：
function TestDemo()
    --获取所有在线人物列表(含假人)
    local tmpPlayerlist = gSystem:GetPlayerList()
    if tmpPlayerlist then
        --遍历在线人物列表
        for key in pairs(tmpPlayerlist) do
            --输出人物名称
            print(string.format("人物名称：%s", tmpPlayerlist[key].Name))
        end
        tmpPlayerlist = nil


根据在线名字获取玩家对象

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
根据在线名字获取玩家对象

声明：

   function GetPlayerByName()

说明：

   根据在线名字获取玩家对象，如果玩家对象存在则返回，不存在则返回nil。

参数：

 | 数据类型 | 描述
参数一 | string | 角色名称
返回值 | TPlayObject | 玩家对象

使用示例：
function TestDemo()
    --根据在线名字获取玩家对象
    local tmpPalyobject = gSystem:GetPlayerByName('无敌')
    --如果玩家对象存在
    if tmpPalyobject then
        --发送个人消息提示执行成功
        gPlayer:SysMsg(string.format("：根据在线名字【%s】获取玩家对象执行成功", tmpPalyobject.Name), 249, 116, 1)


根据在线账号获取玩家对象

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
根据在线账号获取玩家对象

声明：

   function GetPlayerByUserID()

说明：

   根据在线账号获取玩家对象，如果玩家对象存在则返回，不存在则返回nil。

参数：

 | 数据类型 | 描述
参数一 | string | 登录账号
返回值 | TPlayObject | 玩家对象

使用示例：
function TestDemo()
    --根据登录账号获取玩家对象
    local tmpPalyobject = gSystem:GetPlayerByUserID('a123')
    --如果玩家对象存在
    if tmpPalyobject then
        --发送个人消息提示执行成功
        gPlayer:SysMsg(string.format("：根据在线账号【%s】获取玩家对象执行成功", tmpPalyobject.Name), 249, 116, 1)


判断对象是否是一个合法的在线人物

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
判断对象是否是一个合法的在线人物

声明：

   function CheckPlayerValidity()

说明：

   判断对象是否是一个合法的在线人物

参数：

 | 数据类型 | 描述
参数一 | string | 角色名称
返回值 | boolean | 返回是否合法

使用示例：

function TestDemo()
    --根据角色名称获取玩家对象
    local tmpPalyobject = gSystem:GetPlayerByName('无敌')
    --如果玩家对象存在
    if tmpPalyobject then
        --判断对象是否是一个合法的在线人物
        if gSystem:CheckPlayerValidity(tmpPalyobject) then
            gSystem:SendBroadCastMsgExt('对象是一个合法的在线人物。', 3, 1)


根据帐户获取一个离线挂机对象

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
根据帐户获取一个离线挂机对象

声明：

   function GetOfflinePlayer()

说明：

   根据帐户获取一个离线挂机对象，如果玩家对象存在则返回，不存在则返回nil。

参数：

 | 数据类型 | 描述
参数一 | string | 登录账号
返回值 | TPlayObject | 玩家对象

使用示例：

function TestDemo()
    --根据登录帐户获取一个离线挂机对象
    local tmpOfflineplayer = gSystem:GetOfflinePlayer('qwert')
    --如果离线挂机对象存在
    if tmpOfflineplayer then
        --发送个人消息提示执行成功
        gPlayer:SysMsg(string.format("：根据帐户获取一个离线挂机对象执行成功", gPlayer.Name), 249, 116, 1)


踢掉在线玩家

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
踢掉在线玩家

声明：

   function KickPlayer()

说明：

   踢掉在线玩家

参数：

 | 数据类型 | 描述
参数一 | string | 角色名称
返回值 |  | 无

使用示例：

function TestDemo()
    gSystem:KickPlayer('无敌')


获取英雄列表

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
获取英雄列表

声明：

   function GetHeroList()

说明：

   获取英雄列表

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 | table | 英雄列表

使用示例：

function TestDemo()
    --获取英雄列表
    local tmpHerolist = gSystem:GetHeroList()
    if tmpHerolist then
        --遍历
        for key in pairs(tmpHerolist) do
            --输出英雄名称
            print(string.format("英雄名称：%s", tmpHerolist[key].Name))
        end
        tmpHerolist = nil


根据在线英雄名称获取英雄对象

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
根据在线名字获取玩家对象

声明：

   function GetHeroByName()

说明：

   根据在线英雄名称获取英雄对象，如果英雄对象存在则返回，不存在则返回nil。

参数：

 | 数据类型 | 描述
参数一 | string | 英雄名称
返回值 | THeroObject | 英雄对象

使用示例：

function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject = gSystem:GetHeroByName('无敌的英雄')
    --如果英雄对象存在
    if tmpHeroobject then
        --发送个人消息提示执行成功
        gPlayer:SysMsg(string.format("：根据在线英雄名称【%s】获取英雄对象执行成功", tmpHeroobject.Name), 249, 116, 1)


踢掉在线英雄

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
踢掉在线英雄

声明：

   function KickHero()

说明：

   踢掉在线英雄

参数：

 | 数据类型 | 描述
参数一 | string | 英雄名称
返回值 |  | 无

使用示例：

function TestDemo()
    gSystem:KickHero('无敌的英雄')


获取交易NPC列表

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
获取交易NPC列表

声明：

   function GetMerchantList()

说明：

   获取交易NPC列表

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 | table | 交易NPC表

使用示例：
function TestDemo()
    --获取交易NPC列表
    local tmpMerchantlist = gSystem:GetMerchantList()
    if tmpMerchantlist then
        --遍历
        for key in pairs(tmpMerchantlist) do
            --输出NPC名称
            print(string.format("NPC名称：%s", tmpMerchantlist[key].Name))
        end
        tmpMerchantlist = nil


获取MapQuest.txt中文件名

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
获取MapQuest.txt中文件名

声明：

   function GetQuestNPCList()

说明：

   获取MapQuest.txt中文件名

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 | table | MapQuest.txt中的文件名

使用示例：
function TestDemo()
    --获取MapQuest.txt中文件名
    local tmpQuestnpclist = gSystem:GetQuestNPCList()
    if tmpQuestnpclist then
        --遍历
        for key in pairs(tmpQuestnpclist) do
            print(string.format("名称：%s", tmpQuestnpclist[key].Name))
        end
        tmpQuestnpclist = nil


判断Merchant对象是否合法

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
判断Merchant对象是否合法

声明：

   function CheckMerchantValidity()

说明：

   判断Merchant对象是否合法，并且NPC对象没有死

参数：

 | 数据类型 | 描述
参数一 | string | Merchant对象
返回值 | boolean | 是否合法

使用示例：
function TestDemo()
    --根据地图代码和NPC名称获取地图中的NPC对象
    local tmpNpcobject = gSystem:GetMerchantByName('N3', '测试一')
    --NPC对象是否存在
    if tmpNpcobject then
        if gSystem:CheckMerchantValidity(tmpNpcobject) then
            gSystem:SendBroadCastMsgExt('Merchant对象是一个合法的。', 3, 1)


根据名字获取NPC

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
根据名字获取NPC

声明：

   function GetMerchantByName()

说明：

   按地图名称和NPC名称，搜索指定地图中的NPC对象，找到了返回此NPC对象，如果没找到返回nil。

参数：

 | 数据类型 | 描述
参数一 | string | 地图代码
参数二 | string | NPC名称
返回值 | TBaseObject | 返回NPC对象

使用示例：
function TestDemo()
    --根据地图代码和NPC名称获取地图中的NPC对象
    local tmpNpcobject = gSystem:GetMerchantByName('N3', '测试一')
    if tmpNpcobject then
        --输出NPC名称
        print(string.format("NPC名称：%s", tmpNpcobject.Name))


根据地图坐标获取NPC

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
根据地图坐标获取NPC

声明：

   function GetMerchantByPosition()

说明：

   按地图名称、X坐标、Y坐标，搜索指定地图中的NPC对象，找到了返回此NPC对象，如果没找到返回nil。

参数：

 | 数据类型 | 描述
参数一 | string | 地图代码
参数二 | integer | X坐标
参数三 | integer | Y坐标
返回值 | TBaseObject | 返回NPC对象

使用示例：
function TestDemo()
    --按地图代码、X坐标、Y坐标获取指定地图中的NPC对象
    local tmpNpcobject = gSystem:GetMerchantByPosition('N3', 325, 329)
    if tmpNpcobject then
        print(string.format("NPC名称：%s", tmpNpcobject.Name))


判断NPC对象是否合法

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
判断NPC对象是否合法

声明：

   function CheckNPCValidity()

说明：

   判断NPC对象是否合法

参数：

 | 数据类型 | 描述
参数一 | string | NPC对象
返回值 | boolean | 是否合法

使用示例：

function TestDemo()
    --根据地图代码和NPC名称获取地图中的NPC对象
    local tmpNpcobject = gSystem:GetMerchantByName('N3', '测试一')
    if tmpNpcobject then
        if gSystem:CheckNPCValidity(tmpNpcobject) then
            gSystem:SendBroadCastMsgExt('NPC对象是一个合法的。', 3, 1)


获取数据库物品列表

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
获取数据库物品列表

声明：

   function GetDBItemList()

说明：

   获取数据库物品列表

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 | table | 返回DB物品对象(TDBItemObject)表

使用示例：
function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品对象表存在
    if tmpDbitemlist then
        --遍历物品对象
        for key in pairs(tmpDbitemlist) do
            --输出数据库物品名称
            print(tmpDbitemlist[key].Name)
        end
        tmpDbitemlist = nil


按名称获取数据库物品对象

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
按名称获取数据库物品对象

声明：

   function GetDBItemByName()

说明：

   按名称获取数据库物品对象

参数：

 | 数据类型 | 描述
参数一 | string | 物品名称
返回值 | TDBItemObject | 返回数据库物品对象

使用示例：
function TestDemo()
    --按名称获取数据库物品对象
    local tmpDbitemobject = gSystem:GetDBItemByName('卡布里-角斗重铠（女）')
    --如果数据库物品对象存在
    if tmpDbitemobject then
        gPlayer:SysMsg(string.format("当前数据库物品对象存在！", gPlayer.Name), 215, 116, 1)
    else
        gPlayer:SysMsg(string.format("当前数据库物品对象不存在！", gPlayer.Name), 249, 116, 1)


按索引获取数据库物品对象

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
按索引获取数据库物品对象

声明：

   function GetDBItemByIndex()

说明：

   按索引获取数据库物品对象

参数：

 | 数据类型 | 描述
参数一 | integer | 物品索引(IDX)
返回值 | TDBItemObject | 返回数据库物品对象

使用示例：
function TestDemo()
    --按索引获取数据库物品对象
    local tmpDbitemobject = gSystem:GetDBItemByIndex(434)
    --如果数据库物品对象存在
    if tmpDbitemobject then
        gPlayer:SysMsg(string.format("当前数据库物品对象存在！", gPlayer.Name), 215, 116, 1)
    else
        gPlayer:SysMsg(string.format("当前数据库物品对象不存在！", gPlayer.Name), 249, 116, 1)


按名称获取数据库物品对象索引

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
按名称获取数据库物品对象索引

声明：

   function GetDBItemIndex()

说明：

   按名称获取数据库物品对象索引

参数：

 | 数据类型 | 描述
参数一 | string | 物品名称
返回值 | integer | 返回物品索引

使用示例：

function TestDemo()
    --按名称获取数据库物品对象索引
    local tmpDbitemindex = gSystem:GetDBItemIndex('卡布里-角斗重铠（女）')
    --如果对象索引存在
    if tmpDbitemindex then
        print(string.format("当前物品索引为：%d", tmpDbitemindex))
    else
        gPlayer:SysMsg(string.format("当前数据库物品不存在！", gPlayer.Name), 249, 116, 1)


获取数据库怪物列表

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
获取数据库怪物列表

声明：

   function GetDBMonsterList()

说明：

   获取数据库怪物列表

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 | table | 返回DB怪物对象(TDBMonObject)表

使用示例：

function TestDemo()
    --获取数据库怪物列表
    local tmpDbmonterlist = gSystem:GetDBMonsterList()
    --怪物对象存在
    if tmpDbmonterlist then
        --遍历数据库怪物
        for key in pairs(tmpDbmonterlist) do
            --输出数据库怪物名称
            print(tmpDbmonterlist[key].Name)
        end
        tmpDbmonterlist = nil


获取数据库技能列表

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
获取数据库技能列表

声明：

   function GetDBMagicList()

说明：

   获取数据库技能列表

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 | table | 返回DB技能对象(TDBMagicObject)表

使用示例：

function TestDemo()
    --获取数据库技能列表
    local tmpDbmagiclist = gSystem:GetDBMagicList()
    --技能对象存在
    if tmpDbmagiclist then
        --遍历数据库技能
        for key in pairs(tmpDbmagiclist) do
            --输出数据库技能名称
            print(tmpDbmagiclist[key].Name)
        end
        tmpDbmagiclist = nil


按名称添加行会

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
按名称添加行会

声明：

   function AddGuildByName()

说明：

   按名称建立新的行会

命令参数：

 | 数据类型 | 描述
参数一 | string | 行会名称
参数二 | string | 掌门名称
返回值 | boolean | 是否添加成功

使用示例：
function TestDemo()
    --按名称添加行会
    gSystem:AddGuildByName('称霸九州', '非官方的')


按名称删除行会

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
按名称删除行会

声明：

   function DeleteGuildByName()

说明：

   按名称删除行会

命令参数：

 | 数据类型 | 描述
参数一 | string | 行会名称
返回值 | boolean | 是否删除成功

使用示例：
function DeleteGuildByName()
    --按名称删除行会
    gSystem:DeleteGuildByName('称霸九州')


按名称获取行会对象

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
按名称获取行会对象

声明：

   function GetGuildByName()

说明：

   按名称获取行会对象

命令参数：

 | 数据类型 | 描述
参数一 | string | 行会名称
返回值 | TGuild | 返回行会对象

使用示例：
function GetGuildByName()
    --获取行会对象
    local tmpGuildobject = gSystem:GetGuildByName('称霸九州')
    --如果行会对象存在
    if tmpGuildobject then
        gPlayer:SysMsg(string.format("当前行会对象存在！", gPlayer.Name), 215, 116, 1)
    else
        gPlayer:SysMsg(string.format("当前行会对象不存在！", gPlayer.Name), 249, 116, 1)


按名称获取地图环境对象

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
按名称获取地图环境对象

声明：

   function GetMapByName()

说明：

   按名称获取地图环境对象

参数：

 | 数据类型 | 描述
参数一 | string | 地图代码
返回值 | TEnvirnoment | 返回地图环境对象

使用示例：
function TestDemo()
    --按名称获取地图环境对象
    local tmpEnvirnoment = gSystem:GetMapByName('N3')
    --如果地图环境对象存在
    if tmpEnvirnoment then
        gPlayer:SysMsg(string.format("当前地图环境对象存在！", gPlayer.Name), 215, 116, 1)
    else
        gPlayer:SysMsg(string.format("当前地图环境对象不存在！", gPlayer.Name), 249, 116, 1)


按名称创建用户物品

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
按名称创建用户物品

声明：

   function CreateItemByName()

说明：

   按名称创建用户物品，如果成功则返回创建的物品对象，失败则返回空。

参数：

 | 数据类型 | 描述
参数一 | string | 被创建物品名称
返回值 | TUserItemObject | 创建的用户物品对象

使用示例：
function TestDemo()
    --按物品名称创建物品
    local tmpItem = gSystem:CreateItemByName("圣光壁垒")
    if tmpItem then
        print(string.format("创建物品[%s]成功", tmpItem.Name))
        --向指定人物背包添加创建物品
        if gPlayer:AddItemToBag(tmpItem) then
            --如果添加成功，则向客户端发送添加物品消息。
            gPlayer:SendAddItem(tmpItem)
            print(string.format("创建物品[%s]已经添加到玩家[%s]的背包", tmpItem.Name, gPlayer.Name))


按数据库物品创建用户物品

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
按数据库物品创建用户物品

声明：

   function CreateItemByDBItem()

说明：

   按数据库物品创建用户物品，如果成功则返回创建的物品对象，失败则返回空。

参数：

 | 数据类型 | 描述
参数一 | integer | IDX
参数二 | TDBItemObject | 数据库物品对象
返回值 | TUserItemObject | 创建的用户物品对象

使用示例：
function TestDemo()
    --按名称获取数据库物品对象
    local tmpDbItem = gSystem:GetDBItemByName('圣光壁垒')
    --如果数据库物品对象存在
    if tmpDbItem then
        --按数据库物品创建用户物品
        local tmpCreateuseritem = gSystem:CreateItemByDBItem(562, tmpDbItem)
        if tmpCreateuseritem then
            print(string.format("创建物品[%s]成功", tmpCreateuseritem.Name))
            --向指定人物背包添加创建品
            if gPlayer:AddItemToBag(tmpCreateuseritem) then
                --如果添加成功，则向客户端发送添加物品消息。
                gPlayer:SendAddItem(tmpCreateuseritem)
                print(string.format("创建物品[%s]已经添加到玩家[%s]的背包", tmpCreateuseritem.Name, gPlayer.Name))


随机更新物品

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
随机更新物品

声明：

   function RandomUpgradeItem()

说明：

   随机更新物品

参数：

 | 数据类型 | 描述
参数一 | TUserItemObject | 用户物品对象
返回值 |  | 无

使用示例：
function TestDemo()
    --按物品名称复制物品
    local tmpItem = gSystem:CreateItemByName("随机传送石")
    if tmpItem then
        print(string.format("复制物品[%s]成功", tmpItem.Name))
        --随机更新物品
        gSystem:RandomUpgradeItem(tmpItem)
        --向指定人物背包添加复制品
        if gPlayer:AddItemToBag(tmpItem) then
            --如果添加成功，则向客户端发送添加物品消息。
            gPlayer:SendAddItem(tmpItem)
            print(string.format("复制物品[%s]已经添加到玩家[%s]的背包", tmpItem.Name, gPlayer.Name))


随机更新物品新属性

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
随机更新物品新属性

声明：

   function RandomItemNewAbil()

说明：

   随机更新物品新属性

参数：

 | 数据类型 | 描述
参数一 | TUserItemObject | 用户物品对象
返回值 |  | 无

使用示例：

function TestDemo()
    --按物品名称复制物品
    local tmpItem = gSystem:CreateItemByName("圣光壁垒")
    if tmpItem then
        print(string.format("复制物品[%s]成功", tmpItem.Name))
        --随机更新物品新属性
        gSystem:RandomItemNewAbil(tmpItem)
        --向指定人物背包添加复制品
        if gPlayer:AddItemToBag(tmpItem) then
            --如果添加成功，则向客户端发送添加物品消息。
            gPlayer:SendAddItem(tmpItem)
            print(string.format("复制物品[%s]已经添加到玩家[%s]的背包", tmpItem.Name, gPlayer.Name))


获取神秘物品属性值

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
获取神秘物品属性值

声明：

   function GetUnknowItemValue()

说明：

   获取神秘物品属性值(物品特殊属性代码130、131、132)

参数：

 | 数据类型 | 描述
参数一 | TUserItemObject | 用户物品对象
返回值 |  | 无

使用示例：

function TestDemo()
    --按物品名称复制物品
    local tmpItem = gSystem:CreateItemByName("鹤嘴锄")
    if tmpItem then
        print(string.format("复制物品[%s]成功", tmpItem.Name))
        --获取神秘物品属性值
        gSystem:GetUnknowItemValue(tmpItem)
        --向指定人物背包添加复制品
        if gPlayer:AddItemToBag(tmpItem) then
            --如果添加成功，则向客户端发送添加物品消息。
            gPlayer:SendAddItem(tmpItem)
            print(string.format("复制物品[%s]已经添加到玩家[%s]的背包", tmpItem.Name, gPlayer.Name))


按名称创建用户技能

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
按名称创建用户技能

声明：

   function CreateMagicByName()

说明：

   按名称创建用户技能，如果成功则返回创建的技能对象，失败则返回空。

参数：

 | 数据类型 | 描述
参数一 | TSmartObject | 增加技能的对象
参数二 | string | 技能名称
返回值 | TUserMagicObject | 创建的用户技能对象

使用示例：

function TestDemo()
    --获取玩家技能列表
    local tmpMagiclist = gPlayer.MagicList
    --技能列表存在
    if tmpMagiclist then
        --遍历
        local tmpBool = false
        for key in pairs(tmpMagiclist) do
            if tmpMagiclist[key].Name == "半月弯刀" then
                tmpBool = true
                break
            end
        end

        if not tmpBool then
            --按技能名称创建技能
            local tmpMagic = gSystem:CreateMagicByName(gPlayer, "半月弯刀")
            --用户技能对象存在
            if tmpMagic then
                tmpMagic.Level = 3
                --添加技能对象,成功返回创建技能索引，失败则返回-1
                if gPlayer:AddMagic(tmpMagic) >= 0 then
                    gPlayer:SendAddMagic(tmpMagic)
                    print(string.format("创建技能[%s]已经添加到玩家[%s]", tmpMagic.Name, gPlayer.Name))
                else
                    print("添加技能对象失败。")
                    gPlayer:Free(tmpMagic)
                end
            end
        else
            print("当前用户已经存在该技能。")


按数据库技能创建用户技能

GXX引擎 Lua脚本接口 > TSystem [系统对象类] > 方法 >
按数据库技能创建用户技能

声明：

   function CreateMagicByDBMagic()

说明：

   按数据库技能创建用户技能，如果成功则返回创建的技能对象，失败则返回空。

参数：

 | 数据类型 | 描述
参数一 | TSmartObject | 增加技能的对象
参数二 | TDBMagicObject | 数据库技能对象
返回值 | TUserMagicObject | 创建的用户技能对象

使用示例：
function TestDemo()
    local tmpMagname = "雷电术"
    --获取玩家技能列表
    local tmpMagiclist = gPlayer.MagicList
    --技能列表存在
    if tmpMagiclist then
        --遍历
        for key in pairs(tmpMagiclist) do
            if tmpMagname == tmpMagiclist[key].Name then
                print("当前用户已存在该技能。")
                return
            end
        end

        --获取数据库技能列表
        local tmpDbmagiclist = gSystem:GetDBMagicList()
        --技能列表存在
        if tmpDbmagiclist then
            for key in pairs(tmpDbmagiclist) do
                if tmpMagname == tmpDbmagiclist[key].Name then
                    --按数据库物品创建用户物品
                    local tmpMagic = gSystem:CreateMagicByDBMagic(gPlayer, tmpDbmagiclist[key])
                    if tmpMagic then
                        print(string.format("创建技能[%s]成功", tmpMagic.Name))
                        tmpMagic.Level = 3
                        --添加技能对象,成功返回创建技能索引，失败则返回-1
                        if gPlayer:AddMagic(tmpMagic) >= 0 then
                            gPlayer:SendAddMagic(tmpMagic)
                            print(string.format("创建技能[%s]已经添加到玩家[%s]技能栏", tmpMagic.Name,
                                gPlayer.Name))
                        else
                            print("添加技能对象失败。")
                            --释放技能对象
                            tmpMagic:Free()
                        end
                    end
                    break


TSystem [系统对象类]

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] >
TDBItemObject

TDBItemObject介绍：

    TDBItemObject为数据库物品类


属性

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] >
TDBItemObject

数据库物品类：

属性名称 | 描述 | 读写状态
Name | 物品名称 | 只读
DBName | 物品DB名称 | 只读
StdMode | 物品Stdmode类别 | 只读
Shape | 物品Shape类别 | 只读
Weight | 物品重量 | 只读
AniCount | 数据库AniCount属性 | 只读
Source | 物品数据库Source属性 | 只读
Reserved | 物品数据库Reserved属性 | 只读
NeedIdentify | 需要鉴定 | 只读
Looks | 物品内观编号(Items.wzl内的编号) | 只读
DuraMax | 物品持久上限 | 只读
Reserved1 | 特殊属性 | 只读
HP | 血量提升 | 只读
MP | 蓝量提升 | 只读
AC | 防御下限 | 只读
MaxAC | 防御上限 | 只读
MAC | 魔御下限 | 只读
MaxMAC | 魔御上限 | 只读
DC | 攻击下限 | 只读
MaxDC | 攻击上限 | 只读
MC | 魔法下限 | 只读
MaxMC | 魔法上限 | 只读
SC | 道术下限 | 只读
MaxSC | 道术上限 | 只读
Need | 计时方式 | 只读
NeedLevel | 计时时间 | 只读
Price | 出售价格 | 只读
OverLap | 是否叠加 | 只读
Color | 颜色 | 只读
Stock | 库存量 | 只读
Light | 发光特效 | 只读
Horse | 骑马特效 | 只读
Expand1 | 首饰盒与生肖放入条件 | 只读
Expand2 | 佩戴马牌外观特效 | 只读
Expand3 | 佩戴装备触发指定技能ID | 只读
Expand4 | 佩戴装备触发指定技能等级 | 只读
Expand5 | 隐藏发型 | 只读
InsuranceCurrency | 保金类型 | 只读
InsuranceGold | 投保金额 | 只读
BagEffect | 背包特效 | 只读
BodyEffect | 内观特效 | 只读
Effect | 物品新特性编号 | 只读
Elements | 天生元素 | 只读


物品名称

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
物品名称

属性名称：

    Name

说明：

    物品名称

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相同，相同后就跳出遍历
            if tmpDbitemlist[key].Name == "灾难降临-灭世法衣（男）" then
                --M2后台输出
                print(string.format("物品名称：%s", tmpDbitemlist[key].Name))
                --游戏界面输出
                gPlayer:SysMsg(string.format("物品名称：%s", tmpDbitemlist[key].Name), 215, 116, 1)
                break
            end
        end
        tmpDbitemlist = nil


物品DB名称

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
物品DB名称

属性名称：

    DBName

说明：

    物品DB名称

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相同，相同后就跳出遍历
            if tmpDbitemlist[key].Name == "灾难降临-灭世法衣（男）" then
                --输出数据库里面物品DB名称
                print(string.format("物品DB名称：%s", tmpDbitemlist[key].DBName))
                break
            end
        end
        tmpDbitemlist = nil


物品Stdmode类别

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
物品Stdmode类别

属性名称：

    StdMode

说明：

    物品Stdmode类别

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相同，相同后就跳出遍历
            if tmpDbitemlist[key].Name == "灾难降临-灭世法衣（男）" then
                --输出数据库里面物品装备属性
                print(string.format("装备属性：%d", tmpDbitemlist[key].StdMode))
                break
            end
        end
        tmpDbitemlist = nil


物品Shape类别

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
物品Shape类别

属性名称：

    Shape

说明：

    物品Shape类别

读写状态：

    只读

使用示例：

function TestDemo()
    --数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相同，相同后就跳出遍历
            if tmpDbitemlist[key].Name == "灾难降临-灭世法衣（男）" then
                --输出数据库里面物品外观
                print(string.format("外观：%d", tmpDbitemlist[key].Shape))
                break
            end
        end
        tmpDbitemlist = nil


物品重量

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
物品重量

属性名称：

    Weight

说明：

    物品重量

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相同，相同后就跳出遍历
            if tmpDbitemlist[key].Name == "灾难降临-灭世法衣（男）" then
                --输出数据库里面物品重量
                print(string.format("重量：%d", tmpDbitemlist[key].Weight))
                break
            end
        end
        tmpDbitemlist = nil


数据库AniCount属性

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
数据库AniCount属性

属性名称：

    AniCount

说明：

    数据库AniCount属性

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相同，相同后就跳出遍历
            if tmpDbitemlist[key].Name == "灾难降临-灭世法衣（男）" then
                --输出数据库里面物品触发序号
                print(string.format("触发序号：%d", tmpDbitemlist[key].AniCount))
                break
            end
        end
        tmpDbitemlist = nil


物品数据库Source属性

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
物品数据库Source属性

属性名称：

    Source

说明：

    物品数据库Source属性

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相同，相同后就跳出遍历
            if tmpDbitemlist[key].Name == "灾难降临-灭世法衣（男）" then
                --输出数据库里面物品特殊属性
                print(string.format("特殊属性：%d", tmpDbitemlist[key].Source))
                break
            end
        end
        tmpDbitemlist = nil


显示方式

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
物品数据库Reserved属性

属性名称：

    Reserved

说明：

    物品数据库Reserved属性

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相同，相同后就跳出遍历
            if tmpDbitemlist[key].Name == "灾难降临-灭世法衣（男）" then
                --输出数据库里面物品显示方式
                print(string.format("显示方式：%d", tmpDbitemlist[key].Reserved))
                break
            end
        end
        tmpDbitemlist = nil


需要鉴定

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
需要鉴定

属性名称：

    NeedIdentify

说明：

    需要鉴定

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相同，相同后就跳出遍历
            if tmpDbitemlist[key].Name == "灾难降临-灭世法衣（男）" then
                --输出数据库里面物品需要鉴定
                print(string.format("需要鉴定：%d", tmpDbitemlist[key].NeedIdentify))
                break
            end
        end
        tmpDbitemlist = nil


物品内观编号(Items.wzl内的编号)

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
物品内观编号(Items.wzl内的编号)

属性名称：

    Looks

说明：

    物品内观编号(Items.wzl内的编号)

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相同，相同后就跳出遍历
            if tmpDbitemlist[key].Name == "灾难降临-灭世法衣（男）" then
                --输出数据库里面物品内观
                print(string.format("内观：%d", tmpDbitemlist[key].Looks))
                break
            end
        end
        tmpDbitemlist = nil


物品持久

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
物品持久

属性名称：

    MaxDurable

说明：

    物品持久

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相同，相同后就跳出遍历
            if tmpDbitemlist[key].Name == "灾难降临-灭世法衣（男）" then
                --输出数据库里面物品持久
                print(string.format("持久：%d", tmpDbitemlist[key].MaxDurable))
                break
            end
        end
        tmpDbitemlist = nil


特殊属性

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
特殊属性

属性名称：

    Reserved1

说明：

    特殊属性

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '圣诞-地狱潜行者刃') then
                --输出数据库物品特殊属性
                print(tmpDbitemlist[key].Reserved1)
                break
            end
        end
        tmpDbitemlist = nil


血量提升

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
血量提升

属性名称：

    HP

说明：

    血量提升

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '卡萨的囚禁-狂虐者（男）') then
                --输出数据库物品血量提升
                print(tmpDbitemlist[key].HP)
                break
            end
        end
        tmpDbitemlist = nil


蓝量提升

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
蓝量提升

属性名称：

    MP

说明：

    蓝量提升

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '卡萨的囚禁-狂虐者（男）') then
                --输出数据库物品蓝量提升
                print(tmpDbitemlist[key].MP)
                break
            end
        end
        tmpDbitemlist = nil


防御下限

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
防御下限

属性名称：

    AC

说明：

    防御下限

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '卡萨的囚禁-狂虐者（男）') then
                --输出数据库物品防御下限
                print(tmpDbitemlist[key].AC)
                break
            end
        end
        tmpDbitemlist = nil


防御上限

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
防御上限

属性名称：

    MaxAC

说明：

    防御上限

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '卡萨的囚禁-狂虐者（男）') then
                --输出数据库物品防御上限
                print(tmpDbitemlist[key].MaxAC)
                break
            end
        end
        tmpDbitemlist = nil


魔御下限

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
魔御下限

属性名称：

    MAC

说明：

    魔御下限

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '卡萨的囚禁-狂虐者（男）') then
                --输出数据库物品魔御下限
                print(tmpDbitemlist[key].MAC)
                break
            end
        end
        tmpDbitemlist = nil


魔御上限

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
魔御上限

属性名称：

    MaxMAC

说明：

    魔御上限

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '卡萨的囚禁-狂虐者（男）') then
                --输出数据库物品魔御上限
                print(tmpDbitemlist[key].MaxMAC)
                break
            end
        end
        tmpDbitemlist = nil


攻击下限

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
攻击下限

属性名称：

    DC

说明：

    攻击下限

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '卡萨的囚禁-狂虐者（男）') then
                --输出数据库物品攻击下限
                print(tmpDbitemlist[key].DC)
                break
            end
        end
        tmpDbitemlist = nil


攻击上限

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
攻击上限

属性名称：

    MaxDC

说明：

    攻击上限

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '卡萨的囚禁-狂虐者（男）') then
                --输出数据库物品攻击上限
                print(tmpDbitemlist[key].MaxDC)
                break
            end
        end
        tmpDbitemlist = nil


魔法下限

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
魔法下限

属性名称：

    MC

说明：

    魔法下限

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '卡萨的囚禁-狂虐者（男）') then
                --输出数据库物品魔法下限
                print(tmpDbitemlist[key].MC)
                break
            end
        end
        tmpDbitemlist = nil


魔法上限

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
魔法上限

属性名称：

    MaxMC

说明：

    魔法上限

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '卡萨的囚禁-狂虐者（男）') then
                --输出数据库物品魔法上限
                print(tmpDbitemlist[key].MaxMC)
                break
            end
        end
        tmpDbitemlist = nil


道术下限

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
道术下限

属性名称：

    SC

说明：

    道术下限

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '卡萨的囚禁-狂虐者（男）') then
                --输出数据库物品道术下限
                print(tmpDbitemlist[key].SC)
                break
            end
        end
        tmpDbitemlist = nil


道术上限

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
道术上限

属性名称：

    MaxSC

说明：

    道术上限

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '卡萨的囚禁-狂虐者（男）') then
                --输出数据库物品道术上限
                print(tmpDbitemlist[key].MaxSC)
                break
            end
        end
        tmpDbitemlist = nil


计时方式

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
计时方式

属性名称：

    Need

说明：

    计时方式

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '限时武器') then
                --输出数据库物品计时方式
                print(tmpDbitemlist[key].Need)
                break
            end
        end
        tmpDbitemlist = nil


计时时间

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
计时时间

属性名称：

    NeedLevel

说明：

    计时时间

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '限时武器') then
                --输出数据库物品计时时间
                print(tmpDbitemlist[key].NeedLevel)
                break
            end
        end
        tmpDbitemlist = nil


出售价格

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
出售价格

属性名称：

    Price

说明：

    出售价格

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '卡萨的囚禁-狂虐者（男）') then
                --输出数据库物品出售价格
                print(tmpDbitemlist[key].Price)
                break
            end
        end
        tmpDbitemlist = nil


是否叠加

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
是否叠加

属性名称：

    OverLap

说明：

    是否叠加

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '洗髓丹') then
                --输出数据库物品是否叠加
                print(tmpDbitemlist[key].OverLap)
                break
            end
        end
        tmpDbitemlist = nil


颜色

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
颜色

属性名称：

    Color

说明：

    颜色

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '巫术之剑-金蛇') then
                --输出数据库物品颜色
                print(tmpDbitemlist[key].Color)
                break
            end
        end
        tmpDbitemlist = nil


库存量

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
库存量

属性名称：

    Stock

说明：

    库存量

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '洗髓丹') then
                --输出数据库物品库存量
                print(tmpDbitemlist[key].Stock)
                break
            end
        end
        tmpDbitemlist = nil


发光特效

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
发光特效

属性名称：

    Light

说明：

    发光特效

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '巫术之剑-金蛇') then
                --输出数据库物品发光特效
                print(tmpDbitemlist[key].Light)
                break
            end
        end
        tmpDbitemlist = nil


骑马特效

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
骑马特效

属性名称：

    Horse

说明：

    骑马特效

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '巫术马牌') then
                --输出数据库物品骑马特效
                print(tmpDbitemlist[key].Horse)
                break
            end
        end
        tmpDbitemlist = nil


首饰盒与生肖放入条件

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
首饰盒与生肖放入条件

属性名称：

    Expand1

说明：

    首饰盒与生肖放入条件

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '生肖猴') then
                --输出数据库物品首饰盒与生肖放入条件
                print(tmpDbitemlist[key].Expand1)
                break
            end
        end
        tmpDbitemlist = nil


佩戴马牌外观特效

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
佩戴马牌外观特效

属性名称：

    Expand2

说明：

    佩戴马牌外观特效

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '乌苏马牌') then
                --输出数据库物品佩戴马牌外观特效
                print(tmpDbitemlist[key].Expand2)
                break
            end
        end
        tmpDbitemlist = nil


佩戴装备触发指定技能ID

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
佩戴装备触发指定技能ID

属性名称：

    Expand3

说明：

    佩戴装备触发指定技能ID

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '乌苏马牌') then
                --输出数据库物品佩戴装备触发指定技能ID
                print(tmpDbitemlist[key].Expand3)
                break
            end
        end
        tmpDbitemlist = nil


装备触发指定技能等级

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
装备触发指定技能等级

属性名称：

    Expand4

说明：

    装备触发指定技能等级

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '乌苏马牌') then
                --输出数据库物品装备触发指定技能等级
                print(tmpDbitemlist[key].Expand4)
                break
            end
        end
        tmpDbitemlist = nil


隐藏发型

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
隐藏发型

属性名称：

    Expand5

说明：

    隐藏发型

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '乌苏马牌') then
                --输出数据库物品隐藏发型
                print(tmpDbitemlist[key].Expand5)
                break
            end
        end
        tmpDbitemlist = nil


保金类型

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
保金类型

属性名称：

    InsuranceCurrency

说明：

    保金类型

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '布隆-残杀者重锤') then
                --输出数据库物品保金类型
                print(tmpDbitemlist[key].InsuranceCurrency)
                break
            end
        end
        tmpDbitemlist = nil


投保金额

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
投保金额

属性名称：

    InsuranceGold

说明：

    投保金额

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '布隆-残杀者重锤') then
                --输出数据库物品投保金额
                print(tmpDbitemlist[key].InsuranceGold)
                break
            end
        end
        tmpDbitemlist = nil


背包特效

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
背包特效

属性名称：

    BagEffect

说明：

    背包特效

读写状态：

    只读

值类型结构：

名称 | 描述
FileIndex | 资源编号
ImageStart | 图片开始张数
ImageCount | 读取图片数量
IsDrawCenter | 是否居中模式
IsDrawNoBlend | 非透明绘制
IsDrawBelow | 底层绘制
OffsetX | 微调X
OffsetY | 微调Y
Time | 播放速度

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '布隆-残杀者重锤') then
                print(tmpDbitemlist[key].Name)
                --输出数据库物品获取背包特效-资源编号
                print(tmpDbitemlist[key].BagEffect.FileIndex)
                break
            end
        end
        tmpDbitemlist = nil


内观特效

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
内观特效

属性名称：

    BodyEffect

说明：

    内观特效

读写状态：

    只读

值类型结构：

名称 | 描述
FileIndex | 资源编号
ImageStart | 图片开始张数
ImageCount | 读取图片数量
IsDrawCenter | 是否居中模式
IsDrawNoBlend | 非透明绘制
IsDrawBelow | 底层绘制
OffsetX | 微调X
OffsetY | 微调Y
Time | 播放速度

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '布隆-残杀者重锤') then
                print(tmpDbitemlist[key].Name)
                --输出数据库物品获取内观特效-资源编号
                print(tmpDbitemlist[key].BodyEffect.FileIndex)
                break
            end
        end
        tmpDbitemlist = nil


物品新特性编号

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
物品新特性编号

属性名称：

    Effect

说明：

    物品新特性编号

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
        --遍历物品列表
        for key in pairs(tmpDbitemlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbitemlist[key].Name == '布隆-残杀者重锤') then
                --输出数据库物品物品新特性编号
                print(tmpDbitemlist[key].Effect)
                break
            end
        end
        tmpDbitemlist = nil


天生元素

GXX引擎 Lua脚本接口 > TDBItemObject [数据库物品类] > 属性 >
天生元素

属性名称：

    Elements

说明：

    天生元素(Elements[0-24] 对应数据库的 Element-Element24)

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库物品列表
    local tmpDbitemlist = gSystem:GetDBItemList()
    --物品列表存在
    if tmpDbitemlist then
    --遍历物品列表
    for key in pairs(tmpDbitemlist) do
        --物品名称是否相等，相等输出后就跳出遍历
        if (tmpDbitemlist[key].Name == '布隆-残杀者重锤') then
            print(tmpDbitemlist[key].Name)
             --输出数据库物品物品天生元素
            print(tmpDbitemlist[key].Elements[0])
            break
        end
    end
    tmpDbitemlist = nil


TSystem [系统对象类]

GXX引擎 Lua脚本接口 > TDBMonObject [数据库怪物类] >
TDBMonObject

TDBMonObject介绍：

    TDBMonObject为数据库怪物类


属性

GXX引擎 Lua脚本接口 > TDBMonObject [数据库怪物类] >
TDBItemObject

数据库怪物类：

属性名称 | 描述 | 读写状态
Name | 怪物名称 | 只读
Race | 攻击类型 | 只读
RaceImg | 攻击图像 | 只读
Appr | 怪物外观 | 只读
Level | 怪物等级 | 只读
LifeAttrib | 生命属性 | 只读
Undead | 不死系 | 只读
CoolEye | 反隐身 | 只读
Exp | 经验值 | 只读
HP | 生命值 | 只读
MP | 魔法值 | 只读
AC | 防御 | 只读
MAC | 魔御 | 只读
DC | 攻击下限 | 只读
MaxDC | 攻击上限 | 只读
MC | 魔法 | 只读
SC | 道术 | 只读
Speed | 敏捷 | 只读
HitPoint | 准确 | 只读
WalkSpeed | 移动速度 | 只读
WalkStep | 行走步伐 | 只读
WalkWait | 行走等待 | 只读
AttackSpeed | 攻击速度 | 只读
ExploreItem | 怪物死亡后是否可探索 | 只读
DisableSimpleActor | 禁止怪物简装 | 只读
Icons | 顶戴花翎 | 只读


怪物名称

GXX引擎 Lua脚本接口 > TDBMonObject [数据库怪物类] > 属性 >
怪物名称

属性名称：

    Name

说明：

    怪物名称

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库怪物列表
    local tmpDbmonsterlist = gSystem:GetDBMonsterList()
    --怪物列表存在
    if tmpDbmonsterlist then
        --遍历
        for key in pairs(tmpDbmonsterlist) do
            --M2后台输出
            print(string.format("怪物名称：%s", tmpDbmonsterlist[key].Name))
            --游戏界面输出
            gPlayer:SysMsg(string.format("怪物名称：%s", tmpDbmonsterlist[key].Name), 215, 116, 1)
        end
        tmpDbmonsterlist = nil


攻击类型

GXX引擎 Lua脚本接口 > TDBMonObject [数据库怪物类] > 属性 >
攻击类型

属性名称：

    Race

说明：

    攻击类型

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库怪物列表
    local tmpDbmonsterlist = gSystem:GetDBMonsterList()
    --怪物列表存在
    if tmpDbmonsterlist then
        --遍历
        for key in pairs(tmpDbmonsterlist) do
            if tmpDbmonsterlist[key].Name == '铁血泰罗[BOSS]' then
                --M2后台输出
                print(string.format("攻击类型：%d", tmpDbmonsterlist[key].Race))
                --游戏界面输出
                gPlayer:SysMsg(string.format("攻击类型：%d", tmpDbmonsterlist[key].Race), 215, 116, 1)
                break
            end
        end
        tmpDbmonsterlist = nil


攻击图像

GXX引擎 Lua脚本接口 > TDBMonObject [数据库怪物类] > 属性 >
攻击图像

属性名称：

    RaceImg

说明：

    攻击图像

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库怪物列表
    local tmpDbmonsterlist = gSystem:GetDBMonsterList()
    --怪物列表存在
    if tmpDbmonsterlist then
        --遍历
        for key in pairs(tmpDbmonsterlist) do
            if tmpDbmonsterlist[key].Name == '铁血泰罗[BOSS]' then
                --输出数据库里面攻击图像
                print(tmpDbmonsterlist[key].RaceImg)
                break
            end
        end
        tmpDbmonsterlist = nil


怪物外观

GXX引擎 Lua脚本接口 > TDBMonObject [数据库怪物类] > 属性 >
怪物外观

属性名称：

    Appr

说明：

    怪物外观

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库怪物列表
    local tmpDbmonsterlist = gSystem:GetDBMonsterList()
    --怪物列表存在
    if tmpDbmonsterlist then
        --遍历
        for key in pairs(tmpDbmonsterlist) do
            if tmpDbmonsterlist[key].Name == '铁血泰罗[BOSS]' then
                --输出数据库里面怪物外观
                print(tmpDbmonsterlist[key].Appr)
                break
            end
        end
        tmpDbmonsterlist = nil


怪物等级

GXX引擎 Lua脚本接口 > TDBMonObject [数据库怪物类] > 属性 >
怪物等级

属性名称：

    Level

说明：

    怪物等级

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库怪物列表
    local tmpDbmonsterlist = gSystem:GetDBMonsterList()
    --怪物列表存在
    if tmpDbmonsterlist then
        --遍历
        for key in pairs(tmpDbmonsterlist) do
            if tmpDbmonsterlist[key].Name == '铁血泰罗[BOSS]' then
                --输出数据库里面怪物等级
                print(tmpDbmonsterlist[key].Level)
                break
            end
        end
        tmpDbmonsterlist = nil


生命属性

GXX引擎 Lua脚本接口 > TDBMonObject [数据库怪物类] > 属性 >
生命属性

属性名称：

    LifeAttrib

说明：

    生命属性

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库怪物列表
    local tmpDbmonsterlist = gSystem:GetDBMonsterList()
    --怪物列表存在
    if tmpDbmonsterlist then
        --遍历
        for key in pairs(tmpDbmonsterlist) do
            if tmpDbmonsterlist[key].Name == '铁血泰罗[BOSS]' then
                --输出数据库里面生命属性
                print(tmpDbmonsterlist[key].LifeAttrib)
                break
            end
        end
        tmpDbmonsterlist = nil


不死系

GXX引擎 Lua脚本接口 > TDBMonObject [数据库怪物类] > 属性 >
不死系

属性名称：

    Undead

说明：

    不死系

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库怪物列表
    local tmpDbmonsterlist = gSystem:GetDBMonsterList()
    --怪物列表存在
    if tmpDbmonsterlist then
        --遍历
        for key in pairs(tmpDbmonsterlist) do
            if tmpDbmonsterlist[key].Name == '铁血泰罗[BOSS]' then
                --输出数据库里面不死系
                print(tmpDbmonsterlist[key].Undead)
                break
            end
        end
        tmpDbmonsterlist = nil


反隐身

GXX引擎 Lua脚本接口 > TDBMonObject [数据库怪物类] > 属性 >
反隐身

属性名称：

    CoolEye

说明：

    反隐身

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库怪物列表
    local tmpDbmonsterlist = gSystem:GetDBMonsterList()
    --怪物列表存在
    if tmpDbmonsterlist then
        --遍历
        for key in pairs(tmpDbmonsterlist) do
            if tmpDbmonsterlist[key].Name == '铁血泰罗[BOSS]' then
                --输出数据库里面反隐身
                print(tmpDbmonsterlist[key].CoolEye)
                break
            end
        end
        tmpDbmonsterlist = nil


经验值

GXX引擎 Lua脚本接口 > TDBMonObject [数据库怪物类] > 属性 >
经验值

属性名称：

    Exp

说明：

    经验值

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库怪物列表
    local tmpDbmonsterlist = gSystem:GetDBMonsterList()
    --怪物列表存在
    if tmpDbmonsterlist then
        --遍历
        for key in pairs(tmpDbmonsterlist) do
            if tmpDbmonsterlist[key].Name == '铁血泰罗[BOSS]' then
                --输出数据库里面经验值
                print(tmpDbmonsterlist[key].Exp)
                break
            end
        end
        tmpDbmonsterlist = nil


生命值

GXX引擎 Lua脚本接口 > TDBMonObject [数据库怪物类] > 属性 >
生命值

属性名称：

    HP

说明：

    生命值

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库怪物列表
    local tmpDbmonsterlist = gSystem:GetDBMonsterList()
    --怪物列表存在
    if tmpDbmonsterlist then
        --遍历
        for key in pairs(tmpDbmonsterlist) do
            if tmpDbmonsterlist[key].Name == '铁血泰罗[BOSS]' then
                --输出数据库里面生命值
                print(tmpDbmonsterlist[key].HP)
                break
            end
        end
        tmpDbmonsterlist = nil


魔法值

GXX引擎 Lua脚本接口 > TDBMonObject [数据库怪物类] > 属性 >
魔法值

属性名称：

    MP

说明：

    魔法值

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库怪物列表
    local tmpDbmonsterlist = gSystem:GetDBMonsterList()
    --怪物列表存在
    if tmpDbmonsterlist then
        --遍历
        for key in pairs(tmpDbmonsterlist) do
            if tmpDbmonsterlist[key].Name == '铁血泰罗[BOSS]' then
                --输出数据库里面魔法值
                print(tmpDbmonsterlist[key].MP)
                break
            end
        end
        tmpDbmonsterlist = nil


防御

GXX引擎 Lua脚本接口 > TDBMonObject [数据库怪物类] > 属性 >
防御

属性名称：

    AC

说明：

    防御

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库怪物列表
    local tmpDbmonsterlist = gSystem:GetDBMonsterList()
    --怪物列表存在
    if tmpDbmonsterlist then
        --遍历
        for key in pairs(tmpDbmonsterlist) do
            if tmpDbmonsterlist[key].Name == '铁血泰罗[BOSS]' then
                --输出数据库里面防御
                print(tmpDbmonsterlist[key].AC)
                break
            end
        end
        tmpDbmonsterlist = nil


魔御

GXX引擎 Lua脚本接口 > TDBMonObject [数据库怪物类] > 属性 >
魔御

属性名称：

    MAC

说明：

    魔御

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库怪物列表
    local tmpDbmonsterlist = gSystem:GetDBMonsterList()
    --怪物列表存在
    if tmpDbmonsterlist then
        --遍历
        for key in pairs(tmpDbmonsterlist) do
            if tmpDbmonsterlist[key].Name == '铁血泰罗[BOSS]' then
                --输出数据库里面魔御
                print(tmpDbmonsterlist[key].MAC)
                break
            end
        end
        tmpDbmonsterlist = nil


攻击下限

GXX引擎 Lua脚本接口 > TDBMonObject [数据库怪物类] > 属性 >
攻击下限

属性名称：

    DC

说明：

    攻击下限

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库怪物列表
    local tmpDbmonsterlist = gSystem:GetDBMonsterList()
    --怪物列表存在
    if tmpDbmonsterlist then
        --遍历
        for key in pairs(tmpDbmonsterlist) do
            if tmpDbmonsterlist[key].Name == '铁血泰罗[BOSS]' then
                --输出数据库里面攻击下限
                print(tmpDbmonsterlist[key].DC)
                break
            end
        end
        tmpDbmonsterlist = nil


攻击上限

GXX引擎 Lua脚本接口 > TDBMonObject [数据库怪物类] > 属性 >
攻击上限

属性名称：

    MaxDC

说明：

    攻击上限

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库怪物列表
    local tmpDbmonsterlist = gSystem:GetDBMonsterList()
    --怪物列表存在
    if tmpDbmonsterlist then
        --遍历
        for key in pairs(tmpDbmonsterlist) do
            if tmpDbmonsterlist[key].Name == '铁血泰罗[BOSS]' then
                --输出数据库里面攻击上限
                print(tmpDbmonsterlist[key].MaxDC)
                break
            end
        end
        tmpDbmonsterlist = nil


魔法

GXX引擎 Lua脚本接口 > TDBMonObject [数据库怪物类] > 属性 >
魔法

属性名称：

    MC

说明：

    魔法

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库怪物列表
    local tmpDbmonsterlist = gSystem:GetDBMonsterList()
    --怪物列表存在
    if tmpDbmonsterlist then
        --遍历
        for key in pairs(tmpDbmonsterlist) do
            if tmpDbmonsterlist[key].Name == '铁血泰罗[BOSS]' then
                --输出数据库里面魔法
                print(tmpDbmonsterlist[key].MC)
                break
            end
        end
        tmpDbmonsterlist = nil


道术

GXX引擎 Lua脚本接口 > TDBMonObject [数据库怪物类] > 属性 >
道术

属性名称：

    SC

说明：

    道术

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库怪物列表
    local tmpDbmonsterlist = gSystem:GetDBMonsterList()
    --怪物列表存在
    if tmpDbmonsterlist then
        --遍历
        for key in pairs(tmpDbmonsterlist) do
            if tmpDbmonsterlist[key].Name == '铁血泰罗[BOSS]' then
                --输出数据库里面道术
                print(tmpDbmonsterlist[key].SC)
                break
            end
        end
        tmpDbmonsterlist = nil


敏捷

GXX引擎 Lua脚本接口 > TDBMonObject [数据库怪物类] > 属性 >
敏捷

属性名称：

    Speed

说明：

    敏捷

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库怪物列表
    local tmpDbmonsterlist = gSystem:GetDBMonsterList()
    --怪物列表存在
    if tmpDbmonsterlist then
        --遍历
        for key in pairs(tmpDbmonsterlist) do
            if tmpDbmonsterlist[key].Name == '铁血泰罗[BOSS]' then
                --输出数据库里面敏捷
                print(tmpDbmonsterlist[key].Speed)
                break
            end
        end
        tmpDbmonsterlist = nil


准确

GXX引擎 Lua脚本接口 > TDBMonObject [数据库怪物类] > 属性 >
准确

属性名称：

    HitPoint

说明：

    准确

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库怪物列表
    local tmpDbmonsterlist = gSystem:GetDBMonsterList()
    --怪物列表存在
    if tmpDbmonsterlist then
        --遍历
        for key in pairs(tmpDbmonsterlist) do
            if tmpDbmonsterlist[key].Name == '铁血泰罗[BOSS]' then
                --输出数据库里面准确
                print(tmpDbmonsterlist[key].HitPoint)
                break
            end
        end
        tmpDbmonsterlist = nil


移动速度

GXX引擎 Lua脚本接口 > TDBMonObject [数据库怪物类] > 属性 >
移动速度

属性名称：

    WalkSpeed

说明：

    移动速度

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库怪物列表
    local tmpDbmonsterlist = gSystem:GetDBMonsterList()
    --怪物列表存在
    if tmpDbmonsterlist then
        --遍历
        for key in pairs(tmpDbmonsterlist) do
            if tmpDbmonsterlist[key].Name == '铁血泰罗[BOSS]' then
                --输出数据库里面移动速度
                print(tmpDbmonsterlist[key].WalkSpeed)
                break
            end
        end
        tmpDbmonsterlist = nil


行走步伐

GXX引擎 Lua脚本接口 > TDBMonObject [数据库怪物类] > 属性 >
行走步伐

属性名称：

    WalkStep

说明：

    行走步伐

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库怪物列表
    local tmpDbmonsterlist = gSystem:GetDBMonsterList()
    --怪物列表存在
    if tmpDbmonsterlist then
        --遍历
        for key in pairs(tmpDbmonsterlist) do
            if tmpDbmonsterlist[key].Name == '铁血泰罗[BOSS]' then
                --输出数据库里面行走步伐
                print(tmpDbmonsterlist[key].WalkStep)
                break
            end
        end
        tmpDbmonsterlist = nil


行走等待

GXX引擎 Lua脚本接口 > TDBMonObject [数据库怪物类] > 属性 >
行走等待

属性名称：

    WalkWait

说明：

    行走等待

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库怪物列表
    local tmpDbmonsterlist = gSystem:GetDBMonsterList()
    --怪物列表存在
    if tmpDbmonsterlist then
        --遍历
        for key in pairs(tmpDbmonsterlist) do
            if tmpDbmonsterlist[key].Name == '铁血泰罗[BOSS]' then
                --输出数据库里面行走等待
                print(tmpDbmonsterlist[key].WalkWait)
                break
            end
        end
        tmpDbmonsterlist = nil


攻击速度

GXX引擎 Lua脚本接口 > TDBMonObject [数据库怪物类] > 属性 >
攻击速度

属性名称：

    AttackSpeed

说明：

    攻击速度

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库怪物列表
    local tmpDbmonsterlist = gSystem:GetDBMonsterList()
    --怪物列表存在
    if tmpDbmonsterlist then
        --遍历
        for key in pairs(tmpDbmonsterlist) do
            if tmpDbmonsterlist[key].Name == '铁血泰罗[BOSS]' then
                --输出数据库里面攻击速度
                print(tmpDbmonsterlist[key].AttackSpeed)
                break
            end
        end
        tmpDbmonsterlist = nil


怪物死亡后是否可探索

GXX引擎 Lua脚本接口 > TDBMonObject [数据库怪物类] > 属性 >
怪物死亡后是否可探索

属性名称：

    ExploreItem

说明：

    怪物死亡后是否可探索

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库怪物列表
    local tmpDbmonsterlist = gSystem:GetDBMonsterList()
    --怪物列表存在
    if tmpDbmonsterlist then
        --遍历
        for key in pairs(tmpDbmonsterlist) do
            if tmpDbmonsterlist[key].Name == '铁血泰罗[BOSS]' then
                --输出数据库里面怪物死亡后是否可探索
                print(tmpDbmonsterlist[key].ExploreItem)
                break
            end
        end
        tmpDbmonsterlist = nil


禁止怪物简装

GXX引擎 Lua脚本接口 > TDBMonObject [数据库怪物类] > 属性 >
禁止怪物简装

属性名称：

    DisableSimpleActor

说明：

    禁止怪物简装

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库怪物列表
    local tmpDbmonsterlist = gSystem:GetDBMonsterList()
    --怪物列表存在
    if tmpDbmonsterlist then
        --遍历
        for key in pairs(tmpDbmonsterlist) do
            if tmpDbmonsterlist[key].Name == '铁血泰罗[BOSS]' then
                --输出数据库里面禁止怪物简装
                print(tmpDbmonsterlist[key].DisableSimpleActor)
                break
            end
        end
        tmpDbmonsterlist = nil


顶戴花翎

GXX引擎 Lua脚本接口 > TDBMonObject [数据库怪物类] > 属性 >
顶戴花翎

属性名称：

    Icons

说明：

    顶戴花翎

读写状态：

    只读

值类型结构：

名称 | 描述
FileIndex | WIL文件序号
IconIndex | 图片序号
IconCount | 图片数量(0-65535)
X | X
Y | Y
Blend | 播放效果(0普通 1特效)
DrawOrder | 播放顺序(0或空：在角色前面；非0：在角色后面)
PlayTime | 播放速度(为空默认为300)
OnlySelfVisible | 是否仅自己可见(0或空: 所有人可见; 1:仅自己可见)

使用示例：
function TestDemo()
    --获取数据库怪物信息列表
    local tmpDbmonsterlist = gSystem:GetDBMonsterList()
    --怪物列表存在
    if tmpDbmonsterlist then
        --遍历
        for key in pairs(tmpDbmonsterlist) do
            --物品名称是否相等，相等输出后就跳出遍历
            if (tmpDbmonsterlist[key].Name == '暗影魔王[BOSS]') then
                --输出数据库怪物顶戴花翎图片序号
                print(tmpDbmonsterlist[key].Icons[0].IconIndex)
                break
            end
        end
        tmpDbmonsterlist = nil


TSystem [系统对象类]

GXX引擎 Lua脚本接口 > TDBMagicObject [数据库技能类] >
TDBItemObject

TDBMagicObject介绍：

    TDBMagicObject为数据库技能类


属性

GXX引擎 Lua脚本接口 > TDBMagicObject [数据库技能类] >
TDBItemObject

数据库技能类：

属性名称 | 描述 | 读写状态
ID | 技能序号 | 只读
Index | 索引 | 只读
Name | 技能名称 | 只读
Job | 职业 | 只读
Attr | 攻击 | 只读
EffectType | 动画效果 | 只读
Effect | 技能效果 | 只读
Spell | 技能消耗 | 只读
DefSpell | 升级魔法值 | 只读
Power | 伤害下限 | 只读
DefPower | 升级伤害下限 | 只读
MaxPower | 伤害上限 | 只读
DefMaxPower | 升级伤害上限 | 只读
TrainLv | 最高可修炼等级 | 只读
DelayTime | 延迟时间 | 只读
Descr | 备注 | 只读
CanUpgrade | 是否可升级 | 只读
MaxUpgradeLevel | 升级上限 | 只读
TrainLevel | 修炼等级 | 只读
MaxTrain | 修炼上限 | 只读


技能序号

GXX引擎 Lua脚本接口 > TDBMagicObject [数据库技能类] > 属性 >
技能序号

属性名称：

    ID

说明：

    技能序号

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库技能列表
    local tmpDbmagiclist = gSystem:GetDBMagicList()
    --技能列表存在
    if tmpDbmagiclist then
        --遍历
        for key in pairs(tmpDbmagiclist) do
            --M2后台输出
            print(string.format("技能序号：%d", tmpDbmagiclist[key].ID))
            --游戏界面输出
            gPlayer:SysMsg(string.format("技能序号：%d", tmpDbmagiclist[key].ID), 215, 116, 1)
        end
        tmpDbmagiclist = nil


索引

GXX引擎 Lua脚本接口 > TDBMagicObject [数据库技能类] > 属性 >
索引

属性名称：

    Index

说明：

    索引

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库技能列表
    local tmpDbmagiclist = gSystem:GetDBMagicList()
    --技能列表存在
    if tmpDbmagiclist then
        --遍历
        for key in pairs(tmpDbmagiclist) do
            if tmpDbmagiclist[key].Name == '金刚不坏' then
                --输出数据库里面的技能索引
                print(tmpDbmagiclist[key].Index)
                break
            end
        end
        tmpDbmagiclist = nil


技能名称

GXX引擎 Lua脚本接口 > TDBMagicObject [数据库技能类] > 属性 >
技能名称

属性名称：

    Name

说明：

    技能名称

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库技能列表
    local tmpDbmagiclist = gSystem:GetDBMagicList()
    --技能列表存在
    if tmpDbmagiclist then
        --遍历
        for key in pairs(tmpDbmagiclist) do
            if tmpDbmagiclist[key].Name == '金刚不坏' then
                --输出数据库里面的技能技能名称
                print(tmpDbmagiclist[key].Name)
                break
            end
        end
        tmpDbmagiclist = nil


职业

GXX引擎 Lua脚本接口 > TDBMagicObject [数据库技能类] > 属性 >
职业

属性名称：

    Job

说明：

    职业

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库技能列表
    local tmpDbmagiclist = gSystem:GetDBMagicList()
    --技能列表存在
    if tmpDbmagiclist then
        --遍历
        for key in pairs(tmpDbmagiclist) do
            if tmpDbmagiclist[key].Name == '金刚不坏' then
                --输出数据库里面的技能职业
                print(tmpDbmagiclist[key].Job)
                break
            end
        end
        tmpDbmagiclist = nil


攻击

GXX引擎 Lua脚本接口 > TDBMagicObject [数据库技能类] > 属性 >
攻击

属性名称：

    Attr

说明：

    攻击

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库技能列表
    local tmpDbmagiclist = gSystem:GetDBMagicList()
    --技能列表存在
    if tmpDbmagiclist then
        --遍历
        for key in pairs(tmpDbmagiclist) do
            if tmpDbmagiclist[key].Name == '金刚不坏' then
                --输出数据库里面的技能攻击
                print(tmpDbmagiclist[key].Attr)
                break
            end
        end
        tmpDbmagiclist = nil


动画效果

GXX引擎 Lua脚本接口 > TDBMagicObject [数据库技能类] > 属性 >
动画效果

属性名称：

    EffectType

说明：

    动画效果

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库技能列表
    local tmpDbmagiclist = gSystem:GetDBMagicList()
    --技能列表存在
    if tmpDbmagiclist then
        --遍历
        for key in pairs(tmpDbmagiclist) do
            if tmpDbmagiclist[key].Name == '金刚不坏' then
                --输出数据库里面的技能动画效果
                print(tmpDbmagiclist[key].EffectType)
                break
            end
        end
        tmpDbmagiclist = nil


技能效果

GXX引擎 Lua脚本接口 > TDBMagicObject [数据库技能类] > 属性 >
技能效果

属性名称：

    Effect

说明：

    技能效果

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库技能列表
    local tmpDbmagiclist = gSystem:GetDBMagicList()
    --技能列表存在
    if tmpDbmagiclist then
        --遍历
        for key in pairs(tmpDbmagiclist) do
            if tmpDbmagiclist[key].Name == '金刚不坏' then
                --输出数据库里面的技能技能效果
                print(tmpDbmagiclist[key].Effect)
                break
            end
        end
        tmpDbmagiclist = nil


技能消耗

GXX引擎 Lua脚本接口 > TDBMagicObject [数据库技能类] > 属性 >
技能消耗

属性名称：

    Spell

说明：

    技能消耗

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库技能列表
    local tmpDbmagiclist = gSystem:GetDBMagicList()
    --技能列表存在
    if tmpDbmagiclist then
        --遍历
        for key in pairs(tmpDbmagiclist) do
            if tmpDbmagiclist[key].Name == '金刚不坏' then
                --输出数据库里面的技能技能消耗
                print(tmpDbmagiclist[key].Spell)
                break
            end
        end
        tmpDbmagiclist = nil


升级魔法值

GXX引擎 Lua脚本接口 > TDBMagicObject [数据库技能类] > 属性 >
升级魔法值

属性名称：

    DefSpell

说明：

    升级魔法值

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库技能列表
    local tmpDbmagiclist = gSystem:GetDBMagicList()
    --技能列表存在
    if tmpDbmagiclist then
        --遍历
        for key in pairs(tmpDbmagiclist) do
            if tmpDbmagiclist[key].Name == '金刚不坏' then
                --输出数据库里面的技能升级魔法值
                print(tmpDbmagiclist[key].DefSpell)
                break
            end
        end
        tmpDbmagiclist = nil


伤害下限

GXX引擎 Lua脚本接口 > TDBMagicObject [数据库技能类] > 属性 >
伤害下限

属性名称：

    Power

说明：

    伤害下限

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库技能列表
    local tmpDbmagiclist = gSystem:GetDBMagicList()
    --技能列表存在
    if tmpDbmagiclist then
        --遍历
        for key in pairs(tmpDbmagiclist) do
            if tmpDbmagiclist[key].Name == '金刚不坏' then
                --输出数据库里面的技能伤害下限
                print(tmpDbmagiclist[key].Power)
                break
            end
        end
        tmpDbmagiclist = nil


升级伤害下限

GXX引擎 Lua脚本接口 > TDBMagicObject [数据库技能类] > 属性 >
升级伤害下限

属性名称：

    DefPower

说明：

    升级伤害下限

读写状态：

    只读

使用示例：

function TestDemo()
    --获取数据库技能列表
    local tmpDbmagiclist = gSystem:GetDBMagicList()
    --技能列表存在
    if tmpDbmagiclist then
        --遍历
        for key in pairs(tmpDbmagiclist) do
            if tmpDbmagiclist[key].Name == '金刚不坏' then
                --输出数据库里面的技能升级伤害下限
                print(tmpDbmagiclist[key].DefPower)
                break
            end
        end
        tmpDbmagiclist = nil


伤害上限

GXX引擎 Lua脚本接口 > TDBMagicObject [数据库技能类] > 属性 >
伤害上限

属性名称：

    MaxPower

说明：

    伤害上限

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库技能列表
    local tmpDbmagiclist = gSystem:GetDBMagicList()
    --技能列表存在
    if tmpDbmagiclist then
        --遍历
        for key in pairs(tmpDbmagiclist) do
            if tmpDbmagiclist[key].Name == '金刚不坏' then
                --输出数据库里面的技能伤害上限
                print(tmpDbmagiclist[key].MaxPower)
                break
            end
        end
        tmpDbmagiclist = nil


升级伤害上限

GXX引擎 Lua脚本接口 > TDBMagicObject [数据库技能类] > 属性 >
升级伤害上限

属性名称：

    DefMaxPower

说明：

    升级伤害上限

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库技能列表
    local tmpDbmagiclist = gSystem:GetDBMagicList()
    --技能列表存在
    if tmpDbmagiclist then
        --遍历
        for key in pairs(tmpDbmagiclist) do
            if tmpDbmagiclist[key].Name == '金刚不坏' then
                --输出数据库里面的技能升级伤害上限
                print(tmpDbmagiclist[key].DefMaxPower)
                break
            end
        end
        tmpDbmagiclist = nil


最高可修炼等级

GXX引擎 Lua脚本接口 > TDBMagicObject [数据库技能类] > 属性 >
最高可修炼等级

属性名称：

    TrainLv

说明：

    最高可修炼等级

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库技能列表
    local tmpDbmagiclist = gSystem:GetDBMagicList()
    --技能列表存在
    if tmpDbmagiclist then
        --遍历
        for key in pairs(tmpDbmagiclist) do
            if tmpDbmagiclist[key].Name == '金刚不坏' then
                --输出数据库里面的技能修炼最高等级
                print(tmpDbmagiclist[key].TrainLv)
                break
            end
        end
        tmpDbmagiclist = nil


延迟时间

GXX引擎 Lua脚本接口 > TDBMagicObject [数据库技能类] > 属性 >
延迟时间

属性名称：

    DelayTime

说明：

    延迟时间

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库技能列表
    local tmpDbmagiclist = gSystem:GetDBMagicList()
    --技能列表存在
    if tmpDbmagiclist then
        --遍历
        for key in pairs(tmpDbmagiclist) do
            if tmpDbmagiclist[key].Name == '金刚不坏' then
                --输出数据库里面的技能延迟时间
                print(tmpDbmagiclist[key].DelayTime)
                break
            end
        end
        tmpDbmagiclist = nil


备注

GXX引擎 Lua脚本接口 > TDBMagicObject [数据库技能类] > 属性 >
备注

属性名称：

    Descr

说明：

    备注

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库技能列表
    local tmpDbmagiclist = gSystem:GetDBMagicList()
    --技能列表存在
    if tmpDbmagiclist then
        --遍历
        for key in pairs(tmpDbmagiclist) do
            if tmpDbmagiclist[key].Name == '金刚不坏' then
                --输出数据库里面的技能备注
                print(tmpDbmagiclist[key].Descr)
                break
            end
        end
        tmpDbmagiclist = nil


是否可升级

GXX引擎 Lua脚本接口 > TDBMagicObject [数据库技能类] > 属性 >
是否可升级

属性名称：

    CanUpgrade

说明：

    是否可升级

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库技能列表
    local tmpDbmagiclist = gSystem:GetDBMagicList()
    --技能列表存在
    if tmpDbmagiclist then
        --遍历
        for key in pairs(tmpDbmagiclist) do
            if tmpDbmagiclist[key].Name == '金刚不坏' then
                --输出数据库里面的技能是否可升级
                print(tmpDbmagiclist[key].CanUpgrade)
                break
            end
        end
        tmpDbmagiclist = nil


升级上限

GXX引擎 Lua脚本接口 > TDBMagicObject [数据库技能类] > 属性 >
升级上限

属性名称：

    MaxUpgradeLevel

说明：

    升级上限

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库技能列表
    local tmpDbmagiclist = gSystem:GetDBMagicList()
    --技能列表存在
    if tmpDbmagiclist then
        --遍历
        for key in pairs(tmpDbmagiclist) do
            if tmpDbmagiclist[key].Name == '金刚不坏' then
                --输出数据库里面的技能升级上限
                print(tmpDbmagiclist[key].MaxUpgradeLevel)
                break
            end
        end
        tmpDbmagiclist = nil


修炼等级

GXX引擎 Lua脚本接口 > TDBMagicObject [数据库技能类] > 属性 >
修炼等级

属性名称：

    TrainLevel

说明：

    修炼等级(TrainLevel[0-15] 对应数据库NeedL1-NeedL15)

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库技能列表
    local tmpDbmagiclist = gSystem:GetDBMagicList()
    --技能列表存在
    if tmpDbmagiclist then
        --遍历
        for key in pairs(tmpDbmagiclist) do
            if tmpDbmagiclist[key].Name == '金刚不坏' then
                --输出数据库里面的技能修炼等级
                print(tmpDbmagiclist[key].TrainLevel[0])
                break
            end
        end
        tmpDbmagiclist = nil


修炼上限

GXX引擎 Lua脚本接口 > TDBMagicObject [数据库技能类] > 属性 >
修炼上限

属性名称：

    MaxTrain

说明：

    修炼上限( MaxTrain[0-15] 对应数据库L1Train-L15Train)

读写状态：

    只读

使用示例：
function TestDemo()
    --获取数据库技能列表
    local tmpDbmagiclist = gSystem:GetDBMagicList()
    --技能列表存在
    if tmpDbmagiclist then
        --遍历
        for key in pairs(tmpDbmagiclist) do
            if tmpDbmagiclist[key].Name == '金刚不坏' then
                --输出数据库里面的技能修炼上限
                print(tmpDbmagiclist[key].MaxTrain[0])
                break
            end
        end
        tmpDbmagiclist = nil


TSystem [系统对象类]

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] >
TEnvirnoment

TEnvirnoment介绍：

    TEnvirnoment为地图环境对象类


属性

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] >
TEnvirnoment

地图环境对象类：

属性名称 | 描述 | 读写状态
MapName | 地图代码 | 只读
MapTitle | 地图名称 | 只读
Width | 地图宽度 | 只读
Height | 地图高度 | 只读
MinMap | 小地图编号 | 只读
IsMainMap | 是否是主地图 | 只读
MainMapName | 主地图名称 | 只读
IsMirrMap | 是否是镜像地图 | 只读
MirrMapCreateTick | 动态镜像地图创建时间 | 只读
MirrMapSurvivalTime | 动态镜像地图存在时间 | 只读
MirrMapExitToMap | 动态地图退到哪个地图 | 只读
MirrMapMinMap | 动态镜像地图小地图编号 | 只读
AlwaysShowTime | 动态镜像地图是否一直显示时间 | 只读
IsFBMap | 是否是副本地图 | 只读
FBMapName | 副本地图名 | 只读
FBEnterLimit | 副本进入限制 | 只读
FBCreated | 副本地图是否创建 | 只读
FBCreateTime | 副本地图创建时间 | 只读
IsNotStone | 魔血石、气血石、幻魔石无效 | 只读
IsSafeMap | 是否是安全地图 | 只读
IsCopyMap | 是否是副本地图 | 只读
CopyMapName | 副本地图名称 | 只读
RevivalMaxCount | 地图允许复活次数 | 只读


地图代码

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 属性 >
地图代码

属性名称：

    MapName

说明：

    地图代码

读写状态：

    只读

使用示例：

local tmpMapname = gPlayer.Envir.MapName
if tmpMapname then
    --M2后台输出
    print(string.format("地图代码：%s", tmpMapname))
    --游戏界面输出
    gPlayer:SysMsg(string.format("地图代码：%s", tmpMapname), 215, 116, 1)


地图名称

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 属性 >
地图名称

属性名称：

    MapTitle

说明：

    地图名称

读写状态：

    只读

使用示例：

local tmpMapTitle = gPlayer.Envir.MapTitle
if tmpMapTitle then
    print(string.format("地图名称：%s", tmpMapTitle))


地图宽度

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 属性 >
地图宽度

属性名称：

    Width

说明：

    地图宽度

读写状态：

    只读

使用示例：

local tmpWidth = gPlayer.Envir.Width
if tmpWidth then
    print(string.format("地图宽度：%d", tmpWidth))


地图高度

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 属性 >
地图高度

属性名称：

    Height

说明：

    地图高度

读写状态：

    只读

使用示例：

local tmpHeight = gPlayer.Envir.Height
if tmpHeight then
    print(string.format("地图高度：%d", tmpHeight))


小地图编号

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 属性 >
小地图编号

属性名称：

    MinMap

说明：

    小地图编号

读写状态：

    只读

使用示例：

local tmpMinmap = gPlayer.Envir.MinMap
if tmpMinmap then
    print(string.format("小地图编号：%d", tmpMinmap))


是否是主地图

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 属性 >
是否是主地图

属性名称：

    IsMainMap

说明：

    是否是主地图（返回true:是主地图；返回false:不是主地图）

读写状态：

    只读

使用示例：

local tmpIsmainmap = gPlayer.Envir.IsMainMap
if tmpIsmainmap then
    print(string.format("是否是主地图：%s", tmpIsmainmap))


主地图名称

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 属性 >
主地图名称

属性名称：

    MainMapName

说明：

    主地图名称（是主地图返回主地图名称，不是则返回空）

读写状态：

    只读

使用示例：

local tmpMainmapname = gPlayer.Envir.MainMapName
if tmpMainmapname then
    print(string.format("主地图名称：%s", tmpMainmapname))


是否是镜像地图

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 属性 >
是否是镜像地图

属性名称：

    IsMirrMap

说明：

    是否是镜像地图（返回true:是镜像地图；返回false:不是镜像地图）

读写状态：

    只读

使用示例：

local tmpIsmirrmap = gPlayer.Envir.IsMirrMap
if tmpIsmirrmap then
    print(string.format("是否是镜像地图：%s", tmpIsmirrmap))


动态镜像地图创建时间

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 属性 >
动态镜像地图创建时间

属性名称：

    MirrMapCreateTick

说明：

    动态镜像地图创建时间

读写状态：

    只读

使用示例：

local tmpMirrmapcreatetick = gPlayer.Envir.MirrMapCreateTick
if tmpMirrmapcreatetick then
    print(string.format("动态镜像地图创建时间：%d", tmpMirrmapcreatetick))


动态镜像地图存在时间

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 属性 >
动态镜像地图存在时间

属性名称：

    MirrMapSurvivalTime

说明：

    动态镜像地图存在时间

读写状态：

    只读

使用示例：

local tmpMirrmapsurvivatime = gPlayer.Envir.MirrMapSurvivalTime
if tmpMirrmapsurvivatime then
    print(string.format("动态镜像地图存在时间：%d", tmpMirrmapsurvivatime))


动态地图退到哪个地图

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 属性 >
动态地图退到哪个地图

属性名称：

    MirrMapExitToMap

说明：

    动态地图退到哪个地图

读写状态：

    只读

使用示例：

local tmpMirrmapexittomap = gPlayer.Envir.MirrMapExitToMap
if tmpMirrmapexittomap then
    print(string.format("动态地图退到哪个地图：%s", tmpMirrmapexittomap))


动态镜像地图小地图编号

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 属性 >
动态镜像地图小地图编号

属性名称：

    MirrMapMinMap

说明：

    动态镜像地图小地图编号

读写状态：

    只读

使用示例：

local tmpMirrmapminmap = gPlayer.Envir.MirrMapMinMap
if tmpMirrmapminmap then
    print(string.format("动态镜像地图小地图编号：%d", tmpMirrmapminmap))


动态镜像地图是否一直显示时间

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 属性 >
动态镜像地图是否一直显示时间

属性名称：

    AlwaysShowTime

说明：

    动态镜像地图是否一直显示时间

读写状态：

    只读

使用示例：

local tmpAlwaysshowtime = gPlayer.Envir.AlwaysShowTime
if tmpAlwaysshowtime then
    print(string.format("动态镜像地图是否一直显示时间：%d", tmpAlwaysshowtime))


是否为副本地图

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 属性 >
是否为副本地图

属性名称：

    IsFBMap

说明：

    是否为副本地图（返回true:是副本地图；返回false:不是副本地图）

读写状态：

    只读

使用示例：

local tmpIsfbmap = gPlayer.Envir.IsFBMap
if tmpIsfbmap then
    print(string.format("是否为副本地图：%s", tmpIsfbmap))


副本地图名

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 属性 >
副本地图名

属性名称：

    FBMapName

说明：

    副本地图名（是副本地图返回副本地图名称，不是则返回空）

读写状态：

    只读

使用示例：

local tmpFbmapname = gPlayer.Envir.FBMapName
if tmpFbmapname then
    print(string.format("副本地图名：%s", tmpFbmapname))


副本进入限制

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 属性 >
副本进入限制

属性名称：

    FBEnterLimit

说明：

    副本进入限制(0:队友必须有三职业; 1:不限制职业，队友均可进; 2:只允许自己; 3:允许行会进入)

读写状态：

    只读

使用示例：

local tmpFbenterlimit = gPlayer.Envir.FBEnterLimit
if tmpFbenterlimit then
    print(string.format("副本进入限制：%s", tmpFbenterlimit))


副本地图是否创建

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 属性 >
副本地图是否创建

属性名称：

    FBCreated

说明：

    副本地图是否创建

读写状态：

    只读

使用示例：

local tmpFbcreated = gPlayer.Envir.FBCreated
if tmpFbcreated then
    print(string.format("副本地图是否创建：%s", tmpFbcreated))


副本地图创建时间

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 属性 >
副本地图创建时间

属性名称：

    FBCreateTime

说明：

    副本地图创建时间

读写状态：

    只读

使用示例：

local tmpFbcreatedtime = gPlayer.Envir.FBCreateTime
if tmpFbcreatedtime then
    print(string.format("副本地图创建时间：%d", tmpFbcreatedtime))


魔血石、气血石、幻魔石无效

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 属性 >
魔血石、气血石、幻魔石无效

属性名称：

    IsNotStone

说明：

    魔血石、气血石、幻魔石无效

读写状态：

    只读

使用示例：

local tmpIsnotstone = gPlayer.Envir.IsNotStone
if tmpIsnotstone then
    print(string.format("魔血石、气血石、幻魔石无效：%s", tmpIsnotstone))


是否是安全地图

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 属性 >
是否是安全地图

属性名称：

    IsSafeMap

说明：

    是否是安全地图

读写状态：

    只读

使用示例：

local tmpIssafemap = gPlayer.Envir.IsSafeMap
if tmpIssafemap then
    print(string.format("是否是安全地图：%s", tmpIssafemap))


是否为副本地图

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 属性 >
是否为副本地图

属性名称：

    IsCopyMap

说明：

    是否为副本地图

读写状态：

    只读

使用示例：

local tmpIscopymap = gPlayer.Envir.IsCopyMap
if tmpIscopymap then
    print(string.format("是否为副本地图：%s", tmpIscopymap))


副本地图名

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 属性 >
副本地图名

属性名称：

    CopyMapName

说明：

    副本地图名

读写状态：

    只读

使用示例：

local tmpCopymapname = gPlayer.Envir.CopyMapName
if tmpCopymapname then
    print(string.format("副本地图名：%s", tmpCopymapname))


地图允许复活次数

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 属性 >
地图允许复活次数

属性名称：

    RevivalMaxCount

说明：

    地图允许复活次数

读写状态：

    只读

使用示例：

local tmpRevivalmaxcount = gPlayer.Envir.RevivalMaxCount
if tmpRevivalmaxcount then
    print(string.format("地图允许复活次数：%d", tmpRevivalmaxcount))


方法

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] >
TEnvirnoment

地图环境对象类：

方法名称 | 描述
CanWalk | 检查坐标范围内是否可走
IsValidObject | 判断地图上以坐标(nX, nY)为中心，以nRange为半径的矩形范围内，是否有Obj对象
GetItemObjects | 获取地图上某坐标的物品列表
GetCellsBaseObjects | 获取地图上某坐标的角色列表
GetRangePlayers | 获取地图范围内玩家列表
CanFly | 检查坐标范围内是否可飞


检查坐标范围内是否可走

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 方法 >
检查坐标范围内是否可走

声明：

   function CanWalk()

说明：

   检查坐标范围内是否可走

参数：

 | 数据类型 | 描述
参数一 | integer | X坐标
参数二 | integer | Y坐标
参数三 | boolean | 是否穿人
返回值 | boolean | 是否可走

使用示例：
function TestDemo()
    --如果地图环境存在
    if (gPlayer.Envir) then
        --判断当前坐标是否可走
        if gPlayer.Envir:CanWalk(gPlayer.CurrPoint.X, gPlayer.CurrPoint.Y, true) then
            gPlayer:SysMsg(string.format("执行CanWalk()成功", gPlayer.Name), 249, 116, 1)


判断地图上以坐标(nX, nY)为中心，以nRange为半径的矩形范围内，是否有Obj对象

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 方法 >
判断地图上以坐标(nX, nY)为中心，以nRange为半径的矩形范围内，是否有Obj对象

声明：

   function IsValidObject()

说明：

   判断地图上以坐标(nX, nY)为中心，以nRange为半径的矩形范围内，是否有Obj对象

参数：

 | 数据类型 | 描述
参数一 | integer | nX坐标
参数二 | integer | nY坐标
参数三 | integer | nRange半径
参数四 | string | obj对象
返回值 | boolean | 是否存在

使用示例：
function TestDemo()
    --如果地图环境存在
    if (gPlayer.Envir) then
        --判断地图xy坐标为中心，以nRang为半径的矩形范围内，是否有基本对象
        if gPlayer.Envir:IsValidObject(gPlayer.CurrPoint.X, gPlayer.CurrPoint.Y, 10, gPlayer) then
            gPlayer:SysMsg(string.format("执行IsValidObject()成功", gPlayer.Name), 249, 116, 1)


获取地图上某坐标的物品列表

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 方法 >
获取地图上某坐标的物品列表

声明：

   function GetItemObjects()

说明：

   获取地图上某坐标的物品列表

参数：

 | 数据类型 | 描述
参数一 | integer | X坐标
参数二 | integer | Y坐标
返回值 | table | 物品列表

使用示例：
function  TestDemo()
    --如果地图环境存在
    if (gPlayer.Envir) then
        --获取地图上的某坐标物品列表
        local tmpItemobject = gPlayer.Envir:GetItemObjects(gPlayer.CurrPoint.X - 1, gPlayer.CurrPoint.Y)
        --遍历
        for key in pairs(tmpItemobject) do
            --输出物品名称
            print(tmpItemobject[key].DBName)
        end
        tmpItemobject  = nil


获取地图上某坐标的角色列表

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 方法 >
获取地图上某坐标的角色列表

声明：

   function GetCellsBaseObjects()

说明：

   获取地图上某坐标的角色列表

参数：

 | 数据类型 | 描述
参数一 | integer | X坐标
参数二 | integer | Y坐标
参数三 | integer | 坐标范围
返回值 | table | 角色列表

使用示例：
function TestDemo()
    --如果地图环境存在
    if (gPlayer.Envir) then
        --获取某坐标的角色列表
        local tmpCellsbaseobject = gPlayer.Envir:GetCellsBaseObjects(gPlayer.CurrPoint.X, gPlayer.CurrPoint.Y, 10)
        --遍历
        for key in pairs(tmpCellsbaseobject) do
            --输出角色名称
            print(tmpCellsbaseobject[key].Name)
        end
        tmpCellsbaseobject = nil


获取地图范围内玩家列表

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 方法 >
获取地图范围内玩家列表

声明：

   function GetRangePlayers()

说明：

   获取地图范围内玩家列表

参数：

 | 数据类型 | 描述
参数一 | integer | X坐标
参数二 | integer | Y坐标
参数三 | integer | 坐标范围
参数四 | boolean | 是否穿人
返回值 | table | 玩家列表

使用示例：
function TestDemo()
    --如果地图环境存在
    if (gPlayer.Envir) then
       --获取范围内的玩家列表
        local tmpRangeplayers = gPlayer.Envir:GetRangePlayers(gPlayer.CurrPoint.X, gPlayer.CurrPoint.Y, 3, true)
        --遍历
        for key in pairs(tmpRangeplayers) do
           --输出人物名称
            print(tmpRangeplayers[key].Name)
        end
        tmpRangeplayers = nil


检查坐标范围内是否可飞

GXX引擎 Lua脚本接口 > TEnvirnoment [地图环境对象类] > 方法 >
检查坐标范围内是否可飞

声明：

   function CanFly()

说明：

   检查坐标范围内是否可飞

参数：

 | 数据类型 | 描述
参数一 | integer | X坐标
参数二 | integer | Y坐标
参数三 | integer | X坐标
参数四 | integer | Y坐标
返回值 | boolean | 是否可飞

使用示例：
function TestDemo()
    --如果地图环境存在
    if (gPlayer.Envir) then
        --检查坐标范围内是否可飞
        if gPlayer.Envir:CanFly(315, 311, 345, 345) then
            gPlayer:SysMsg(string.format("执行CanFly()成功", gPlayer.Name), 249, 116, 1)


TSystem [系统对象类]

GXX引擎 Lua脚本接口 > TUserItemObject [用户物品类] >
TUserItemObject

TUserItemObject介绍：

    TUserItemObject为用户物品类


属性

GXX引擎 Lua脚本接口 > TUserItemObject [用户物品类] >
TUserItemObject

用户物品类：

属性名称 | 描述 | 读写状态
ID | 物品ID | 只读
Name | 物品名称 | 可读 可写
DBName | 物品DB名称 | 只读
MakeIndex | 制作索引 | 可读 可写
Durable | 持久度 | 可读 可写
MaxDurable | 最大持久度 | 只读
DressEffect | 特性编号 | 可读 可写
UpgradeCount | 更新次数 | 只读
IsCountdown | 是否计时 | 只读
LimitTime | 限时物品时间（分钟） | 只读
Light | 物品高亮 | 可读 可写
Color | 物品颜色 | 可读 可写
IsBind | 物品是否绑定 | 可读 可写
Effect | 物品新特性编号 | 只读
FluteCount | 物品凹槽数量 | 只读
InsuranceCount | 物品投保次数 | 只读
DBItemObject | 物品关联的数据库物品对象 | 只读
ItemFrom | 物品来源 | 可读 可写
Attribute | 极品属性 | 可读 可写
Element | 元素属性 | 可读 可写


物品ID

GXX引擎 Lua脚本接口 > TUserItemObject [用户物品类] > 属性 >
物品ID

属性名称：

    ID

说明：

    物品ID

读写状态：

    只读

使用示例：
function TestDemo()
    --获取玩家包裹里面的所有物品
    local tmpBagitemlist = gPlayer:GetBagItems()
    --物品列表存在
    if tmpBagitemlist then
        --遍历
        for key in pairs(tmpBagitemlist) do
            if tmpBagitemlist[key].Name == "黑暗王子" then
                --输出物品ID
                print(string.format("物品ID：%d", tmpBagitemlist[key].ID))
                break
            end
        end
        tmpBagitemlist = nil


物品名称

GXX引擎 Lua脚本接口 > TUserItemObject [用户物品类] > 属性 >
物品名称

属性名称：

    Name

说明：

    物品名称

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --获取玩家包裹里面的所有物品
    local tmpBagitemlist = gPlayer:GetBagItems()
    --物品列表存在
    if tmpBagitemlist then
        --遍历
        for key in pairs(tmpBagitemlist) do
            if tmpBagitemlist[key].Name == "西里的战衣-星辰皮甲（男）" then
                --设置物品名字
                tmpBagitemlist[key].Name = '缔约使者'
                --M2后台输出
                print(string.format("物品名称：%s", tmpBagitemlist[key].Name))
                --游戏界面输出
                gPlayer:SysMsg(string.format("物品名称：%s", tmpBagitemlist[key].Name), 215, 116, 1)
                break
            end
        end
        tmpBagitemlist = nil


物品DB名称

GXX引擎 Lua脚本接口 > TUserItemObject [用户物品类] > 属性 >
物品DB名称

属性名称：

    DBName

说明：

    物品DB名称

读写状态：

    只读

使用示例：
function TestDemo()
    --获取玩家包裹里面的所有物品
    local tmpBagitemlist = gPlayer:GetBagItems()
    --物品列表存在
    if tmpBagitemlist then
        --遍历
        for key in pairs(tmpBagitemlist) do
            if tmpBagitemlist[key].Name == "黑暗王子" then
                --输出物品DB名称
                print(string.format("物品DB名称：%s", tmpBagitemlist[key].DBName))
                break
            end
        end
        tmpBagitemlist = nil


制作索引

GXX引擎 Lua脚本接口 > TUserItemObject [用户物品类] > 属性 >
制作索引

属性名称：

    MakeIndex

说明：

    制作索引

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --获取玩家包裹里面的所有物品
    local tmpBagitemlist = gPlayer:GetBagItems()
    --物品列表存在
    if tmpBagitemlist then
        --遍历
        for key in pairs(tmpBagitemlist) do
            if tmpBagitemlist[key].Name == "黑暗王子" then
                --输出物品制作索引
                print(string.format("制作索引：%d", tmpBagitemlist[key].MakeIndex))
                break
            end
        end
        tmpBagitemlist = nil


持久度

GXX引擎 Lua脚本接口 > TUserItemObject [用户物品类] > 属性 >
持久度

属性名称：

    Durable

说明：

    持久度

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --获取玩家包裹里面的所有物品
    local tmpBagitemlist = gPlayer:GetBagItems()
    --物品列表存在
    if tmpBagitemlist then
        --遍历
        for key in pairs(tmpBagitemlist) do
            if tmpBagitemlist[key].Name == "黑暗王子" then
                --输出物品持久度
                print(string.format("持久度：%d", tmpBagitemlist[key].Durable))
                break
            end
        end
        tmpBagitemlist = nil


最大持久度

GXX引擎 Lua脚本接口 > TUserItemObject [用户物品类] > 属性 >
最大持久度

属性名称：

    MaxDurable

说明：

    最大持久度

读写状态：

    只读

使用示例：
function TestDemo()
    --获取玩家包裹里面的所有物品
    local tmpBagitemlist = gPlayer:GetBagItems()
    --物品列表存在
    if tmpBagitemlist then
        --遍历
        for key in pairs(tmpBagitemlist) do
            if tmpBagitemlist[key].Name == "黑暗王子" then
                --输出物品最大持久度
                print(string.format("最大持久度：%d", tmpBagitemlist[key].MaxDurable))
                break
            end
        end
        tmpBagitemlist = nil


特性编号

GXX引擎 Lua脚本接口 > TUserItemObject [用户物品类] > 属性 >
特性编号

属性名称：

    DressEffect

说明：

    特性编号

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --获取玩家包裹里面的所有物品
    local tmpBagitemlist = gPlayer:GetBagItems()
    --物品列表存在
    if tmpBagitemlist then
        --遍历
        for key in pairs(tmpBagitemlist) do
            if tmpBagitemlist[key].Name == "罪恶-地狱潜行者刃" then
                --设置物品特性编号
                tmpBagitemlist[key].DressEffect = 22
                --M2后台输出
                print(string.format("物品特性编号：%s", tmpBagitemlist[key].DressEffect))
                --游戏界面输出
                gPlayer:SysMsg(string.format("物品特性编号：%s", tmpBagitemlist[key].DressEffect), 215, 116, 1)
                break
            end
        end
        tmpBagitemlist = nil


更新次数

GXX引擎 Lua脚本接口 > TUserItemObject [用户物品类] > 属性 >
更新次数

属性名称：

    UpgradeCount

说明：

    更新次数

读写状态：

    只读

使用示例：
function TestDemo()
    --获取玩家包裹里面的所有物品
    local tmpBagitemlist = gPlayer:GetBagItems()
    --物品列表存在
    if tmpBagitemlist then
        --遍历
        for key in pairs(tmpBagitemlist) do
            if tmpBagitemlist[key].Name == "黑暗王子" then
                --输出物品更新次数
                print(string.format("更新次数：%d", tmpBagitemlist[key].UpgradeCount))
                break
            end
        end
        tmpBagitemlist = nil


是否计时

GXX引擎 Lua脚本接口 > TUserItemObject [用户物品类] > 属性 >
是否计时

属性名称：

    IsCountdown

说明：

    是否计时

读写状态：

    只读

使用示例：
function TestDemo()
    --获取玩家包裹里面的所有物品
    local tmpBagitemlist = gPlayer:GetBagItems()
    --物品列表存在
    if tmpBagitemlist then
        --遍历
        for key in pairs(tmpBagitemlist) do
            if tmpBagitemlist[key].Name == "黑暗王子" then
                --输出物品是否计时
                print(string.format("是否计时：%s", tmpBagitemlist[key].IsCountdown))
                break
            end
        end
        tmpBagitemlist = nil


限时物品时间（分钟）

GXX引擎 Lua脚本接口 > TUserItemObject [用户物品类] > 属性 >
限时物品时间（分钟）

属性名称：

    LimitTime

说明：

    限时物品时间（分钟）

读写状态：

    只读

使用示例：
function TestDemo()
    --获取玩家包裹里面的所有物品
    local tmpBagitemlist = gPlayer:GetBagItems()
    --物品列表存在
    if tmpBagitemlist then
        --遍历
        for key in pairs(tmpBagitemlist) do
            if tmpBagitemlist[key].Name == "黑暗王子" then
                --输出物品限时物品时间（分钟）
                print(string.format("限时物品时间：%d", tmpBagitemlist[key].LimitTime))
                break
            end
        end
        tmpBagitemlist = nil


物品高亮

GXX引擎 Lua脚本接口 > TUserItemObject [用户物品类] > 属性 >
物品高亮

属性名称：

    Light

说明：

    物品高亮

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --获取玩家包裹里面的所有物品
    local tmpBagitemlist = gPlayer:GetBagItems()
    --物品列表存在
    if tmpBagitemlist then
        --遍历
        for key in pairs(tmpBagitemlist) do
            if tmpBagitemlist[key].Name == "黑暗王子" then
                --输出物品高亮
                print(string.format("高亮：%d", tmpBagitemlist[key].Light))
                break
            end
        end
        tmpBagitemlist = nil


物品颜色

GXX引擎 Lua脚本接口 > TUserItemObject [用户物品类] > 属性 >
物品颜色

属性名称：

    Color

说明：

    物品颜色

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --获取玩家包裹里面的所有物品
    local tmpBagitemlist = gPlayer:GetBagItems()
    --物品列表存在
    if tmpBagitemlist then
        --遍历
        for key in pairs(tmpBagitemlist) do
            if tmpBagitemlist[key].Name == "黑暗王子" then
                --输出物品颜色
                print(string.format("颜色：%d", tmpBagitemlist[key].Color))
                break
            end
        end
        tmpBagitemlist = nil


物品是否绑定

GXX引擎 Lua脚本接口 > TUserItemObject [用户物品类] > 属性 >
物品是否绑定

属性名称：

    IsBind

说明：

    物品是否绑定

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --获取玩家包裹里面的所有物品
    local tmpBagitemlist = gPlayer:GetBagItems()
    --物品列表存在
    if tmpBagitemlist then
        --遍历
        for key in pairs(tmpBagitemlist) do
            if tmpBagitemlist[key].Name == "黑暗王子" then
                --输出物品是否綁定
                print(string.format("是否綁定：%s", tmpBagitemlist[key].IsBind))
                break
            end
        end
        tmpBagitemlist = nil


物品新特性编号

GXX引擎 Lua脚本接口 > TUserItemObject [用户物品类] > 属性 >
物品新特性编号

属性名称：

    Effect

说明：

    物品新特性编号

读写状态：

    只读

使用示例：
function TestDemo()
    --获取玩家包裹里面的所有物品
    local tmpBagitemlist = gPlayer:GetBagItems()
    --物品列表存在
    if tmpBagitemlist then
        --遍历
        for key in pairs(tmpBagitemlist) do
            if tmpBagitemlist[key].Name == "黑暗王子" then
                --输出物品新特性编号
                print(string.format("新特性编号：%d", tmpBagitemlist[key].Effect))
                break
            end
        end
        tmpBagitemlist = nil


物品凹槽数量

GXX引擎 Lua脚本接口 > TUserItemObject [用户物品类] > 属性 >
物品凹槽数量

属性名称：

    FluteCount

说明：

    物品凹槽数量

读写状态：

    只读

使用示例：
function TestDemo()
    --获取玩家包裹里面的所有物品
    local tmpBagitemlist = gPlayer:GetBagItems()
    --物品列表存在
    if tmpBagitemlist then
        --遍历
        for key in pairs(tmpBagitemlist) do
            if tmpBagitemlist[key].Name == "黑暗王子" then
                --输出物品凹槽数量
                print(string.format("凹槽数量：%d", tmpBagitemlist[key].FluteCount))
                break
            end
        end
        tmpBagitemlist = nil


物品投保次数

GXX引擎 Lua脚本接口 > TUserItemObject [用户物品类] > 属性 >
物品投保次数

属性名称：

    InsuranceCount

说明：

    物品投保次数

读写状态：

    只读

使用示例：
function TestDemo()
    --获取玩家包裹里面的所有物品
    local tmpBagitemlist = gPlayer:GetBagItems()
    --物品列表存在
    if tmpBagitemlist then
        --遍历
        for key in pairs(tmpBagitemlist) do
            if tmpBagitemlist[key].Name == "黑暗王子" then
                --输出物品投保次数
                print(string.format("投保次数：%d", tmpBagitemlist[key].InsuranceCount))
                break
            end
        end
        tmpBagitemlist = nil


物品关联的数据库物品对象

GXX引擎 Lua脚本接口 > TUserItemObject [用户物品类] > 属性 >
物品关联的数据库物品对象

属性名称：

    DBItemObject

说明：

    物品关联的数据库物品对象

读写状态：

    只读

使用示例：
function TestDemo()
    --获取玩家包裹里面的所有物品
    local tmpBagitemlist = gPlayer:GetBagItems()
    --物品列表存在
    if tmpBagitemlist then
        --遍历
        for key in pairs(tmpBagitemlist) do
            if tmpBagitemlist[key].DBItemObject then
                gPlayer:SysMsg(string.format("物品关联的数据库物品列表存在", gPlayer.Name), 249, 116, 1)
            else
                gPlayer:SysMsg(string.format("物品关联的数据库物品列表不存在", gPlayer.Name), 249, 116, 1)
            end
        end
        tmpBagitemlist = nil


物品来源

GXX引擎 Lua脚本接口 > TUserItemObject [用户物品类] > 属性 >
物品来源

属性名称：

    ItemFrom

说明：

    用户物品来源。
    注意：制造时间为只读

读写状态：

    可读 可写

值类型结构：

名称 | 数据类型 | 描述
SourceID | 枚举 | 来源ID
MapName | string | 地图名称
MonsterName | string | 怪物名称
MakerName | string | 制造者
MakeTime | double | 制造时间(只读)

来源ID枚举类型：

名称 | 描述
0 | 未知
1 | GM制造
2 | 脚本
3 | 商店购买
4 | 打怪掉落
5 | 系统给予
6 | 挖矿得到
7 | 宝箱取得
8 | 挖肉得到
9 | 捕捉得到

使用示例：

function TestDemo()
    --按物品名称创建物品
    local tmpItem = gSystem:CreateItemByName("麻痹戒指")
    if tmpItem then
        print(string.format("创建物品[%s]成功", tmpItem.Name))

        --设置物品来源
        tmpItem.ItemFrom = { ['SourceID'] = 1, ['MapName'] = '比奇省', ['MakerName'] = '本大爷' }

        --向指定人物背包添加创建物品
        if gPlayer:AddItemToBag(tmpItem) then
            --如果添加成功，则向客户端发送添加物品消息。
            gPlayer:SendAddItem(tmpItem)
            print(string.format("创建物品[%s]已经添加到玩家[%s]的背包", tmpItem.Name, gPlayer.Name))


极品属性

GXX引擎 Lua脚本接口 > TUserItemObject [用户物品类] > 属性 >
极品属性

属性名称：

    Attribute

说明：

    极品属性数组[0-13]

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --获取项链位置的装备
    local tmpUseritem = gPlayer:GetUseItem(3)
    --如果该位置装备存在
    if tmpUseritem then
        --输出Value0的值
        print(tmpUseritem.Attribute[0])

        --设置Value0、Value3的值
        tmpUseritem.Attribute = { [0] = 22, [3] = 11 }


元素属性

GXX引擎 Lua脚本接口 > TUserItemObject [用户物品类] > 属性 >
元素属性

属性名称：

    Element

说明：

    元素属性数组[0-29]

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --获取衣服位置的装备
    local tmpUseritem = gPlayer:GetUseItem(0)
    --如果该位置装备存在
    if tmpUseritem then
        --输出uelement0的值
        print(tmpUseritem.Element[0])

        --设置uelement0、uelement4的值
        tmpUseritem.Element = { [0] = 41, [4] = 58 }


方法

GXX引擎 Lua脚本接口 > TUserItemObject [用户物品类] >
TUserItemObject

用户物品类：

方法名称 | 描述
Free | 释放用户物品对象


释放用户物品对象

GXX引擎 Lua脚本接口 > TUserItemObject [用户物品类] > 方法 >
释放用户物品对象

声明：

   function Free()

说明：

   释放用户物品对象
参数：

 | 数据类型 | 描述
参数 | TUserItemObject | 用户物品对象
返回值 |  | 无

使用示例：
function TestDemo()
    --按物品名称创建物品
    local tmpItem = gSystem:CreateItemByName("圣光壁垒")
    --用户物品对象存在
    if tmpItem then
        print(string.format("创建物品[%s]成功", tmpItem.Name))
        --添加物品对象,成功返回创建物品索引，失败则返回-1
        if gPlayer:AddItem(tmpItem) >= 0 then
            --如果添加成功，则向客户端发送添加物品消息。
            gPlayer:SendAddItem(tmpItem)
            print(string.format("创建物品[%s]已经添加到玩家[%s]的背包", tmpItem.Name, gPlayer.Name))
        else
            print("添加物品对象失败。")
            --如果添加失败，释放用户物品对象
            gPlayer:Free(tmpItem)


TSystem [系统对象类]

GXX引擎 Lua脚本接口 > TUserMagicObject [用户魔法类] >
TUserMagicObject

TUserMagicObject介绍：

    TUserMagicObject为用户魔法类


属性

GXX引擎 Lua脚本接口 > TUserMagicObject [用户魔法类] >
TUserMagicObject

用户技能类：

属性名称 | 描述 | 读写状态
Name | 技能名称 | 只读
NMagicInfoame | 用户技能基本信息表 | 只读
MagicAttr | 技能攻击 | 只读
MagicIdx | 技能序号 | 只读
Level | 技能等级 | 可读 可写
NewLevel | 强化技能等级 | 可读 可写
Key | Key值 | 只读
TranPoint | 修炼点数 | 可读 可写
IsItemTrigger | 是否物品触发 | 只读


技能名称

GXX引擎 Lua脚本接口 > TUserMagicObject [用户魔法类] > 属性 >
技能名称

属性名称：

    Name

说明：

    技能名称

读写状态：

    只读

使用示例：

function TestDemo()
    --玩家技能列表
    local tmpMagiclist = gPlayer.MagicList
    --技能列表存在
    if tmpMagiclist then
        --遍历
        for key in pairs(tmpMagiclist) do
            if tmpMagiclist[key].Name == "金刚不坏" then
                --M2后台输出
                print(string.format("技能名称：%s", tmpMagiclist[key].Name))
                --游戏界面输出
                gPlayer:SysMsg(string.format("技能名称：%s", tmpMagiclist[key].Name), 215, 116, 1)
                break
            end
        end
        tmpMagiclist = nil


用户技能基本信息表

GXX引擎 Lua脚本接口 > TUserMagicObject [用户魔法类] > 属性 >
用户技能基本信息表

属性名称：

    NMagicInfoame

说明：

    用户技能基本信息表

读写状态：

    只读

值类型结构：

名称 | 描述
MagicAttr | 技能攻击
MagicId | 技能序号
MagicName | 技能名称
EffectType | 动作效果
Effect | 技能效果
Spell | 技能消耗
Power | 伤害下限
TrainLevel | 修炼等级
MaxTrain | 修炼上限
TrainLv | 最高可修炼等级
Job | 职业
MagicIdx | 技能索引
DefSpell | 升级技能值
DefPower | 升级伤害下限
MaxPower | 伤害上限
DefMaxPower | 升级伤害上限
Descr | 备注
CanUpgrade | 是否允许升级
MaxUpgradeLevel | 升级上限

使用示例：
function TestDemo()
    --玩家技能列表
    local tmpMagiclist = gPlayer.MagicList
    --技能列表存在
    if tmpMagiclist then
        --遍历
        for key in pairs(tmpMagiclist) do
            if tmpMagiclist[key].Name == "金刚不坏" then
                --输出技能攻击
                print(string.format("技能攻击：%d", tmpMagiclist[key].NMagicInfoame.MagicAttr))
                break
            end
        end
        tmpMagiclist = nil


技能攻击

GXX引擎 Lua脚本接口 > TUserMagicObject [用户魔法类] > 属性 >
技能攻击

属性名称：

    MagicAttr

说明：

    技能攻击

读写状态：

    只读

使用示例：
function TestDemo()
    --玩家技能列表
    local tmpMagiclist = gPlayer.MagicList
    --技能列表存在
    if tmpMagiclist then
        --遍历
        for key in pairs(tmpMagiclist) do
            if tmpMagiclist[key].Name == "金刚不坏" then
                --输出技能攻击
                print(string.format("技能攻击：%d", tmpMagiclist[key].MagicAttr))
                break
            end
        end
        tmpMagiclist = nil


技能序号

GXX引擎 Lua脚本接口 > TUserMagicObject [用户魔法类] > 属性 >
技能序号

属性名称：

    MagicIdx

说明：

    技能序号

读写状态：

    只读

使用示例：
function TestDemo()
    --玩家技能列表
    local tmpMagiclist = gPlayer.MagicList
    --技能列表存在
    if tmpMagiclist then
        --遍历
        for key in pairs(tmpMagiclist) do
            if tmpMagiclist[key].Name == "金刚不坏" then
                --输出技能序号
                print(string.format("技能序号：%d", tmpMagiclist[key].MagicIdx))
                break
            end
        end
        tmpMagiclist = nil


技能等级

GXX引擎 Lua脚本接口 > TUserMagicObject [用户魔法类] > 属性 >
技能等级

属性名称：

    Level

说明：

    技能等级

读写状态：

    可读 可写

使用示例：

function TestDemo()
    --玩家技能列表
    local tmpMagiclist = gPlayer.MagicList
    --技能列表存在
    if tmpMagiclist then
        --遍历
        for key in pairs(tmpMagiclist) do
            if tmpMagiclist[key].Name == "彻地钉" then
                --修改技能等级
                tmpMagiclist[key].Level = 3
                --输出技能等级
                print(string.format("技能等级：%d", tmpMagiclist[key].Level))
                break
            end
        end
        tmpMagiclist = nil


强化技能等级

GXX引擎 Lua脚本接口 > TUserMagicObject [用户魔法类] > 属性 >
强化技能等级

属性名称：

    NewLevel

说明：

    强化技能等级

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --玩家技能列表
    local tmpMagiclist = gPlayer.MagicList
    --技能列表存在
    if tmpMagiclist then
        --遍历
        for key in pairs(tmpMagiclist) do
            if tmpMagiclist[key].Name == "金刚不坏" then
                --输出强化技能等级
                print(string.format("强化技能等级：%d", tmpMagiclist[key].NewLevel))
                break
            end
        end
        tmpMagiclist = nil


key值

GXX引擎 Lua脚本接口 > TUserMagicObject [用户魔法类] > 属性 >
key值

属性名称：

    Key

说明：

    key值

读写状态：

    只读

使用示例：
function TestDemo()
    --玩家技能列表
    local tmpMagiclist = gPlayer.MagicList
    --技能列表存在
    if tmpMagiclist then
        --遍历
        for key in pairs(tmpMagiclist) do
            if tmpMagiclist[key].Name == "金刚不坏" then
                --输出技能Key值
                print(string.format("技能Key值：%s", tmpMagiclist[key].Key))
                break
            end
        end
        tmpMagiclist = nil


修炼点数

GXX引擎 Lua脚本接口 > TUserMagicObject [用户魔法类] > 属性 >
修炼点数

属性名称：

    TranPoint

说明：

    修炼点数

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --玩家技能列表
    local tmpMagiclist = gPlayer.MagicList
    --技能列表存在
    if tmpMagiclist then
        --遍历
        for key in pairs(tmpMagiclist) do
            if tmpMagiclist[key].Name == "金刚不坏" then
                --输出修炼点数
                print(string.format("修炼点数：%d", tmpMagiclist[key].TranPoint))
                break
            end
        end
        tmpMagiclist = nil


是否物品触发

GXX引擎 Lua脚本接口 > TUserMagicObject [用户魔法类] > 属性 >
是否物品触发

属性名称：

    IsItemTrigger

说明：

    是否物品触发

读写状态：

    只读

使用示例：
function TestDemo()
    --获取玩家技能列表
    local tmpMagiclist = gPlayer.MagicList
    --技能列表存在
    if tmpMagiclist then
        --遍历
        for key in pairs(tmpMagiclist) do
            if tmpMagiclist[key].Name == "金刚不坏" then
                --输出是否物品触发
                print(string.format("是否物品触发：%s", tmpMagiclist[key].IsItemTrigger))
                break
            end
        end
        tmpMagiclist = nil


方法

GXX引擎 Lua脚本接口 > TUserMagicObject [用户魔法类] >
TUserMagicObject

用户魔法类：

方法名称 | 描述
Free | 释放用户魔法对象


释放用户魔法对象

GXX引擎 Lua脚本接口 > TUserMagicObject [用户魔法类] > 方法 >
释放用户魔法对象

声明：

   function Free()

说明：

   释放用户魔法对象
参数：

 | 数据类型 | 描述
参数一 | TUserItemObject | 用户魔法对象
返回值 |  | 无

使用示例：
function TestDemo()
    --获取玩家技能列表
    local tmpMagiclist = gPlayer.MagicList
    --技能列表存在
    if tmpMagiclist then
        --遍历
        local tmpBool = false
        for key in pairs(tmpMagiclist) do
            if tmpMagiclist[key].Name == "半月弯刀" then
                tmpBool = true
                break
            end
        end

        if not tmpBool then
            --按魔法名称创建魔法
            local tmpMagic = gSystem:CreateMagicByName(gPlayer, "半月弯刀")
            --用户魔法对象存在
            if tmpMagic then
                tmpMagic.Level = 3
                --添加魔法对象,成功返回创建魔法索引，失败则返回-1
                if gPlayer:AddMagic(tmpMagic) >= 0 then
                    gPlayer:SendAddMagic(tmpMagic)
                    print(string.format("创建魔法[%s]已经添加到玩家[%s]", tmpMagic.Name, gPlayer.Name))
                else
                    print("添加魔法对象失败。")
                    gPlayer:Free(tmpMagic)
                end
            end
        else
            print("当前用户已经存在该魔法。")


TSystem [系统对象类]

GXX引擎 Lua脚本接口 > TGuild [行会对象类] >
TGuild

TGuild介绍：

    TGuild为行会对象类


属性

GXX引擎 Lua脚本接口 > TGuild [行会对象类] >
TGuild

行会对象类：

属性名称 | 描述 | 读写状态
Name | 行会名称 | 只读
JoinJob | 加入行会职业 | 只读
JoinLevel | 加入行会最低等级 | 只读
JoinMsg | 招贤消息 | 只读
BuildPoint | 建筑度 | 只读
AuraePoint | 人气值/关注度 | 只读
StabilityPoint | 安定度 | 只读
FlourishPoint | 繁荣度 | 只读
ChiefItemCount | 领取装备数量 | 只读
MemberCount | 行会成员数量 | 只读
OnlineMemeberCount | 行会在线成员数量 | 只读
MasterCount | 行会掌门数量 | 只读
IsFull | 检查行会是否满员 | 只读


行会名称

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 属性 >
行会名称

属性名称：

    Name

说明：

    行会名称

读写状态：

    只读

使用示例：

function TestDemo()
    --获取玩家行会对象
    local tmpGuildobject = gPlayer.Guild
    if tmpGuildobject then
        --M2后台输出
        print(string.format("你当前所属行会名称为：%s", tmpGuildobject.Name))
        --游戏界面输出
        gPlayer:SysMsg(string.format("你当前所属行会名称为：%s", tmpGuildobject.Name), 215, 116, 1)


加入行会职业

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 属性 >
加入行会职业

属性名称：

    JoinJob

说明：

    加入行会职业(1:战士; 2:法师; 3:道士，可组合)

读写状态：

    只读

使用示例：

function TestDemo()
    --获取玩家行会对象
    local tmpGuildobject = gPlayer.Guild
    if tmpGuildobject then
        --M2后台输出
        print(string.format("允许加入行会职业：%s", tmpGuildobject.JoinJob))
        --游戏界面输出
        gPlayer:SysMsg(string.format("允许加入行会职业：%s", tmpGuildobject.JoinJob), 215, 116, 1)


加入行会最低等级

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 属性 >
加入行会最低等级

属性名称：

    JoinLevel

说明：

    加入行会最低等级

读写状态：

    只读

使用示例：

function TestDemo()
    --获取玩家行会对象
    local tmpGuildobject = gPlayer.Guild
    if tmpGuildobject then
        --M2后台输出
        print(string.format("加入行会最低等级：%d", tmpGuildobject.JoinLevel))
        --游戏界面输出
        gPlayer:SysMsg(string.format("加入行会最低等级：%d", tmpGuildobject.JoinLevel), 215, 116, 1)


招贤消息

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 属性 >
招贤消息

属性名称：

    JoinMsg

说明：

    招贤消息

读写状态：

    只读

使用示例：

function TestDemo()
    --获取玩家行会对象
    local tmpGuildobject = gPlayer.Guild
    if tmpGuildobject then
        --M2后台输出
        print(string.format("招贤消息：%s", tmpGuildobject.JoinMsg))
        --游戏界面输出
        gPlayer:SysMsg(string.format("招贤消息：%s", tmpGuildobject.JoinMsg), 215, 116, 1)


建筑度

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 属性 >
建筑度

属性名称：

    BuildPoint

说明：

    建筑度

读写状态：

    只读

使用示例：

function TestDemo()
    --获取玩家行会对象
    local tmpGuildobject = gPlayer.Guild
    if tmpGuildobject then
        --M2后台输出
        print(string.format("建筑度：%d", tmpGuildobject.BuildPoint))
        --游戏界面输出
        gPlayer:SysMsg(string.format("建筑度：%d", tmpGuildobject.BuildPoint), 215, 116, 1)


人气值/关注度

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 属性 >
人气值/关注度

属性名称：

    AuraePoint

说明：

    人气值/关注度

读写状态：

    只读

使用示例：

function TestDemo()
    --获取玩家行会对象
    local tmpGuildobject = gPlayer.Guild
    if tmpGuildobject then
        --M2后台输出
        print(string.format("人气值/关注度：%d", tmpGuildobject.AuraePoint))
        --游戏界面输出
        gPlayer:SysMsg(string.format("人气值/关注度：%d", tmpGuildobject.AuraePoint), 215, 116, 1)


安定度

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 属性 >
安定度

属性名称：

    StabilityPoint

说明：

    安定度

读写状态：

    只读

使用示例：

function TestDemo()
    --获取玩家行会对象
    local tmpGuildobject = gPlayer.Guild
    if tmpGuildobject then
        --M2后台输出
        print(string.format("安定度：%d", tmpGuildobject.StabilityPoint))
        --游戏界面输出
        gPlayer:SysMsg(string.format("安定度：%d", tmpGuildobject.StabilityPoint), 215, 116, 1)


繁荣度

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 属性 >
繁荣度

属性名称：

    FlourishPoint

说明：

    繁荣度

读写状态：

    只读

使用示例：

function TestDemo()
    --获取玩家行会对象
    local tmpGuildobject = gPlayer.Guild
    if tmpGuildobject then
        --M2后台输出
        print(string.format("繁荣度：%d", tmpGuildobject.FlourishPoint))
        --游戏界面输出
        gPlayer:SysMsg(string.format("繁荣度：%d", tmpGuildobject.FlourishPoint), 215, 116, 1)


领取装备数量

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 属性 >
领取装备数量

属性名称：

    ChiefItemCount

说明：

    领取装备数量

读写状态：

    只读

使用示例：

function TestDemo()
    --获取玩家行会对象
    local tmpGuildobject = gPlayer.Guild
    if tmpGuildobject then
        --M2后台输出
        print(string.format("领取装备数量：%d", tmpGuildobject.ChiefItemCount))
        --游戏界面输出
        gPlayer:SysMsg(string.format("领取装备数量：%d", tmpGuildobject.ChiefItemCount), 215, 116, 1)


行会成员数量

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 属性 >
行会成员数量

属性名称：

    MemberCount

说明：

    行会成员数量

读写状态：

    只读

使用示例：

function TestDemo()
    --获取玩家行会对象
    local tmpGuildobject = gPlayer.Guild
    if tmpGuildobject then
        --M2后台输出
        print(string.format("行会成员数量：%d", tmpGuildobject.MemberCount))
        --游戏界面输出
        gPlayer:SysMsg(string.format("行会成员数量：%d", tmpGuildobject.MemberCount), 215, 116, 1)


行会在线成员数量

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 属性 >
行会在线成员数量

属性名称：

    OnlineMemeberCount

说明：

    行会在线成员数量

读写状态：

    只读

使用示例：

function TestDemo()
    --获取玩家行会对象
    local tmpGuildobject = gPlayer.Guild
    if tmpGuildobject then
        --M2后台输出
        print(string.format("行会在线成员数量：%d", tmpGuildobject.OnlineMemeberCount))
        --游戏界面输出
        gPlayer:SysMsg(string.format("行会在线成员数量：%d", tmpGuildobject.OnlineMemeberCount), 215, 116, 1)


行会掌门数量

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 属性 >
行会掌门数量

属性名称：

    MasterCount

说明：

    行会掌门数量

读写状态：

    只读

使用示例：

function TestDemo()
    --获取玩家行会对象
    local tmpGuildobject = gPlayer.Guild
    if tmpGuildobject then
        --M2后台输出
        print(string.format("行会掌门数量：%d", tmpGuildobject.MasterCount))
        --游戏界面输出
        gPlayer:SysMsg(string.format("行会掌门数量：%d", tmpGuildobject.MasterCount), 215, 116, 1)


检查行会是否满员

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 属性 >
检查行会是否满员

属性名称：

    IsFull

说明：

    检查行会是否满员

读写状态：

    只读

使用示例：

function TestDemo()
    --获取玩家行会对象
    local tmpGuildobject = gPlayer.Guild
    if tmpGuildobject then
        --M2后台输出
        print(string.format("检查行会是否满员：%s", tmpGuildobject.IsFull))
        --游戏界面输出
        gPlayer:SysMsg(string.format("检查行会是否满员：%s", tmpGuildobject.IsFull), 215, 116, 1)


方法

GXX引擎 Lua脚本接口 > TGuild [行会对象类] >
TGuild

行会对象类：

方法名称 | 描述
GetGuildMaster | 获取行会正副掌门
IsGuildMember | 检查人员是否为行会成员
AddGuildMember | 将玩家加入行会
AddGuildMemberByName | 根据名称将玩家加入行会
DelGuildMember | 将玩家移除行会
DelGuildMemberByName | 根据名称将玩家移除行会
IsGuildWar | 判断是否为战争行会
AddGuildWar | 添加战争行会
IsAllyGuild | 判断是否为联盟行会
AddAllyGuild | 添加联盟行会
DelAllyGuild | 删除联盟行会
IsAttentionGuild | 判断是否为关注行会
AddAttentionGuild | 添加关注行会
DelAttentionGuild | 删除关注行会
GetRankNameByName | 从玩家名称获取封号名称、封号编号
GetRankInfoByPlayer | 从玩家对象获取行会信息
SendGuildMsg | 发送行会消息


获取行会正副掌门

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 方法 >
获取行会正副掌门

声明：

   function GetGuildMaster()

说明：

   获取行会正副掌门（备注：此命令仅能获取到已登入过游戏的会长对象）

命令参数：

 | 数据类型 | 描述
参数 |  | 无
返回值一 | string | 返回正掌门
返回值二 | string | 返回副掌门

使用示例：
function TestDemo()
    local tmpGuildobject = gPlayer.Guild
    if tmpGuildobject then
        local tmpName, tmpGuildfname = tmpGuildobject:GetGuildMaster()
        if tmpName then
            --输出掌门名称
            print(tmpName.Name)
        end

        if tmpGuildfname then
            --输出副掌门名称
            print(tmpGuildfname.Name)


检查人员是否为行会成员

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 方法 >
检查人员是否为行会成员

声明：

   function IsGuildMember()

说明：

   检查人员是否为行会成员

命令参数：

 | 数据类型 | 描述
参数一 | string | 角色名称
返回值 | boolean | 是否为行会成员

使用示例：
function TestDemo()
    local tmpGuildobject = gPlayer.Guild
    if tmpGuildobject then
        if tmpGuildobject:IsGuildMember('无敌') then
            gPlayer:SysMsg(string.format("玩家是行会成员！", gPlayer.Name), 215, 116, 1)
        else
            gPlayer:SysMsg(string.format("玩家不是行会成员！", gPlayer.Name), 215, 116, 1)


将玩家加入行会

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 方法 >
将玩家加入行会

声明：

   function AddGuildMember()

说明：

   将玩家加入行会，返回是否加入成功

命令参数：

 | 数据类型 | 描述
参数一 | string | 角色名称
返回值 | boolean | 返回是否加入成功

使用示例：
function TestDemo()
    --根据在线名字获取玩家对象
    local tmpPalyobject = gSystem:GetPlayerByName('无敌')
    --如果玩家对象存在
    if tmpPalyobject then
        --获取行会对象
        local tmpGuildobject = gPlayer.Guild
        --如果行会对象存在
        if tmpGuildobject then
            --不是行会成员则将该玩家加入行会
            if not tmpGuildobject:IsGuildMember(tmpPalyobject.Name) and tmpGuildobject:AddGuildMember(tmpPalyobject) then
                gPlayer:SysMsg(string.format("将玩家加入行会成功！", gPlayer.Name), 215, 116, 1)
            else
                gPlayer:SysMsg(string.format("加入行会失败！", gPlayer.Name), 215, 116, 1)
            end
        else
            gPlayer:SysMsg(string.format("当前行会对象不存在！", gPlayer.Name), 215, 116, 1)
        end
    else
        gPlayer:SysMsg(string.format("当前玩家对象不存在！", gPlayer.Name), 215, 116, 1)


根据名称将玩家加入行会

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 方法 >
根据名称将玩家加入行会

声明：

   function AddGuildMemberByName()

说明：

   根据名称将玩家加入行会

命令参数：

 | 数据类型 | 描述
参数一 | string | 角色名称
返回值 | boolean | 是否加入成功

使用示例：
function TestDemo()
    --根据角色名称获取玩家对象
    local tmpPalyobject = gSystem:GetPlayerByName('鼎折覆餗')
    --玩家对象存在
    if tmpPalyobject then
        --获取行会对象
        local tmpGuildobject = gPlayer.Guild
        --如果行会对象存在
        if tmpGuildobject then
            --该玩家不是行会成员
            if not tmpGuildobject:IsGuildMember(tmpPalyobject.Name) then
                --则将改玩家加入本行会
                tmpGuildobject:AddGuildMemberByName(tmpPalyobject.Name)
                gPlayer:SysMsg(string.format("根据角色名称加入行会成功！", gPlayer.Name), 215, 116, 1)
            else
                gPlayer:SysMsg(string.format("根据角色名称加入行会失败！", gPlayer.Name), 215, 116, 1)


将玩家移除行会

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 方法 >
将玩家移除行会

声明：

   function DelGuildMember()

说明：

   将玩家移除行会，返回是否移除成功

命令参数：

 | 数据类型 | 描述
参数一 | string | 角色对象
返回值 | boolean | 返回是否移除成功

使用示例：
function TestDemo()
    --根据角色名称获取玩家对象
    local tmpPalyobject = gSystem:GetPlayerByName('鼎折覆餗')
    --玩家对象存在
    if tmpPalyobject then
        --获取行会对象
        local tmpGuildobject = gPlayer.Guild
        --如果行会对象存在
        if tmpGuildobject then
            --是行会成员则将该玩家移除行会
            if tmpGuildobject:IsGuildMember(tmpPalyobject.Name) and tmpGuildobject:DelGuildMember(tmpPalyobject) then
                gPlayer:SysMsg(string.format("将玩家移除行会成功！", gPlayer.Name), 215, 116, 1)
            else
                gPlayer:SysMsg(string.format("移除行会失败！", gPlayer.Name), 215, 116, 1)
            end
        else
            gPlayer:SysMsg(string.format("当前行会对象不存在！", gPlayer.Name), 215, 116, 1)
        end
    else
        gPlayer:SysMsg(string.format("当前玩家对象不存在！", gPlayer.Name), 215, 116, 1)


根据名称将玩家移除行会

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 方法 >
根据名称将玩家移除行会

声明：

   function DelGuildMemberByName()

说明：

   根据名称将玩家移除行会

命令参数：

 | 数据类型 | 描述
参数一 | string | 角色名称
返回值 | boolean | 是否移除成功

使用示例：
function TestDemo()
    --根据角色名称获取玩家对象
    local tmpPalyobject = gSystem:GetPlayerByName('鼎折覆餗')
    --玩家对象存在
    if tmpPalyobject then
        --获取行会对象
        local tmpGuildobject = gPlayer.Guild
        --如果行会对象存在
        if tmpGuildobject then
            --该玩家是行会成员
            if tmpGuildobject:IsGuildMember(tmpPalyobject.Name) then
                --则将改玩家移除本行会
                tmpGuildobject:DelGuildMemberByName(tmpPalyobject.Name)
                gPlayer:SysMsg(string.format("根据角色名称移除行会成功！", gPlayer.Name), 215, 116, 1)
            else
                gPlayer:SysMsg(string.format("根据角色名称移除行会失败！", gPlayer.Name), 249, 116, 1)


判断是否为战争行会

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 方法 >
判断是否为战争行会

声明：

   function IsGuildWar()

说明：

   判断是否为战争行会

命令参数：

 | 数据类型 | 描述
参数一 | string | 行会对象
返回值 | boolean | 返回是否为战争行会

使用示例：
function TestDemo()
    --按名称获取行会对象
    local tmpGuildobject = gSystem:GetGuildByName('尼龙拉链')
    --如果行会对象存在
    if tmpGuildobject then
       --则判断是否为战争行会
       if gPlayer.Guild:IsGuildWar(tmpGuildobject) then
          gPlayer:SysMsg(string.format("该行会为战争行会！", gPlayer.Name), 215, 116, 1)
       else
         gPlayer:SysMsg(string.format("该行会不是战争行会！", gPlayer.Name), 249, 116, 1)


添加战争行会

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 方法 >
添加战争行会

声明：

   function AddGuildWar()

说明：

   添加战争行会

命令参数：

 | 数据类型 | 描述
参数一 | string | 行会对象
返回值 | boolean | 是否添加成功

使用示例：
function TestDemo()
    --按名称获取行会对象
    local tmpGuildobject = gSystem:GetGuildByName('尼龙拉链')
    --如果行会对象存在
    if tmpGuildobject then
        --不是战争行会
        if not gPlayer.Guild:IsWarGuild(tmpGuildobject) then
            --添加战争行会
            gPlayer.Guild:AddGuildWar(tmpGuildobject)
            gPlayer:SysMsg(string.format("添加战争行会成功！", gPlayer.Name), 215, 116, 1)
        else
            gPlayer:SysMsg(string.format("添加战争行会失败！", gPlayer.Name), 249, 116, 1)


判断是否为联盟行会

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 方法 >
判断是否为联盟行会

声明：

   function IsAllyGuild()

说明：

   判断是否为联盟行会

命令参数：

 | 数据类型 | 描述
参数一 | string | 行会对象
返回值 | boolean | 返回是否为联盟行会

使用示例：
function TestDemo()
    --按名称获取行会对象
    local tmpGuildobject = gSystem:GetGuildByName('你静静地')
    --如果行会对象存在
    if tmpGuildobject then
        --则判断是否为联盟行会
        if gPlayer.Guild:IsAllyGuild(tmpGuildobject) then
            gPlayer:SysMsg(string.format("该行会为联盟行会！", gPlayer.Name), 215, 116, 1)
        else
            gPlayer:SysMsg(string.format("该行会不是联盟行会！", gPlayer.Name), 249, 116, 1)


添加联盟行会

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 方法 >
添加联盟行会

声明：

   function AddAllyGuild()

说明：

   添加联盟行会

命令参数：

 | 数据类型 | 描述
参数一 | string | 行会对象
返回值 | boolean | 是否添加成功

使用示例：
function TestDemo()
    --按名称获取行会对象
    local tmpGuildobject = gSystem:GetGuildByName('你静静地')
    --如果行会对象存在
    if tmpGuildobject then
        --不是战争行会和联盟行会
        if not gPlayer.Guild:IsWarGuild(tmpGuildobject) and not gPlayer.Guild:IsAllyGuild(tmpGuildobject) then
            --添加联盟行会
            gPlayer.Guild:AddAllyGuild(tmpGuildobject)
            gPlayer:SysMsg(string.format("添加联盟行会成功！", gPlayer.Name), 215, 116, 1)
        else
            gPlayer:SysMsg(string.format("添加联盟行会失败！", gPlayer.Name), 249, 116, 1)


删除联盟行会

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 方法 >
删除联盟行会

声明：

   function DelAllyGuild()

说明：

   删除联盟行会

命令参数：

 | 数据类型 | 描述
参数一 | string | 行会对象
返回值 | boolean | 是否删除成功

使用示例：
function TestDemo()
    --按名称获取行会对象
    local tmpGuildobject = gSystem:GetGuildByName('你静静地')
    --如果行会对象存在
    if tmpGuildobject then
        --是联盟行会
        if gPlayer.Guild:IsAllyGuild(tmpGuildobject) then
            --删除联盟行会
            gPlayer.Guild:DelAllyGuild(tmpGuildobject)
            gPlayer:SysMsg(string.format("删除联盟行会成功！", gPlayer.Name), 215, 116, 1)
        else
            gPlayer:SysMsg(string.format("删除联盟行会失败！", gPlayer.Name), 249, 116, 1)


判断是否为关注行会

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 方法 >
判断是否为关注行会

声明：

   function IsAttentionGuild()

说明：

   判断是否为关注行会

命令参数：

 | 数据类型 | 描述
参数一 | string | 行会对象
返回值 | boolean | 返回是否为关注行会

使用示例：
function TestDemo()
    --按名称获取行会对象
    local tmpGuildobject = gSystem:GetGuildByName('兰桂坊')
    --如果行会对象存在
    if tmpGuildobject then
        --则判断是否为关注行会
        if gPlayer.Guild:IsAttentionGuild(tmpGuildobject) then
            gPlayer:SysMsg(string.format("该行会为关注行会！", gPlayer.Name), 215, 116, 1)
        else
            gPlayer:SysMsg(string.format("该行会不是关注行会！", gPlayer.Name), 249, 116, 1)


添加关注行会

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 方法 >
添加关注行会

声明：

   function AddAttentionGuild()

说明：

   添加关注行会

命令参数：

 | 数据类型 | 描述
参数一 | string | 行会对象
返回值 | boolean | 是否添加成功

使用示例：
function TestDemo()
    --按名称获取行会对象
    local tmpGuildobject = gSystem:GetGuildByName('兰桂坊')
    --如果行会对象存在
    if tmpGuildobject then
        --不是关注行会
        if not gPlayer.Guild:IsAttentionGuild(tmpGuildobject) then
            --添加关注行会
            gPlayer.Guild:AddAttentionGuild(tmpGuildobject)
            gPlayer:SysMsg(string.format("添加关注行会成功！", gPlayer.Name), 215, 116, 1)
        else
            gPlayer:SysMsg(string.format("添加关注行会失败！", gPlayer.Name), 249, 116, 1)


删除关注行会

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 方法 >
删除关注行会

声明：

   function DelAttentionGuild()

说明：

   删除关注行会

命令参数：

 | 数据类型 | 描述
参数一 | string | 行会对象
返回值 | boolean | 是否删除成功

使用示例：
function TestDemo()
    --按名称获取行会对象
    local tmpGuildobject = gSystem:GetGuildByName('兰桂坊')
    --如果行会对象存在
    if tmpGuildobject then
        --是关注行会
        if gPlayer.Guild:IsAttentionGuild(tmpGuildobject) then
            --删除关注行会
            gPlayer.Guild:DelAttentionGuild(tmpGuildobject)
            gPlayer:SysMsg(string.format("删除关注行会成功！", gPlayer.Name), 215, 116, 1)
        else
            gPlayer:SysMsg(string.format("删除关注行会失败！", gPlayer.Name), 249, 116, 1)


从玩家名称获取封号名称、封号编号

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 方法 >
从玩家名称获取封号名称、封号编号

声明：

   function GetRankInfoByName()

说明：

   从玩家名称获取封号名称、封号编号

命令参数：

 | 数据类型 | 描述
参数一 | string | 角色名称
返回值一 | string | 返回职位名称
返回值二 | string | 返回封号编号

使用示例：
function TestDemo()
    --获取行会对象
    local tmpGuildobject = gPlayer.Guild
    if tmpGuildobject then
        --从玩家名称获取封号名称、封号编号
        local tmpRankName, tmpRankNo = tmpGuildobject:GetRankInfoByName('狂霸九藜')
        print(tmpRankName)
        print(tmpRankNo)


从玩家对象获取行会信息

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 方法 >
从玩家对象获取行会信息

声明：

   function GetRankInfoByPlayer()

说明：

   从玩家对象获取行会信息

命令参数：

 | 数据类型 | 描述
参数一 | string | 玩家对象
返回值一 | string | 返回封号名称
返回值二 | string | 返回封号编号

使用示例：
function TestDemo()
    --根据角色名称获取玩家对象
    local tmpPalyobject = gSystem:GetPlayerByName('狂霸九藜')
    --玩家对象存在
    if tmpPalyobject then
        --获取行会对象
        local tmpGuildobject = gPlayer.Guild
        if tmpGuildobject then
            local tmpRankName, tmpRankNo = tmpGuildobject:GetRankInfoByPlayer(tmpPalyobject)
            print(tmpRankName)
            print(tmpRankNo)


发送行会消息

GXX引擎 Lua脚本接口 > TGuild [行会对象类] > 方法 >
发送行会消息

声明：

   function SendGuildMsg()

说明：

   发送行会消息

命令参数：

 | 数据类型 | 描述
参数一 | string | 文字内容
返回值 |  | 无

使用示例：
function TestDemo()
    --根据角色名称获取玩家对象
    local tmpPalyobject = gSystem:GetPlayerByName('狂霸九藜')
    --玩家对象存在
    if tmpPalyobject then
        --获取行会对象
        local tmpGuildobject = gPlayer.Guild
        if tmpGuildobject then
            tmpGuildobject:SendGuildMsg('今天行会会议将在20:00开启，大家准时参加！！！')


TBaseObject [基本对象类]

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] >
TBaseObject

TBaseObject介绍：

    TSmartObject为基本对象类

    类继承关系：TDummyObject -> TPlayObject -> TSmartObject -> TBaseObject


属性

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] >
TBaseObject

基本对象类：

属性名称 | 描述 | 读写状态
Name | 名称 | 可读 可写(不能设置人物、英雄)
NameColor | 名字颜色 | 可读 可写
Gender | 性别 | 可读 可写
Job | 职业 | 可读 可写
Hair | 发型 | 可读 可写
Envir | 所在地图 | 只读
CurrPoint | 当前坐标 | 可读 可写
Direction | 方向 | 只读
HomeMapName | 回城地图名称 | 只读
HomePoint | 回城坐标 | 只读
Permission | 权限等级 | 可读 可写
Death | 是否死亡 | 只读
DeathTick | 死亡时长 | 只读
Ghost | 是否死亡并清理 | 只读
GhostTick | 清理时间 | 只读
RaceServer | 角色类型 | 只读
Appr | 形象代码 | 只读
RaceImg | 攻击效果代码 | 只读
CharStatus | 状态 | 可读 可写
HungerPoint | 饥饿点 | 可读 可写
IsNGMonster | 是否为内功怪 | 只读
IsDummy | 是否为假人 | 只读
ViewRange | 可视范围 | 可读 可写
Ability | 原始属性 | 只读
WAbility | 最终属性 | 可读 可写
Master | 师父 | 只读
MasterEx | 最上层师父 | 只读
IsSuperMan | 是否无敌模式 | 可读 可写
IsAdmin | 是否管理模式 | 可读 可写
Transparent | 是否魔法隐身 | 可读 可写
ObMode | 隐身模式 | 可读 可写
StoneMode | 石像化模式 | 可读 可写
StickMode | 是否能推动 | 可读 可写
IsAnimal | 怪物是否可挖 | 可读 可写
IsNoItem | 死亡是否不掉装备 | 可读 可写
CoolEye | 隐身免疫 | 可读 可写
HitPoint | 准确 | 可读 可写
SpeedPoint | 敏捷 | 只读
HitSpeed | 攻击速度 | 可读 可写
WalkSpeed | 移动速度 | 可读 可写
HPRecover | HP恢复速度 | 可读 可写
MPRecover | MP恢复速度 | 可读 可写
PoisonRecover | 中毒恢复 | 可读 可写
AntiPoison | 毒躲避 | 可读 可写
AntiMagic | 魔法躲避 | 可读 可写
Luck | 幸运 | 可读 可写
AttatckMode | 攻击模式 | 可读 可写
Nation | 所属国家 | 只读
NationaName | 国家名字 | 只读
Guild | 行会 | 只读
GuildRankNo | 人物所在行会中的分组编号 | 只读
IsGuildMaster | 是否为行会老大 | 只读
IsHideMode | 是否是隐身戒指 | 可读 可写
IsParalysis | 是否是麻痹戒指 | 可读 可写
ParalysisRate | 麻痹几率 | 可读 可写
IsMDParalysis | 是否是魔道麻痹戒指 | 可读 可写
MDParalysisRate | 魔道麻痹几率 | 可读 可写
IsFrozen | 是否是冰冻戒指 | 可读 可写
FrozenRate | 冰冻几率 | 可读 可写
IsCobwebWinding | 是否是蛛网戒指 | 可读 可写
CobwebWindingRate | 蛛网几率 | 可读 可写
UnParalysisValue | 防麻几率 | 可读 可写
IsUnParalysis | 根据几率取当次是否防麻 | 只读
UnMagicShieldValue | 防护身几率 | 可读 可写
IsUnMagicShield | 根据几率取当次是否防护身 | 只读
UnRevivalValue | 防复活几率 | 可读 可写
IsUnRevival | 根据几率取当次是否防复活 | 只读
UnPosionValue | 防毒几率 | 可读 可写
IsUnPosion | 根据几率取当次是否防毒 | 只读
UnTammingValue | 防诱惑几率 | 可读 可写
IsUnTamming | 根据几率取当次是否防诱惑 | 只读
UnFireCrossValue | 防火墙几率 | 可读 可写
IsUnFireCross | 根据几率取当次是否防火墙 | 只读
UnFrozenValue | 防冰冻几率 | 可读 可写
IsUnFrozen | 根据几率取当次是否防冰冻 | 只读
UnCobwebWindingValue | 防蛛网几率 | 可读 可写
IsUnCobwebWinding | 根据几率取当次是否防蛛网 | 只读
TargetCreat | 当前攻击目标 | 可读 可写
LastHiter | 攻击对象 | 可读 可写
ExpHitter | 得到经验对象 | 可读 可写
PoisonHitter | 施毒者 | 可读 可写
PoseCreate | 对面对象 | 可读 可写
IsEnoughBag | 检测背包是否满 | 可读 可写
InSafeZone | 是否在安全区 | 只读


名称

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
名称

属性名称：

    Name

说明：

    名称

读写状态：

    可读 可写(不能设置人物、英雄)

使用示例：
--名称
print(string.format("名称：%s", gPlayer.Name))


名字颜色

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
名字颜色

属性名称：

    NameColor

说明：

    名字颜色

读写状态：

    可读 可写

使用示例：

function TestDemo()
    --设置人物名字颜色
    gPlayer.NameColor = 249
    --获取人物名字颜色
    print(string.format("名字颜色：%d", gPlayer.NameColor))
    gPlayer:SysMsg(string.format("当前人物名字颜色：%d", gPlayer.NameColor), 215, 116, 1)


性别

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
性别

属性名称：

    Gender

说明：

    性别（0-男、1-女）

读写状态：

    可读 可写

使用示例：

function TestDemo()
    --设置人物性别
    gPlayer.Gender = 1
    --获取人物性别
    print(string.format("性别：%d", gPlayer.Gender))
    gPlayer:SysMsg(string.format("当前人物性别：%d", gPlayer.Gender), 215, 116, 1)


职业

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
职业

属性名称：

    Job

说明：

    职业（0-战士、1-法师、2-道士）

读写状态：

    可读 可写

使用示例：

function TestDemo()
    --设置人物职业
    gPlayer.Job = 2
    --获取人物职业
    print(string.format("职业：%d", gPlayer.Job))
    gPlayer:SysMsg(string.format("职业：%d", gPlayer.Job), 215, 116, 1)


发型

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
发型

属性名称：

    Hair

说明：

    发型

读写状态：

    可读 可写

使用示例：

--获取发型
print(string.format("发型：%d", gPlayer.Hair))


地图环境对象

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
地图环境对象

属性名称：

    Envir

说明：

    地图环境对象

读写状态：

    只读

使用示例：
local tmpEnvir = gPlayer.Envir
if tmpEnvir then
    print(string.format("所在地图的名称：%s", tmpEnvir.MapName))


当前坐标

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
当前坐标

属性名称：

    CurrPoint

说明：

    当前坐标

读写状态：

    可读 可写

值类型结构：

名称 | 描述
X | X坐标
Y | Y坐标

使用示例：

function TestDemo()
    --设置当前坐标
    gPlayer.CurrPoint = { ['X'] = 330, ['Y'] = 330 }

    --当前坐标
    --M2后台输出
    print(string.format("获取当前坐标：X坐标：%d Y坐标：%d", gPlayer.CurrPoint.X, gPlayer.CurrPoint.Y))
    --游戏界面输出
    gPlayer:SysMsg(string.format("获取当前坐标：X坐标：%d Y坐标：%d", gPlayer.CurrPoint.X,
        gPlayer.CurrPoint.Y), 215, 116, 1)


方向

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
方向

属性名称：

    Direction

说明：

    方向

读写状态：

    只读

使用示例：
local tmpDirection = gPlayer.Direction
if tmpDirection then
    print(string.format("方向：%d", tmpDirection))


回城地图名称

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
回城地图名称

属性名称：

    HomeMapName

说明：

    回城地图名称

读写状态：

    只读

使用示例：
local tmpHomemapname = gPlayer.HomeMapName
if tmpHomemapname then
    print(string.format("回城地图名称：%s", tmpHomemapname))


获取回城坐标

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
回城坐标

属性名称：

    HomePoint

说明：

    回城坐标

读写状态：

    只读

值类型结构：

名称 | 描述
X | X坐标
Y | Y坐标

使用示例：
local tmpHomepoint = gPlayer.HomePoint
if tmpHomepoint then
    print(string.format("回城坐标：X坐标：%d Y坐标：%d", tmpHomepoint.X, tmpHomepoint.Y))


获取权限等级

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
权限等级

属性名称：

    Permission

说明：

    权限等级

读写状态：

    可读 可写

使用示例：
local tmpPermission = gPlayer.Permission
if tmpPermission then
    print(string.format("权限等级：%d", tmpPermission))


是否死亡

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
是否死亡

属性名称：

    Death

说明：

    是否死亡

读写状态：

    只读

使用示例：
local tmpDeath = gPlayer.Death
if tmpDeath then
    print(string.format("是否死亡：%s", tmpDeath))


死亡时长

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
死亡时长

属性名称：

    DeathTick

说明：

    死亡时长

读写状态：

    只读

使用示例：
local tmpDeathtick = gPlayer.DeathTick
if tmpDeathtick then
    print(string.format("死亡时长：%d", tmpDeathtick))


是否死亡并清理

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
是否死亡并清理

属性名称：

    Ghost

说明：

    是否死亡并清理

读写状态：

    只读

使用示例：
local tmpGhost = gPlayer.Ghost
if tmpGhost then
    print(string.format("是否死亡并清理：%s", tmpGhost))


清理时间

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
清理时间

属性名称：

    GhostTick

说明：

    清理时间

读写状态：

    只读

使用示例：
local tmpGhosttick = gPlayer.GhostTick
if tmpGhosttick then
    print(string.format("清理时间：%d", tmpGhosttick))


角色类型

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
角色类型

属性名称：

    RaceServer

说明：

    获取角色类型

读写状态：

    只读

使用示例：
local tmpRaceserver = gPlayer.RaceServer
if tmpRaceserver then
    print(string.format("角色类型：%d", tmpRaceserver))


形象代码

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
形象代码

属性名称：

    Appr

说明：

    形象代码

读写状态：

    只读

使用示例：
local tmpAppr = gPlayer.Appr
if tmpAppr then
    print(string.format("形象代码：%d", tmpAppr))


攻击效果代码

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
攻击效果代码

属性名称：

    RaceImg

说明：

    攻击效果代码

读写状态：

    只读

使用示例：
local tmpRaceimg = gPlayer.RaceImg
if tmpRaceimg then
    print(string.format("攻击效果代码：%d", tmpRaceimg))


状态

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
状态

属性名称：

    CharStatus

说明：

    状态

读写状态：

    可读 可写

使用示例：
local tmpCharstatus = gPlayer.CharStatus
if tmpCharstatus then
    print(string.format("状态：%d", tmpCharstatus))


饥饿点

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
饥饿点

属性名称：

    HungerPoint

说明：

    饥饿点

读写状态：

    可读 可写

使用示例：
local tmpHungerpoint = gPlayer.HungerPoint
if tmpHungerpoint then
    print(string.format("饥饿点：%d", tmpHungerpoint))


是否为内功怪

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
是否为内功怪

属性名称：

    IsNGMonster

说明：

    是否为内功怪

读写状态：

    只读

使用示例：
local tmpNgmonster = gPlayer.IsNGMonster
if tmpNgmonster then
    print(string.format("是否为内功怪：%s", tmpNgmonster))


是否为假人

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
是否为假人

属性名称：

    IsDummy

说明：

    是否为假人

读写状态：

    只读

使用示例：
local tmpIsdummy = gPlayer.IsDummy
if tmpIsdummy then
    print(string.format("是否为假人：%s", tmpIsdummy))


可视范围

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
可视范围

属性名称：

    ViewRange

说明：

    可视范围

读写状态：

    可读 可写

使用示例：
local tmpViewrange = gPlayer.ViewRange
if tmpViewrange then
    print(string.format("可视范围：%d", tmpViewrange))


原始属性

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
原始属性

属性名称：

    Ability

说明：

    原始属性

读写状态：

    只读

值类型结构：

名称 | 描述
Level | 获取等级
AC | 获取防御下限
MaxAC | 获取防御上限
MAC | 获取魔御下限
MaxMAC | 获取魔御上限
DC | 获取攻击下限
MaxDC | 获取攻击上限
SC | 获取道术下限
MaxSC | 获取道术上限
MC | 获取魔法下限
MaxMC | 获取魔法上限
HP | 获取血量提升
MP | 获取蓝量提升
MaxHP | 获取血量提升上限
MaxMP | 获取蓝量提升上限
Exp | 获取经验值
MaxExp | 获取经验值上限
Weight | 获取负重量
MaxWeight | 获取负重量上限
MaxWearWeight | 获取可穿重量上限
HandWeight | 获取腕力
MaxHandWeight | 获取腕力上限
CreditPoint | 获取人物声望值

使用示例：
local tmpAbility = gPlayer.Ability
if tmpAbility then
    print(string.format("原始属性：HP值为：%d MP值为：%d", tmpAbility.HP, tmpAbility.MP))


最终属性

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
最终属性

属性名称：

    WAbility

说明：

    最终属性

读写状态：

    可读 可写

值类型结构：

名称 | 描述
Level | 获取等级
AC | 获取防御下限
MaxAC | 获取防御上限
MAC | 获取魔御下限
MaxMAC | 获取魔御上限
DC | 获取攻击下限
MaxDC | 获取攻击上限
SC | 获取道术下限
MaxSC | 获取道术上限
MC | 获取魔法下限
MaxMC | 获取魔法上限
HP | 获取血量提升
MP | 获取蓝量提升
MaxHP | 获取血量提升上限
MaxMP | 获取蓝量提升上限
Exp | 获取经验值
MaxExp | 获取经验值上限
Weight | 获取负重量
MaxWeight | 获取负重量上限
MaxWearWeight | 获取可穿重量上限
HandWeight | 获取腕力
MaxHandWeight | 获取腕力上限
CreditPoint | 获取人物声望值

使用示例：
function TestDemo()
    --指定的属性
    print(string.format("最终属性：HP值为：%d MP值为：%d", gPlayer.WAbility.HP, gPlayer.WAbility.MP))

    --按属性名称设置属性
    gPlayer.WAbility = { ['HP'] = 500 , ['MP'] = 1000 }


师父

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
师父

属性名称：

    Master

说明：

    师父

读写状态：

    只读

使用示例：
local tmpMaster = gPlayer.Master
if tmpMaster then
    print(string.format("师父：%s", tmpMaster))


最上层师父

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
最上层师父

属性名称：

    MasterEx

说明：

    最上层师父

读写状态：

    只读

使用示例：
local tmpMasterex = gPlayer.MasterEx
if tmpMasterex then
    print(string.format("最上层师父：%s", tmpMasterex))


是否无敌模式

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
是否无敌模式

属性名称：

    IsSuperMan

说明：

    是否无敌模式

读写状态：

    可读 可写

使用示例：
local tmpIssuperman = gPlayer.IsSuperMan
if tmpIssuperman then
    print(string.format("是否无敌模式：%s", tmpIssuperman))


是否管理模式

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
是否管理模式

属性名称：

    IsAdmin

说明：

    是否管理模式

读写状态：

    可读 可写

使用示例：
local tmpIsadmin = gPlayer.IsAdmin
if tmpIsadmin then
    print(string.format("是否管理模式：%s", tmpIsadmin))


是否魔法隐身

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
是否魔法隐身

属性名称：

    Transparent

说明：

    是否魔法隐身

读写状态：

    可读 可写

使用示例：
local tmpTransparent = gPlayer.Transparent
if tmpTransparent then
    print(string.format("是否魔法隐身：%s", tmpTransparent))


是否隐身模式

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
是否隐身模式

属性名称：

    ObMode

说明：

    是否隐身模式

读写状态：

    可读 可写

使用示例：
local tmpObMode = gPlayer.ObMode
if tmpObMode then
    print(string.format("是否隐身模式：%s", tmpObMode))


是否石像化模式

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
是否石像化模式

属性名称：

    StoneMode

说明：

    是否石像化模式

读写状态：

    可读 可写

使用示例：
local tmpStoneMode = gPlayer.StoneMode
if tmpStoneMode then
    print(string.format("是否石像化模式：%s", tmpStoneMode))


是否能推动

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
是否能推动

属性名称：

    StickMode

说明：

    是否能推动

读写状态：

    可读 可写

使用示例：
local tmpStickMode = gPlayer.StickMode
if tmpStickMode then
    print(string.format("是否能推动：%s", tmpStickMode))


怪物是否可挖

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
怪物是否可挖

属性名称：

    IsAnimal

说明：

    怪物是否可挖

读写状态：

    可读 可写

使用示例：
local tmpIsAnimal = gPlayer.IsAnimal
if tmpIsAnimal then
    print(string.format("怪物是否可挖：%s", tmpIsAnimal))


死亡是否不掉装备

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
死亡是否不掉装备

属性名称：

    IsNoItem

说明：

    死亡是否不掉装备

读写状态：

    可读 可写

使用示例：
local tmpIsNoItem = gPlayer.IsNoItem
if tmpIsNoItem then
    print(string.format("死亡是否不掉装备：%s", tmpIsNoItem))


是否隐身免疫

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
是否隐身免疫

属性名称：

    CoolEye

说明：

    是否隐身免疫

读写状态：

    可读 可写

使用示例：
local tmpCoolEye = gPlayer.CoolEye
if tmpCoolEye then
    print(string.format("是否隐身免疫：%s", tmpCoolEye))


角色准确

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
角色准确

属性名称：

    HitPoint

说明：

    角色准确

读写状态：

    可读 可写

使用示例：
local tmpHitpoint = gPlayer.HitPoint
if tmpHitpoint then
    print(string.format("角色准确：%d", tmpHitpoint))


角色敏捷

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
角色敏捷

属性名称：

    SpeedPoint

说明：

    角色敏捷

读写状态：

    只读

使用示例：
local tmpSpeedpoint = gPlayer.SpeedPoint
if tmpSpeedpoint then
    print(string,format("角色敏捷：%d", tmpSpeedpoint))


攻击速度

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
攻击速度

属性名称：

    HitSpeed

说明：

    攻击速度

读写状态：

    可读 可写

使用示例：
local tmpHitSpeed = gPlayer.HitSpeed
if tmpHitSpeed then
    print(string.format("攻击速度：%d", tmpHitSpeed))


移动速度

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
移动速度

属性名称：

    WalkSpeed

说明：

    移动速度

读写状态：

    可读 可写

使用示例：
local tmpWalkspeed = gPlayer.WalkSpeed
if tmpWalkspeed then
    print(string.format("移动速度：%d", tmpWalkspeed))


HP恢复速度

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
HP恢复速度

属性名称：

    HPRecover

说明：

    HP恢复速度

读写状态：

    可读 可写

使用示例：
local tmpHPRecover = gPlayer.HPRecover
if tmpHPRecover then
    print(string.format("HP恢复速度：%d", tmpHPRecover))


MP恢复速度

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
MP恢复速度

属性名称：

    MPRecover

说明：

    MP恢复速度

读写状态：

    可读 可写

使用示例：
local tmpMPRecover = gPlayer.MPRecover
if tmpMPRecover then
    print(string.format("MP恢复速度：%d", tmpMPRecover))


中毒恢复

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
中毒恢复

属性名称：

    PoisonRecover

说明：

    中毒恢复

读写状态：

    可读 可写

使用示例：
local tmpPoisonrecover = gPlayer.PoisonRecover
if tmpPoisonrecover then
    print(string.format("中毒恢复：%d", tmpPoisonrecover))


毒躲避

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
毒躲避

属性名称：

    AntiPoison

说明：

    毒躲避

读写状态：

    可读 可写

使用示例：
local tmpAntipoison = gPlayer.AntiPoison
if tmpAntipoison then
    print(string.format("毒躲避：%d", tmpAntipoison))


魔法躲避

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
魔法躲避

属性名称：

    AntiMagic

说明：

    魔法躲避

读写状态：

    可读 可写

使用示例：
local tmpAntimagic = gPlayer.AntiMagic
if tmpAntimagic then
    print(string.format("魔法躲避：%d", tmpAntimagic))


幸运

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
幸运

属性名称：

    Luck

说明：

    幸运

读写状态：

    可读 可写

使用示例：
local tmpLuck = gPlayer.Luck
if tmpLuck then
    print(string.format("幸运：%d", tmpLuck))


攻击模式

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
攻击模式

属性名称：

    AttatckMode

说明：

    攻击模式

读写状态：

    可读 可写

使用示例：
local tmpAttatckMode = gPlayer.AttatckMode
if tmpAttatckMode then
    print(string.format("攻击模式：%d", tmpAttatckMode))


所属国家

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
所属国家

属性名称：

    Nation

说明：

    所属国家

读写状态：

    只读

使用示例：
local tmpNation = gPlayer.Nation
if tmpNation then
    print(string.format("所属国家：%s", tmpNation))


国家名字

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
国家名字

属性名称：

    NationaName

说明：

    国家名字

读写状态：

    只读

使用示例：
local tmpNationaName = gPlayer.NationaName
if tmpNationaName then
    print(string.format("国家名字：%s", tmpNationaName))


行会对象

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
行会对象

属性名称：

    Guild

说明：

    行会对象

读写状态：

    只读

使用示例：
local tmpGuildobject = gPlayer.Guild
if tmpGuildobject then
    print(string.format("行会名称：%s", tmpGuildobject.GuildName))


人物所在行会中的分组编号

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
人物所在行会中的分组编号

属性名称：

    GuildRankNo

说明：

    人物所在行会中的分组编号

读写状态：

    只读

使用示例：
local tmpGuildRankNo = gPlayer.GuildRankNo
if tmpGuildRankNo then
    print(string.format("人物所在行会中的分组编号：%d", tmpGuildRankNo))


是否为行会老大

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
是否为行会老大

属性名称：

    IsGuildMaster

说明：

    是否为行会老大

读写状态：

    只读

使用示例：
local tmpIsGuildMaster = gPlayer.IsGuildMaster
if tmpIsGuildMaster then
    print(string.format("是否为行会老大：%s", tmpIsGuildMaster))


是否是隐身戒指

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
是否是隐身戒指

属性名称：

    IsHideMode

说明：

    是否是隐身戒指(特殊物品:111)

读写状态：

    可读 可写

使用示例：
local tmpIsHideMode = gPlayer.IsHideMode
if tmpIsHideMode then
    print(string.format("是否是隐身戒指：%s", tmpIsHideMode))


是否是麻痹戒指

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
是否是麻痹戒指

属性名称：

    IsParalysis

说明：

    是否是麻痹戒指(特殊物品:113)

读写状态：

    可读 可写

使用示例：
local tmpIsParalysis = gPlayer.IsParalysis
if tmpIsParalysis then
    print(string.format("是否是麻痹戒指：%s", tmpIsParalysis))


麻痹几率

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
麻痹几率

属性名称：

    ParalysisRate

说明：

    麻痹几率

读写状态：

    可读 可写

使用示例：
local tmpParalysisRate = gPlayer.ParalysisRate
if tmpParalysisRate then
    print(string.format("麻痹几率：%d", tmpParalysisRate))


是否是魔道麻痹戒指

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
是否佩是道麻痹戒指

属性名称：

    IsMDParalysis

说明：

    是否是魔道麻痹戒指(特殊物品:204)

读写状态：

    可读 可写

使用示例：
local tmpIsMDParalysis = gPlayer.IsMDParalysis
if tmpIsMDParalysis then
    print(string.format("是否是魔道麻痹戒指：%s", tmpIsMDParalysis))


魔道麻痹几率

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
魔道麻痹几率

属性名称：

    MDParalysisRate

说明：

    魔道麻痹几率

读写状态：

    可读 可写

使用示例：
local tmpMDParalysisRate = gPlayer.MDParalysisRate
if tmpMDParalysisRate then
    print(string.format("魔道麻痹几率：%d", tmpMDParalysisRate))


是否是冰冻戒指

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
是否是冰冻戒指

属性名称：

    IsFrozen

说明：

    是否是冰冻戒指(特殊物品:205)

读写状态：

    可读 可写

使用示例：
local tmpIsFrozen = gPlayer.IsFrozen
if tmpIsFrozen then
    print(string.format("是否是冰冻戒指：%s", tmpIsFrozen))


冰冻几率

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
冰冻几率

属性名称：

    FrozenRate

说明：

    冰冻几率

读写状态：

    可读 可写

使用示例：
local tmpFrozenRate = gPlayer.FrozenRate
if tmpFrozenRate then
    print(string.format("冰冻几率：%d", tmpFrozenRate))


是否是蛛网戒指

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
是否是蛛网戒指

属性名称：

    IsCobwebWinding

说明：

    是否是蛛网戒指(特殊物品:206)

读写状态：

    可读 可写

使用示例：
local tmpIsCobwebWinding = gPlayer.IsCobwebWinding
if tmpIsCobwebWinding then
    print(string.format("是否是蛛网戒指：%s", tmpIsCobwebWinding))


蛛网几率

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
蛛网几率

属性名称：

    CobwebWindingRate

说明：

    蛛网几率

读写状态：

    可读 可写

使用示例：
local tmpCobwebWindingRate = gPlayer.CobwebWindingRate
if tmpCobwebWindingRate then
    print(string.format("蛛网几率：%d", tmpCobwebWindingRate))


防麻几率

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
防麻几率

属性名称：

    UnParalysisValue

说明：

    防麻几率

读写状态：

    可读 可写

使用示例：

local tmpUnParalysisValue = gPlayer.UnParalysisValue
if tmpUnParalysisValue then
    print(string.format("防麻几率：%d", tmpUnParalysisValue))


根据几率取当次是否防麻

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
根据几率取当次是否防麻

属性名称：

    IsUnParalysis

说明：

    根据几率取当次是否防麻

读写状态：

    只读

使用示例：

local tmpIsUnParalysis = gPlayer.IsUnParalysis
if tmpIsUnParalysis then
    print(string.format("根据几率取当次是否防麻：%s", tmpIsUnParalysis))


防护身几率

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
防护身几率

属性名称：

    UnMagicShieldValue

说明：

    防护身几率

读写状态：

    可读 可写

使用示例：

local tmpUnMagicShieldValue = gPlayer.UnMagicShieldValue
if tmpUnMagicShieldValue then
    print(string.format("防护身几率：%d", tmpUnMagicShieldValue))


根据几率取当次是否防护身

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
根据几率取当次是否防护身

属性名称：

    IsUnMagicShield

说明：

    根据几率取当次是否防护身

读写状态：

    只读

使用示例：

local tmpIsUnMagicShield = gPlayer.IsUnMagicShield
if tmpIsUnMagicShield then
    print(string.format("根据几率取当次是否防护身：%s", tmpIsUnMagicShield))


防复活几率

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
防复活几率

属性名称：

    UnRevivalValue

说明：

    防复活几率

读写状态：

    可读 可写

使用示例：

local tmpUnRevivalValue = gPlayer.UnRevivalValue
if tmpUnRevivalValue then
    print(string.format("防复活几率：%d", tmpUnRevivalValue))


根据几率取当次是否防复活

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
根据几率取当次是否防复活

属性名称：

    IsUnRevival

说明：

    根据几率取当次是否防复活

读写状态：

    只读

使用示例：

local tmpIsUnRevival = gPlayer.IsUnRevival
if tmpIsUnRevival then
    print(string.format("根据几率取当次是否防复活：%s", tmpIsUnRevival))


根据几率取当次是否防毒

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
根据几率取当次是否防毒

属性名称：

    IsUnPosion

说明：

    根据几率取当次是否防毒

读写状态：

    可读 可写

使用示例：

local tmpIsUnPosion = gPlayer.IsUnPosion
if tmpIsUnPosion then
    print(string.format("根据几率取当次是否防毒：%s", tmpIsUnPosion))


根据几率取当次是否防毒

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
根据几率取当次是否防毒

属性名称：

    IsUnPosion

说明：

    根据几率取当次是否防毒

读写状态：

    只读

使用示例：

local tmpIsUnPosion = gPlayer.IsUnPosion
if tmpIsUnPosion then
    print(string.format("根据几率取当次是否防毒：%s", tmpIsUnPosion))


防诱惑几率

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
防诱惑几率

属性名称：

    UnTammingValue

说明：

    防诱惑几率

读写状态：

    可读 可写

使用示例：

local tmpUnTammingValue = gPlayer.UnTammingValue
if tmpUnTammingValue then
    print(string.format("防诱惑几率：%d", tmpUnTammingValue))


根据几率取当次是否防诱惑

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
根据几率取当次是否防诱惑

属性名称：

    IsUnTamming

说明：

    根据几率取当次是否防诱惑

读写状态：

    只读

使用示例：

local tmpIsUnTamming = gPlayer.IsUnTamming
if tmpIsUnTamming then
    print(string.format("根据几率取当次是否防诱惑：%s", tmpIsUnTamming))


防火墙几率

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
防火墙几率

属性名称：

    UnFireCrossValue

说明：

    防火墙几率

读写状态：

    可读 可写

使用示例：

local tmpUnFireCrossValue = gPlayer.UnFireCrossValue
if tmpUnFireCrossValue then
    print(string.format("防火墙几率：%d", tmpUnFireCrossValue))


根据几率取当次是否防火墙

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
根据几率取当次是否防火墙

属性名称：

    IsUnFireCross

说明：

    根据几率取当次是否防火墙

读写状态：

    只读

使用示例：

local tmpIsUnFireCross = gPlayer.IsUnFireCross
if tmpIsUnFireCross then
    print(string.format("根据几率取当次是否防火墙：%s", tmpIsUnFireCross))


防冰冻几率

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
防冰冻几率

属性名称：

    UnFrozenValue

说明：

    防冰冻几率

读写状态：

    可读 可写

使用示例：

local tmpUnFrozenValue = gPlayer.UnFrozenValue
if tmpUnFrozenValue then
    print(string.format("防冰冻几率：%d", tmpUnFrozenValue))


根据几率取当次是否防冰冻

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
根据几率取当次是否防冰冻

属性名称：

    IsUnFrozen

说明：

    根据几率取当次是否防冰冻

读写状态：

    只读

使用示例：

local tmpIsUnFrozen = gPlayer.IsUnFrozen
if tmpIsUnFrozen then
    print(string.format("根据几率取当次是否防冰冻：%s", tmpIsUnFrozen))


防蛛网几率

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
防蛛网几率

属性名称：

    UnCobwebWindingValue

说明：

    防蛛网几率

读写状态：

    可读 可写

使用示例：

local tmpUnCobwebWindingValue = gPlayer.UnCobwebWindingValue
if tmpUnCobwebWindingValue then
    print(string.format("防蛛网几率：%d", tmpUnCobwebWindingValue))


根据几率取当次是否防蛛网

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
根据几率取当次是否防蛛网

属性名称：

    IsUnCobwebWinding

说明：

    根据几率取当次是否防蛛网

读写状态：

    只读

使用示例：

local tmpIsUnCobwebWinding = gPlayer.IsUnCobwebWinding
if tmpIsUnCobwebWinding then
    print(string.format("根据几率取当次是否防蛛网：%s", tmpIsUnCobwebWinding))


攻击目标

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
攻击目标

属性名称：

    TargetCreat

说明：

    攻击目标

读写状态：

    可读 可写

使用示例：

local tmpTargetcreat = gPlayer.TargetCreat
if tmpTargetcreat then
    print(string.format("攻击目标：%s", tmpTargetcreat))


攻击对象

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
攻击对象

属性名称：

    LastHiter

说明：

    攻击对象

读写状态：

    可读 可写

使用示例：

local tmpLastHiter = gPlayer.LastHiter
if tmpLastHiter then
    print(string,format("获取攻击对象：%s", tmpLastHiter))


得到经验对象

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
得到经验对象

属性名称：

    ExpHitter

说明：

    得到经验对象

读写状态：

    可读 可写

使用示例：

local tmpExpHitter = gPlayer.ExpHitter
if tmpExpHitter then
    print(string,format("得到经验对象：%s", tmpExpHitter))


施毒者

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
施毒者

属性名称：

    PoisonHitter

说明：

    施毒者

读写状态：

    可读 可写

使用示例：

local tmpPoisonHitter = gPlayer.PoisonHitter
if tmpPoisonHitter then
    print(string.format("施毒者：%s", tmpPoisonHitter))


对面对象

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
对面对象

属性名称：

    PoseCreate

说明：

    对面对象

读写状态：

    可读 可写

使用示例：

local tmpPoseCreate = gPlayer.PoseCreate
if tmpPoseCreate then
    print(string.format("对面对象：%s", tmpPoseCreate))


检测背包是否满

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
检测背包是否满

属性名称：

    IsEnoughBag

说明：

    检测背包是否满

读写状态：

    可读 可写

使用示例：

local tmpIsEnoughBag = gPlayer.IsEnoughBag
if tmpIsEnoughBag then
    print(string.format("检测背包是否满：%s", tmpIsEnoughBag))


是否在安全区

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 属性 >
是否在安全区

属性名称：

    InSafeZone

说明：

    是否在安全区

读写状态：

    只读

使用示例：

local tmpInsafezone = gPlayer.InSafeZone
if tmpInsafezone then
    print(string.format("是否在安全区：%s", tmpInsafezone))


方法

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] >
TBaseObject

基本对象类：

方法名称 | 描述
RefShowName | 刷新名称到客户端
RefNameColor | 刷新名称颜色
SetLastHitter | 设置最后的打手
Die | 死亡
MakeGhost | 清理尸体
ReAlive | 复活
GetSlaveList | 宝宝列表
Nation | 设置所属国家
DelTargetCreat | 删除当前攻击目标
IsProperTarget | 是否为攻击目标
IsProperFriend | 是否为朋友
TargetInRange | 判断对象在指定范围内
SendMsg | 发送消息
SendDelayMsg | 发延时消息
SendRefMsg | 向全屏玩家发消息
SendUpdateMsg | 更新发消息
SysMsg | 发聊天信息
IsEnoughBagEx | 背包是否还有足够的空间放指定数量的物品
AddItemToBag | 加物品到背包
DelBagItem | 删除背包第几个物品
IsPtInSafeZone | 检查坐标点是否在安全区内
RecalcLevelAbil | 重算等级属性
RecalcAbil | 重算属性
RecalcBagWeight | 重算背包重量
GetLevelExp | 指定等级升到下级所要经验值
HasLevelUp | 升级
TrainSkill | 加技能熟练点
CheckMagicLevelup | 检查技能是否升级
DamageHealth | 掉血
DamageSpell | 消耗MP
IncHealthSpell | 增加HP/MP
HealthSpellChanged | 通知客户端HP/MP改变
FeatureChanged | 通知客户端外观改变
WeightChanged | 通知客户端负重改变
GetHitStruckDamage | 减防后物理伤害
GetMagStruckDamage | 减防后魔法伤害
GetActorIcon | 获取顶戴花翎
SetActorIcon | 设置顶戴花翎
RefUseIcons | 刷新顶戴花翎
RefUseEffects | 刷新效果
SpaceMove | 移动到指定地图及坐标
MapRandomMove | 飞到指定地图随机坐标
CanMove | 对象是否可移动
CanRun | 是否可以从一个点跑往另一个点
TurnTo | 转向
WalkTo | 向当前方向走动一步
RunTo | 向当前方向跑动一步
UpdateBagItem | 按索引更新包裹物品
UpdateUseItem | 按索引更新身上物品
GetPoseCreate | 获取指定步数内对象
GotoNext | 移动到指定坐标
SwitchMap | 转换地图
GetBagItems | 获取包裹物品列表
AddItem | 添加物品对象
DelItemByName | 按名称删除物品
DelItemByUserItem | 按用户物品对象删除物品


刷新名称到客户端

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
刷新名称到客户端

声明：

   function RefShowName()

说明：

   刷新名称到客户端

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 | boolean | 是否刷新成功

使用示例：
function TestDemo()
    --刷新名称到客户端
    gPlayer:RefShowName()


刷新名称颜色

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
刷新名称颜色

声明：

   function RefNameColor()

说明：

   刷新名称颜色

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 | boolean | 是否刷新成功

使用示例：
function TestDemo()
    --刷新名称颜色、PKPoint等改变时
    gPlayer:RefNameColor()


设置最后的打手

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
设置最后的打手

声明：

   function SetLastHitter()

说明：

   设置最后的打手

参数：

 | 数据类型 | 描述
参数一 | TPlayObject | 玩家对象类
返回值 |  | 无

使用示例：
function TestDemo()
    --根据在线名字获取玩家对象
    local tmpPalyobject = gSystem:GetPlayerByName('无敌')
    --如果玩家对象存在
    if tmpPalyobject then
        --设置最后的打手
        gPlayer:SetLastHitter(tmpPalyobject)
        --死亡
        gPlayer:Die()
        --清理尸体
        gPlayer:MakeGhost()


死亡

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
死亡

声明：

   function Die()

说明：

   死亡

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --死亡
    gPlayer:Die()


清理尸体

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
清理尸体

声明：

   function MakeGhost()

说明：

   清理尸体

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --清理尸体
    gPlayer:MakeGhost()


复活

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
复活

声明：

   function ReAlive()

说明：

   复活
参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --如果找到玩家对象并且该玩家已经死亡
    if gPlayer.Death then
        --将玩家复活
        gPlayer:ReAlive()
        --将玩家传送回城
        gPlayer:GoHome()


宝宝列表

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
宝宝列表

声明：

   function GetSlaveList()

说明：

   宝宝列表
参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 | table | 返回宝宝列表

使用示例：
function TestDemo()
    --获取宝宝列表
    local tmpSlavelist = gPlayer:GetSlaveList()
    --宝宝对象存在
    if tmpSlavelist then
        ----遍历
        for key in pairs(tmpSlavelist) do
            --输出宝宝名称
            print(string.format("宝宝名称：%s", tmpSlavelist[key].Name))
        end
        tmpSlavelist = nil


设置所属国家

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
设置所属国家

声明：

   function Nation()

说明：

   设置所属国家
参数：

 | 数据类型 | 描述
参数 | string | 国家名称
返回值 | boolean | 是否设置成功

使用示例：
function TestDemo()
    --设置所属国家
    gPlayer:Nation("沧月国")


删除当前攻击目标

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
删除当前攻击目标

声明：

   function DelTargetCreat()

说明：

   删除当前攻击目标
参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --删除当前攻击目标
    gPlayer:DelTargetCreat()


是否为攻击目标

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
是否为攻击目标

声明：

   function IsProperTarget()

说明：

   是否为攻击目标
参数：

 | 数据类型 | 描述
参数一 | TPlayObject | 玩家对象
返回值 | boolean | 返回是否为攻击目标

使用示例：
function TestDemo()
    --根据在线名字获取玩家对象
    local tmpPlayerobject = gSystem:GetPlayerByName('无敌')
    --如果玩家对象存在
    if tmpPlayerobject then
        --判断当前对象是否为攻击目标
        local tmpIsProperTarget = gPlayer:IsProperTarget(tmpPlayerobject)
        if tmpIsProperTarget then
            print(string.format("是否为攻击目标：%s", tmpIsProperTarget))


是否为朋友

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
是否为朋友

声明：

   function IsProperFriend()

说明：

   是否为朋友
参数：

 | 数据类型 | 描述
参数一 | TPlayObject | 玩家对象
返回值 | boolean | 返回是否为朋友

使用示例：
function TestDemo()
    --根据在线名字获取玩家对象
    local tmpPlayerobject = gSystem:GetPlayerByName('无敌')
    --如果玩家对象存在
    if tmpPlayerobject then
        --是否为朋友
        local tmpIsProperFriend = gPlayer:IsProperFriend(tmpPlayerobject)
        if tmpIsProperFriend then
            print(string.format("是否为朋友：%s", tmpIsProperFriend))


判断对象在指定范围内

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
判断对象在指定范围内

声明：

   function TargetInRange()

说明：

   判断对象在指定范围内
参数：

 | 数据类型 | 描述
参数一 | TPlayObject | 玩家对象
参数二 | integer | X坐标
参数三 | integer | Y坐标
参数四 | integer | nRange半径
返回值 | boolean | 返回对象是否在之地范围内

使用示例：
function TestDemo()
    --根据在线名字获取玩家对象
    local tmpPlayerobject = gSystem:GetPlayerByName('无敌')
    --如果玩家对象存在
    if tmpPlayerobject then
        --判断对象在指定范围内
        local tmpTargetInRange = gPlayer:TargetInRange(tmpPlayerobject, gPlayer.CurrPoint.X, gPlayer.CurrPoint.Y, 10)
        if tmpTargetInRange then
            print(string.format("对象是否在指定范围内：%s", tmpTargetInRange))


发送消息

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
发送消息

声明：

   function SendMsg()

说明：

   发送消息 内部函数，不建议使用


发延时消息

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
发延时消息

声明：

   function SendDelayMsg()

说明：

   发延时消息 内部函数，不建议使用


向全屏玩家发消息

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
向全屏玩家发消息

声明：

   function SendDelayMsg()

说明：

   向全屏玩家发消息 内部函数，不建议使用


更新发消息

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
更新发消息

声明：

   function SendUpdateMsg()

说明：

   更新发消息 内部函数，不建议使用


发聊天信息

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
发聊天信息

声明：

   function SysMsg()

说明：

   发聊天信息

参数：

 | 数据类型 | 描述
参数一 | string | 消息文字
参数二 | integer | 字体颜色(0-255)
参数三 | integer | 背景颜色(0-255)
参数四 | integer | 消息类型(0:江湖公告; 1:提示; 2:系统;3:说话; 4:怪物; 5:管理员; 6:祝福; 7:沙巴克城主)
返回值 |  | 无

使用示例：
function TestDemo()
    --发送聊天消息
    gPlayer:SysMsg(string.format("发送聊天消息显示成功！", gPlayer.Name), 249, 116, 1)


背包是否还有足够的空间放指定数量的物品

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
背包是否还有足够的空间放指定数量的物品

声明：

   function IsEnoughBagEx()

说明：

   背包是否还有足够的空间放指定数量的物品
参数：

 | 数据类型 | 描述
参数一 | integer | 数量
返回值 | boolean | 返回是否足够

使用示例：
function TestDemo()
    --背包是否还有足够的空间放指定数量的物品
    if gPlayer:IsEnoughBagEx(10) then
        gPlayer:SysMsg(string.format("%s，背包还有足够的空间放指定数量的物品。", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("%s，你的背包没有10格空间来放指定数量的物品。", gPlayer.Name), 249, 116, 1)


加物品到背包

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
加物品到背包

声明：

   function AddItemToBag()

说明：

   加物品到背包
参数：

 | 数据类型 | 描述
参数一 | TUserItemObject | 用户物品对象
返回值 |  | 无

使用示例：
function TestDemo()
    --按物品名称创建物品
    local tmpItem = gSystem:CreateItemByName("圣光壁垒")
    --如果用户物品对象存在
    if tmpItem then
        --向指定人物加物品到背包
        if gPlayer:AddItemToBag(tmpItem) then
            print(string.format("复制物品[%s]已经添加到玩家[%s]的背包", tmpItem.Name, gPlayer.Name))
            --如果添加成功，则向客户端发送添加物品消息。
            gPlayer:SendAddItem(tmpItem)
            --重算背包重量
            gPlayer:RecalcBagWeight()
            --通知客户端负重改变
            gPlayer:WeightChanged()


删除背包第几个物品

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
删除背包第几个物品

声明：

   function DelBagItem()

说明：

   删除背包第几个物品

第一种参数：

 | 数据类型 | 描述
参数一 | TUserItemObject | 用户物品对象
返回值 |  | 无

使用示例：
--第一种根据用户物品对象删除背包里面的物品
function TestDemo()
    --获取包裹物品列表
    local tmpBagitemlist = gPlayer:GetBagItems()
    if tmpBagitemlist then
        --遍历包裹里面的物品
        for key in pairs(tmpBagitemlist) do
            --根据用户物品对象删除背包里面的物品
            if gPlayer:DelBagItem(tmpBagitemlist[key]) then
                print(string.format("删除背包第几个物品是否成功"))
                --刷新背包所有物品
                gPlayer:SendBagItems()
                break
            end
        end
        tmpBagitemlist = nil
    end
end

第二种参数：

 | 数据类型 | 描述
参数一 | string | 物品制作索引
参数二 | string | 物品名称
返回值 |  | 无

使用示例：
--第二种根据物品制作索引MakeIndex和物品名称删除
function TestDemo()
    --获取包裹物品列表
    local tmpBagitemlist = gPlayer:GetBagItems()
    if tmpBagitemlist then
        --遍历包裹里面的物品
        for key in pairs(tmpBagitemlist) do
            if tmpBagitemlist[key].Name == "信物[绑定]" then
                --根据物品制作索引MakeIndex和物品名称删除
                if gPlayer:DelBagItem(tmpBagitemlist[key].MakeIndex, "信物[绑定]") then
                    print(string.format("删除背包第几个物品成功"))
                    --刷新背包所有物品
                    gPlayer:SendBagItems()
                    break
                end
            end
        end
        tmpBagitemlist = nil


检查坐标点是否在安全区内

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
检查坐标点是否在安全区内

声明：

   function IsPtInSafeZone()

说明：

   检查坐标点是否在安全区内
参数：

 | 数据类型 | 描述
参数一 | TEnvirnoment | 地图环境对象
参数二 | integer | 目标X坐标
参数三 | integer | 目标Y坐标
返回值 |  | 无

使用示例：
function TestDemo()
    --获取所在地图
    local tmpEnvir = gPlayer.Envir
    if tmpEnvir then
        --检查坐标点是否在安全区内
        local tmpIsPtInSafeZone = gPlayer:IsPtInSafeZone(tmpEnvir, gPlayer.CurrPoint.X, gPlayer.CurrPoint.Y)
        if tmpIsPtInSafeZone then
            print(string.format("检查坐标点是否在安全区内：%s", tmpIsPtInSafeZone))


重算等级属性

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
重算等级属性

声明：

   function RecalcLevelAbil()

说明：

   重算等级属性
参数：

 | 数据类型 | 描述
参数一 | boolean | True:使用系统默认等级属性;False:使用自定义等级属性
返回值 |  | 无

使用示例：
function TestDemo()
    --重算等级属性
    gPlayer:RecalcLevelAbil(true)


重算属性

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
重算属性

声明：

   function RecalcAbil()

说明：

   重算属性
参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --重算属性
    gPlayer:RecalcAbil()


重算背包重量

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
重算背包重量

声明：

   function RecalcBagWeight()

说明：

   重算背包重量
参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --重算背包重量
    gPlayer:RecalcBagWeight()


指定等级升到下级所要经验值

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
指定等级升到下级所要经验值

声明：

   function GetLevelExp()

说明：

   指定等级升到下级所要经验值
参数：

 | 数据类型 | 描述
参数一 | integer | 等级
返回值 |  | 无

使用示例：
function TestDemo()
    --指定等级升到下级所要经验值
    local tmpLevelExp = gPlayer:GetLevelExp(751)
    if tmpLevelExp then
        print(string.format("指定等级升到下级所要经验值：%d", tmpLevelExp))


升级

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
升级

声明：

   function HasLevelUp()

说明：

   升级
参数：

 | 数据类型 | 描述
参数一 | integer | 等级
返回值 |  | 无

使用示例：
function TestDemo()
    --升级
    gPlayer:HasLevelUp(758)


加技能熟练点

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
加技能熟练点

声明：

   function TrainSkill()

说明：

   加技能熟练点
参数：

 | 数据类型 | 描述
参数一 | TUserMagicObject | 用户魔法对象
参数二 | integer | 熟练点数
参数三 | boolean | true:判断技能加点条件;false:不判断条件
返回值 | boolean | 是否加点成功

使用示例：
function TestDemo()
    --获取玩家技能列表
    local tmpMagiclist = gPlayer.MagicList
    if tmpMagiclist then
        --遍历
        for key in pairs(tmpMagiclist) do
            if tmpMagiclist[key].Name == "气功波" then
                --加技能熟练点
                local tmpTrainSkill = gPlayer:TrainSkill(tmpMagiclist[key], 40, false)
                if tmpTrainSkill then
                    print(string.format("加技能熟练点：%s", tmpTrainSkill))
                end
                break
            end
        end
        tmpMagiclist = nil


检查技能是否升级

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
检查技能是否升级

声明：

   function CheckMagicLevelup()

说明：

   检查技能是否升级
参数：

 | 数据类型 | 描述
参数 | TUserMagicObject | 用户魔法对象
返回值 | boolean | 返回是否升级

使用示例：
function TestDemo()
    --获取玩家技能列表
    local tmpMagiclist = gPlayer.MagicList
    if tmpMagiclist then
        --遍历
        for key in pairs(tmpMagiclist) do
            if tmpMagiclist[key].Name == "召唤骷髅" then
                --检查技能是否升级
                local tmpMagiclevelup = gPlayer:CheckMagicLevelup(tmpMagiclist[key])
                if tmpMagiclevelup then
                    print(string.format("检查技能是否升级：%s", tmpMagiclevelup))
                end
                break
            end
        end
        tmpMagiclist = nil


掉血

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
掉血

声明：

   function DamageHealth()

说明：

   掉血
参数：

 | 数据类型 | 描述
参数一 | integer | 掉血值
参数二 | string | 伤害来源
返回值 |  | 无

使用示例：
function TestDemo()
    --掉血
    gPlayer:DamageHealth(200000, gPlayer)


消耗MP

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
消耗MP

声明：

   function DamageSpell()

说明：

   消耗MP
参数：

 | 数据类型 | 描述
参数一 | integer | MP数值
返回值 |  | 无

使用示例：
function TestDemo()
    --消耗MP
    gPlayer:DamageSpell(500)


增加HP/MP

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
消耗MP

声明：

   function IncHealthSpell()

说明：

   消耗MP
参数：

 | 数据类型 | 描述
参数一 | integer | HP值
参数二 | integer | MP值
参数三 | boolean | 是否发送到客户端
返回值 |  | 无

使用示例：
function TestDemo()
    --掉血
    gPlayer:DamageHealth(6470, gPlayer)
    --消耗MP
    gPlayer:DamageSpell(118)
    --增加HP/MP
    gPlayer:IncHealthSpell(5000, 100, true)


通知客户端HP/MP改变

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
通知客户端HP/MP改变

声明：

   function HealthSpellChanged()

说明：

   通知客户端HP/MP改变
参数：

 | 数据类型 | 描述
参数一 | integer | 延迟时间
返回值 |  | 无

使用示例：
function TestDemo()
    --通知客户端HP/MP改变
    gPlayer:HealthSpellChanged(2)


通知客户端外观改变

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
通知客户端外观改变

声明：

   function FeatureChanged()

说明：

   通知客户端外观改变
参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --通知客户端外观改变
    gPlayer:FeatureChanged()


通知客户端负重改变

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
通知客户端负重改变

声明：

   function WeightChanged()

说明：

   通知客户端负重改变
参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --通知客户端负重改变
    gPlayer:WeightChanged()


减防后魔法伤害

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
减防后魔法伤害

声明：

   function GetMagStruckDamage()

说明：

   减防后魔法伤害
参数：

 | 数据类型 | 描述
参数一 | TPlayObject | 目标对象
参数二 | integer | 魔法伤害值
返回值 | integer | 返回实际伤害值

使用示例：
function TestDemo()
    print(string.format("魔法伤害值：%d", gPlayer:GetMagStruckDamage(gPlayer, 1000)))


获取顶戴花翎

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
获取顶戴花翎对象

声明：

   function GetActorIcon()

说明：

   获取顶戴花翎对象
参数：

 | 数据类型 | 描述
参数一 | integer | 位置(0-9)
返回值 | boolean | 返回是否获取成功

方法类型结构：

名称 | 描述
FileIndex | WIL文件序号
IconIndex | 图片序号
IconCount | 图片序号(0-65535)
X | X
Y | Y
Blend | 播放效果(0普通 1特效)
DrawOrder | 播放顺序(0或空：在角色前面；非0：在角色后面)
PlayTime | 播放速度(为空默认为300)
OnlySelfVisible | 是否仅自己可见(0或空: 所有人可见; 1:仅自己可见)

使用示例：
function TestDemo()
    --获取顶戴花翎对象
    local tmpActorIcon = gPlayer:GetActorIcon(0)
    if tmpActorIcon then
        print(string.format("顶戴花翎WIL文件序号：%d", tmpActorIcon.FileIndex))


刷新顶戴花翎

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
刷新顶戴花翎

声明：

   function RefUseIcons()

说明：

   刷新顶戴花翎
参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --刷新顶戴花翎
    gPlayer:RefUseIcons()


刷新效果

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
刷新效果

声明：

   function RefUseEffects()

说明：

   刷新效果
参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --刷新效果
    gPlayer:RefUseEffects()


移动到指定地图及坐标

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
移动到指定地图及坐标

声明：

   function SpaceMove()

说明：

   移动到指定地图及坐标

参数：

 | 数据类型 | 描述
参数一 | string | 地图代码
参数二 | integer | X坐标
参数三 | integer | Y坐标
参数四 | boolean | 是否可以穿人
返回值 |  | 无

使用示例：
function SpaceMove()
    --根据在线名字获取玩家对象
    local tmpPalyobject = gSystem:GetPlayerByName('无敌')
    --如果玩家对象存在
    if tmpPalyobject then
        --执行SpaceMove移动到指定地图及坐标
        tmpPalyobject:SpaceMove('108', 61, 95, true)


飞到指定地图随机坐标

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
飞到指定地图随机坐标

声明：

   function MapRandomMove()

说明：

   飞到指定地图随机坐标
参数：

 | 数据类型 | 描述
参数一 | string | 地图代码
参数二 | boolean | 是否可以穿人
返回值 |  | 无

使用示例：
function TestDemo()
    --飞到指定地图随机坐标
    gPlayer:MapRandomMove("108", true)


对象是否可移动

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
对象是否可移动

声明：

   function CanMove()

说明：

   对象是否可移动(当麻痹，冰结等状态时，不能移动)
参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 | boolean | 返回是否可移动

使用示例：
function TestDemo()
    --对象是否可移动
    local tmpCanMove = gPlayer:CanMove()
    if tmpCanMove then
        print(string.format("对象是否可移动：%s", tmpCanMove))


是否可以从一个点跑往另一个点

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
是否可以从一个点跑往另一个点

声明：

   function CanRun()

说明：

   是否可以从一个点跑往另一个点
参数：

 | 数据类型 | 描述
参数一 | integer | 起点X坐标
参数二 | integer | 起点Y坐标
参数三 | integer | 终点X坐标
参数四 | integer | 终点Y坐标
返回值 | boolean | 返回是否可以跑向

使用示例：
function TestDemo()
    --是否可以从一个点跑往另一个点
    local tmpCanRun = gPlayer:CanRun(319, 323, 331, 331)
    if tmpCanRun then
        print(string.format("是否可以从一个点跑往另一个点：%s", tmpCanRun))


转向

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
转向

声明：

   function TurnTo()

说明：

   转向
参数：

 | 数据类型 | 描述
参数一 | integer | 方向(0-7)
返回值 |  | 无

使用示例：
function TestDemo()
    --根据在线名字获取玩家对象
    local tmpPalyobject = gSystem:GetPlayerByName('无敌')
    --如果玩家对象存在
    if tmpPalyobject then
        --执行TurnTo
        if tmpPalyobject:TurnTo(0) then
            tmpPalyobject:SysMsg(string.format("玩家 %s 执行TurnTo()成功。", tmpPalyobject.Name), 215, 116, 1)


向指定方向走动一步

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
向指定方向走动一步

声明：

   function WalkTo()

说明：

   向指定方向走动一步

参数：

 | 数据类型 | 描述
参数一 | integer | 方向(0-7)
参数二 | boolean | 是否穿人(true：可以穿人 false：不能穿人)
返回值 |  | 无

使用示例：
function TestDemo()
    --根据在线名字获取玩家对象
    local tmpPalyobject = gSystem:GetPlayerByName('无敌')
    --如果玩家对象存在
    if tmpPalyobject then
        --执行WalkTo
        if tmpPalyobject:WalkTo(0, true) then
            tmpPalyobject:SysMsg(string.format("玩家 %s 执行WalkTo()成功。", tmpPalyobject.Name), 215, 116, 1)


向指定方向跑动一步

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
向指定方向跑动一步

声明：

   function RunTo()

说明：

   向指定方向跑动一步

参数：

 | 数据类型 | 描述
参数一 | integer | 方向(0-7)
参数二 | boolean | 是否穿人(true：可以穿人 false：不能穿人)
返回值 |  | 无

使用示例：
function TestDemo()
    --根据在线名字获取玩家对象
    local tmpPalyobject = gSystem:GetPlayerByName('无敌')
    --如果玩家对象存在
    if tmpPalyobject then
        --执行RunTo
        if tmpPalyobject:RunTo(0, true) then
            tmpPalyobject:SysMsg(string.format("玩家 %s 执行RunTo()成功。", tmpPalyobject.Name), 253, 116, 1)


按索引更新包裹物品

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
按索引更新包裹物品

声明：

   function UpdateBagItem()

说明：

   按索引更新包裹物品

参数：

 | 数据类型 | 描述
参数一 | string | 物品索引
返回值 |  | 无

使用示例：
function TestDemo()
    --按物品名称复制物品
    local tmpItem = gSystem:CreateItemByName("随机传送石")
    if tmpItem then
        print(string.format("复制物品[%s]成功", tmpItem.Name))
        --随机更新物品
        gSystem:RandomUpgradeItem(tmpItem)
        --向指定人物背包添加复制品
        if gPlayer:AddItemToBag(tmpItem) then
            --如果添加成功，则向客户端发送添加物品消息。
            gPlayer:SendAddItem(tmpItem)
            print(string.format("复制物品[%s]已经添加到玩家[%s]的背包", tmpItem.Name, gPlayer.Name))
             --按索引更新背包物品
            gPlayer:UpdateBagItem(tmpItem.MakeIndex)


按索引更新身上物品

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
按索引更新身上物品

声明：

   function UpdateUseItem()

说明：

   按索引更新身上物品

参数：

 | 数据类型 | 描述
参数一 | string | 数据库物品索引
返回值 |  |

使用示例：
function TestDemo()
    --按名称获取数据库物品对象
    local tmpDbitemobject = gSystem:GetDBItemByName('卡布里-角斗重铠（女）')
    if tmpDbitemobject then
        gPlayer:UpdateUseItem(tmpDbitemobject.MakeIndex)


获取指定步数内对象

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
获取指定步数内对象

声明：

   function GetPoseCreate()

说明：

   获取指定步数内对象

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 | TBaseObject | 返回对象

使用示例：
function TestDemo()
    --获取指定步数内对象
    local tmpPoseCreate = gPlayer:GetPoseCreate()
    if tmpPoseCreate then
        print(string.format("指定步数内对象是：%s", tmpPoseCreate.Name))


移动到指定坐标

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
移动到指定坐标

声明：

   function GotoNext()

说明：

   向目标坐标方向跑动两步或走动一步

参数：

 | 数据类型 | 描述
参数一 | integer | 目标X坐标
参数二 | integer | 目标Y坐标
参数三 | boolean | 是否跑动
返回值 | boolean | 返回能否移动

使用示例：
function TestDemo()
    --根据在线名字获取玩家对象
    local tmpPalyobject = gSystem:GetPlayerByName('无敌')
    --如果玩家对象存在
    if tmpPalyobject then
        --向目标坐标方向走动一步
        if tmpPalyobject:GotoNext(gPlayer.CurrPoint.X, gPlayer.CurrPoint.Y, false) then
            print("移动成功")


转换地图

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
移动到指定坐标

声明：

   function SwitchMap()

说明：

   转换地图

参数：

 | 数据类型 | 描述
参数一 | string | 目标地图代码
参数二 | integer | 目标X坐标
参数三 | integer | 目标Y坐标
返回值 |  | 无

使用示例：

function TestDemo()
    --转换到目标地图
    gPlayer:SwitchMap("108", 64, 93)


获取包裹物品列表

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
获取包裹物品列表

声明：

   function GetBagItems()

说明：

   获取包裹物品列表
参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 | table | 包裹物品列表

使用示例：
function TestDemo()
    --获取包裹物品列表
    local tmpBagitemlist = gPlayer:GetBagItems()
    if tmpBagitemlist then
        --遍历包裹里面的物品
        for key in pairs(tmpBagitemlist) do
            --获取物品名称
            print(tmpBagitemlist[key].Name)
        end
        tmpBagitemlist = nil


添加物品对象

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
添加物品对象

声明：

   function AddItem()

说明：

   添加物品对象
参数：

 | 数据类型 | 描述
参数 | TUserItemObject | 用户物品对象
返回值 | integer | 成功则用户物品索引，失败则返回-1

使用示例：
function TestDemo()
    --按物品名称创建物品
    local tmpItem = gSystem:CreateItemByName("圣光壁垒")
    --用户物品对象存在
    if tmpItem then
        print(string.format("创建物品[%s]成功", tmpItem.Name))
        --添加物品对象,成功返回创建物品索引，失败则返回-1
        if gPlayer:AddItem(tmpItem) >= 0 then
            --如果添加成功，则向客户端发送添加物品消息。
            gPlayer:SendAddItem(tmpItem)
            print(string.format("创建物品[%s]已经添加到玩家[%s]的背包", tmpItem.Name, gPlayer.Name))
        else
            print("添加物品对象失败。")
            --如果添加失败，释放用户物品对象
            tmpItem:Free()


按名称删除物品

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
按名称删除物品

声明：

   function DelItemByName()

说明：

   按名称删除物品
参数：

 | 数据类型 | 描述
参数 | string | 物品名称
返回值 | boolean | 返回是否删除成功

使用示例：
function TestDemo()
    --获取包裹物品列表
    local tmpBagitemlist = gPlayer:GetBagItems()
    --物品对象存在
    if tmpBagitemlist then
        local tmpSrts = ""
        local tmpCounts = 0
        --遍历
        for key in pairs(tmpBagitemlist) do
            if tmpBagitemlist[key].Name == "随机传送石" then
                --由于执行DelItemByName()删除物品后对象被释放，则需要在执行删除操作前提前保存当前物品名称和制造索引
                local tmpItemName = tmpBagitemlist[key].Name
                local tmpIndex = tmpBagitemlist[key].MakeIndex
                --按名称删除物品
                if gPlayer:DelItemByName(tmpItemName) then
                    --拼接物品名称和物品制作索引
                    tmpSrts = tmpSrts .. string.format("%s/%d/", tmpItemName, tmpIndex)
                    tmpCounts = tmpCounts + 1
                end
            end
        end
        --客户端删除多个物品
        gPlayer:SendDelItemList(tmpSrts, tmpCounts)
        tmpBagitemlist = nil


按用户物品对象删除物品

GXX引擎 Lua脚本接口 > TBaseObject [基本对象类] > 方法 >
按用户物品对象删除物品

声明：

   function DelItemByUserItem()

说明：

   按用户物品对象删除物品
参数：

 | 数据类型 | 描述
参数 | TUserItemObject | 用户物品对象
返回值 |  | 无

使用示例：
function TestDemo()
    --获取包裹物品列表
    local tmpBagitemlist = gPlayer:GetBagItems()
    --物品对象存在
    if tmpBagitemlist then
        --遍历
        for key in pairs(tmpBagitemlist) do
            if tmpBagitemlist[key].Name == "随机传送石" then
                --按用户物品对象删除物品
                gPlayer:DelItemByUserItem(tmpBagitemlist[key])
                --刷新客户端删除物品
                gPlayer:SendDelItem(tmpBagitemlist[key])
            end
        end
        tmpBagitemlist = nil


TSmartObject [智能对象类]

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] >
TSmartObject

TSmartObject介绍：

    TSmartObject为智能对象类

    类继承关系：TDummyObject -> TPlayObject -> TSmartObject -> TBaseObject


属性

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] >
TSmartObject

智能对象类：

属性名称 | 描述 | 读写状态
MagicList | 技能列表 | 只读
JewelryBoxStatus | 首饰盒状态 | 可读 可写
IsShowGodBless | 是否显示神佑袋 | 可读 可写
TitleItems | 称号列表 | 可读 可写
ActiveTitle | 激活的称号 | 可读 可写
MoveSpeed | 移动速度 | 可读 可写
AttackSpeed | 攻击速度 | 可读 可写
SpellSpeed | 魔法速度 | 可读 可写
IsButch | 是否可挖 | 可读 可写
IsHaveNGSkill | 是否学内功 | 可读 可写
IsHaveXFSkill | 是否学心法 | 可读 可写
IsOpenLastSkill | 第4个连击是否开启 | 可读 可写
PKLostExp | PK死亡掉经验 | 可读 可写
PKLostLevel | PK死亡掉等级 | 可读 可写
PKPoint | PK点数 | 可读 可写
PKLevel | PK等级 | 可读 可写
IsTeleport | 是否是传送戒指 | 可读 可写
IsRevival | 是否是复活戒指 | 可读 可写
RevivalTime | 复活间隔 | 可读 可写
IsFlameRing | 是否是火焰戒指 | 可读 可写
IsRecoveryRing | 是否是治愈戒指 | 可读 可写
IsMagicShield | 是否是护身戒指 | 可读 可写
IsMuscleRing | 是否是活力戒指 | 可读 可写
IsFastTrain | 是否是技巧项链 | 只读
IsProbeNecklace | 是否是探测项链 | 可读 可写
IsRecallSuite | 是否是记忆物品 | 可读 可写
IsPirit | 是否是祈祷装备 | 可读 可写
IsSupermanItem | 是否是不死戒指 | 可读 可写
IsExpItem | 是否是经验物品 | 可读 可写
ExpItemValue | 经验物品值 | 可读 可写
IsPowerItem | 是否是力量物品 | 可读 可写
PowerItemValue | 力量物品值 | 可读 可写
IsGuildMove | 是否是行会传送装备 | 可读 可写
IsAngryRing | 是否是幸运戒指 | 可读 可写
IsStarRing | 是否是流星戒指 | 可读 可写
IsACItem | 是否是防御物品 | 可读 可写
ACItemValue | 防御值 | 可读 可写
IsMACItem | 是否是魔御物品 | 可读 可写
MACItemValue | 魔御值 | 可读 可写
IsNoDropItem | 是否是不掉背包物品装备 | 可读 可写
IsNoDropUseItem | 是否是不掉身上物品装备 | 可读 可写
NGAbility | 内功属性 | 可读
WineAbility | 酒属性 | 可读

TSmartObject类继承自TBaseObject类


技能列表

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
技能列表

属性名称：

    MagicList

说明：

    技能列表

读写状态：

    只读

使用示例：

function TestDemo()
    --玩家技能列表
    local tmpMagiclist = gPlayer.MagicList
    --技能列表存在
    if tmpMagiclist then
        --遍历玩家技能
        for key in pairs(tmpMagiclist) do
            --输出玩家技能名称
            print(tmpMagiclist[key].Name)
        end
        tmpMagiclist = nil


首饰盒状态

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
首饰盒状态

属性名称：

    JewelryBoxStatus

说明：

    首饰盒状态(0:未激活; 1:激活; 2:开启)

读写状态：

    可读 可写

使用示例：

function TestDemo()
    --首饰盒状态
    local tmpJewelryboxstatus = gPlayer.JewelryBoxStatus
    --对象存在
    if tmpJewelryboxstatus then
        --设置首饰盒状态
        gPlayer.JewelryBoxStatus = 0
        --M2后台输出
        print(string.format("首饰盒状态：%d", tmpJewelryboxstatus))
        --游戏界面输出
        gPlayer:SysMsg(string.format("首饰盒状态：%d", tmpJewelryboxstatus), 215, 116, 1)


是否显示神佑袋

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
是否显示神佑袋

属性名称：

    IsShowGodBless

说明：

    是否显示神佑袋(true:显示; false:未显示)

读写状态：

    可读 可写

使用示例：

function TestDemo()
    --是否显示神佑袋
    local tmpIsshowgodbless = gPlayer.IsShowGodBless
    --设置神佑袋隐藏
    gPlayer.IsShowGodBless = false
    --输出神佑袋状态
    gPlayer:SysMsg(string.format("显示神佑袋：%s", tmpIsshowgodbless), 215, 116, 1)


称号列表

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
称号列表

属性名称：

    TitleItems

说明：

    玩家称号列表

读写状态：

    可读 可写

使用示例：

function TestDemo()
    --玩家称号列表
    local tmpTitleitemlist = gPlayer.TitleItems
    --称号列表存在
    if tmpTitleitemlist then
        --遍历
        for key in pairs(tmpTitleitemlist) do
            --修改第一个称号为游方行者
            tmpTitleitemlist[0].Name = '游方行者'
            --M2后台输出
            print(string.format("称号名称：%s", tmpTitleitemlist[key].Name))
            --游戏界面输出
            gPlayer:SysMsg(string.format("称号名称：%s", tmpTitleitemlist[key].Name), 215, 116, 1)
        end
        tmpTitleitemlist = nil


激活的称号

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
激活的称号

属性名称：

    ActiveTitle

说明：

    激活的称号

读写状态：

    可读 可写

使用示例：

function TestDemo()
    --激活的称号
    local tmpActivetitle = gPlayer.ActiveTitle
    --激活的称号序号从0开始，没有激活时显示-1
    --M2后台输出
    print(string.format("激活称号在称号状态栏的序号：%d", tmpActivetitle))
    --游戏界面输出
    gPlayer:SysMsg(string.format("激活称号在称号状态栏的序号：%d", tmpActivetitle), 215, 116, 1)


移动速度

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
移动速度

属性名称：

    MoveSpeed

说明：

    移动速度

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --移动速度
    local tmpMoveSpeed = gPlayer.MoveSpeed
    if tmpMoveSpeed then
        print(string.format("移动速度：%d", tmpMoveSpeed))


攻击速度

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
攻击速度

属性名称：

    AttackSpeed

说明：

    攻击速度

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --攻击速度
    local tmpAttackSpeed = gPlayer.AttackSpeed
    if tmpAttackSpeed then
        print(string.format("攻击速度：%d", tmpAttackSpeed))


魔法速度

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
魔法速度

属性名称：

    SpellSpeed

说明：

    魔法速度

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --魔法速度
    local tmpSpellSpeed = gPlayer.SpellSpeed
    if tmpSpellSpeed then
        print(string.format("魔法速度：%d", tmpSpellSpeed))


是否可挖

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
是否可挖

属性名称：

    IsButch

说明：

    是否可挖

读写状态：

    可读 可写

使用示例：

function TestDemo()
    --是否可挖
    local tmpIsButch = gPlayer.IsButch
    --输出是否可挖状态
    gPlayer:SysMsg(string.format("是否可挖：%s", tmpIsButch), 249, 116, 1)


是否学内功

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
是否学内功

属性名称：

    IsHaveNGSkill

说明：

    是否学内功

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --是否学内功
    local tmpIsHaveNGSkill = gPlayer.IsHaveNGSkill
    --输出是否学内功
    gPlayer:SysMsg(string.format("是否学内功：%s", tmpIsHaveNGSkill), 249, 116, 1)


是否学心法

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
是否学心法

属性名称：

    IsHaveXFSkill

说明：

    是否学心法

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --是否学心法
    local tmpIsHaveXFSkill = gPlayer.IsHaveXFSkill
    if tmpIsHaveXFSkill then
        gPlayer:SysMsg(string.format("学习过心法", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("没有学习过心法", gPlayer.Name), 249, 116, 1)


第4个连击是否开启

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
第4个连击是否开启

属性名称：

    IsOpenLastSkill

说明：

    第4个连击是否开启

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --第4个连击是否开启
    local tmpIsOpenLastSkill = gPlayer.IsOpenLastSkill
    --输出第4个连击是否开启
    gPlayer:SysMsg(string.format("第4个连击是否开启：%s", tmpIsOpenLastSkill), 249, 116, 1)


PK死亡掉经验

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
PK死亡掉经验

属性名称：

    PKLostExp

说明：

    PK死亡掉经验，不够经验就掉等级

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --PK死亡掉经验
    local tmpPKLostExp = gPlayer.PKLostExp
    if tmpPKLostExp then
        print(string.format("PK死亡掉经验：%d", tmpPKLostExp))


PK死亡掉等级

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
PK死亡掉等级

属性名称：

    PKLostLevel

说明：

    PK死亡掉等级

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --PK死亡掉等级
    local tmpPKLostLevel = gPlayer.PKLostLevel
    if tmpPKLostLevel then
        print(string.format("PK死亡掉等级：%d", tmpPKLostLevel))


PK点数

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
PK点数

属性名称：

    PKPoint

说明：

    PK点数

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --PK点数
    local tmpPKPoint = gPlayer.PKPoint
    if tmpPKPoint then
        print(string.format("PK点数：%d", tmpPKPoint))


PK等级

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
PK等级

属性名称：

    PKLevel

说明：

    PK等级

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --PK等级
    local tmpPKLevel = gPlayer.PKLevel
    if tmpPKLevel then
        print(string.format("PK等级：%d", tmpPKLevel))


是否是传送戒指

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
是否是传送戒指

属性名称：

    IsTeleport

说明：

    是否是传送戒指(特殊物品:112)

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --是否是传送戒指
    local tmpIsTeleport = gPlayer.IsTeleport
    if tmpIsTeleport then
        gPlayer:SysMsg(string.format("是传送戒指", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("不是传送戒指", gPlayer.Name), 249, 116, 1)


是否是复活戒指

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
是否是复活戒指

属性名称：

    IsRevival

说明：

    是否是复活戒指(特殊物品:114)

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --是否是复活戒指
    local tmpIsRevival = gPlayer.IsRevival
    if tmpIsRevival then
        gPlayer:SysMsg(string.format("是复活戒指", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("不是复活戒指", gPlayer.Name), 249, 116, 1)


复活间隔

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
复活间隔

属性名称：

    RevivalTime

说明：

    复活间隔

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --复活间隔
    local tmpRevivalTime = gPlayer.RevivalTime
    if tmpRevivalTime then
        print(string.format("复活间隔：%d", tmpRevivalTime))


是否是火焰戒指

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
是否是火焰戒指

属性名称：

    IsFlameRing

说明：

    是否是火焰戒指(特殊物品:115)

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --是否是火焰戒指
    local tmpIsFlameRing = gPlayer.IsFlameRing
    if tmpIsFlameRing then
        gPlayer:SysMsg(string.format("是火焰戒指", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("不是火焰戒指", gPlayer.Name), 249, 116, 1)


是否是治愈戒指

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
是否是治愈戒指

属性名称：

    IsRecoveryRing

说明：

    是否是治愈戒指(特殊物品:116)

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --是否是治愈戒指
    local tmpIsRecoveryRing = gPlayer.IsRecoveryRing
    if tmpIsRecoveryRing then
        gPlayer:SysMsg(string.format("是治愈戒指", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("不是治愈戒指", gPlayer.Name), 249, 116, 1)


是否是护身戒指

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
是否是护身戒指

属性名称：

    IsMagicShield

说明：

    是否是护身戒指(特殊物品:118)

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --是否是护身戒指
    local tmpIsMagicShield = gPlayer.IsMagicShield
    if tmpIsMagicShield then
        gPlayer:SysMsg(string.format("是护身戒指", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("不是护身戒指", gPlayer.Name), 249, 116, 1)


是否是活力戒指

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
是否是活力戒指

属性名称：

    IsMuscleRing

说明：

    是否是活力戒指(特殊物品:119)

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --是否是活力戒指
    local tmpIsMuscleRing = gPlayer.IsMuscleRing
    if tmpIsMuscleRing then
        gPlayer:SysMsg(string.format("是活力戒指", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("不是活力戒指", gPlayer.Name), 249, 116, 1)


是否是技巧戒指

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
是否是技巧戒指

属性名称：

    IsFastTrain

说明：

    是否是技巧戒指(特殊物品:120)

读写状态：

    只读

使用示例：
function TestDemo()
    --是否是技巧戒指
    local tmpIsFastTrain = gPlayer.IsFastTrain
    if tmpIsFastTrain then
        gPlayer:SysMsg(string.format("是技巧戒指", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("不是技巧戒指", gPlayer.Name), 249, 116, 1)


是否是探测项链

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
是否是探测项链

属性名称：

    IsProbeNecklace

说明：

    是否是探测项链(特殊物品:121)

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --是否是探测项链
    local tmpIsProbeNecklace = gPlayer.IsProbeNecklace
    if tmpIsProbeNecklace then
        gPlayer:SysMsg(string.format("是探测项链", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("不是探测项链", gPlayer.Name), 249, 116, 1)


是否是记忆物品

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
是否是记忆物品

属性名称：

    IsRecallSuite

说明：

    是否是记忆物品(特殊物品:122,124,125)

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --是否是记忆物品
    local tmpIsRecallSuite = gPlayer.IsRecallSuite
    if tmpIsRecallSuite then
        gPlayer:SysMsg(string.format("是记忆物品", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("不是记忆物品", gPlayer.Name), 249, 116, 1)


是否是祈祷装备

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
是否是祈祷装备

属性名称：

    IsRecallSuite

说明：

    是否是祈祷装备(特殊物品:126-129)

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --是否是祈祷装备
    local tmpIsPirit = gPlayer.IsPirit
    if tmpIsPirit then
        gPlayer:SysMsg(string.format("是祈祷装备", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("不是祈祷装备", gPlayer.Name), 249, 116, 1)


是否是不死戒指

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
是否是不死戒指

属性名称：

    IsSupermanItem

说明：

    是否是不死戒指(特殊物品:140)

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --是否是不死戒指
    local tmpIsSupermanItem = gPlayer.IsSupermanItem
    if tmpIsSupermanItem then
        gPlayer:SysMsg(string.format("是不死戒指", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("不是不死戒指", gPlayer.Name), 249, 116, 1)


是否是经验物品

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
是否是经验物品

属性名称：

    IsExpItem

说明：

    是否是经验物品(特殊物品:141)

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --是否是经验物品
    local tmpIsExpItem = gPlayer.IsExpItem
    if tmpIsExpItem then
        gPlayer:SysMsg(string.format("是经验物品", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("不是经验物品", gPlayer.Name), 249, 116, 1)


经验物品值

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
经验物品值

属性名称：

    ExpItemValue

说明：

    经验物品值(特殊物品:141)

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --经验物品值
    local tmpExpItemValue = gPlayer.ExpItemValue
    if tmpExpItemValue then
        print(string.format("经验物品值：%d", tmpExpItemValue))


是否是力量物品指

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
是否是力量物品指

属性名称：

    IsPowerItem

说明：

    是否是力量物品(特殊物品:142)

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --是否是力量物品
    local tmpIsPowerItem = gPlayer.IsPowerItem
    if tmpIsPowerItem then
        gPlayer:SysMsg(string.format("是力量物品", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("不是力量物品", gPlayer.Name), 249, 116, 1)


力量物品值

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
力量物品值

属性名称：

    PowerItemValue

说明：

    力量物品值(特殊物品:141)

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --力量物品值
    local tmpPowerItemValue = gPlayer.PowerItemValue
    if tmpPowerItemValue then
        print(string.format("力量物品值：%s", tmpPowerItemValue))


是否是行会传送装备

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
是否是行会传送装备

属性名称：

    IsGuildMove

说明：

    是否是行会传送装备(特殊物品:145)

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --是否是行会传送装备
    local tmpIsGuildMove = gPlayer.IsGuildMove
    if tmpIsGuildMove then
        gPlayer:SysMsg(string.format("是行会传送装备", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("不是行会传送装备", gPlayer.Name), 249, 116, 1)


是否是幸运戒指

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
是否是幸运戒指

属性名称：

    IsAngryRing

说明：

    是否是幸运戒指(特殊物品:170)

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --是否是幸运戒指
    local tmpIsAngryRing = gPlayer.IsAngryRing
    if tmpIsAngryRing then
        gPlayer:SysMsg(string.format("是幸运戒指", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("不是幸运戒指", gPlayer.Name), 249, 116, 1)


是否是流星戒指

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
是否是流星戒指

属性名称：

    IsStarRing

说明：

    是否是流星戒指

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --是否是流星戒指
    local tmpIsStarRing = gPlayer.IsStarRing
    if tmpIsStarRing then
        gPlayer:SysMsg(string.format("是流星戒指", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("不是流星戒指", gPlayer.Name), 249, 116, 1)


是否是防御物品

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
是否是防御物品

属性名称：

    IsACItem

说明：

    是否是防御物品

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --是否是防御物品
    local tmpIsACItem = gPlayer.IsACItem
    if tmpIsACItem then
        gPlayer:SysMsg(string.format("是防御物品", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("不是防御物品", gPlayer.Name), 249, 116, 1)


防御值

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
防御值

属性名称：

    ACItemValue

说明：

    防御值

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --防御值
    local tmpACItemValue = gPlayer.ACItemValue
    if tmpACItemValue then
        print(string.format("防御值：%d", tmpACItemValue))


是否是魔御物品

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
是否是魔御物品

属性名称：

    IsMACItem

说明：

    是否是魔御物品

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --是否是魔御物品
    local tmpIsMACItem = gPlayer.IsMACItem
    if tmpIsMACItem then
        gPlayer:SysMsg(string.format("是魔御物品", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("不是魔御物品", gPlayer.Name), 249, 116, 1)


魔御值

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
魔御值

属性名称：

    MACItemValue

说明：

    魔御值

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --魔御值
    local tmpMACItemValue = gPlayer.MACItemValue
    if tmpMACItemValue then
        print(string.format("魔御值：%d", tmpMACItemValue))


是否是不掉背包物品装备

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
是否是不掉背包物品装备

属性名称：

    IsNoDropItem

说明：

    是否是不掉背包物品装备(特殊物品:171)

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --是否是不掉背包物品装备
    local tmpIsNoDropItem = gPlayer.IsNoDropItem
    if tmpIsNoDropItem then
        gPlayer:SysMsg(string.format("是不掉背包物品装备", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("不是不掉背包物品装备", gPlayer.Name), 249, 116, 1)


是否是不掉身上物品装备

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
是否是不掉身上物品装备

属性名称：

    IsNoDropUseItem

说明：

    是否是不掉身上物品装备(特殊物品:172)

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --是否是不掉身上物品装备
    local tmpIsNoDropUseItem = gPlayer.IsNoDropUseItem
    if tmpIsNoDropUseItem then
        gPlayer:SysMsg(string.format("是不掉身上物品装备", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("不是不掉身上物品装备", gPlayer.Name), 249, 116, 1)


内功属性

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
内功属性

属性名称：

    NGAbility

说明：

    内功属性

读写状态：

    可读

值类型结构：

名称 | 描述
Level | 内功等级
NH | 当前内力值
MaxNH | 内力值上限
Exp | 当前内功经验
MaxExp | 当前内功最高经验

使用示例：
function TestDemo()
    --内功属性
    local tmpNGAbility = gPlayer.NGAbility
    if tmpNGAbility then
        print(string.format("内功等级：%d", tmpNGAbility.Level))


酒属性

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 属性 >
酒属性

属性名称：

    WineAbility

说明：

    酒属性

读写状态：

    可读

值类型结构：

名称 | 描述
Alcohol | 酒量
MaxAlcohol | 酒量上限
WineDrinkValue | 醉酒度
MedicineLevel | 药力值等级
MedicineValue | 当前药力值
MaxMedicineValue | 药力值上限

使用示例：
function TestDemo()
    --酒属性
    local tmpWineAbility = gPlayer.WineAbility
    if tmpWineAbility then
        print(string.format("酒量：%d", tmpWineAbility.Alcohol))


方法

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] >
TSmartObject

智能对象类：

方法名称 | 描述
GetUseItem | 获取某个位置的装备
GetJewelryItem | 获取首饰盒物品
GetGodBlessItemsState | 获取某个神佑的开关状态
SetGodBlessItemsState | 设置某个神佑的开关状态
GetGodBlessItem | 获取神佑袋物品
ActiveTitleChanged | 刷新活动称号到客户端
DeleteTitle | 删除称号
ClearTitle | 清空称号
RefGameSpeed | 重读游戏速度
GetContinuousMagicOrder | 获取连击顺序
SetContinuousMagicOrder | 设置连击顺序
IncPkPoint | 增加PK值
DecPKPoint | 减少PK值
RepairAll | 修复所有装备
IsAllowUseMagic | 是否满足技能使用条件
SelectMagic | 选择技能
AttackTarget | 攻击目标
AddMagicByName | 添加技能
DelMagicByName | 按名称删除技能
DelMagicByUserMagic | 按用户技能删除技能


获取某个位置的装备

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 方法 >
获取某个位置的装备

声明：

   function GetUseItem()

说明：

   获取某个位置的装备

参数：

 | 数据类型 | 描述
参数一 | integer | 装备位置(0-29)
返回值 | TUserItemObject | 返回用户物品对象或nil

装备位置：

位置代码 | 描述
0 | 盔甲
1 | 武器
2 | 照明物(蜡烛)
3 | 项链
4 | 头盔
5 | 右手镯
6 | 左手镯
7 | 右戒指
8 | 左戒指
9 | 无(放护身符位置)
10 | 腰带
11 | 鞋子
12 | 宝石
13 | 斗笠
14 | 军鼓
15 | 马牌
16 | 盾牌
17 | 灵玉
18 | 时装衣服
19 | 时装武器
20 | 时装项链
21 | 时装头盔
22 | 时装左手镯
23 | 时装右手镯
24 | 时装左戒指
25 | 时装右戒指
26 | 时装勋章
27 | 时装腰带
28 | 时装靴子
29 | 时装宝石

使用示例：

function TestDemo()
    --获取某个位置的装备
    local tmpUseritem = gPlayer:GetUseItem(13)
    --如果该位置装备存在
    if tmpUseritem then
        --输出装备名称
        gPlayer:SysMsg(string.format("玩家 %s 获取装备%s成功。", gPlayer.Name, tmpUseritem.Name), 215, 116, 1)


获取首饰盒物品

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 方法 >
获取首饰盒物品

声明：

   function GetJewelryItem()

说明：

   获取首饰盒物品

参数：

 | 数据类型 | 描述
参数一 | integer | 首饰盒位置(0-5)
返回值 | TUserItemObject | 返回用户物品对象或nil

使用示例：

function TestDemo()
   --获取首饰盒物品
   local tmpJewelryitem = gPlayer:GetJewelryItem(0)
   --如果该位置装备存在
   if tmpJewelryitem then
       --提示
       gPlayer:SysMsg(string.format("玩家 %s 获取首饰盒物品%s成功。", gPlayer.Name, tmpJewelryitem.Name), 215, 116, 1)


获取神佑袋物品

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 方法 >
获取神佑袋物品

声明：

   function GetGodBlessItem()

说明：

   获取神佑袋物品

参数：

 | 数据类型 | 描述
参数一 | integer | 神佑位置(0-11)
返回值 | TUserItemObject | 返回用户物品对象或nil

使用示例：
function TestDemo()
    --获取神佑袋物品
    local tmpGodBlessItem = gPlayer:GetGodBlessItem(0)
    --如果该位置装备存在
    if tmpGodBlessItem then
        gPlayer:SysMsg(string.format("玩家 %s 获取神佑袋物品%s成功。", gPlayer.Name, tmpGodBlessItem.Name), 215, 116, 1)


获取某个神佑的开关状态

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 方法 >
获取某个神佑的开关状态

声明：

   function GetGodBlessItemsState()

说明：

   获取某个神佑的开关状态

参数：

 | 数据类型 | 描述
参数一 | integer | 神佑位置(0-11)
返回值 | boolean | 返回开关状态

使用示例：
function TestDemo()
    --获取某个神佑的开关状态
    local tmpGodblessState = gPlayer:GetGodBlessItemsState(0)
    if tmpGodblessState then
        print(string.format("神佑开关状态：%s", tmpGodblessState))


设置某个神佑的开关状态

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 方法 >
设置某个神佑的开关状态

声明：

   function SetGodBlessItemsState()

说明：

   设置某个神佑的开关状态

参数：

 | 数据类型 | 描述
参数一 | integer | 神佑位置(0-11)
参数二 | string | 开关状态(true:开启 false:关闭)
返回值 |  | 无

使用示例：
function TestDemo()
    --设置某个神佑的开关状态
    gPlayer:SetGodBlessItemsState(4, 'true')
    --获取某个神佑的开关状态
    local tmpGodblessState = gPlayer:GetGodBlessItemsState(4)
    if tmpGodblessState then
        print(string.format("神佑开关状态：%s", tmpGodblessState))


刷新活动称号到客户端

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 方法 >
刷新活动称号到客户端

声明：

   function ActiveTitleChanged()

说明：

   刷新活动称号到客户端

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --刷新活动称号到客户端
    gPlayer:ActiveTitleChanged()


删除称号

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 方法 >
删除称号

声明：

   function DeleteTitle()

说明：

   删除称号

参数：

 | 数据类型 | 描述
参数一 | integer | 称号序号
返回值 |  | 无

使用示例：
function TestDemo()
    --删除称号
    gPlayer:DeleteTitle(0)


清空称号

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 方法 >
清空称号

声明：

   function ClearTitle()

说明：

   清空称号

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --清空称号
    gPlayer:ClearTitle()


重读游戏速度

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 方法 >
重读游戏速度

声明：

   function RefGameSpeed()

说明：

   重读游戏速度

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --重读游戏速度
    gPlayer:RefGameSpeed()


获取连击顺序

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 方法 >
获取连击顺序

声明：

   function GetContinuousMagicOrder()

说明：

   获取连击顺序

参数：

 | 数据类型 | 描述
参数一 | integer | 连击顺序(0-3)
返回值 |  | 无

使用示例：
function TestDemo()
    --获取连击顺序
    local tmpCombosequence = gPlayer:GetContinuousMagicOrder(0)
    if tmpCombosequence then
        print(string.format("连击顺序：%d", tmpCombosequence))


设置连击顺序

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 方法 >
设置连击顺序

声明：

   function SetContinuousMagicOrder()

说明：

   设置连击顺序

参数：

 | 数据类型 | 描述
参数一 | integer | 连击顺序(0-3)
参数二 | integer | 连击顺序值
返回值 |  | 无

使用示例：
function TestDemo()
    --设置连击顺序
    gPlayer:SetContinuousMagicOrder(0, 1)
    --获取连击顺序
    local tmpCombosequence = gPlayer:GetContinuousMagicOrder(0)
    if tmpCombosequence then
        print(string.format("连击顺序：%d", tmpCombosequence))


增加PK值

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 方法 >
增加PK值

声明：

   function IncPkPoint()

说明：

   增加PK值

参数：

 | 数据类型 | 描述
参数一 | integer | PK数值
返回值 |  | 无

使用示例：
function TestDemo()
    --增加PK值
    gPlayer:IncPkPoint(200)


减少PK值

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 方法 >
减少PK值

声明：

   function DecPKPoint()

说明：

   减少PK值

参数：

 | 数据类型 | 描述
参数一 | integer | PK数值
返回值 |  | 无

使用示例：
function TestDemo()
    --减少PK值
    gPlayer:DecPKPoint(200)


修复所有装备

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 方法 >
修复所有装备

声明：

   function RepairAll()

说明：

   修复所有装备

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --修复所有装备
    gPlayer:RepairAll()


是否满足技能使用条件

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 方法 >
是否满足技能使用条件

声明：

   function IsAllowUseMagic()

说明：

   是否满足技能使用条件

参数：

 | 数据类型 | 描述
参数一 | integer | 技能序号
返回值 | boolean | 返回是否满足

使用示例：
function TestDemo()
    --是否满足技能使用条件
    local tmpIsAllowUseMagic = gPlayer:IsAllowUseMagic(75)
    if tmpIsAllowUseMagic then
        print(string.format("满足技能使用条件：%s", tmpIsAllowUseMagic))


选择技能

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 方法 >
选择技能

声明：

   function SelectMagic()

说明：

   选择技能

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 | integer | 返回选择技能

使用示例：
function TestDemo()
    --选择技能
    local tmpSelectMagic = gPlayer:SelectMagic()
    if tmpSelectMagic then
        print(string.format("选择技能：%d", tmpSelectMagic))


攻击目标

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 方法 >
攻击目标

声明：

   function AttackTarget()

说明：

   攻击目标

参数：

 | 数据类型 | 描述
参数一 | integer | 技能序号
参数二 | integer | 攻击时间
返回值 | boolean | 返回是否是攻击目标

使用示例：
function TestDemo()
    --攻击目标
    local tmpAttackTarget = gPlayer:AttackTarget(75, 20)
    if not tmpAttackTarget then
        print(string.format("攻击目标：%s", tmpAttackTarget))


添加技能对象

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 方法 >
添加技能对象

声明：

   function AddMagic()

说明：

   添加技能对象

参数：

 | 数据类型 | 描述
参数一 | TUserMagicObject | 用户技能对象
返回值 | Interger | 成功则用户物品索引，失败则返回-1

使用示例：
function TestDemo()
    --获取玩家技能列表
    local tmpMagiclist = gPlayer.MagicList
    --技能列表存在
    if tmpMagiclist then
        --遍历
        local tmpBool = false
        for key in pairs(tmpMagiclist) do
            if tmpMagiclist[key].Name == "半月弯刀" then
                tmpBool = true
                break
            end
        end

        if not tmpBool then
            --按技能名称创建技能
            local tmpMagic = gSystem:CreateMagicByName(gPlayer, "半月弯刀")
            --用户技能对象存在
            if tmpMagic then
                tmpMagic.Level = 3
                --添加技能对象,成功返回创建技能索引，失败则返回-1
                if gPlayer:AddMagic(tmpMagic) >= 0 then
                    gPlayer:SendAddMagic(tmpMagic)
                    print(string.format("创建技能[%s]已经添加到玩家[%s]", tmpMagic.Name, gPlayer.Name))
                else
                    print("添加技能对象失败。")
                    --释放魔法对象
                    tmpMagic:Free()
                end
            end
        else
            print("当前用户已经存在该技能。")


按名称删除技能

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 方法 >
按名称删除技能

声明：

   function DelMagicByName()

说明：

   按名称删除技能

参数：

 | 数据类型 | 描述
参数一 | string | 技能名称
返回值 | boolean | 是否删除成功

使用示例：
function TestDemo()
    --获取玩家技能列表
    local tmpMagiclist = gPlayer.MagicList
    --技能列表存在
    if tmpMagiclist then
        --遍历
        for key in pairs(tmpMagiclist) do
            if tmpMagiclist[key].Name == "气功波" then
                --按名称删除技能
                if gPlayer:DelMagicByName(tmpMagiclist[key].Name) then
                    print("删除技能成功")
                    --发送删除技能
                    gPlayer:SendDelMagic(tmpMagiclist[key])
                end
            end
        end
        tmpMagiclist = nil


按用户技能删除技能

GXX引擎 Lua脚本接口 > TSmartObject [智能对象类] > 方法 >
按用户技能删除技能

声明：

   function DelMagicByUserMagic()

说明：

   按用户技能删除技能

参数：

 | 数据类型 | 描述
参数一 | TUserMagicObject | 用户技能对象
返回值 |  | 无

使用示例：
function TestDemo()
    --获取玩家技能列表
    local tmpMagiclist = gPlayer.MagicList
    --技能列表存在
    if tmpMagiclist then
        --遍历
        for key in pairs(tmpMagiclist) do
            if tmpMagiclist[key].Name == "半月弯刀" then
                --按用户技能删除技能
                gPlayer:DelMagicByUserMagic(tmpMagiclist[key])
                --发送删除技能
                gPlayer:SendDelMagic(tmpMagiclist[key])
            end
        end
        tmpMagiclist = nil


TPlayObject [玩家对象类]

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] >
TPlayObject

TPlayObject介绍：

    TPlayObject为玩家对象类

    类继承关系：TDummyObject -> TPlayObject -> TSmartObject -> TBaseObject


属性

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] >
TPlayObject

玩家对象类：

属性名称 | 描述 | 读写状态
IP | IP地址 | 只读
IPLocal | IP归属地 | 只读
MACAddress | MAC地址 | 只读
UserID | 帐户名帐户名 | 只读
IsReadyRun | 是否进入游戏完成 | 只读
LoginTime | 登录时间 | 只读
ClientVersion | 客户端版本号 | 只读
GameType | 版本类型 | 只读
ScreenWidth | 客户端分辨率-宽 | 只读
ScreenHeight | 客户端分辨率-高 | 只读
ViewRange | 客户端视觉范围 | 只读
Relevel | 转生等级 | 可读 可写
BonusPoint | 未分配属性点 | 可读 可写
HeroName | 主将英雄名 | 只读
DeputyHeroName | 副将英雄名 | 只读
DeputyHeroJob | 副将英雄职业 | 只读
Hero | 英雄对象 | 只读
IsFixedHero | 是否评定主副英雄 | 只读
IsStorageHero | 英雄是否寄存 | 只读
IsStorageDeputyHero | 副将英雄是否寄存 | 只读
Gold | 金币数量 | 可读 可写
MaxGold | 最大金币数量 | 只读
GameGold | 元宝数量 | 可读 可写
GamePoint | 游戏点 | 可读 可写
GameDiamond | 金刚石数量 | 可读 可写
GameGird | 灵符 | 可读 可写
GameGoldEx | 新游戏点 | 可读 可写
GameGlory | 荣誉 | 可读 可写
PayMentPoint | 充值点 | 可读 可写
MemberType | 会员类型 | 可读 可写
MemberLevel | 会员等级 | 可读 可写
Contribution | 贡献度 | 可读 可写
IsOffLine | 是否离线挂机 | 只读
IsMaster | 是否是师父 | 只读
MasterName | 师父名字 | 只读
MasterHuman | 师父 | 只读
ApprenticeNO | 当角色为徒弟时，徒弟排名 | 只读
OnlineApprenticeList | 在线徒弟列表 | 只读
DearName | 伴侣名称 | 只读
DearHuman | 伴侣 | 只读
MarryCount | 离婚次数 | 只读
GroupOwner | 队长 | 只读
GroupMembers | 队员列表 | 只读
IsLockLogin | 锁定登录 | 可读 可写
IsAllowGroup | 是否允许组队 | 可读 可写
IsAllowGroupReCall | 是否允许天地合一 | 可读 可写
IsAllowTrading | 禁止交易 | 可读 可写
IsDisableInviteHorseRiding | 禁止邀请上马 | 可读 可写
IsGameGoldTrading | 是否开启元宝交易 | 可读 可写
IsNewServer | 合过区没有登录过的 | 只读
IsFilterGlobalDropItemMsg | 过滤掉落提示信息 | 可读 可写
IsFilterGlobalCenterMsg | 过滤SendCenterMsg信息 | 可读 可写
IsFilterGolbalSendMsg | 过滤SendMsg全局信息 | 可读 可写
IsPleaseDrink | 是否请过酒 | 只读
DrinkWineQuality | 饮酒时酒的品质 | 可读 可写
DrinkWineAlcohol | 饮酒时酒的度数 | 可读 可写
IsDrinkWineDrunk | 人是否喝酒醉了 | 可读 可写
Alcohol | 酒属性表 | 只读
IsAutoPlayGame | 是否正在内挂挂机 | 只读

TPlayObject类继承自TSmartObject类

TSmartObject类继承自TBaseObject类


IP地址

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
IP地址

属性名称：

    IP

说明：

    玩家IP地址

读写状态：

    只读

使用示例：
function TestDemo()
    --玩家IP地址
    local tmpIP = gPlayer.IP
    if tmpIP then
        --M2后台输出
        print(string.format("IP地址：%s", tmpIP))
        --游戏界面输出
        gPlayer:SysMsg(string.format("IP地址：%s", tmpIP), 215, 116, 1)


IP归属地

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
IP归属地

属性名称：

    IPLocal

说明：

    玩家IP归属地

读写状态：

    只读

使用示例：
function TestDemo()
    --IP归属地
    local tmpIPLocal = gPlayer.IPLocal
     if tmpIPLocal then
        print(string.format("IP归属地：%s", tmpIPLocal))


MAC地址

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
MACAddress

属性名称：

    MACAddress

说明：

    玩家MAC地址

读写状态：

    只读

使用示例：
function TestDemo()
    --MAC地址
    local tmpMAC = gPlayer.MACAddress
     if tmpMAC then
        print(string.format("MAC地址：%s", tmpMAC))


帐户名

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
帐户名

属性名称：

    UserID

说明：

    玩家账户名

读写状态：

    只读

使用示例：
function TestDemo()
    --账户名
    local tmpUserID = gPlayer.UserID
     if tmpUserID then
        print(string.format("账户名：%s", tmpUserID))


是否进入游戏完成

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
是否进入游戏完成

属性名称：

    IsReadyRun

说明：

    是否进入游戏完成

读写状态：

    只读

使用示例：

function TestDemo()
    --是否进入游戏完成
    local tmpIsReadyRun = gPlayer.IsReadyRun
    --M2后台输出
    print(string.format("是否进入游戏完成：%s", tmpIsReadyRun))
    --游戏界面输出
    gPlayer:SysMsg(string.format("是否进入游戏完成：%s", tmpIsReadyRun), 215, 116, 1)


登录时间

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
登录时间

属性名称：

    LoginTime

说明：

    玩家登录时间

读写状态：

    只读

使用示例：
function TestDemo()
    --登录时间
    local tmpLoginTime = gPlayer.LoginTime
     if tmpLoginTime then
        print(string.format("登录时间：%s", tmpLoginTime))


客户端版本号

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
客户端版本号

属性名称：

    ClientVersion

说明：

    玩家客户端版本号

读写状态：

    只读

使用示例：
function TestDemo()
    --客户端版本号
    local tmpClientVersion = gPlayer.ClientVersion
    if tmpClientVersion then
        print(string.format("客户端版本号：%d", tmpClientVersion))


版本类型

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
版本类型

属性名称：

    GameType

说明：

    玩家版本类型(0:176; 1:185; 2:英雄版; 3:连击版; 4:传奇续章; 5:外传; 6:归来)

读写状态：

    只读

使用示例：

function TestDemo()
    --版本类型
    local tmpGameType = gPlayer.GameType
    if tmpGameType then
        print(string.format("版本类型：%d", tmpGameType))


客户端分辨率-宽

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
客户端分辨率-宽

属性名称：

    ScreenWidth

说明：

    玩家客户端分辨率-宽

读写状态：

    只读

使用示例：

function TestDemo()
    --客户端分辨率-宽
    local tmpScreenWidth = gPlayer.ScreenWidth
    if tmpScreenWidth then
        print(string.format("客户端分辨率-宽：%d", tmpScreenWidth))


客户端分辨率-高

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
客户端分辨率-高

属性名称：

    ScreenHeight

说明：

    玩家客户端分辨率-高

读写状态：

    只读

使用示例：

function TestDemo()
    --客户端分辨率-高
    local tmpScreenHeight = gPlayer.ScreenHeight
    if tmpScreenHeight then
        print(string.format("客户端分辨率-高：%d", tmpScreenHeight))


客户端视觉范围

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
客户端视觉范围

属性名称：

    ViewRange

说明：

    玩家客户端视觉范围

读写状态：

    只读

使用示例：

function TestDemo()
    --客户端视觉范围
    local tmpViewRange = gPlayer.ViewRange
    if tmpViewRange then
        print(string.format("客户端视觉范围：%d", tmpViewRange))


转生等级

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
转生等级

属性名称：

    Relevel

说明：

    玩家转生等级

读写状态：

    可读 可写

使用示例：

function TestDemo()
    --转生等级
    local tmpRelevel = gPlayer.Relevel
    if tmpRelevel then
        --修改转生等级
        gPlayer.Relevel = gPlayer.Relevel + 1
        --M2后台输出
        print(string.format("转生等级：%d", tmpRelevel))
        --游戏界面输出
        gPlayer:SysMsg(string.format("转生等级：%d", tmpRelevel), 215, 116, 1)


未分配属性点

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
未分配属性点

属性名称：

    BonusPoint

说明：

    未分配属性点

读写状态：

    可读 可写

使用示例：

function TestDemo()
    --未分配属性点
    local tmpBonusPoint = gPlayer.BonusPoint
    if tmpBonusPoint then
        --修改未分配属性点
        gPlayer.BonusPoint = gPlayer.BonusPoint + 100
        --M2后台输出
        print(string.format("未分配属性点：%d", tmpBonusPoint))
        --游戏界面输出
        gPlayer:SysMsg(string.format("未分配属性点：%d", tmpBonusPoint), 215, 116, 1)


主将英雄名

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
主将英雄名

属性名称：

    HeroName

说明：

    主将英雄名

读写状态：

    只读

使用示例：
function TestDemo()
    --主将英雄名
    local tmpHeroName = gPlayer.HeroName
     if tmpHeroName then
        print(string.format("主将英雄名：%s", tmpHeroName))


副将英雄名

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
副将英雄名

属性名称：

    DeputyHeroName

说明：

    副将英雄名

读写状态：

    只读

使用示例：
function TestDemo()
    --副将英雄名
    local tmpDeputyHeroName = gPlayer.DeputyHeroName
     if tmpDeputyHeroName then
        print(string.format("副将英雄名：%s", tmpDeputyHeroName))


副将英雄职业

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
副将英雄职业

属性名称：

    DeputyHeroJob

说明：

    副将英雄职业

读写状态：

    只读

使用示例：
function TestDemo()
    --副将英雄职业
    local tmpDeputyHeroJob = gPlayer.DeputyHeroJob
     if tmpDeputyHeroJob then
        print(string.format("副将英雄职业：%s", tmpDeputyHeroJob))


英雄对象

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
英雄对象

属性名称：

    Hero

说明：

    英雄对象

读写状态：

    只读

使用示例：
function TestDemo()
    --英雄对象
    local tmpHero = gPlayer.Hero
    if tmpHero then
        gPlayer:SysMsg(string.format("英雄对象存在", gPlayer.Name), 215, 116, 1)
    else
        gPlayer:SysMsg(string.format("英雄对象不存在", gPlayer.Name), 215, 116, 1)


是否评定主副英雄

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
是否评定主副英雄

属性名称：

    IsFixedHero

说明：

    是否评定主副英雄

读写状态：

    只读

使用示例：
function TestDemo()
    --是否评定主副英雄
    local tmpIsFixedHero = gPlayer.IsFixedHero
    if tmpIsFixedHero then
        gPlayer:SysMsg(string.format("已经评定主副英雄", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("没有评定主副英雄", gPlayer.Name), 249, 116, 1)


英雄是否寄存

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
英雄是否寄存

属性名称：

    IsStorageHero

说明：

    英雄是否寄存

读写状态：

    只读

使用示例：
function TestDemo()
    --英雄是否寄存
    local tmpIsStorageHero = gPlayer.IsStorageHero
    if tmpIsStorageHero then
        gPlayer:SysMsg(string.format("英雄已经寄存", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("英雄没有寄存", gPlayer.Name), 249, 116, 1)


副将英雄是否寄存

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
副将英雄是否寄存

属性名称：

    IsStorageDeputyHero

说明：

    副将英雄是否寄存

读写状态：

    只读

使用示例：
function TestDemo()
    --副将英雄是否寄存
    local tmpIsStorageDeputyHero = gPlayer.IsStorageDeputyHero
    if tmpIsStorageDeputyHero then
        gPlayer:SysMsg(string.format("副将英雄已经寄存", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("副将英雄没有寄存", gPlayer.Name), 249, 116, 1)


金币数量

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
金币数量

属性名称：

    Gold

说明：

    金币数量

读写状态：

    可读 可写

使用示例：

function TestDemo()
    --金币数量
    local tmpGold = gPlayer.Gold
    --设置金币数量
    gPlayer.Gold = gPlayer.Gold + 5
    --M2后台输出
    print(string.format("金币数量：%d", tmpGold))
    --游戏界面输出
    gPlayer:SysMsg(string.format("金币数量：%d", tmpGold), 215, 116, 1)


最大金币数量

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
最大金币数量

属性名称：

    MaxGold

说明：

    最大金币数量

读写状态：

    只读

使用示例：
function TestDemo()
    --最大金币数量
    local tmpMaxGold = gPlayer.MaxGold
     if tmpMaxGold then
        print(string.format("最大金币数量：%s", tmpMaxGold))


元宝数量

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
元宝数量

属性名称：

    GameGold

说明：

    元宝数量

读写状态：

    可读 可写

使用示例：

function TestDemo()
    --元宝数量
    local tmpGameGold = gPlayer.GameGold
    --设置元宝数量
    gPlayer.GameGold = gPlayer.GameGold + 50
    --M2后台输出
    print(string.format("元宝数量：%d", tmpGameGold))
    --游戏界面输出
    gPlayer:SysMsg(string.format("元宝数量：%d", tmpGameGold), 215, 116, 1)


游戏点

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
游戏点

属性名称：

    GamePoint

说明：

    游戏点

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --游戏点
    local tmpGamePoint = gPlayer.GamePoint
     if tmpGamePoint then
        print(string.format("游戏点：%s", tmpGamePoint))


金刚石数量

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
金刚石数量

属性名称：

    GameDiamond

说明：

    金刚石数量

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --金刚石数量
    local tmpGameDiamond = gPlayer.GameDiamond
     if tmpGameDiamond then
        print(string.format("金刚石数量：%s", tmpGameDiamond))


灵符

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
灵符

属性名称：

    GameGird

说明：

    灵符

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --灵符
    local tmpGameGird = gPlayer.GameGird
     if tmpGameGird then
        print(string.format("灵符：%s", tmpGameGird))


新游戏点

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
新游戏点

属性名称：

    GameGoldEx

说明：

    新游戏点

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --新游戏点
    local tmpGameGoldEx = gPlayer.GameGoldEx
     if tmpGameGoldEx then
        print(string.format("新游戏点：%s", tmpGameGoldEx))


荣誉

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
荣誉

属性名称：

    GameGlory

说明：

    荣誉

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --荣誉
    local tmpGameGlory = gPlayer.GameGlory
     if tmpGameGlory then
        print(string.format("荣誉：%s", tmpGameGlory))


充值点

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
充值点

属性名称：

    PayMentPoint

说明：

    充值点

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --充值点
    local tmpPayMentPoint = gPlayer.PayMentPoint
     if tmpPayMentPoint then
        print(string.format("充值点：%s", tmpPayMentPoint))


会员类型

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
会员类型

属性名称：

    MemberType

说明：

    会员类型

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --会员类型
    local tmpMemberType = gPlayer.MemberType
     if tmpMemberType then
        print(string.format("会员类型：%s", tmpMemberType))


会员等级

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
会员等级

属性名称：

    MemberLevel

说明：

    会员等级

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --会员等级
    local tmpMemberLevel = gPlayer.MemberLevel
     if tmpMemberLevel then
        print(string.format("会员等级：%s", tmpMemberLevel))


贡献度

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
贡献度

属性名称：

    Contribution

说明：

    贡献度

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --贡献度
    local tmpContribution = gPlayer.Contribution
     if tmpContribution then
        print(string.format("贡献度：%s", tmpContribution))


是否离线挂机

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
是否离线挂机

属性名称：

    IsOffLine

说明：

    是否离线挂机

读写状态：

    只读

使用示例：
function TestDemo()
    --是否离线挂机
    local tmpIsOffLine = gPlayer.IsOffLine
    if tmpIsOffLine then
        gPlayer:SysMsg(string.format("已经离线挂机", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("没有离线挂机", gPlayer.Name), 249, 116, 1)


是否是师父

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
是否是师父

属性名称：

    IsMaster

说明：

    是否是师父

读写状态：

    只读

使用示例：
function TestDemo()
    --是否是师父
    local tmpIsMaster = gPlayer.IsMaster
    if tmpIsMaster then
        gPlayer:SysMsg(string.format("是师父", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("不是师父", gPlayer.Name), 249, 116, 1)


师父名字

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
师父名字

属性名称：

    MasterName

说明：

    师父名字

读写状态：

    只读

使用示例：
function TestDemo()
    --师父名字
    local tmpMasterName = gPlayer.MasterName
     if tmpMasterName then
        print(string.format("师父名字：%s", tmpMasterName))


师父对象

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
师父对象

属性名称：

    MasterHuman

说明：

    师父对象

读写状态：

    只读

使用示例：
function TestDemo()
    --师父
    local tmpMasterHuman = gPlayer.MasterHuman
    if tmpMasterHuman then
        gPlayer:SysMsg(string.format("师父对象存在", gPlayer.Name), 215, 116, 1)
    else
        gPlayer:SysMsg(string.format("师父对象不存在", gPlayer.Name), 215, 116, 1)


当角色为徒弟时徒弟排名

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
当角色为徒弟时徒弟排名

属性名称：

    ApprenticeNO

说明：

    当角色为徒弟时徒弟排名

读写状态：

    只读

使用示例：
function TestDemo()
    --当角色为徒弟时徒弟排名
    local tmpApprenticeNO = gPlayer.ApprenticeNO
     if tmpApprenticeNO then
        print(string.format("当角色为徒弟时徒弟排名：%s", tmpApprenticeNO))


在线徒弟列表

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
在线徒弟列表

属性名称：

    OnlineApprenticeList

说明：

    在线徒弟列表

读写状态：

    只读

使用示例：
function TestDemo()
    --在线徒弟列表
    local tmpOnlineApprenticeList = gPlayer.OnlineApprenticeList
    if tmpOnlineApprenticeList then
        --遍历在线徒弟列表
        for key in pairs(tmpOnlineApprenticeList) do
            --输出徒弟名称
            print(string.format("徒弟名称：%s", tmpOnlineApprenticeList[key].Name))
        end
        tmpOnlineApprenticeList = nil


伴侣名字

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
伴侣名字

属性名称：

    DearName

说明：

    伴侣名字

读写状态：

    只读

使用示例：
function TestDemo()
    --伴侣名字
    local tmpDearName = gPlayer.DearName
     if tmpDearName then
        print(string.format("伴侣名字：%s", tmpDearName))


伴侣对象

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
伴侣对象

属性名称：

    DearHuman

说明：

    伴侣对象

读写状态：

    只读

使用示例：
function TestDemo()
    --伴侣
    local tmpDearHuman = gPlayer.DearHuman
    if tmpDearHuman then
        gPlayer:SysMsg(string.format("伴侣对象存在", gPlayer.Name), 215, 116, 1)
    else
        gPlayer:SysMsg(string.format("伴侣对象不存在", gPlayer.Name), 215, 116, 1)


离婚次数

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
离婚次数

属性名称：

    MarryCount

说明：

    离婚次数

读写状态：

    只读

使用示例：
function TestDemo()
    --离婚次数
    local tmpMarryCount = gPlayer.MarryCount
     if tmpMarryCount then
        print(string.format("离婚次数：%s", tmpMarryCount))


队长

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
队长对象

属性名称：

    GroupOwner

说明：

    队长对象

读写状态：

    只读

使用示例：
function TestDemo()
    --队长
    local tmpGroupOwner = gPlayer.GroupOwner
    if tmpGroupOwner then
        gPlayer:SysMsg(string.format("队长对象存在", gPlayer.Name), 215, 116, 1)
    else
        gPlayer:SysMsg(string.format("队长对象不存在", gPlayer.Name), 215, 116, 1)


队员列表

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
队员列表

属性名称：

    GroupMembers

说明：

    队员列表

读写状态：

    只读

使用示例：
function TestDemo()
    --队员列表
    local tmpGroupMembers = gPlayer.GroupMembers
    if tmpGroupMembers then
        --遍历队员列表
        for key in pairs(tmpGroupMembers) do
            --输出队员名称
            print(string.format("队员名称：%s", tmpGroupMembers[key].Name))
        end
        tmpGroupMembers = nil


锁定登录

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
锁定登录

属性名称：

    IsLockLogin

说明：

    锁定登录

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --锁定登录
    local tmpIsLockLogin = gPlayer.IsLockLogin
    if tmpIsLockLogin then
        gPlayer:SysMsg(string.format("是锁定登录", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("不是锁定登录", gPlayer.Name), 249, 116, 1)


是否允许组队

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
是否允许组队

属性名称：

    IsAllowGroup

说明：

    是否允许组队

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --是否允许组队
    local tmpIsAllowGroup = gPlayer.IsAllowGroup
    if tmpIsAllowGroup then
        gPlayer:SysMsg(string.format("允许组队", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("不允许组队", gPlayer.Name), 249, 116, 1)


是否允许天地合一

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
是否允许天地合一

属性名称：

    IsAllowGroupReCall

说明：

    是否允许天地合一

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --是否允许天地合一
    local tmpIsAllowGroupReCall = gPlayer.IsAllowGroupReCall
    if tmpIsAllowGroupReCall then
        gPlayer:SysMsg(string.format("允许天地合一", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("不允许天地合一", gPlayer.Name), 249, 116, 1)


禁止交易

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
禁止交易

属性名称：

    IsAllowTrading

说明：

    禁止交易

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --禁止交易
    local tmpIsAllowTrading = gPlayer.IsAllowTrading
    if tmpIsAllowTrading then
        gPlayer:SysMsg(string.format("禁止交易", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("允许交易", gPlayer.Name), 249, 116, 1)


禁止邀请上马

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
禁止邀请上马

属性名称：

    IsDisableInviteHorseRiding

说明：

    禁止邀请上马

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --禁止邀请上马
    local tmpIsDisableInviteHorseRiding = gPlayer.IsDisableInviteHorseRiding
    if tmpIsDisableInviteHorseRiding then
        gPlayer:SysMsg(string.format("禁止邀请上马", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("允许邀请上马", gPlayer.Name), 249, 116, 1)


是否开启元宝交易

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
是否开启元宝交易

属性名称：

    IsGameGoldTrading

说明：

    是否开启元宝交易

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --是否开启元宝交易
    local tmpIsGameGoldTrading = gPlayer.IsGameGoldTrading
    if tmpIsGameGoldTrading then
        gPlayer:SysMsg(string.format("开启元宝交易", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("关闭元宝交易", gPlayer.Name), 249, 116, 1)


合过区没有登录过的

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
合过区没有登录过的

属性名称：

    IsNewServer

说明：

    合过区没有登录过的

读写状态：

    只读

使用示例：
function TestDemo()
    --合过区没有登录过的
    local tmpIsNewServer = gPlayer.IsNewServer
    if tmpIsNewServer then
        gPlayer:SysMsg(string.format("合过区没有登录过的", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("合过区登录过", gPlayer.Name), 249, 116, 1)


过滤掉落提示信息

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
过滤掉落提示信息

属性名称：

    IsFilterGlobalDropItemMsg

说明：

    是否过滤掉落提示信息

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --过滤掉落提示信息
    local tmpIsFilterGlobalDropItemMsg = gPlayer.IsFilterGlobalDropItemMsg
    if tmpIsFilterGlobalDropItemMsg then
        gPlayer:SysMsg(string.format("过滤掉落提示信息", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("没有过滤掉落提示信息", gPlayer.Name), 249, 116, 1)


过滤SendCenterMsg信息

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
过滤SendCenterMsg信息

属性名称：

    IsFilterGlobalCenterMsg

说明：

    过滤SendCenterMsg信息

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --过滤SendCenterMsg信息
    local tmpIsFilterGlobalCenterMsg = gPlayer.IsFilterGlobalCenterMsg
     if tmpIsFilterGlobalCenterMsg then
        print(string.format("过滤SendCenterMsg：%s", tmpIsFilterGlobalCenterMsg))


过滤SendMsg全局信息

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
过滤SendMsg全局信息

属性名称：

    IsFilterGolbalSendMsg

说明：

    是否过滤SendMsg全局信息

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --过滤SendMsg全局信息
    local tmpIsFilterGolbalSendMsg = gPlayer.IsFilterGolbalSendMsg
    if tmpIsFilterGolbalSendMsg then
        gPlayer:SysMsg(string.format("过滤SendMsg全局信息", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("没有过滤SendMsg全局信息", gPlayer.Name), 249, 116, 1)


是否请过酒

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
是否请过酒

属性名称：

    IsPleaseDrink

说明：

    是否请过酒

读写状态：

    只读

使用示例：
function TestDemo()
    --是否请过酒
    local tmpIsPleaseDrink = gPlayer.IsPleaseDrink
    if tmpIsPleaseDrink then
        gPlayer:SysMsg(string.format("请过酒", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("没有请过酒", gPlayer.Name), 249, 116, 1)


饮酒时酒的品质

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
饮酒时酒的品质

属性名称：

    DrinkWineQuality

说明：

    饮酒时酒的品质

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --饮酒时酒的品质
    local tmpDrinkWineQuality = gPlayer.DrinkWineQuality
     if tmpDrinkWineQuality then
        print(string.format("饮酒时酒的品质：%s", tmpDrinkWineQuality))


饮酒时酒的度数

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
饮酒时酒的度数

属性名称：

    DrinkWineAlcohol

说明：

    饮酒时酒的度数

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --饮酒时酒的度数
    local tmpDrinkWineAlcohol = gPlayer.DrinkWineAlcohol
     if tmpDrinkWineAlcohol then
        print(string.format("饮酒时酒的度数：%s", tmpDrinkWineAlcohol))


人是否喝酒醉了

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
人是否喝酒醉了

属性名称：

    IsDrinkWineDrunk

说明：

    人是否喝酒醉了

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --人是否喝酒醉了
    local tmpIsDrinkWineDrunk = gPlayer.IsDrinkWineDrunk
    if tmpIsDrinkWineDrunk then
        gPlayer:SysMsg(string.format("人是喝酒醉了", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("人没有喝酒醉", gPlayer.Name), 249, 116, 1)


酒属性表

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
酒属性表

属性名称：

    Alcohol

说明：

    酒属性表

读写状态：

    只读

值类型结构：

名称 | 描述
Alcohol | 酒量值
MaxAlcohol | 酒量上限值
WineDrinkValue | 醉酒度
MedicineLevel | 药力值等级
MedicineValue | 当前药力值
MaxMedicineValue | 药力值上限

使用示例：
function TestDemo()
    --酒属性表
    local tmpAlcohol = gPlayer.Alcohol
     if tmpAlcohol then
        print(string.format("酒量值：%d", tmpAlcohol.Alcohol))


是否正在内挂挂机

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 属性 >
是否正在内挂挂机

属性名称：

    IsAutoPlayGame

说明：

    是否正在内挂挂机

读写状态：

    只读

使用示例：
function TestDemo()
    --是否正在内挂挂机
    local tmpIsAutoPlayGame = gPlayer.IsAutoPlayGame
    if tmpIsAutoPlayGame then
        gPlayer:SysMsg(string.format("是正在内挂挂机", gPlayer.Name), 249, 116, 1)
    else
        gPlayer:SysMsg(string.format("没有正在内挂挂机", gPlayer.Name), 249, 116, 1)


方法

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] >
TPlayObject

玩家对象类：

方法名称 | 描述
SendAdjustBonus | 刷新属性点
CallHero | 召唤英雄
GetStorageOpen | 获取仓库是否开启
SetStorageOpen | 设置仓库是否开启
IncGold | 加金币
DecGold | 减金币
SendGoldChanged | 通知客户端刷新金币
IncGameGold | 加元宝
DecGameGold | 减元宝
SendGameGoldChanged | 通知客户端刷新元宝
IncGamePoint | 加游戏点
DecGamePoint | 减游戏点
IncGameDiamond | 加金刚石
DecGameDiamond | 减金刚石
IncGameGird | 加灵符
DecGameGird | 减灵符
SendGamePointExChanged | 通知客户端刷新(游戏点、金刚石、灵符)
IncGameGlory | 加荣誉
DecGameGlory | 减荣誉
SendGameGloryChanged | 通知客户端刷新荣誉
IncExp | 加经验
SendExpChanged | 通知客户端刷新经验
IncNGExp | 加内功经验
SendNGExpChanged | 通知客户端刷新内功经验
IncBeadExp | 增加聚灵珠经验
GetVarP | 获取P变量
SetVarP | 设置P变量
GetVarM | 获取M变量
SetVarM | 设置M变量
GetVarD | 获取D变量
SetVarD | 设置D变量
GetVarU | 获取U变量
SetVarU | 设置U变量
GetVarT | 获取T变量
SetVarT | 设置T变量
GetVarN | 获取N变量
SetVarN | 设置N变量
GetVarS | 获取S变量
SetVarS | 设置S变量
GetQuestFlagStatus | 获取任务标志状态
SetQuestFlagStatus | 设置任务标志状态
GoHome | 回城
MoveRandomToHome | 随机传送到回城地图
SendDefMessage | 发送消息
SendMoveMsg | 发送顶部移动消息
SendCenterMsg | 发送居中消息
SendTopBroadCastMsg | 发送消息框顶部消息
CheckTakeOnItems | 检测装备是否可穿戴
ProcessUseItemSkill | 处理装备穿脱时对应的技能
SendUseItems | 刷新身上装备列表
SendAddItem | 发送增加物品
SendDelItemList | 客户端删除多个物品
SendDelItem | 客户端删除物品
SendUpdateItem | 客户端刷新物品
SendItemDuraChanged | 客户端刷新装备持久改变
SendBagItems | 刷新客户端包裹
SendJewelryBoxItems | 刷新首饰盒物品
SendGodBlessItems | 刷新神佑袋物品
SendOpenGodBlessItem | 神佑格开启
SendCloseGodBlessItem | 神佑格关闭
SendUseMagics | 刷新技能列表
SendAddMagic | 发送技能添加
SendDelMagic | 发送技能删除
SendTitleItems | 刷新称号物品
SendAddTitleItem | 发送称号增加
SendDelTitleItem | 发送称号删除
SendSocketStatusFail | 发送走路/跑步失败
AddPlayEffect | 添加用户特效
StartAutoPlayGame | 开始内挂挂机
StopAutoPlayGame | 停止内挂挂机


发送属性点

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
发送属性点

声明：

   function SendAdjustBonus()

说明：

   发送属性点

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --发送属性点
    local tmpSendAdjustBonus = gPlayer:SendAdjustBonus()
    --对象存在
    if tmpSendAdjustBonus then
        gPlayer:SysMsg(string.format("玩家 %s 发送属性点成功。", gPlayer.Name), 215, 116, 1)
    else
        gPlayer:SysMsg(string.format("玩家 %s 发送属性点失败。", gPlayer.Name), 215, 116, 1)


召唤英雄

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
召唤英雄

声明：

   function RecallHero()

说明：

   召唤英雄

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --召唤英雄
    gPlayer:RecallHero()


获取仓库是否开启

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
获取仓库是否开启

声明：

   function GetStorageOpen()

说明：

   获取仓库是否开启

参数：

 | 数据类型 | 描述
参数一 | integer | 仓库序号(0-3)
返回值 | boolean | 返回仓库是否开启

使用示例：
function TestDemo()
    --获取仓库是否开启
    local tmpStorageOpen = gPlayer:GetStorageOpen(1)
    --对象存在
    if tmpStorageOpen then
        print(string.format("当前1号仓库已经开启: %s", tmpStorageOpen))


设置仓库是否开启

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
设置仓库是否开启

声明：

   function SetStorageOpen()

说明：

   设置仓库是否开启

参数：

 | 数据类型 | 描述
参数一 | integer | 仓库序号(0-3)
参数二 | boolean | 设置状态(true:开启;false:关闭)
返回值 |  | 无

使用示例：
function TestDemo()
    --设置仓库开启
    gPlayer:SetStorageOpen(3, "true")
    --获取仓库是否开启
    local tmpStorageOpen = gPlayer:GetStorageOpen(3)
    --对象存在
    if tmpStorageOpen then
        print(string.format("当前3号仓库已经开启: %s", tmpStorageOpen))


加金币

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
加金币

声明：

   function IncGold()

说明：

   增加金币到玩家包裹

参数：

 | 数据类型 | 描述
参数一 | integer | 金币数量
返回值 | boolean | 是否增加成功

使用示例：
function TestDemo()
    --增加金币到玩家包裹
    gPlayer:IncGold(229999)


减金币

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
减金币

声明：

   function DecGold()

说明：

   减少金币到玩家包裹

参数：

 | 数据类型 | 描述
参数一 | integer | 金币数量
返回值 | boolean | 是否减少成功

使用示例：
function TestDemo()
    --减少金币到玩家包裹
    gPlayer:DecGold(9999)


通知客户端刷新金币

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
通知客户端刷新金币

声明：

   function SendGoldChanged()

说明：

   通知客户端刷新金币

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --增加金币到玩家包裹
    gPlayer:IncGold(229999)
    --通知客户端刷新金币
    gPlayer:SendGoldChanged()


加元宝

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
加元宝

声明：

   function IncGameGold()

说明：

   增加元宝到玩家包裹

参数：

 | 数据类型 | 描述
参数一 | integer | 元宝数量
返回值 | boolean | 是否增加成功

使用示例：
function TestDemo()
    --增加元宝到玩家包裹
    gPlayer:IncGameGold(339999)


减元宝

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
减元宝

声明：

   function DecGameGold()

说明：

   减少元宝到玩家包裹

参数：

 | 数据类型 | 描述
参数一 | integer | 元宝数量
返回值 | boolean | 是否增加成功

使用示例：
function TestDemo()
    --减少元宝到玩家包裹
    gPlayer:DecGameGold(39999)


通知客户端刷新元宝

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
通知客户端刷新元宝

声明：

   function SendGameGoldChanged()

说明：

   通知客户端刷新元宝

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --增加元宝到玩家包裹
    gPlayer:IncGameGold(339999)
    --通知客户端刷新元宝
    gPlayer:SendGameGoldChanged()


加游戏点

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
加游戏点

声明：

   function IncGamePoint()

说明：

   增加游戏点到玩家包裹

参数：

 | 数据类型 | 描述
参数一 | integer | 游戏点数量
返回值 | boolean | 是否增加成功

使用示例：
function TestDemo()
    --增加游戏点到玩家包裹
    gPlayer:IncGamePoint(229999)


减游戏点

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
减游戏点

声明：

   function DecGamePoint()

说明：

   减少游戏点到玩家包裹

参数：

 | 数据类型 | 描述
参数一 | integer | 游戏点数量
返回值 | boolean | 是否减少成功

使用示例：
function TestDemo()
    --减少游戏点到玩家包裹
    gPlayer:DecGamePoint(9999)


加金刚石

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
加金刚石

声明：

   function IncGameDiamond()

说明：

   增加金刚石到玩家包裹

参数：

 | 数据类型 | 描述
参数一 | integer | 金刚石数量
返回值 | boolean | 是否增加成功

使用示例：
function TestDemo()
    --增加金刚石到玩家包裹
    gPlayer:IncGameDiamond(229999)


减金刚石

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
减金刚石

声明：

   function DecGameDiamond()

说明：

   减少金刚石到玩家包裹

参数：

 | 数据类型 | 描述
参数一 | integer | 金刚石数量
返回值 | boolean | 是否减少成功

使用示例：
function TestDemo()
    --减少金刚石到玩家包裹
    gPlayer:DecGameDiamond(9999)


加灵符

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
加灵符

声明：

   function IncGameGird()

说明：

   增加灵符到玩家包裹

参数：

 | 数据类型 | 描述
参数一 | integer | 灵符数量
返回值 | boolean | 是否增加成功

使用示例：
function TestDemo()
    --增加灵符到玩家包裹
    gPlayer:IncGameGird(229999)


减灵符

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
减灵符

声明：

   function DecGameGird()

说明：

   减少灵符到玩家包裹

参数：

 | 数据类型 | 描述
参数一 | integer | 灵符数量
返回值 | boolean | 是否减少成功

使用示例：
function TestDemo()
    --减少灵符到玩家包裹
    gPlayer:DecGameGird(9999)


通知客户端刷新(游戏点、金刚石、灵符)

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
通知客户端刷新(游戏点、金刚石、灵符)

声明：

   function SendGamePointExChanged()

说明：

   通知客户端刷新(游戏点、金刚石、灵符)

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --增加游戏点到玩家包裹
    gPlayer:IncGamePoint(229999)
    --通知客户端刷新(游戏点、金刚石、灵符)
    gPlayer:SendGamePointExChanged()


加荣誉

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
加荣誉

声明：

   function IncGameGlory()

说明：

   增加荣誉到玩家包裹

参数：

 | 数据类型 | 描述
参数一 | integer | 荣誉数量
返回值 | boolean | 是否增加成功

使用示例：
function TestDemo()
    --增加荣誉到玩家包裹
    gPlayer:IncGameGlory(229999)


减荣誉

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
减荣誉

声明：

   function DecGameGlory()

说明：

   减少荣誉到玩家包裹

参数：

 | 数据类型 | 描述
参数一 | integer | 荣誉数量
返回值 | boolean | 是否减少成功

使用示例：
function TestDemo()
    --减少荣誉到玩家包裹
    gPlayer:DecGameGlory(9999)


通知客户端刷新荣誉

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
通知客户端刷新荣誉

声明：

   function SendGameGloryChanged()

说明：

   通知客户端刷新荣誉

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --增加荣誉到玩家包裹
    gPlayer:IncGameGlory(229999)
    --通知客户端刷新荣誉
    gPlayer:SendGameGloryChanged()


加经验

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
加经验

声明：

   function IncExp()

说明：

   增加经验

参数：

 | 数据类型 | 描述
参数一 | integer | 经验数量
返回值 | boolean | 是否增加成功

使用示例：
function TestDemo()
    --增加经验
    gPlayer:IncExp(229999)


通知客户端刷新经验

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
通知客户端刷新经验

声明：

   function SendExpChanged()

说明：

   通知客户端刷新经验

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --增加经验
    gPlayer:IncExp(229999)
    --通知客户端刷新经验
    gPlayer:SendExpChanged()


加内功经验

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
加内功经验

声明：

   function IncNGExp()

说明：

   增加内功经验

参数：

 | 数据类型 | 描述
参数一 | integer | 内功经验数量
返回值 | boolean | 是否增加成功

使用示例：
function TestDemo()
    --增加内功经验
    gPlayer:IncNGExp(229999)


通知客户端刷新内功经验

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
通知客户端刷新内功经验

声明：

   function SendExpChanged()

说明：

   通知客户端刷新内功经验

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --增加内功经验
    gPlayer:IncNGExp(229999)
    --通知客户端刷新内功经验
    gPlayer:SendExpChanged()


增加聚灵珠经验

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
加聚灵珠经验

声明：

   function IncBeadExp()

说明：

   增加聚灵珠经验

参数：

 | 数据类型 | 描述
参数一 | integer | 聚灵珠经验数量
返回值 | boolean | 是否增加成功

使用示例：
function TestDemo()
    --增加聚灵珠经验
    gPlayer:IncBeadExp(99999999)


获取P变量

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
获取P变量

声明：

   function GetVarP()

说明：

   获取P变量

参数：

 | 数据类型 | 描述
参数一 | integer | P变量取值范围(0-999)
返回值 | integer | 返回P变量值

使用示例：
function TestDemo()
    --获取私人P100变量
    print(string.format("P100变量的值:%d", gPlayer:GetVarP(100)))


设置P变量

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
设置P变量

声明：

   function SetVarP()

说明：

   设置P变量

参数：

 | 数据类型 | 描述
参数一 | integer | P变量取值范围(0-999)
参数二 | integer | 设置P变量值
返回值 |  | 无

使用示例：
function TestDemo()
    --设置私人P100变量的值为488
    gPlayer:SetVarP(100, 488)
    print(string.format("P100变量的值:%d", gPlayer:GetVarP(100)))


获取M变量

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
获取M变量

声明：

   function GetVarM()

说明：

   获取M变量

参数：

 | 数据类型 | 描述
参数一 | integer | M变量取值范围(0-999)
返回值 | integer | 返回M变量值

使用示例：
function TestDemo()
    --获取私人M100变量
    print(string.format("M100变量的值:%d", gPlayer:GetVarM(100)))


设置M变量

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
设置M变量

声明：

   function SetVarM()

说明：

   设置M变量

参数：

 | 数据类型 | 描述
参数一 | integer | M变量取值范围(0-999)
参数二 | integer | 设置M变量值
返回值 |  | 无

使用示例：
function TestDemo()
    --设置私人M100变量的值为488
    gPlayer:SetVarM(100, 488)
    print(string.format("M100变量的值:%d", gPlayer:GetVarM(100)))


获取D变量

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
获取D变量

声明：

   function GetVarD()

说明：

   获取D变量

参数：

 | 数据类型 | 描述
参数一 | integer | D变量取值范围(0-999)
返回值 | integer | 返回D变量值

使用示例：
function TestDemo()
    --获取私人D100变量
    print(string.format("D100变量的值:%d", gPlayer:GetVarD(100)))


设置D变量

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
设置D变量

声明：

   function SetVarD()

说明：

   设置D变量

参数：

 | 数据类型 | 描述
参数一 | integer | D变量取值范围(0-999)
参数二 | integer | 设置D变量值
返回值 |  | 无

使用示例：
function TestDemo()
    --设置私人D100变量的值为488
    gPlayer:SetVarD(100, 488)
    print(string.format("D100变量的值:%d", gPlayer:GetVarD(100)))


获取U变量

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
获取U变量

声明：

   function GetVarU()

说明：

   获取U变量

参数：

 | 数据类型 | 描述
参数一 | integer | U变量取值范围(0-999)
返回值 | integer | 返回U变量值

使用示例：
function TestDemo()
    --获取私人U100变量
    print(string.format("U100变量的值:%d", gPlayer:GetVarU(100)))


设置U变量

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
设置U变量

声明：

   function SetVarU()

说明：

   设置U变量

参数：

 | 数据类型 | 描述
参数一 | integer | U变量取值范围(0-999)
参数二 | integer | 设置U变量值
返回值 |  | 无

使用示例：
function TestDemo()
    --设置私人U100变量的值为488
    gPlayer:SetVarU(100, 488)
    print(string.format("U100变量的值:%d", gPlayer:GetVarU(100)))


获取T变量

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
获取T变量

声明：

   function GetVarT()

说明：

   获取T变量

参数：

 | 数据类型 | 描述
参数一 | integer | T变量取值范围(0-999)
返回值 | integer | 返回T变量值

使用示例：
function TestDemo()
    --获取私人T100变量
    print(string.format("T100变量的值:%s", gPlayer:GetVarT(100)))


设置T变量

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
设置T变量

声明：

   function SetVarT()

说明：

   设置T变量

参数：

 | 数据类型 | 描述
参数一 | integer | T变量取值范围(0-999)
参数二 | string | 设置T变量值
返回值 |  | 无

使用示例：
function TestDemo()
    --设置私人T100变量的值为今天天气
    gPlayer:SetVarT(100, "今天天气")
    print(string.format("T100变量的值:%s", gPlayer:GetVarT(100)))


获取N变量

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
获取N变量

声明：

   function GetVarN()

说明：

   获取N变量

参数：

 | 数据类型 | 描述
参数一 | integer | N变量取值范围(0-999)
返回值 | integer | 返回N变量值

使用示例：
function TestDemo()
    --获取私人N100变量
    print(string.format("N100变量的值:%d", gPlayer:GetVarN(100)))


设置N变量

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
设置N变量

声明：

   function SetVarN()

说明：

   设置N变量

参数：

 | 数据类型 | 描述
参数一 | integer | N变量取值范围(0-999)
参数二 | integer | 设置N变量值
返回值 |  | 无

使用示例：
function TestDemo()
    --设置私人N100变量的值为488
    gPlayer:SetVarN(100, 488)
    print(string.format("N100变量的值:%d", gPlayer:GetVarN(100)))


获取S变量

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
获取S变量

声明：

   function GetVarS()

说明：

   获取S变量

参数：

 | 数据类型 | 描述
参数一 | integer | S变量取值范围(0-999)
返回值 | integer | 返回S变量值

使用示例：
function TestDemo()
    --获取私人S100变量
    print(string.format("S100变量的值:%s", gPlayer:GetVarS(100)))


设置S变量

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
设置S变量

声明：

   function SetVarS()

说明：

   设置S变量

参数：

 | 数据类型 | 描述
参数一 | integer | S变量取值范围(0-999)
参数二 | string | 设置S变量值
返回值 |  | 无

使用示例：
function TestDemo()
    --设置私人S100变量的值为今天天气
    gPlayer:SetVarS(100, "今天天气")
    print(string.format("S100变量的值:%s", gPlayer:GetVarS(100)))


获取任务标志状态

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
获取任务标志状态

声明：

   function GetQuestFlagStatus()

说明：

   获取任务标志状态

参数：

 | 数据类型 | 描述
参数一 | integer | 任务标志序号
返回值 | integer | 返回任务标志状态

使用示例：
function TestDemo()
    --获取任务标志状态
    local tmpQuestFlagStatus = gPlayer:GetQuestFlagStatus(1)
    if tmpQuestFlagStatus then
        print(string.format("获取任务标志状态：%s", tmpQuestFlagStatus))


设置任务标志状态

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
设置任务标志状态

声明：

   function GetQuestFlagStatus()

说明：

   设置任务标志状态

参数：

 | 数据类型 | 描述
参数一 | integer | 任务标志序号
参数二 | integer | 任务标志数状态值(0-1)
返回值 |  | 无

使用示例：
function TestDemo()
    --设置任务标志状态
    gPlayer:SetQuestFlagStatus(1, 1)
    --获取任务标志状态
    local tmpQuestFlagStatus = gPlayer:GetQuestFlagStatus(1)
    if tmpQuestFlagStatus then
        print(string.format("获取任务标志状态：%s", tmpQuestFlagStatus))


回城

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
回城

声明：

   function GoHome()

说明：

   回城

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --回城
    gPlayer:GoHome()


随机传送到回城地图

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
随机传送到回城地图

声明：

   function MoveRandomToHome()

说明：

   随机传送到回城地图

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --随机传送到回城地图
    gPlayer:MoveRandomToHome()


发送消息

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
发送数据

声明：

   function SendDefMessage()

说明：

   发送数据 内部函数，不建议使用


发送顶部移动消息

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
发送顶部移动消息

声明：

   function SendMoveMsg()

说明：

   发送顶部移动消息

参数：

 | 数据类型 | 描述
参数一 | string | 文字内容
参数二 | integer | 字体颜色(0-255)
参数三 | integer | 背景颜色(0-255)
参数四 | integer | 消息距顶部高度
参数五 | integer | 滚动次数
参数六 | integer | 字体大小
参数七 | integer | 显示时间
返回值 |  | 无

使用示例：
function TestDemo()
    --发送消息
    gPlayer:SendMoveMsg('{★★★通知★★★/SCOLOR=22}{发送一个顶部移动消息显示。/SCOLOR=146}支持自定义颜色分段显示', 249, 116, 50, 5, 18, 20)


发送居中消息

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
发送居中消息

声明：

   function SendCenterMsg()

说明：

   发送居中消息

参数：

 | 数据类型 | 描述
参数一 | string | 文字内容
参数二 | integer | 字体颜色(0-255)
参数三 | integer | 背景颜色(0-255)
参数四 | integer | 显示时间
返回值 |  | 无

使用示例：
function TestDemo()
    gPlayer:SendCenterMsg('发送一个居中消息显示', 249, 116, 10)


发送消息框顶部消息

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
发送消息框顶部消息

声明：

   function SendTopBroadCastMsg()

说明：

   发送消息框顶部消息

参数：

 | 数据类型 | 描述
参数一 | string | 文字内容
参数二 | integer | 字体颜色(0-255)
参数三 | integer | 背景颜色(0-255)
参数四 | integer | 显示时间
参数五 | integer | 消息类型(0:江湖公告; 1:提示; 2:系统;3:说话; 4:怪物; 5:管理员; 6:祝福; 7:沙巴克城主; )
参数六 | integer | 消息窗口
返回值 |  | 无

使用示例：
function TestDemo()
    gPlayer:SendTopBroadCastMsg('发送一个消息框顶部消息显示', 249, 116, 10, 2, 1)


检测装备是否可穿戴

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
检测装备是否可穿戴

声明：

   function CheckTakeOnItems()

说明：

   检测装备是否可穿戴

参数：

 | 数据类型 | 描述
参数一 | integer | 物品类型
参数二 | TDBItemObject | 数据库物品对象
返回值 |  | 无

使用示例：
function TestDemo()
    --按名称获取数据库物品对象
    local tmpDbitemobject = gSystem:GetDBItemByName('圣诞-布巴克的救赎凯（男）')
    --如果数据库物品对象存在
    if tmpDbitemobject then
        --检测装备是否可穿戴
        local tmpCheckTakeOnItems = gPlayer:CheckTakeOnItems(10, tmpDbitemobject)
        if tmpCheckTakeOnItems then
            print(string.format("当前装备可以穿戴: %s", tmpCheckTakeOnItems))


处理装备穿脱时对应的技能

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
处理装备穿脱时对应的技能

声明：

   function ProcessUseItemSkill()

说明：

   处理装备穿脱时对应的技能

参数：

 | 数据类型 | 描述
参数一 | integer | 物品类型
参数二 | TDBItemObject | 数据库物品对象
参数三 | string | 是否穿脱
返回值 |  | 无

使用示例：
function TestDemo()
    --按名称获取数据库物品对象
    local tmpDbitemobject = gSystem:GetDBItemByName('圣诞-布巴克的救赎凯（男）')
    --如果数据库物品对象存在
    if tmpDbitemobject then
        --处理装备穿脱时对应的技能
        local ProcessUseItemSkill = gPlayer:ProcessUseItemSkill(10, tmpDbitemobject, true)
        if ProcessUseItemSkill then
            print(string.format("处理装备穿脱时对应的技能: %s", ProcessUseItemSkill))


刷新身上装备列表

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
刷新身上装备列表

声明：

   function SendUseItems()

说明：

   刷新身上装备列表

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --刷新身上装备列表
    gPlayer:SendUseItems()


刷新增加物品

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
刷新增加物品

声明：

   function SendAddItem()

说明：

   刷新增加物品

参数：

 | 数据类型 | 描述
参数一 | TUserItemObject | 用户物品对象
返回值 |  | 无

使用示例：
function TestDemo()
    --按物品名称复制物品
    local tmpItem = gSystem:CreateItemByName("随机传送石")
    if tmpItem then
        print(string.format("复制物品[%s]成功", tmpItem.Name))
        --向指定人物背包添加复制品
        if gPlayer:AddItemToBag(tmpItem) then
            print(string.format("复制物品[%s]已经添加到玩家[%s]的背包", tmpItem.Name, gPlayer.Name))
            --如果添加成功，则向客户端刷新添加物品消息。
            gPlayer:SendAddItem(tmpItem)


客户端删除多个物品

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
客户端删除多个物品

声明：

   function SendDelItemList()

说明：

   客户端删除多个物品

参数：

 | 数据类型 | 描述
参数一 | string | 物品名称列表
参数二 | integer | 物品个数
返回值 |  | 无

使用示例：
function TestDemo()
    --获取包裹物品列表
    local tmpBagitemlist = gPlayer:GetBagItems()
    --物品对象存在
    if tmpBagitemlist then
        local tmpSrts = ""
        local tmpCounts = 0
        --遍历
        for key in pairs(tmpBagitemlist) do
            --拼接物品名称和物品制作索引
            tmpSrts = tmpSrts ..string.format("%s/%d/", tmpBagitemlist[key].Name, tmpBagitemlist[key].MakeIndex)
            tmpCounts = tmpCounts + 1
            --删除背包物品
            gPlayer:DelBagItem(tmpBagitemlist[key])
        end
        tmpBagitemlist = nil
        --客户端删除多个物品
        gPlayer:SendDelItemList(tmpSrts, tmpCounts)


刷新客户端删除物品

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
刷新客户端删除物品

声明：

   function SendDelItem()

说明：

   刷新客户端删除物品

参数：

 | 数据类型 | 描述
参数一 | TUserItemObject | 用户物品对象
返回值 |  | 无

使用示例：
function TestDemo()
    --获取包裹物品列表
    local tmpBagitemlist = gPlayer:GetBagItems()
    --物品对象存在
    if tmpBagitemlist then
        --遍历
        for key in pairs(tmpBagitemlist) do
            if tmpBagitemlist[key].Name == "易经丹" then
                --删除背包物品
                gPlayer:DelBagItem(tmpBagitemlist[key])
                --刷新客户端删除物品
               gPlayer:SendDelItem(tmpBagitemlist[key])
            end
        end
        tmpBagitemlist = nil


客户端刷新物品

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
客户端刷新物品

声明：

   function SendUpdateItem()

说明：

   客户端刷新物品

参数：

 | 数据类型 | 描述
参数一 | TUserItemObject | 用户物品对象
返回值 |  | 无

使用示例：
function TestDemo()
    --按物品名称复制物品
    local tmpItem = gSystem:CreateItemByName("随机传送石")
    if tmpItem then
        print(string.format("复制物品[%s]成功", tmpItem.Name))
        --向指定人物背包添加复制品
        if gPlayer:AddItemToBag(tmpItem) then
            print(string.format("复制物品[%s]已经添加到玩家[%s]的背包", tmpItem.Name, gPlayer.Name))
            --如果添加成功，则向客户端刷新添加物品消息。
            gPlayer:SendAddItem(tmpItem)
            ----客户端刷新物品
            gPlayer:SendUpdateItem(tmpItem)


客户端刷新装备持久改变

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
客户端刷新装备持久改变

声明：

   function SendItemDuraChanged()

说明：

   客户端刷新装备持久改变

参数：

 | 数据类型 | 描述
参数一 | integer | 物品位置
参数二 | TUserItemObject | 用户物品对象
返回值 |  | 无

使用示例：
function TestDemo()
    --按物品名称复制物品
    local tmpItem = gSystem:CreateItemByName("圣光壁垒")
    if tmpItem then
        --客户端刷新装备持久改变
        gPlayer:SendItemDuraChanged(16, tmpItem)


刷新客户端包裹

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
刷新客户端包裹

声明：

   function SendBagItems()

说明：

   刷新客户端包裹

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --刷新客户端包裹
    gPlayer:SendBagItems()


刷新首饰盒物品

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
刷新首饰盒物品

声明：

   function SendJewelryBoxItems()

说明：

   刷新首饰盒物品

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --刷新首饰盒物品
    gPlayer:SendJewelryBoxItems()


刷新神佑袋物品

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
刷新神佑袋物品

声明：

   function SendGodBlessItems()

说明：

   刷新神佑袋物品

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --刷新神佑袋物品
    gPlayer:SendGodBlessItems()


神佑格开启

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
神佑格开启

声明：

   function SendOpenGodBlessItem()

说明：

   神佑格开启

参数：

 | 数据类型 | 描述
参数一 | integer | 神佑格位置
返回值 |  | 无

使用示例：
function TestDemo()
    --神佑格开启
    gPlayer:SendOpenGodBlessItem(1)


神佑格关闭

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
神佑格关闭

声明：

   function SendCloseGodBlessItem()

说明：

   神佑格关闭

参数：

 | 数据类型 | 描述
参数一 | integer | 神佑格位置
返回值 |  | 无

使用示例：
function TestDemo()
    --神佑格关闭
    gPlayer:SendCloseGodBlessItem(1)


发送技能列表

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
发送技能列表

声明：

   function SendUseMagics()

说明：

   发送技能列表

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --发送技能列表
    gPlayer:SendUseMagics()


发送增加技能

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
发送技能添加

声明：

   function SendAddMagic()

说明：

   发送技能添加

参数：

 | 数据类型 | 描述
参数一 | TUserMagicObject | 用户魔法对象
返回值 |  | 无

使用示例：

function TestDemo()
    --获取玩家技能列表
    local tmpMagiclist = gPlayer.MagicList
    --技能对象存在
    if tmpMagiclist then
        --遍历
        local tmpBool = false
        for key in pairs(tmpMagiclist) do
            if tmpMagiclist[key].Name == "半月弯刀" then
                tmpBool = true
                break
            end
        end

        if not tmpBool then
            --按魔法名称创建魔法
            local tmpMagic = gSystem:CreateMagicByName(gPlayer, "半月弯刀")
            --用户魔法对象存在
            if tmpMagic then
                tmpMagic.Level = 3
                --添加魔法对象,成功返回创建魔法索引，失败则返回-1
                if gPlayer:AddMagic(tmpMagic) >= 0 then
                    gPlayer:SendAddMagic(tmpMagic)
                    print(string.format("创建魔法[%s]已经添加到玩家[%s]", tmpMagic.Name, gPlayer.Name))
                else
                    print("添加魔法对象失败。")
                    --释放魔法对象
                    tmpMagic:Free()
                end
            end
        else
            print("当前用户已经存在该魔法。")


发送删除技能

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
发送技能删除

声明：

   function SendDelMagic()

说明：

   发送技能删除

参数：

 | 数据类型 | 描述
参数一 | TUserMagicObject | 用户魔法对象
返回值 |  | 无

使用示例：
function TestDemo()
    --获取玩家技能列表
    local tmpMagiclist = gPlayer.MagicList
    --技能列表存在
    if tmpMagiclist then
        --遍历
        for key in pairs(tmpMagiclist) do
            if tmpMagiclist[key].Name == "半月弯刀" then
                --按用户魔法删除魔法
                gPlayer:DelMagicByUserMagic(tmpMagiclist[key])
                --发送删除技能
                gPlayer:SendDelMagic(tmpMagiclist[key])
            end
        end
        tmpMagiclist = nil


刷新称号

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
刷新称号

声明：

   function SendTitleItems()

说明：

   刷新称号

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --刷新称号
    gPlayer:SendTitleItems()


增加称号

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
增加称号

声明：

   function SendAddTitleItem()

说明：

   增加称号

参数：

 | 数据类型 | 描述
参数一 | TUserItemObject | 用户物品对象
返回值 |  | 无

使用示例：
function TestDemo()
    --按物品名称创建物品
    local tmpItem = gSystem:CreateItemByName("游方行者")
    --用户物品对象存在
    if tmpItem then
        --增加称号
        gPlayer:SendAddTitleItem(tmpItem)
        --刷新称号
        gPlayer:SendTitleItems()


删除称号

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
删除称号

声明：

   function SendDelTitleItem()

说明：

   删除称号

参数：

 | 数据类型 | 描述
参数一 | integer | 称号序号(从0开始)
返回值 |  | 无

使用示例：
function TestDemo()
    --删除称号
    gPlayer:SendDelTitleItem(0)
    --刷新称号
    gPlayer:SendTitleItems()


发送走路/跑步失败

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
发送走路/跑步失败

声明：

   function SendSocketStatusFail()

说明：

   发送走路/跑步失败

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --发送走路/跑步失败
    gPlayer:SendSocketStatusFail()


添加用户特效

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
添加用户特效

声明：

   function AddPlayEffect()

说明：

   添加用户特效

参数：

 | 数据类型 | 描述
参数一 | integer | WIL文件序号
参数二 | integer | 开始图片数
参数三 | integer | 播放图片张数
参数四 | integer | 播放次数
参数五 | integer | 播放速度(毫秒)
参数六 | integer | 播放顺序(0或空：在角色前面；非0：在角色后面)
参数七 | integer | X坐标
参数八 | integer | Y坐标
返回值 |  | 无

使用示例：
function TestDemo()
    --添加用户特效
    gPlayer:AddPlayEffect(0, 0, 10, 10, 300, 1, 0, 0)


开始内挂挂机

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
开始内挂挂机

声明：

   function StartAutoPlayGame()

说明：

   开始内挂挂机

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --开始内挂挂机
    gPlayer:StartAutoPlayGame()


停止内挂挂机

GXX引擎 Lua脚本接口 > TPlayObject [玩家对象类] > 方法 >
停止内挂挂机

声明：

   function StopAutoPlayGame()

说明：

   停止内挂挂机

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --停止内挂挂机
    gPlayer:StopAutoPlayGame()


THeroObject [英雄对象类]

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] >
THeroObject

THeroObject介绍：

    THeroObject为英雄对象类

    类继承关系：THeroObject -> TSmartObject -> TBaseObject


属性

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] >
THeroObject

英雄对象类：

属性名称 | 描述 | 读写状态
AttackMode | 攻击模式 | 只读
BagCount | 背包格子数量 | 只读
AngryValue | 当前怒气值 | 只读
LoyalPoint | 忠诚度 | 可读 可写
IsDeputy | 是否副将英雄 | 只读
MasterName | 主人名称 | 只读
GroupMagicId | 合击技能ID | 只读

THeroObject类继承自TSmartObject类

TSmartObject类继承自TBaseObject类


攻击模式

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 属性 >
攻击模式

属性名称：

    AttackMode

说明：

    英雄攻击模式

读写状态：

    只读

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject = gSystem:GetHeroByName('你好哈哈哈')
    --如果英雄对象存在
    if tmpHeroobject then
        --输出英雄名称
        print(string.format("英雄名：%s", tmpHeroobject.Name))
        --英雄攻击模式
        local tmpAttackMode = tmpHeroobject.AttackMode
        if tmpAttackMode then
            print(string.format("攻击模式：%s", tmpAttackMode))


背包格子数量

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 属性 >
背包格子数量

属性名称：

    BagCapacity

说明：

    英雄背包格子数量

读写状态：

    只读

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject = gSystem:GetHeroByName('你好哈哈哈')
    --如果英雄对象存在
    if tmpHeroobject then
        --输出英雄名称
        print(string.format("英雄名：%s", tmpHeroobject.Name))
        --英雄背包数量
        local tmpBagCapacity = tmpHeroobject.BagCapacity
        if tmpBagCapacity then
            print(string.format("获取背包格子数量：%d", tmpBagCapacity))


当前怒气值

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 属性 >
当前怒气值

属性名称：

    AngryValue

说明：

    英雄当前怒气值

读写状态：

    只读

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject = gSystem:GetHeroByName('你好哈哈哈')
    --如果英雄对象存在
    if tmpHeroobject then
        --输出英雄名称
        print(string.format("英雄名：%s", tmpHeroobject.Name))
        --英雄当前怒气值
        local tmpAngryValue = tmpHeroobject.AngryValue
        if tmpAngryValue then
            print(string.format("当前怒气值：%d", tmpAngryValue))


忠诚度

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 属性 >
忠诚度

属性名称：

    LoyalPoint

说明：

    英雄忠诚度

读写状态：

    可读 可写

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject  = gSystem:GetHeroByName('你好哈哈哈')
    --如果英雄对象存在
    if tmpHeroobject  then
        --输出英雄名称
        print(string.format("英雄名：%s", tmpHeroobject.Name))
        --英雄忠诚度
        local tmpLoyalPoint = tmpHeroobject.LoyalPoint
        if tmpLoyalPoint then
            print(string.format("获取忠诚度：%d", tmpLoyalPoint))


是否副将英雄

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 属性 >
是否副将英雄

属性名称：

    IsDeputy

说明：

    是否副将英雄

读写状态：

    只读

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject  = gSystem:GetHeroByName('你好哈哈哈')
    --如果英雄对象存在
    if tmpHeroobject  then
        --输出英雄名称
        print(string.format("英雄名：%s", tmpHeroobject.Name))
        --是否副将英雄
        local tmpIsDeputy = tmpHeroobject.IsDeputy
        if tmpIsDeputy then
            print(string.format("是副将英雄：%s", tmpIsDeputy))
        else
            print(string.format("不是副将英雄：%s", tmpIsDeputy))


主人名称

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 属性 >
主人名称

属性名称：

    MasterName

说明：

    英雄主人名称

读写状态：

    只读

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject  = gSystem:GetHeroByName('你好哈哈哈')
    --如果英雄对象存在
    if tmpHeroobject  then
        --输出英雄名称
        print(string.format("英雄名：%s", tmpHeroobject.Name))
        --英雄主人名称
        local tmpMasterName = tmpHeroobject.MasterName
        if tmpMasterName then
            print(string.format("获取主人名称：%s", tmpMasterName))


合击技能ID

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 属性 >
合击技能ID

属性名称：

    GroupMagicId

说明：

    合击技能ID

读写状态：

    只读

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject  = gSystem:GetHeroByName('你好哈哈哈')
    --如果英雄对象存在
    if tmpHeroobject  then
        --输出英雄名称
        print(string.format("主将英雄名：%s", tmpHeroobject .Name))
        --合击技能ID
        local tmpGroupMagicId = tmpHeroobject.GroupMagicId
        if tmpGroupMagicId then
            print(string.format("合击技能ID：%d", tmpGroupMagicId))


方法

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] >
THeroObject

英雄对象类：

方法名称 | 描述
SetAttackMode | 设置攻击模式
SetNextAttackMode | 切换下一个攻击模式
SendLoyalPointChanged | 发送忠诚度改变消息到客户端
GetQuestFlagStatus | 获取任务标志状态
SetQuestFlagStatus | 设置任务标志状态
SendUseItems | 发送身上装备
SendBagItems | 刷新英雄背包
SendJewelryBoxItems | 发送首饰盒物品
SendUpdateGodBless | 发送神佑袋物品
SendOpenGodBlessItem | 神佑格开启
SendCloseGodBlessItem | 神佑格关闭
SendAddItem | 客户端增加物品
SendDelItem | 客户端删除物品
SendUpdateItem | 客户端刷新物品
SendItemDuraChange | 客户端刷新装备持久改变
SendUseMagics | 发送技能列表
SendAddMagic | 发送技能添加
SendDelMagic | 发送技能删除
GetGroupMagic | 取得合击技能
SendTitleItems | 刷新称号
SendAddTitleItem | 增加称号
SendDelTitleItem | 删除称号
IncExp | 加经验
IncNGExp | 加内功经验


设置攻击模式

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 方法 >
设置攻击模式

声明：

   function SetAttackMode()

说明：

   设置攻击模式

参数：

 | 数据类型 | 描述
参数一 | integer | 英雄攻击模式(0:攻击;1:跟随;2:休息)
参数二 | boolean | 是否显示设置攻击模式提示到对话框
返回值 | boolean | 返回是否设置成功

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject = gSystem:GetHeroByName('你好哈哈哈')
    --如果英雄对象存在
    if tmpHeroobject then
        --设置攻击模式
        local tmpSetAttackMode = tmpHeroobject:SetAttackMode(1, true)
        if tmpSetAttackMode then
            print(string.format("当前设置攻击模式成功：%s", tmpSetAttackMode))


切换下一个攻击模式

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 方法 >
切换下一个攻击模式

声明：

   function SetNextAttackMode()

说明：

   切换下一个攻击模式

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject = gSystem:GetHeroByName('你好哈哈哈')
    --如果英雄对象存在
    if tmpHeroobject then
        --切换下一个攻击模式
        tmpHeroobject:SetNextAttackMode()


发送忠诚度改变消息到客户端

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 方法 >
发送忠诚度改变消息到客户端

声明：

   function SendLoyalPointChanged()

说明：

   发送忠诚度改变消息到客户端

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject = gSystem:GetHeroByName('你好哈哈哈')
    --如果英雄对象存在
    if tmpHeroobject then
        --发送忠诚度改变消息到客户端
        tmpHeroobject:SendLoyalPointChanged()


获取任务标志状态

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 方法 >
获取任务标志状态

声明：

   function GetQuestFlagStatus()

说明：

   获取任务标志状态

参数：

 | 数据类型 | 描述
参数一 | integer | 任务标志状态序号
返回值 | integer | 返回任务标志状态值

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject = gSystem:GetHeroByName('你好哈哈哈')
    --如果英雄对象存在
    if tmpHeroobject then
        --获取任务标志状态
        local tmpGetQuestFlagStatus = tmpHeroobject:GetQuestFlagStatus(1)
        if tmpGetQuestFlagStatus then
            print(string.format("任务标志状态为：%d", tmpGetQuestFlagStatus))


设置任务标志状态

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 方法 >
设置任务标志状态

声明：

   function SetQuestFlagStatus()

说明：

   设置任务标志状态

参数：

 | 数据类型 | 描述
参数一 | integer | 任务标志状态序号
参数二 | integer | 设置任务标志状态值(0;1)
返回值 |  | 无

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject = gSystem:GetHeroByName('你好哈哈哈')
    --如果英雄对象存在
    if tmpHeroobject then
        --设置任务标志状态
        tmpHeroobject:SetQuestFlagStatus(1, 1)
        --获取任务标志状态
        local tmpGetQuestFlagStatus = tmpHeroobject:GetQuestFlagStatus(1)
        if tmpGetQuestFlagStatus then
            print(string.format("任务标志状态为：%d", tmpGetQuestFlagStatus))


发送身上装备

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 方法 >
发送身上装备

声明：

   function SendUseItems()

说明：

   发送英雄身上装备

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject = gSystem:GetHeroByName('你好哈哈哈')
    --如果英雄对象存在
    if tmpHeroobject then
        --发送英雄身上装备
        tmpHeroobject:SendUseItems()


刷新英雄背包

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 方法 >
刷新英雄背包

声明：

   function SendBagItems()

说明：

   刷新英雄背包

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject = gSystem:GetHeroByName('你好哈哈哈')
    --如果英雄对象存在
    if tmpHeroobject then
        --刷新英雄背包
        tmpHeroobject:SendBagItems()


发送首饰盒物品

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 方法 >
发送首饰盒物品

声明：

   function SendJewelryBoxItems()

说明：

   发送首饰盒物品

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject = gSystem:GetHeroByName('你好哈哈哈')
    --如果英雄对象存在
    if tmpHeroobject then
        --发送首饰盒物品
        tmpHeroobject:SendJewelryBoxItems()


发送神佑袋物品

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 方法 >
发送神佑袋物品

声明：

   function SendUpdateGodBless()

说明：

   发送神佑袋物品

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject = gSystem:GetHeroByName('你好哈哈哈')
    --如果英雄对象存在
    if tmpHeroobject then
        --发送神佑袋物品
        tmpHeroobject:SendUpdateGodBless()


神佑格开启

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 方法 >
神佑格开启

声明：

   function SendOpenGodBlessItem()

说明：

   神佑格开启

参数：

 | 数据类型 | 描述
参数一 | integer | 神佑格位置
返回值 |  | 无

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject = gSystem:GetHeroByName('你好哈哈哈')
    --如果英雄对象存在
    if tmpHeroobject then
        --神佑格开启
        tmpHeroobject:SendOpenGodBlessItem(1)


神佑格关闭

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 方法 >
神佑格关闭

声明：

   function SendCloseGodBlessItem()

说明：

   神佑格关闭

参数：

 | 数据类型 | 描述
参数一 | integer | 神佑格位置
返回值 |  | 无

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject = gSystem:GetHeroByName('你好哈哈哈')
    --如果英雄对象存在
    if tmpHeroobject then
        --神佑格关闭
        tmpHeroobject:SendCloseGodBlessItem(1)


客户端增加物品

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 方法 >
客户端增加物品

声明：

   function SendAddItem()

说明：

   客户端增加物品

参数：

 | 数据类型 | 描述
参数一 | TUserItemObject | 英雄的用户物品对象
返回值 |  | 无

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject = gSystem:GetHeroByName('你好哈哈哈')
    --按物品名称创建物品
    local tmpItem = gSystem:CreateItemByName("随机传送石")
    --如果英雄对象、创建的用户物品对象同时存在
    if tmpHeroobject and tmpItem then
        print(string.format("复制物品[%s]成功", tmpItem.Name))
        --向指定人物背包添加复制品
        if tmpHeroobject:AddItemToBag(tmpItem) then
            print(string.format("复制物品[%s]已经添加到英雄[%s]的背包", tmpItem.Name, tmpHeroobject.Name))
            --如果添加成功，则向客户端刷新添加物品消息。
            tmpHeroobject:SendAddItem(tmpItem)


客户端删除物品

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 方法 >
客户端删除物品

声明：

   function SendDelItem()

说明：

   客户端删除物品

参数：

 | 数据类型 | 描述
参数一 | TUserItemObject | 英雄的用户物品对象
返回值 |  | 无

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject = gSystem:GetHeroByName('你好哈哈哈')
    --获取英雄包裹物品列表
    local tmpHerobagitemlist = tmpHeroobject:GetBagItems()
    --如果英雄对象和物品列表都存在
    if tmpHeroobject and tmpHerobagitemlist then
        --遍历
        for key in pairs(tmpHerobagitemlist) do
            if tmpHerobagitemlist[key].Name == "易经丹" then
                --删除背包物品
                tmpHeroobject:DelBagItem(tmpHerobagitemlist[key])
                --客户端删除物品
                tmpHeroobject:SendDelItem(tmpHerobagitemlist[key])
            end
        end
        tmpHeroobject = nil


客户端刷新物品

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 方法 >
客户端刷新物品

声明：

   function SendUpdateItem()

说明：

   客户端刷新物品

参数：

 | 数据类型 | 描述
参数一 | TUserItemObject | 英雄的用户物品对象
返回值 |  | 无

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject = gSystem:GetHeroByName('你好哈哈哈')
    --按物品名称创建物品
    local tmpItem = gSystem:CreateItemByName("随机传送石")
    --如果英雄对象和创建的用户物品对象存在
    if tmpHeroobject and tmpItem then
        print(string.format("复制物品[%s]成功", tmpItem.Name))
        --向指定人物背包添加复制品
        if tmpHeroobject:AddItemToBag(tmpItem) then
            print(string.format("复制物品[%s]已经添加到英雄[%s]的背包", tmpItem.Name,
                tmpHeroobject.Name))
            --如果添加成功，则向客户端刷新添加物品消息。
            tmpHeroobject:SendAddItem(tmpItem)
            --客户端刷新物品
            tmpHeroobject:SendUpdateItem(tmpItem)


客户端刷新装备持久改变

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 方法 >
客户端刷新装备持久改变

声明：

   function SendItemDuraChange()

说明：

   客户端刷新装备持久改变

参数：

 | 数据类型 | 描述
参数一 | integer | 装备位置
参数二 | TUserItemObject | 用户物品对象
返回值 |  | 无

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject = gSystem:GetHeroByName('你好哈哈哈')
    --按物品名称复制物品
    local tmpItem = gSystem:CreateItemByName("圣光壁垒")
    --如果英雄对象存和创建的用户物品对象在
    if tmpHeroobject and tmpItem then
        --客户端刷新装备持久改变
        tmpHeroobject:SendItemDuraChanged(16, tmpItem)


发送技能列表

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 方法 >
发送技能列表

声明：

   function SendUseMagics()

说明：

   发送技能列表

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject = gSystem:GetHeroByName('你好哈哈哈')
    --如果英雄对象存在
    if tmpHeroobject then
        --发送技能列表
        tmpHeroobject:SendUseMagics()


发送技能添加

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 方法 >
发送技能添加

声明：

   function SendAddMagic()

说明：

   发送技能添加

参数：

 | 数据类型 | 描述
参数一 | TUserMagicObject | 英雄的用户魔法对象
返回值 |  | 无

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject = gSystem:GetHeroByName('你好哈哈哈')
    --获取英雄技能列表
    local tmpMagiclist = tmpHeroobject.MagicList
    --如果英雄对象和技能列表存在
    if tmpHeroobject and tmpMagiclist then
        local tmpBool = false
        --遍历
        for key in pairs(tmpMagiclist) do
            if tmpMagiclist[key].Name == "雷霆一击" then
                tmpBool = true
                break
            end
        end

        if not tmpBool then
            --按魔法名称创建魔法
            local tmpMagic = gSystem:CreateMagicByName(tmpHeroobject, "雷霆一击")
            --英雄魔法对象存在
            if tmpMagic then
                tmpMagic.Level = 3
                --添加魔法对象,成功返回创建魔法索引，失败则返回-1
                if tmpHeroobject:AddMagic(tmpMagic) >= 0 then
                    tmpHeroobject:SendAddMagic(tmpMagic)
                    print(string.format("创建魔法[%s]已经添加到英雄[%s]技能栏", tmpMagic.Name,
                        tmpHeroobject.Name))
                else
                    print("添加魔法对象失败。")
                    tmpMagic:Free()
                end
            end
        else
            print("当前英雄已经存在该魔法。")


发送技能删除

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 方法 >
发送技能删除

声明：

   function SendDelMagic()

说明：

   发送技能删除

参数：

 | 数据类型 | 描述
参数一 | TUserMagicObject | 英雄的用户魔法对象
返回值 |  | 无

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject = gSystem:GetHeroByName('你好哈哈哈')
    --如果英雄对象存在
    if tmpHeroobject then
        --获取英雄技能列表
        local tmpMagiclist = tmpHeroobject.MagicList
        --技能列表存在
        if tmpMagiclist then
            --遍历
            for key in pairs(tmpMagiclist) do
                if tmpMagiclist[key].Name == "破魂斩(合击)" then
                    --按用户魔法删除魔法
                    tmpHeroobject:DelMagicByUserMagic(tmpMagiclist[key])
                    --发送删除技能
                    tmpHeroobject:SendDelMagic(tmpMagiclist[key])
                end
            end
            tmpMagiclist = nil


取得合击技能

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 方法 >
取得合击技能

声明：

   function GetGroupMagic()

说明：

   取得合击技能

参数：

 | 数据类型 | 描述
参数一 | TUserMagicObject | 英雄的用户魔法对象
返回值 | boolean | 返回是否获取到

使用示例：

function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject = gSystem:GetHeroByName('你好哈哈哈')
    --获取英雄技能列表
    local tmpMagiclist = tmpHeroobject.MagicList
    --如果英雄对象和技能列表存在
    if tmpHeroobject and tmpMagiclist then
        --遍历
        for key in pairs(tmpMagiclist) do
            --取得合击技能
            local tmpGroupMagic = tmpHeroobject:GetGroupMagic(tmpMagiclist[key])
            if tmpGroupMagic then
                print(string.format("是否取得：%s", tmpGroupMagic))
            end
        end
        tmpMagiclist = nil


刷新称号

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 方法 >
刷新称号

声明：

   function SendTitleItems()

说明：

   刷新称号

参数：

 | 数据类型 | 描述
参数 |  | 无
返回值 |  | 无

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject = gSystem:GetHeroByName('你好哈哈哈')
    --如果英雄对象存在
    if tmpHeroobject then
        --刷新称号
        tmpHeroobject:SendTitleItems()


增加称号

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 方法 >
增加称号

声明：

   function SendAddTitleItem()

说明：

   增加称号

参数：

 | 数据类型 | 描述
参数一 | TUserItemObject | 用户物品对象
返回值 |  | 无

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject = gSystem:GetHeroByName('你好哈哈哈')
    --如果英雄对象存在
    if tmpHeroobject  then
        --按物品名称复制物品
        local tmpItem = gSystem:CreateItemByName("游方行者")
        --用户物品对象存在
        if tmpItem then
            --增加称号
            tmpHeroobject:SendAddTitleItem(tmpItem)
            --刷新称号
            tmpHeroobject:SendTitleItems()


删除称号

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 方法 >
删除称号

声明：

   function SendDelTitleItem()

说明：

   删除称号

参数：

 | 数据类型 | 描述
参数一 | integer | 称号栏称号序号
返回值 |  | 无

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject  = gSystem:GetHeroByName('你好哈哈哈')
    --如果英雄对象存在
    if tmpHeroobject  then
        --删除称号
        tmpHeroobject:SendDelTitleItem(0)
        --刷新称号
        tmpHeroobject:SendTitleItems()


加经验

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 方法 >
加经验

声明：

   function IncExp()

说明：

   加经验

参数：

 | 数据类型 | 描述
参数一 | integer | 经验值
返回值 |  | 无

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject = gSystem:GetHeroByName('你好哈哈哈')
    --如果英雄对象存在
    if tmpHeroobject then
        --加经验
        tmpHeroobject:IncExp(10000)


加内功经验

GXX引擎 Lua脚本接口 > THeroObject [英雄对象类] > 方法 >
加内功经验

声明：

   function IncNGExp()

说明：

   加内功经验

参数：

 | 数据类型 | 描述
参数一 | integer | 内功经验值
返回值 |  | 无

使用示例：
function TestDemo()
    --根据在线英雄名称获取英雄对象
    local tmpHeroobject = gSystem:GetHeroByName('你好哈哈哈')
    --如果英雄对象存在
    if tmpHeroobject then
        --加内功经验
        tmpHeroobject:IncNGExp(5000)


TDummyObject [假人对象类]

GXX引擎 Lua脚本接口 > TDummyObject [假人对象类] >
TDummyObject

TDummyObject介绍：

    TDummyObject为假人对象类

    类继承关系：TDummyObject -> TPlayObject -> TSmartObject -> TBaseObject


属性

GXX引擎 Lua脚本接口 > TDummyObject [假人对象类] > 属性 >
TDummyObject

假人对象类：

属性名称 | 描述 | 读写状态

TDummyObject类继承自TPlayObject类

TPlayObject类继承自TSmartObject类

TSmartObject类继承自TBaseObject类


TNormNpc [NPC对象类]

GXX引擎 Lua脚本接口 > TNormNpc [NPC对象类] >
TNormNpc

TNormNpc介绍：

    TNormNpc为NPC对象类

    类继承关系：TNormNpc -> TBaseObject

    注意:TNormNpc类下方法名称为大写的均为调用传奇原生脚本命令，效率较低。除非LUA接口未提供相关功能，否则不要使用。


属性

GXX引擎 Lua脚本接口 > TNormNpc [NPC对象类] >
TNormNpc

NPC对象类继承自基本对象类：

属性名称 | 描述 | 读写状态
Name | 名称 | 可读 可写(不能设置人物、英雄)
NameColor | 名字颜色 | 可读 可写
Gender | 性别 | 可读 可写
Job | 职业 | 可读 可写
Hair | 发型 | 可读 可写
Envir | 所在地图 | 只读
CurrPoint | 当前坐标 | 只读
Direction | 方向 | 只读
HomeMapName | 回城地图名称 | 只读
HomePoint | 回城坐标 | 只读
Permission | 权限等级 | 可读 可写
Death | 是否死亡 | 只读
DeathTick | 死亡时长 | 只读
Ghost | 是否死亡并清理 | 只读
GhostTick | 清理时间 | 只读
RaceServer | 角色类型 | 只读
Appr | 形象代码 | 只读
RaceImg | 攻击效果代码 | 只读
CharStatus | 状态 | 可读 可写
HungerPoint | 饥饿点 | 可读 可写
IsNGMonster | 是否为内功怪 | 只读
IsDummy | 是否为假人 | 只读
ViewRange | 可视范围 | 可读 可写
Ability | 原始属性 | 只读
WAbility | 最终属性 | 可读 可写
Master | 师父 | 只读
MasterEx | 最上层师父 | 只读
IsSuperMan | 是否无敌模式 | 可读 可写
IsAdmin | 是否管理模式 | 可读 可写
Transparent | 是否魔法隐身 | 可读 可写
ObMode | 隐身模式 | 可读 可写
StoneMode | 石像化模式 | 可读 可写
StickMode | 是否能推动 | 可读 可写
IsAnimal | 怪物是否可挖 | 可读 可写
IsNoItem | 死亡是否不掉装备 | 可读 可写
CoolEye | 隐身免疫 | 可读 可写
HitPoint | 准确 | 可读 可写
SpeedPoint | 敏捷 | 只读
HitSpeed | 攻击速度 | 可读 可写
WalkSpeed | 移动速度 | 可读 可写
HPRecover | HP恢复速度 | 可读 可写
MPRecover | MP恢复速度 | 可读 可写
PoisonRecover | 中毒恢复 | 可读 可写
AntiPoison | 毒躲避 | 可读 可写
AntiMagic | 魔法躲避 | 可读 可写
Luck | 幸运 | 可读 可写
AttatckMode | 攻击模式 | 可读 可写
Nation | 所属国家 | 只读
NationaName | 国家名字 | 只读
Guild | 行会 | 只读
GuildRankNo | 人物所在行会中的分组编号 | 只读
IsGuildMaster | 是否为行会老大 | 只读
IsHideMode | 是否是隐身戒指 | 可读 可写
IsParalysis | 是否是麻痹戒指 | 可读 可写
ParalysisRate | 麻痹几率 | 可读 可写
IsMDParalysis | 是否是魔道麻痹戒指 | 可读 可写
MDParalysisRate | 魔道麻痹几率 | 可读 可写
IsFrozen | 是否是冰冻戒指 | 可读 可写
FrozenRate | 冰冻几率 | 可读 可写
IsCobwebWinding | 是否是蛛网戒指 | 可读 可写
CobwebWindingRate | 蛛网几率 | 可读 可写
UnParalysisValue | 防麻几率 | 可读 可写
IsUnParalysis | 根据几率取当次是否防麻 | 只读
UnMagicShieldValue | 防护身几率 | 可读 可写
IsUnMagicShield | 根据几率取当次是否防护身 | 只读
UnRevivalValue | 防复活几率 | 可读 可写
IsUnRevival | 根据几率取当次是否防复活 | 只读
UnPosionValue | 防毒几率 | 可读 可写
IsUnPosion | 根据几率取当次是否防毒 | 只读
UnTammingValue | 防诱惑几率 | 可读 可写
IsUnTamming | 根据几率取当次是否防诱惑 | 只读
UnFireCrossValue | 防火墙几率 | 可读 可写
IsUnFireCross | 根据几率取当次是否防火墙 | 只读
UnFrozenValue | 防冰冻几率 | 可读 可写
IsUnFrozen | 根据几率取当次是否防冰冻 | 只读
UnCobwebWindingValue | 防蛛网几率 | 可读 可写
IsUnCobwebWinding | 根据几率取当次是否防蛛网 | 只读
TargetCreat | 当前攻击目标 | 可读 可写
LastHiter | 攻击对象 | 可读 可写
ExpHitter | 得到经验对象 | 可读 可写
PoisonHitter | 施毒者 | 可读 可写
PoseCreate | 对面对象 | 可读 可写
IsEnoughBag | 检测背包是否满 | 可读 可写
InSafeZone | 是否在安全区 | 只读


 方法
GXX引擎 Lua脚本接口 > TNormNpc [NPC对象类] >
TNormNpc

NPC对象类：

属性名称 | 描述
GetVarValue | 获取传奇脚本对象值
SetVarValue | 保存传奇脚本对象值
CHECK | 测试逻辑变量是否为真
RANDOM | 取随机数
RANDOMEX | 取随机值非伪随机
GENDER | 检测人物性别
DAYTIME | 获取一天的时段
CHECKLEVEL | 检测等级
CHECKJOB | 检测职业
CHECKBBCOUNT | 检测玩家所带宠物的数量
CHECKITEM | 检测背包是否有指定物品
CHECKITEMW | 检测当前人物是否佩戴指定物品
CHECKGOLD | 检测人物金币数量
ISTAKEITEM | 检测刚刚取下的物品是否指定物品名称
CHECKDURA | 检测纯度(矿+纯度值)
CHECKDURAEVA | 检测背包物品的持久
DAYOFWEEK | 检测星期
HOUR | 检测小时
MIN | 检测分钟
CHECKPKPOINT | 检测玩家当前的PK值
CHECKMONMAP | 检测一个地图内的怪物数量
CHECKHUM | 检测一个地图内的人物数量
CHECKBAGGAGE | 检测背包是否满
EQUAL | 检测变量是否等于指定数值
LARGE | 检测变量是否大于指定数值
SMALL | 检测变量是否小于指定数值
CHECKNAMELIST | 检测玩家是否存在列表中
ISGUILDMASTER | 检测玩家是否为行会老大
ISCASTLEGUILD | 检测玩家是否为沙城成员
ISATTACKGUILD | 检测是否为攻城方
ISDEFENSEGUILD | 检测是否为守城方
HAVEGUILD | 检测当前人物是否加入行会
CHECKCASTLEDOOR | 检测城门状态
CHECKPOS | 检测对面的人
ISATTACKALLYGUILD | 检测是否为攻城方联盟行会
ISDEFENSEALLYGUILD | 检测是否为守城方联盟行会
ISSYSOP | 检测管理权限
ISADMIN | 检测人物是否为管理员
CHECKGROUPCOUNT | 检测组队人员数量
CHECKACCOUNTLIST | 检查人物登录帐号
CHECKIPLIST | 检查人物登录IP
CHECKCREDITPOINT | 检查人物声望点
CHECKPOSEDIR | 检查对面人物站的位置性别（要求面对面）
CHECKPOSELEVEL | 检查对面人物的等级（不要求面对面）
CHECKPOSEGENDER | 检查对面人物的性别（不要求面对面）
CHECKLEVELEX | 检测玩家等级
CHECKBONUSPOINT | 检查人物附加属性点数
CHECKMARRY | 检查人物是否结婚
CHECKPOSEMARRY | 检查对方是否结婚
CHECKMARRYCOUNT | 检测结婚次数
CHECKMASTER | 检查人物是否拜师
HAVEMASTER | 检查对面的人是不是别人的师父
CHECKPOSEMASTER | 检查对面的人是不是别人的徒弟
POSEHAVEMASTER | 检查自己是不是别人的徒弟
CHECKISMASTER | 检查自己是不是别人的师父
CHECKPOSEISMASTER | 检查对面的人物是不是自己的师父
CHECKNAMEIPLIST | 检查人物名称是否与IP匹配
CHECKACCOUNTIPLIST | 检查登录账号是否与IP匹配
CHECKSLAVECOUNT | 检查宝宝数量
ISCASTLEMASTER | 检查人物是否为沙城城主
ISNEWHUMAN | 检查人物是否为新人
CHECKMEMBERTYPE | 检查人物的会员类型
CHECKMEMBERLEVEL | 检查人物的会员等级
CHECKGAMEGOLD | 检查人物的游戏币数
CHECKGAMEPOINT | 检查人物的游戏点数
CHECKNAMELISTPOSITION | 检查人物在列表中的位置
CHECKGUILDLIST | 检查行会是否在列表中
CHECKRENEWLEVEL | 检查人物的转生等级
CHECKSLAVELEVEL | 检查宝宝的等级
CHECKSLAVENAME | 检查人物宝宝名字
CHECKOFGUILD | 检查行会名称
CHECKPAYMENT | 检查人物是否付费
CHECKUSEITEM | 检查人物身上指定位置是否戴物品
CHECKBAGSIZE | 检查人物背包空格数
CHECKLISTCOUNT | 检查名单次数
CHECKDC | 检查人物攻击力
CHECKMC | 检查人物魔法力
CHECKSC | 检查人物道术
CHECKHP | 检查人物HP值
CHECKMP | 检查人物MP值
CHECKITEMTYPE | 检查人物身上装备类型
CHECKEXP | 检查人物当前经验值
CHECKCASTLEGOLD | 检查行会金库金币数量
PASSWORDERRORCOUNT | 密码错误次数
ISLOCKPASSWORD | 检查仓库是否解锁
ISLOCKSTORAGE | 检查仓库是否解锁
CHECKGUILDBUILDPOINT | 检测行会建筑度
CHECKGUILDAURAEPOINT | 检测行会行会人气度
CHECKGUILDSTABILITYPOINT | 检测行会安定度
CHECKGUILDFLOURISHPOINT | 检测行会繁荣度
CHECKCONTRIBUTION | 检测行会贡献值
CHECKRANGEMONCOUNT | 检查一个范围内的怪物数量
CHECKITEMADDVALUE | 检测物品的附加属性值
CHECKINMAPRANGE | 检测坐标范围触发
CASTLECHANGEDAY | 检查沙巴克占领天数
CASTLEWARAY | 检查沙巴克战争天数
ONLINELONGMIN | 检测人物在线时长
CHECKNAMEDATELIST | 检查加入名单中人物的时间
CHECKMAPHUMANCOUNT | 检查地图中的人物数量
CHECKMAPMONCOUNT | 检查地图在的怪物数量
CHECKVAR | 检查自定义变量
CHECKSERVERNAME | 检查服务器名称
ISONMAP | 检查人物是否在指定地图上
CHECKMAPNAME | 检查当前所在地图的名字
INSAFEZONE | 检测是否在安全区
CHECKSKILL | 检查人物技能
CHECKUSERDATE | 检查会员剩余时间和已使用时间
CHECKCONTAINSTEXT | 检查字符串是否包涵在另外一个字符串中
COMPARETEXT | 比较两个字符串是否一样
CHECKTEXTLIST | 检查字符串是否在指定文件中
ISGROUPMASTER | 检查人物是否为编组的组长
CHECKCONTAINSTEXTLIST | 检测文件中是否包含字符串
CHECKONLINE | 检查玩家是否在线
CHECKTEXTLENGTH | 检测文本长度命令
ISDUPMODE | 检测玩家是否与其他玩家重叠
CHECKGAMEDIAMOND | 检查金刚石数量
CHECKGAMEGIRD | 检查灵符数量
CHECKHUMCREDITEX | 检测英雄登录器荣誉数量
CHECKGAMEGLORY | 检查荣誉数量
CHECKSTRINGLENGTH | 检测字符串长度命令
HAVHERO | 检查人物是否有英雄
CHECKONLINEPLAYCOUNT | 检测在线玩家数量
CHECKRANGEMONCOUNTEX | 检测地图中范围内怪物数量
CHECKMAPMOVE | 检测地图坐标是否可以到达
CHECKNAMEDATETIMELIST | 检测会员剩余时间
CHECKCASTLEWARAREA | 检测是否进入攻城范围
CHECKCASTLEWAR | 检查指定城堡是否在攻城中
CHECKUNDERWAR | 检测是否正在攻城
CHECKCURRTARGETRACE | 检测当前目标类型
CHECKMAPSAMEMONCOUNT | 检测地图中相同怪物数量
CHECKMYSHOP | 检测是否已经创建过个人商店
CHECKSHOPNAME | 检测店铺名称是否已经存在
CHECKSLAVEINRANGE | 检测自己和宝宝之间的距离
CHECKRANGEHUMCOUNT | 检测指定范围内的人物数量
CHECKHUMINRANGE | 检测人物是否在指定范围内
CHECKGUILDMEMBERMAXLIMITCOUNT | 检测行会可以容纳多少成员
CHECKNEWITEMVALUE | 检测人物新增属性
CHECKSHOPSTALLSTATUS | 检测是不是在摆摊
CHECKHEROLOYAL | 检测英雄当前的忠诚度
ISDUMMY | 检测是否是假人
CHECKDUMMYCOUNT | 检查服务器假人数
MAPHUMISSAMEGUILD | 检查当前地图中的人物是否属于同一行会
CHECKKILLMONNAME | 检查人物杀死怪物的名字
CHECKHITMONNAME | 检查正在被自己攻击的怪物的名字
CHECKOFFLINE | 检测人物是否是离线挂机
CHECKITEMNAMECOLOR | 检测装备名字的颜色
KILLBYHUM | 检查是被怪物还是人物杀死的
CHECKRANDOMNO | 检测随机验证码
CHECKFOUNDRYITEM | 检测背包中合成物品的材料是否足够
CHECKGUILDMEMBERCOUNT | 检测行会成员人数
CHECKUPGRADEITEMNAME | 检测当前通过宝石升级装备的名字
CHECKLUCKPOINT | 检测人物幸运值
CHECKMINE | 检测背包中物品的纯度(持久，品质)
CHECKHEROCOUNT | 检查人物分身数量
CHECKMAGICNAME | 检查人物是否学习了某项魔法
CHECKKILLMOBNAME | 检测最后杀死的怪物名称
CHECKKILLSLAVENAME | 检测被自己杀死的宝宝的名字
CHECKGUILDMEMBER | 检测行会成员
CHECKNATIONCREDIT | 检测国家信誉
CHECKGAMEGOLDEX | 检查新游戏点数量
CHECKPULSELEVEL | 检查各经络等级
CHECKHUMANPULSE | 检查是否跨穴点击
CHECKOPENPULSELEVEL | 检查打通穴位所需内功等级
CHECKHEROAUTOPRACTICE | 检查副将英雄是否正在自我修炼
CHECKDEPUTYHERO | 检查当前在线英雄是否为副将英雄
CHECKREADSKILLNG | 检查是否学过内功
CHECKNGLEVEL | 检查内功等级
CHECKOPENLASTSKILL | 开启第四个连击技能的命令
CHECKHEROJOB | 检测英雄职业
CHECKHEROONLINE | 检查英雄是否在线
CHECKINWARAREA | 检查人物是否在攻城区域
CHECKITEMBIND | 检查是否绑定物品
CHECKITEMSTATE | 设置装备绑定状态
CHECKPKPOINTEX | 检测人物PK值
ISNEWSERVER | 是否是新的服务器
CHECKSUCKDAMAGE | 检查人物的伤害吸收
CHECKMAPDUMMYCOUNT | 检查地图假人数量
CHECKGUILDMASTER | 检测是否为会长
CHECKRECALL | 检查人物所在地图是否允许使用记忆、夫妻、师徒传送
CHECKTAKEOFFITEM | 检查正在取下身上装备的名字
ISHIGH | 检测服务器最高属性人物
CHECKHUMBAG | 检测指定人物背包空格数量
CHECKHAVEHERO | 检查人物是否有英雄
CHECKHEROLEVEL | 检查英雄当前等级
CHECKHEROPKPOINT | 检测英雄的PK值
CHECKHEROSUCKDAMAGE | 检测英雄的伤害吸收
CHECKITEMUPGRADECOUNT | 检测通过宝石升级装备的次数
CHECKATTACKMODE | 检测人物的攻击模式
DAYOFMONTH | 检测是否是本月的第几天
CHECKITEMDURA | 检测人物身上物品持久
MONTHOFYEAR | 检测现在是几月
CHECKNUMOFKICK | 检查人物被踢次数
CHECKNATION | 检测是否加入国家
CHECKNATIONHUMCOUNT | 检查国家人数
CHECKITEMADDVALUEEX | 检测装备的附加属性总和
CHECKGROUPMEMBERCOUNT | 检查人物组队人数
CHECKTRANPOINT | 检测技能修炼点数
CHECKMAPQUEST | 检测地图标识状态
CHECKSTATIONTIME | 检查人物多少时间没有移动
CHECKKIMNEEDLE | 检查包裹是否有指定叠加物品
CHECKHPPER | 检测自身HP百分比
CHECKMPPER | 检测自身MP百分比
CHECKDEARONLINE | 检测伴侣是否在线
CHECKDEARONMAP | 检测伴侣是否在同一地图
CHECKREPAIRALLGOLD | 检测修理装备特修价格
CHECKOPENGODBLESS | 检测人物12个神佑格是否开启
CHECKSHOWGODBLESS | 检测人物装备界面是否已经点亮神佑图标
CHECKFENGHAO | 检查玩家是否有指定称号
CHECKFENGHAOCOUNT | 检查玩家所有称号的数量
CHECKCLIENTWIDTH | 检测当前玩家登陆的分辨率-高度
CHECKCLIENTHEIGHT | 检测当前玩家登陆的分辨率-宽度
CHECKNEWFENGHAOVALUE | 检测称号的元素属性
CHECKKILLBYHUM | 检测是否被人物杀死
CHECKMASTERONLINE | 检测师父(或徒弟)是否 在线
CHECKMASTERONMAP | 检测师傅（或徒弟）是否在XXX地图
CHECKISPRENTICE | 用来检测自己是否是徒弟
CHECKPOSEISPRENTICE | 检测对面是否为自己的徒弟
CHECKFLUTECOUNT | 检测装备打孔数量
CHECKITEMSTONECOUNT | 检测装备宝石数量
CHECKUPGRADECOUNT | 检测装备星星数量
CHECKITEMS | 检测背包是否有指定物品
CHECKITEMWLOOKS | 检测身上指定装备名字获取looks保存到变量
CHECKBOXITEMCOUNT | 检测OK框中是否有物品
CHECKONHORSE | 检测是否骑马状态
CHECKITEMHASSTONE | 检测装备是否镶嵌宝石
CHECKACTIVEFENGHAO | 检测称号是否激活
CHECKCUSTOMITEMPROGRESSBAR | 检测进度条是否开启
CHECKCUSTOMITEMPROGRESSBARVALUE | 检测进度条值
CHECKCUSTOMITEMVALUE | 检测自定义装备属性值
CHECKCUSTOMITEMBINDTYPE | 检测自定义装备属性绑定类型
CHECKBAGITEMCOUNTEX | 检测包裹中物品的数量
CHECKTAKEONITEM | 检查正在穿身上装备的名称
CHECKSTONECOUNT | 检测人物全身镶嵌指定宝石数量
CHECKITEMFLUTEINDEXHASSTONE | 检测装备对应的孔位置是否有宝石
ISNATIONKING | 检查是否国王
CHECKNATIONNAMEEXISTS | 检测国家名字是否被使用
CANVERIFYCODE | 检测验证码
CHECKVERIFYCODE | 检测验证码是否通过
CHECKMIRRORMAP | 检查是否为镜像地图
CHECKMOBILENUMBER | 验证手机号码
CHECKMOBILEBIND | 检测是否绑定手机
CHECKSTORAGEOPEN | 检测仓库是否开启
CHECKSCRIPTPARAM | 检测是否创建副本
CANMOVEECTYPE | 扩展NPC脚本点击触发检查参数是否是这几组
POSEHAVEPRENTICE | 检测对面有没有徒弟
CHECKSELFRANKNO | 检测人物在指定排行榜中的名次
CHECKMAPMONINFO | 获取地图中某怪物的坐标
CHECKCALLGAMEPET | 检测是否召唤捡物精灵
CHECKGAMEPETLEVEL | 检测宠物等级
CHECKGAMEPETSKILLMAGIC | 检测宠物技能
CHECKSHOWFASHION | 检测时间外显是否开启
CHECKISSELLPLAYER | 检测自己是否在出售中
CHECKISSELLPLAYDELEGATOR | 检测自己是否为角色出售委托人
GETSTRINGPOSEX | 字符检测
CHECKCACHECONTAINSTEXTLIST | 从缓存中检测文件中是否包含字符串
CHECKGROUPLEADER | 检测是否是队长
CHECKSTOPM2MAKEMON | 检测是否暂停刷怪
CHECKANGRYVALUE | 检测英雄怒气值
CHECKBAGITEMS | 检测背包是否包含文件中的物品
CACHECHECKBAGITEMS | 高效率检测背包是否包含文件中的物品
FINDNPCPOINT | 检测地图中的NPC并得到坐标
FINDMONPOINT | 检测地图中的最近的怪物并得到坐标
CHECKGROUPITEM | 检测指定编号套装是否生效
ISMOBILE | 检测当前设备是否移动端
CHECKMONEY | 检测自定义货币
CHECKBINDMONEY | 关联检测命令
CHECKCURRTARGETSLAVE | 检测目标是否为宝宝
CHECKSELFSTATUS | 检测人物自身状态
CHECKSHIELDSTATEOPEN | 检测人物是否开启了武力盾、魔法盾、道力盾
CHECKFULLBEAD | 检测包裹中聚满经验的聚灵珠
SET | 设置逻辑变量为真
TAKE | 收回物品
GIVE | 给予物品
TAKEW | 从人物身上穿戴回收物品
CLOSE | 关闭对话框
RESET | 将从XXX开始的7个变量回复到原始值0
BREAK | 中断脚本
TIMERECALL | 延时移动
PARAM1 | 刷新怪物座标X
PARAM2 | 刷新怪物座标Y
PARAM3 | 数量
PARAM4 | 范围
PARAM5 | 国家编号
PARAM6 | 是否攻击本国玩家(0,1)
PARAM7 | 不同国家怪物是否PK(0,1)
PARAM8 | 怪物名字颜色
PARAM9 | 是否允许本国玩家攻击(0,1)
EXEACTION | 执行命令、动作
MAPMOVE | 地图坐标传送
MAP | 地图随机传送
TAKECHECKITEM | 收走刚检测的物品
MONGEN | 刷新怪物
MONCLEAR | 清除怪物
MOV | 变量赋值
INC | 变量相加
DEC | 变量相减
DIV | 变量整除
MUL | 变量相乘
PERCENT | 百分比
BREAKTIMERECALL | 清除延时移动
CHANGEMODE | 设置人物当前模式
RECALLMOB | 召唤指定怪物为宝宝
MOVR | 定义随机变量
EXCHANGEMAP | 与指定地图里的人交换位置
RECALLMAP | 把某地图的人召唤过来
ADDBATCH | 按地图列表移动
BATCHDELAY | 地图暂停时间
BATCHMOVE | 开始从第一个地图移动到最后一个地图
PLAYDICE | 播放骰子
ADDNAMELIST | 增加人物名在列表中
DELNAMELIST | 删除人物名在列表中
ADDGUILDLIST | 增加人物行会名在列表中
DELGUILDLIST | 删除人物行会名在列表中
ADDACCOUNTLIST | 增加人物帐号在列表中
DELACCOUNTLIST | 删除人物帐号在列表中
ADDIPLIST | 增加人物IP在列表中
DELIPLIST | 删除人物IP在列表中
GOTO | 跳转脚本段
HAIRCOLOR | 改变人物的头发颜色
WEARCOLOR | 改变人物的衣服颜色
HAIRSTYLE | 改变人物的头发类型
RECALLGROUPMEMBERS | 把本编组队员传送到指定地图
DELAYCALL | 延时执行指定的脚本
DELAYGOTO | 延迟跳转到指定段
CLEARITEMMAP | 清理地图上指定名字的物品
CHANGEGENDER | 更换性别
CREATENPC | 通过脚本命令建立一个NPC,服务器重启后消失
CLEARDELAYGOTO | 清除延迟跳转到指定段
GROUPMOVE | 编组地图随机传送
CLEARNAMELIST | 清除列表中内容
KILLSLAVE | 将自己的宝宝全部杀死
CHANGELEVEL | 调整人物等级
MARRY | 结婚
UNMARRY | 离婚
CLEARSKILL | 删除所有技能
DELNOJOBSKILL | 删除非本职业的所有技能
DELSKILL | 删除指定技能
ADDSKILL | 练习技能
SKILLLEVEL | 调整技能等级
CHANGEPKPOINT | 调整人物PK点数
CHANGEEXP | 调整人物经验点数
CHANGEJOB | 转换职业
MISSION | 设置怪物集中点(用于开展怪物攻城)
MOBPLACE | 放置怪物，怪物向集中点集中，大刀守卫不攻击怪物(用于开展怪物攻城)
SETMEMBERTYPE | 调整人物会员类型
SETMEMBERLEVEL | 调整人物会员等级
GAMEGOLD | 游戏币数
AUTOADDGAMEGOLD | 设置是否自动增加游戏币
AUTOSUBGAMEGOLD | 设置是否自动减少游戏币
CHANGENAMECOLOR | 更改人物名称颜色
CLEARPASSWORD | 清除人物的仓库密码
RENEWLEVEL | 人物转生控制
KILLMONEXPRATE | 设置杀怪经验倍数
POWERRATE | 设置攻击力倍数
CHANGEPERMISSION | 设置人物当前权限
KILL | 杀死人物
KICK | 踢人物下线
BONUSPOINT | 调整人物属性点
RESTRENEWLEVEL | 清除人物转生数据
DELMARRY | 清除结婚信息
DELMASTER | 清除当前人物的拜师信息
MASTER | 拜师
UNMASTER | 出师
CREDITPOINT | 调整人物声望点
CLEARNEEDITEMS | 将当前人物背包及仓库里，所有物品的NEED值与参数N相同的物品清除掉
CLEARMAKEITEMS | 将当前人物背包及仓库里，制造IDX一样的删除
SETSENDMSGFLAG | 设置沙城主公告
UPGRADEITEM | 装备属性升级
UPGRADEITEMEX | 升级人物身上指定位置的装备属性
MONGENEX | 脚本刷怪
CLEARMAPMON | 清除地图中的怪物
SETMPAMODE | 设置地图模式
GAMEPOINT | 调整人物游戏点
PKZONE | 在自己周围制造一个持续伤害区域
RESTBONUSPOINT | 重新分配人物附加属性点
TAKECASTLEGOLD | 取走沙巴克金库金币
HUMANHP | 调整HP值
HUMANMP | 调整MP值
GUILDBUILDPOINT | 修改行会建筑度
GUILDAURAEPOINT | 修改行会人气度
GUILDSTABILITYPOINT | 修改行会安定度
GUILDFLOURISHPOINT | 修改行会繁荣度
OPENITEMBOX | 调用怪物爆率
SETRANKLEVELNAME | 脚本调整封号
GMEXECUTE | 脚本命令调用GM命令
GUILDCHIEFITEMCOUNT | 设置行会超级装备数量
ADDNAMEDATELIST | 添加名称日期列表
ADDUSERDATE | 加入会员人物及时间
DELNAMEDATELIST | 删除名称日期列表
DELUSERDATE | 删除会员人物及时间
MOBFIREBURN | 传奇地图任何坐标放火焰功能
MESSAGEBOX | 弹出消息窗口
SETSCRIPTFLAG | 装备名称自定义系统
SETAUTOGETEXP | 在线泡经验（直接得到经验）
VAR | 声明自定义变量
LOADVAR | 读取自定义变量
SAVEVAR | 保存自定义变量
CALCVAR | 调整自定义变量
OFFLINE | 离线挂机
OFFLINEPLAY | 离线挂机
KICKOFFLINE | 踢除服务器所有挂机人物
STARTTAKEGOLD | 元宝转账
ENCODETEXT | 组合字符
DECODETEXT | 解码字符
ADDTEXTLIST | 从指定文件中增加字符串
DELTEXTLIST | 从指定文件中删除字符串
DELTEXTLISTLINE | 删除文本指定行
GROUPMAPMOVE | 编组地图传送
RECALLHUMAN | 召唤某个玩家到自己身边
REGOTO | 传送到对方身边
GUILDMOVE | 行会地图随机传送
GUILDMAPMOVE | 行会地图传送
USEBONUSPOINT | 永久增加人物属性分配点
GAMEDIAMOND | 调整金刚石数量
GAMEGIRD | 调整灵符数量
CHANGENHUMCREDITEX | 调整荣誉值
GAMEGLORY | 调整人物的荣誉值
AUTOTAKEONITEM | 自动穿背包中的装备
TAKEONITEM | 穿戴指定装备
TAKEON | 带上物品时触发
AUTOTAKEOFFITEM | 自动脱下装备
TAKEOFFITEM | 脱下指定装备
TAKEOFF | 取下身上物品时触发
AUTOGOTOXY | 自动行走
CLICKNPCLABEL | 自动点击QMission-0标签
CREATEHERO | 创建主将英雄
DELETEHERO | 删除英雄
OPENMISSIONDLG | 打开任务窗口命令
GETRANDOMTEXT | 获取文本字符
GETRANDOMLINETEXT | 从文件中随机取文本
CREATEFILE | 在指定位置建立一个文本文件
RECALLMOBEX | 脚本召唤宝宝
CHANGERANGEMONPOS | 移动宝宝坐标
SETONTIMER | 设置定时器
SETOFFTIMER | 停止定时器
SENDMOVEMSG | 发送屏幕滚动信息
SENDCENTERMSG | 发送屏幕中间大字体信息
SENDDELAYMSG | 显示倒计时信息提示
QUERYYBDEAL | 查询可以的购买物品
QUERYYBSELL | 查询正在出售的物品
OPENYBDEAL | 开通需要的货币
ADDNAMEDATETIMELIST | 增加会员时间
SENDTOPCHATBOARDMSG | 发送聊天框固顶信息
TAGMAPMOVE | 移动到记录的坐标
TAGMAPINFO | 记录当前坐标
CLEARREMEMBER | 清除记忆点
PLAYEFFECT | 设置人物特效播放
SCREENEFFECT | 在屏幕上播放魔法
MAPEFFECT | 在地图上播放魔法效果
PLAYSOUND | 播放音乐
OPENBIGDIALOGBOX | 打开自定义NPC对话框
OPENMERCHANTBIGDLG | 打开NPC大对话框
CLOSEMERCHANTBIGDLG | 关闭NPC大对话框
CHANGESPEED | 调整游戏速度
ACTREPAIRALL | 特修装备
GOHOME | 移动到回城点
ADDTOCASTLEWARLIST | 把行会加入攻城列表
ADDGUILDMEMBER | 添加行会成员
REALIVE | 复活人物
THROWITEM | 在地图上放置物品
CREATEMYSHOP | 创建个人商店


获取传奇脚本对象值

GXX引擎 Lua脚本接口 > TNormNpc [NPC对象类] > 方法 >
获取传奇脚本对象值

声明：

   function GetVarValue()

说明：

   获取传奇脚本对象值。 此函数返回值为string，如需返回整型使用lua的原生命令tonumber()转换。

参数：

 | 数据类型 | 描述
参数一 | TPlayerObject | 目标对象
参数二 | string | 变量名称
返回值 | string | 对象值

使用示例：
function TestDemo()
    local tmpMsg = gNPC:GetVarValue(gPlayer, '<$STR(A801)>')
    gSystem:SendMoveMsg(tmpMsg, 253, 116, 20, 5, 18, 20)

    local tmpMsg2 = gNPC:GetVarValue(gPlayer, '<$STR(S$字符串)>')
    gSystem:SendMoveMsg(tmpMsg2, 253, 116, 40, 5, 18, 20)

    local tmpMsg3 = gNPC:GetVarValue(gPlayer, '<$STR(U480)>')
    gSystem:SendMoveMsg(tmpMsg3, 253, 116, 60, 5, 18, 20)

    local tmpMsg4 = gNPC:GetVarValue(gPlayer, '<$STR(T480)>')
    gSystem:SendMoveMsg(tmpMsg4, 253, 116, 80, 5, 18, 20)


保存传奇脚本对象值

保存传奇脚本对象值

   function SetVarValue()

说明：

   保存传奇脚本对象值
   参数二是传奇原生脚本中的程序变量（U、T、A、G、N、S等）
   参数三可以是三种类型的值（string/integer/boolean）

参数：

 | 数据类型 | 描述
参数一 | TPlayerObject | 目标对象
参数二 | string | 变量名称
参数三 | string/integer/boolean | 变量的值
返回值 | boolean | 是否设置成功

使用示例：

function TestDemo()
    if gNPC:SetVarValue(gPlayer, 'A801', '宝塔镇河妖') then
        local tmpMsg = gNPC:GetVarValue(gPlayer, '<$STR(A801)>')
        gSystem:SendMoveMsg(tmpMsg, 253, 116, 30, 5, 18, 20)
    end;

    if gNPC:SetVarValue(gPlayer, 'S$字符串', '今天是星期四') then
        local tmpMsg2 = gNPC:GetVarValue(gPlayer, '<$STR(S$字符串)>')
        gSystem:SendMoveMsg(tmpMsg2, 253, 116, 50, 5, 18, 20)
    end;

    if gNPC:SetVarValue(gPlayer, 'U480', '99900111') then
        local tmpMsg3 = gNPC:GetVarValue(gPlayer, '<$STR(U480)>')
        gSystem:SendMoveMsg(tmpMsg3, 253, 116, 70, 5, 18, 20)
    end;

    if gNPC:SetVarValue(gPlayer, 'T480', '今天天氣很好') then
        local tmpMsg4 = gNPC:GetVarValue(gPlayer, '<$STR(T480)>')
        gSystem:SendMoveMsg(tmpMsg4, 253, 116, 90, 5, 18, 20)
    end;


测试逻辑变量是否为真

测试逻辑变量是否为真

   function CHECK()

说明：

   用于检测标识型变量的值是不是指定的值
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 标识变量
参数四 | integer | 标识变量值(0或1)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    ----标识型变量 － CHECK 检测
    if gNPC:CHECK(gObject, gPlayer, '[128]', 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的当前的[128]标识变量的值为1。')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的当前的[128]标识变量的值为0。')


取随机数

取随机数

   function RANDOM()

说明：

   取随机数，当数值=随机数时，则为1否则为0
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 随机数值
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --当数值=55时则为1否则为0
    if gNPC:RANDOM(gObject, gPlayer, 55) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '当数值=55时则为1')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '当数值不等于55时则为0')


取随机值非伪随机

取随机值非伪随机

   function RANDOMEX()

说明：

   取随机值非伪随机，母是随机范围，当随机值小于或等于子值就执行脚本
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 随机分子
参数四 | integer | 随机分母
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --2分之1
    if gNPC:RANDOMEX(gObject, gPlayer, 1, 2) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '执行到这段')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '不执行这段')


检测是否为男/女

检测是否为男/女

   function GENDER()

说明：

   检测是否为男/女
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 性别
返回值 | boolean | 返回true或false
性别：
性别 | 描述
man | 男
woman | 女

使用示例：
function TestDemo()
    --性别是男的执行
    if gNPC:GENDER(gObject, gPlayer, 'man') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的性别为男')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的性别为女')


获取一天的时段

获取一天的时段

   function DAYTIME()

说明：

   获取一天的时段
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 时段
返回值 | boolean | 返回true或false
时段：
时段 | 描述
SUNRAISE | 日出
DAY | 白天
SUNSET | 日落
NIGHT | 夜晚

使用示例：
function TestDemo()
    --时段为day往下执行
    if gNPC:DAYTIME(gObject, gPlayer, 'DAY') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前时段为白天')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前时段不为白天')


检测等级

检测等级

   function CHECKLEVEL()

说明：

   检测等级，(数值)测试等级数量是否大于该命令指定值。
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 等级值
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --等级大于等于700级执行
    if gNPC:CHECKLEVEL(gObject, gPlayer, 700) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的等级当前大于等于700级')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的等级当前不大于等于700级')


检测职业

检测职业

   function CHECKJOB()

说明：

   检测职业，(职业)测试对话职业是否为指定职业
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 职业
返回值 | boolean | 返回true或false
职业：
职业 | 描述
Warrior | 战士
Wizard | 法师
Taoist | 道士

使用示例：
function TestDemo()
    --职业为Taoist执行
    if gNPC:CHECKJOB(gObject, gPlayer, 'Taoist') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的职业为道士')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的职业不为道士')


检测玩家所带宠物的数量

检测玩家所带宠物的数量

   function CHECKBBCOUNT()

说明：

   检测玩家所带宠物的数量
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 数量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    if gNPC:CHECKSLAVECOUNT(gObject, gPlayer, '>', 5) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的宝宝数量超过5个。')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的宝宝数量不超过5个。')


检测背包是否有指定物品

检测背包是否有指定物品

   function CHECKITEM()

说明：

   检测背包是否有指定物品。(物品名称)(数量)查看人物背包中是否指定物品名称的数量是否大于该命令指定值，该数量不写默认为1既检测有没有该物品。
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 物品名称
参数四 | integer | 检测数量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测背包有1个回城石执行
    if gNPC:CHECKITEM(gObject, gPlayer, '回城石', 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的背包里面有1个回城石')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的背包里面没有1个回城石')


检测当前人物是否佩带指定物品

检测当前人物是否佩带指定物品

   function CHECKITEMW()

说明：

   检测当前人物是否佩带指定物品。(物品名称)(数量)查看人物所佩带装备中是否指定物品名称的数量是否大于该命令指定值，该数量不写默认为1既检测有没有该物品。
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 物品名称
参数四 | integer | 检测数量
参数五 | integer | 是否装备名称部分匹配（不等于0为部分匹配，0或空为完全匹配）
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测身上穿戴有黑色水晶戒指就执行
    if gNPC:CHECKITEMW(gObject, gPlayer, '黑色水晶戒指', 1, 0) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你身上有佩戴黑色水晶戒指')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你身上没有佩戴黑色水晶戒指')


检测人物金币数量

检测人物金币数量

   function CHECKGOLD()

说明：

   检测人物金币数量。(数值)测试金币数量是否大于该命令指定值
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 检测数量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测金币数量是否有3000执行
    if gNPC:CHECKGOLD(gObject, gPlayer, 3000) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你身上有3000金币')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你身上没有3000金币')


检测刚刚取下的物品是否指定物品名称

检测刚刚取下的物品是否指定物品名称

   function ISTAKEITEM()

说明：

   检测刚刚取下的物品是否指定物品名称
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 物品名称
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    if gNPC:ISTAKEITEM(gObject, gPlayer, '圣光壁垒 ') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你刚刚取下的物品是圣光壁垒')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你刚刚取下的物品不是圣光壁垒')


检测纯度(矿+纯度值)

检测纯度(矿+纯度值)

声明：

   function CHECKDURA()

说明：

   检测纯度(矿+纯度值)
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 物品名称
参数四 | integer | 数值
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --黑矿石纯度值为50执行
    if gNPC:CHECKDURA(gObject, gPlayer, '黑矿石', 50) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你身上黑矿石纯度值有50')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你身上黑矿石纯度值没有50')


检测背包物品的持久

检测背包物品的持久

   function CHECKDURAEVA()

说明：

   查看人物背包中是否指定的物品名称的持久是否大于该命令指定值(物品名)(数值)，该数量不写默认为1既检测有没有该物品。
   也可检测检测纯度(肉+纯度值)；也可检测有品质的物品的品质。
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 物品名称
参数四 | integer | 数值
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --物品品质为10执行
    if gNPC:CHECKDURAEVA(gObject, gPlayer, '黑色水晶戒指', 10) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你身上黑色水晶戒指纯度值有10')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你身上黑色水晶戒指纯度值没有10')


检测星期

检测星期

   function DAYOFWEEK()

说明：

   查看当天是否为指定的星期数量。
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 星期
返回值 | boolean | 返回true或false
星期：
星期 | 描述
sun | 星期日
mon | 星期一
tue | 星期二
wed | 星期三
thu | 星期四
fri | 星期五
sat | 星期六

使用示例：
function TestDemo()
    --检测星期六执行
    if gNPC:DAYOFWEEK(gObject, gPlayer, 'sat') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '今天是星期六')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '今天不是星期六')


检测小时

检测小时

   function HOUR()

说明：

   检测小时
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 小时
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --当前为18点执行
    if gNPC:HOUR(gObject, gPlayer, 18) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前小时是18点')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前小时不是18点')


检测分钟

检测分钟

   function HOUR()

说明：

   检测分钟
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 分钟
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --当前为05分执行
    if gNPC:MIN(gObject, gPlayer, 5) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前分钟是5分')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前分钟不是5分')


检测玩家当前的PK值状态

检测玩家当前的PK值状态

   function CHECKPKPOINT()

说明：

   检测玩家当前的PK值是否大于该命令指定值
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 状态数值
返回值 | boolean | 返回true或false
状态数值：
状态数值 | 描述
0 | 白名
1 | 黄名
2 | 红名

使用示例：
function TestDemo()
    --红名执行
    if gNPC:CHECKPKPOINT(gObject, gPlayer, 2) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前PK值是红名状态')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前PK值不是红名状态')


检测一个地图内的怪物数量

检测一个地图内的怪物数量

   function CHECKMONMAP()

说明：

   检测一个地图内的怪物数量
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | integer | 数量
参数五 | integer | 是否检测宝宝（0或者留空宝宝算在里面，1则不计算宝宝）
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --绿野仙踪地图怪物数量大于10执行
    if gNPC:CHECKMONMAP(gObject, gPlayer, '108', 10) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '绿野仙踪地图中怪物多于10只')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '绿野仙踪地图中怪物少于10只')


检测一个地图内的人物数量

检测一个地图内的人物数量

   function CHECKHUM()

说明：

   检测一个地图内的人物数量
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | integer | 数量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --绿野仙中地图人物数量大于10执行
    if gNPC:CHECKHUM(gObject, gPlayer, '108', 10) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '绿野仙踪地图中人物多于10人')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '绿野仙踪地图中人物少于10人')


检测背包是否满

检测背包是否满

   function CHECKBAGGAGE()

说明：

   检测背包是否满
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --包裹满了执行
    if gNPC:CHECKBAGGAGE(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前你的背包已经满了')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前你的背包还没有满')


检测变量是否等于指定数值

检测变量是否等于指定数值

   function EQUAL()

说明：

   检测变量是否等于指定数值，也可检测两个字符串变量是否相等
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量名称
参数四 | string | 变量值
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测个人U2等于16000执行
    if gNPC:EQUAL(gObject, gPlayer, 'U2', 16000) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '执行到这段')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '不执行这段')
    end

    --检测字符串变量S102的值与是带有品质物品是否相等
    if gNPC:EQUAL(gObject, gPlayer, 'S102', '是带有品质物品') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '执行到这段')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '不执行这段')


检测变量是否大于指定数值

检测变量是否大于指定数值

   function LARGE()

说明：

   检测变量是否大于指定数值(例如:large P0 3 如果P0函数大于3，不包括3)
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量名称
参数四 | integer | 变量值
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测个人U2大于15999执行
    if gNPC:LARGE(gObject, gPlayer, 'U2', 15999) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '执行到这段')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '不执行这段')


检测变量是否小于指定数值

检测变量是否小于指定数值

   function SMALL()

说明：

   检测变量是否小于指定数值
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量名称
参数四 | integer | 变量值
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测个人U2小于16200执行
    if gNPC:SMALL(gObject, gPlayer, 'U2', 16200) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '执行到这段')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '不执行这段')


检测玩家是否存在列表中

检测玩家是否存在列表中

   function CHECKNAMELIST()

说明：

   检测玩家是否存在列表中
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 列表路径地址(备注：地址路径中带有\符号的，需要使用\转义)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测玩家是否存在列表中
    if gNPC:CHECKNAMELIST(gObject, gPlayer, '..\\QuestDiary\\角色名单.txt') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的名字存在列表中')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的名字不存在列表中')


检测玩家是否为行会老大

检测玩家是否为行会老大

   function ISGUILDMASTER()

说明：

   检测玩家是否为行会老大
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测玩家是否为行会老大
    if gNPC:ISGUILDMASTER(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前玩家为行会掌门人')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前玩家不是行会掌门人')


检测玩家是否为沙城成员

检测玩家是否为沙城成员

   function ISCASTLEGUILD()

说明：

   检测玩家是否为沙城成员
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测玩家是否为沙城成员
    if gNPC:ISCASTLEGUILD(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前玩家为行会成员')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前玩家不是行会成员')


检测是否为攻城方

检测是否为攻城方

   function ISATTACKGUILD()

说明：

   检测是否为攻城方
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测是否为攻城方
    if gNPC:ISATTACKGUILD(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前为攻城方')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前不是攻城方')


检测是否为守城方

检测是否为守城方

   function ISDEFENSEGUILD()

说明：

   检测是否为守城方
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测是否守城方
    if gNPC:ISDEFENSEGUILD(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前为守城方')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前不是守城方')


检测玩家是否加入行会

检测玩家是否加入行会

   function HAVEGUILD()

说明：

   检测玩家是否加入行会
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测检查玩家是否加入行会
    if gNPC:HAVEGUILD(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你已经加入了行会')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你还没有加入行会')


检测城门状态

检测城门状态

   function CHECKCASTLEDOOR()

说明：

   检测城门状态
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 城门状态（关闭\开启\损坏）
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测城门状态
    if gNPC:CHECKCASTLEDOOR(gObject, gPlayer, '开启') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '城门是开启状态')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '城门不是开启状态')


检测是否为攻城方联盟行会

检测是否为攻城方联盟行会

   function ISATTACKALLYGUILD()

说明：

   检测是否为攻城方联盟行会
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测是否为攻城方联盟行会
    if gNPC:ISATTACKALLYGUILD(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前为攻城方联盟行会')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前不是攻城方联盟行会')


检测是否为守城方联盟行会

检测是否为守城方联盟行会

   function ISDEFENSEALLYGUILD()

说明：

   检测是否为守城方联盟行会
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测是否为守城方联盟行会
    if gNPC:ISDEFENSEALLYGUILD(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前为守城方联盟行会')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前不是守城方联盟行会')


检测管理权限

检测管理权限

   function ISSYSOP()

说明：

   检测管理权限
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测管理权限
    if gNPC:ISSYSOP(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你是系统管理员')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你不是系统管理员')


检测人物是否为管理员

检测人物是否为管理员

   function ISADMIN()

说明：

   检测人物是否为管理员
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测人物是否为管理员
    if gNPC:ISADMIN(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你是系统管理员')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你不是系统管理员')


检查组队人数

检查组队人数

   function CHECKGROUPCOUNT()

说明：

   检查组队人数
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 数值
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查组队人数
    if gNPC:CHECKGROUPCOUNT(gObject, gPlayer, '>', 5) then
        gNPC:MESSAGEBOX(gObject, gPlayer, ' 组队人数大于5人')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, ' 组队人数少于5人')


检查人物登录帐号

检查人物登录帐号

   function CHECKACCOUNTLIST()

说明：

   检查人物登录帐号
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 列表地址（该文本路径在Mir200\Envir\Market_Def下）
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物登录帐号是否在列表中
    if gNPC:CHECKACCOUNTLIST(gObject, gPlayer, '列表.txt') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你在列表中')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你不在列表中')


检查人物登录IP

检查人物登录IP

   function CHECKIPLIST()

说明：

   检查人物登录IP
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 列表地址（该文本路径在Mir200\Envir\Market_Def下）
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物登录IP
    if gNPC:CHECKIPLIST(gObject, gPlayer, '列表.txt') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的登录IP在列表中')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的登录IP不在列表中')


检查人物声望点

检查人物声望点

   function CHECKCREDITPOINT()

说明：

   检查人物声望点
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 数值
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物声望点
    if gNPC:CHECKCREDITPOINT(gObject, gPlayer, '>', 1000) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的声望点大于1000')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的声望点小于1000')


检查对面人物站的位置性别（要求面对面）

检查对面人物站的位置性别（要求面对面）

声明：

   function CHECKPOSEDIR()

说明：

   检查对面人物站的位置性别（要求面对面）
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 空\1\2(具体看下面示例)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查对面人物是否面对面
    if gNPC:CHECKPOSEDIR(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你两站的位置正确')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你两站的位置不正确')
    end

    --检查对面人物是否面对面，而且要求二个人相同性别
    if gNPC:CHECKPOSEDIR(gObject, gPlayer, 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你两站的位置及性别一样')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你两站的位置不正确或性别不一样')
    end

    --检查对面人物是否面对面，而且要求二个人不同性别
    if gNPC:CHECKPOSEDIR(gObject, gPlayer, 2) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你两站的位置及性别不一样')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你两站的位置不正确或性别一样')


检查对面人物的等级（不要求面对面）

检查对面人物的等级（不要求面对面）

声明：

   function CHECKPOSELEVEL()

说明：

   检查对面人物的等级（不要求面对面）
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 等级数(0-65535)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查对面人物的等级（不要求面对面）
    if gNPC:CHECKPOSELEVEL(gObject, gPlayer, '>', 400) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你对面人物的等级大于400级')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你对面人物的等级不大于400级')


检查对面人物的性别（不要求面对面）

检查对面人物的性别（不要求面对面）

声明：

   function CHECKPOSEGENDER()

说明：

   检查对面人物的性别（不要求面对面）
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 性别(MAN-男 WOMAN-女)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查对面人物的性别（不要求面对面）
    if gNPC:CHECKPOSEGENDER(gObject, gPlayer, 'MAN') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你对面的人物是男的')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你对面的人物不是男的')


检测玩家等级

检测当前玩家等级

   function CHECKLEVELEX()

说明：

   检测玩家等级
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 等级数(0-65535)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测玩家等级
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '>', 740) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的等级大于740级')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的等级不大于740级')
    end

    --也可以通过角色名称获取其他在线玩家等级
    --获取人物名称
    local tmpUsername = gSystem:GetPlayerByName('无敌')
    --如果人物存在
    if tmpUsername then
        --检测玩家等级
        if gNPC:CHECKLEVELEX(gObject, tmpUsername, '>', 740) then
            gNPC:MESSAGEBOX(gObject, tmpUsername, '你的等级大于740级')
        else
            gNPC:MESSAGEBOX(gObject, tmpUsername, '你的等级不大于740级')


检查人物附加属性点数

检查人物附加属性点数

   function CHECKBONUSPOINT()

说明：

   检查人物附加属性点数
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 点数
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物附加属性点数
    if gNPC:CHECKBONUSPOINT(gObject, gPlayer, '>', 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的附加属性点数大于1')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的附加属性点数不大于1')


检查人物是否结婚

检查人物是否结婚

   function CHECKMARRY()

说明：

   检查人物是否结婚
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物结婚
    if gNPC:CHECKMARRY(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你已经结过婚了')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你还没有结过婚了')


检查对方是否结婚

检查对方是否结婚

   function CHECKPOSEMARRY()

说明：

   检查对方是否结婚
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查对方是否结婚
    if gNPC:CHECKPOSEMARRY(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '对方已经结过婚了')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '对方还没有结过婚了')


检测结婚次数

检查人物是否结婚

   function CHECKMARRYCOUNT()

说明：

   检测结婚次数
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | TPlayerObject | 检测符(> < =)
参数四 | integer | 次数
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测结婚次数
    if gNPC:CHECKMARRYCOUNT(gObject, gPlayer, '>', 5) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你已经结婚过5次以上了')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你还没有结婚过5次以上')


检查人物是否拜师

检查人物是否拜师

   function CHECKMASTER()

说明：

   检查人物是否拜师
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物是否拜师
    if gNPC:CHECKMASTER(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你都已经拜了别人为师')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你还没有拜别人为师')


检查对面的人是不是别人的师父

检查对面的人是不是别人的师父

   function HAVEMASTER()

说明：

   检查对面的人是不是别人的师父
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查对面的人是不是别人的师父
    if gNPC:HAVEMASTER(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你已经有师父了')
        --出师
        gNPC:UNMASTER(gObject, gPlayer)
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你还没有师父')


检查对面的人是不是别人的徒弟

检查对面的人物是不是别人的徒弟

   function CHECKPOSEMASTER()

说明：

   检查对面的人物是不是别人的徒弟
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查对面的人物是不是别人的徒弟
    if gNPC:CHECKPOSEMASTER(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '对面的人还是别人的徒弟')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '对面的人不是别人的徒弟')


检查自己是不是别人的徒弟

检查自己是不是别人的徒弟

   function POSEHAVEMASTER()

说明：

   检查自己是不是别人的徒弟
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查自己是不是别人的徒弟
    if gNPC:POSEHAVEMASTER(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你是别人的徒弟')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你不是别人的徒弟')


检查自己是不是别人的师父

检查自己是不是别人的师父

   function CHECKISMASTER()

说明：

   检查自己是不是别人的师父
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查自己是不是别人的师父
    if gNPC:CHECKISMASTER(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你是师父')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你不是师父')


检查对面的人物是不是自己的师父

检查对面的人物是不是自己的师父

   function CHECKPOSEISMASTER()

说明：

   检查对面的人物是不是自己的师父
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查对面的人物是不是自己的师父
    if gNPC:CHECKPOSEISMASTER(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '他是你师父')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '他不是你师父')


检查人物名称是否与IP匹配

检查人物名称是否与IP匹配

   function CHECKNAMEIPLIST()

说明：

   检查人物名称是否与IP匹配
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 列表文件（此文件在目录Mir200\Envir\NameIPList.txt）
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物名称是否与IP匹配
    if gNPC:CHECKNAMEIPLIST(gObject, gPlayer, 'NameIPList.txt') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的角色名称与指定IP匹配')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的角色名称与指定IP不匹配')


检查登录账号是否与IP匹配

检查登录账号是否与IP匹配

   function CHECKACCOUNTIPLIST()

说明：

   检查登录账号是否与IP匹配
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 列表文件（此文件在目录Mir200\Envir\AccountIPList.txt）
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查登录账号是否与IP匹配
    if gNPC:CHECKACCOUNTIPLIST(gObject, gPlayer, 'AccountIPList.txt') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的登录帐号与指定IP匹配')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的登录帐号与指定IP不匹配')


检查宝宝数量

检查宝宝数量

   function CHECKSLAVECOUNT()

说明：

   检查宝宝数量
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 数量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查宝宝数量是否为指定数量
    if gNPC:CHECKSLAVECOUNT(gObject, gPlayer, '>', 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的宝宝数量超过1个')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的宝宝数量不超过1个')


检查人物是否为沙城城主

检查人物是否为沙城城主

   function ISCASTLEMASTER()

说明：

   检查人物是否为沙城城主
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查玩家是否为沙城老大
    if gNPC:ISCASTLEMASTER(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你是沙城老大')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你不是沙城老大')


检查人物是否为新人

检查人物是否为新人

   function ISNEWHUMAN()

说明：

   检查人物是否为新人(即刚注册进入游戏的人，退出后再进就不是新人了)
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查玩家是否为新人
    if gNPC:ISNEWHUMAN(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你是新人 ')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你不是新人')


检查人物的会员类型

检查人物的会员类型

   function CHECKMEMBERTYPE()

说明：

   检查人物的会员类型
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 类型数(1-65535)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物的会员类型
    if gNPC:CHECKMEMBERTYPE(gObject, gPlayer, '>', 5) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的会员类型大于5')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的会员类型不大于5')


检查人物的会员等级

检查人物的会员等级

   function CHECKMEMBERLEVEL()

说明：

   检查人物的会员等级
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 类型数(1-65535)
参数四 | string | 检测符(> < =)
参数五 | integer | 等级数(1-65535)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物的会员等级是否大于指定等级
    if gNPC:CHECKMEMBERLEVEL(gObject, gPlayer, 2, '>', 5) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的会员等级大于5')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的会员等级不大于5')


检查人物的游戏币数

检查人物的游戏币数

   function CHECKGAMEGOLD()

说明：

   检查人物的游戏币数
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 点数
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物的游戏币数
    if gNPC:CHECKGAMEGOLD(gObject, gPlayer, '>', 50) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的游戏币超过50点')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的游戏币不超过50点')


检查人物的游戏点数

检查人物的游戏点数

   function CHECKGAMEPOINT()

说明：

   检查人物的游戏点数
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 点数
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物的游戏点数
    if gNPC:CHECKGAMEPOINT(gObject, gPlayer, '>', 50) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的游戏点超过50点')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的游戏点不超过50点')


检查人物在列表中的位置

检查人物在列表中的位置

   function CHECKNAMELISTPOSITION()

说明：

   检查人物在列表中的位置
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 列表文件
参数四 | string | 检测符(> < =)
参数五 | integer | 排名点数
参数六 | string | 排名位置
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物在列表中的位置
    if gNPC:CHECKNAMELISTPOSITION(gObject, gPlayer, 'AccountIPList.txt', '<', 10, 'P0') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '您在前10名，当前排名为<$STR(P0)>')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '您不在前10名，当前排名为<$STR(P0)>')


检查行会是否在列表中

检查行会是否在列表中

   function CHECKGUILDLIST()

说明：

   检查行会是否在列表中
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 列表文件（此文件在目录Mir200\Envir\Market_Def\）
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查行会是否在列表中
    if gNPC:CHECKGUILDLIST(gObject, gPlayer, 'GuildList.txt') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '列表中有行会')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '列表中没有行会')


检查人物的转生等级

检查人物的转生等级

   function CHECKRENEWLEVEL()

说明：

   检查人物的转生等级
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 转生等级数(1 - 255)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物的转生等级
    if gNPC:CHECKRENEWLEVEL(gObject, gPlayer, '>', 2) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的转生等级大于2级')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的转生等级不小于2级')


检查宝宝的等级

检查宝宝的等级

   function CHECKSLAVELEVEL()

说明：

   检查宝宝的等级
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 等级数(最高7级)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查宝宝的等级
    if gNPC:CHECKSLAVELEVEL(gObject, gPlayer, '>', 5) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '宝宝的等级大于5级')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '宝宝的等级不大于5级')


检查人物宝宝名字

检查宝宝的等级

   function CHECKSLAVENAME()

说明：

   检查宝宝的等级
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 宝宝名称
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查宝宝的等级
    if gNPC:CHECKSLAVENAME(gObject, gPlayer, '神兽') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的宝宝叫神兽')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的宝宝不叫神兽')


检查行会名称

检查行会名称

   function CHECKOFGUILD()

说明：

   检查行会名称
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 行会名称
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查行会名称
    if gNPC:CHECKOFGUILD(gObject, gPlayer, '闯名堂') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '行会名称正确')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '行会名称不正确')


检查人物是否付费

检查人物是否付费

   function CHECKPAYMENT()

说明：

   检查人物是否付费
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 天数
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物是否付费
    if gNPC:CHECKPAYMENT(gObject, gPlayer, 2) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你目前剩余游戏时间2天')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你没有剩余游戏时间2天')


检查人物身上指定位置是否戴物品

检查人物身上指定位置是否戴物品

   function CHECKUSEITEM()

说明：

   检查人物身上指定位置是否戴物品
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 物品位置
返回值 | boolean | 返回true或false
物品位置：
物品位置 | 描述
0 | 盔甲
1 | 武器
2 | 照明物(蜡烛，此物品属性升级无效)
3 | 项链
4 | 头盔
5 | 右手镯
6 | 左手镯
7 | 右戒指
8 | 左戒指
9 | 无(放护身符位置)
10 | 腰带
11 | 鞋子
12 | 宝石
13 | 斗笠
14 | 军鼓
15 | 马牌
16 | 盾牌
17 | 灵玉
18 | 时装衣服
19 | 时装武器
20 | 时装项链
21 | 时装头盔
22 | 时装左手镯
23 | 时装右手镯
24 | 时装左戒指
25 | 时装右戒指
26 | 时装勋章
27 | 时装腰带
28 | 时装靴子
29 | 时装宝石
30-35 | 首饰盒
40-51 | 生肖盒

使用示例：
function TestDemo()
    --检查人物身上指定位置是否戴物品
    if gNPC:CHECKUSEITEM(gObject, gPlayer, 0) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你身上穿了衣服')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你身上没有穿衣服')


检查人物背包空格数

检查人物背包空格数

   function CHECKBAGSIZE()

说明：

   检查人物背包空格数
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 数量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物背包空格数
    if gNPC:CHECKBAGSIZE(gObject, gPlayer, 5) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '身上有5个空格')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '身上有5个空格')


检查人物攻击力

检查人物攻击力

   function CHECKDC()

说明：

   检查人物攻击力
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 攻击下限
参数五 | string | 检测符(> < =)
参数六 | integer | 攻击上限
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物攻击力的上限及下限值
    if gNPC:CHECKDC(gObject, gPlayer, '>', 30, '>', 40) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的攻击力大于30-40')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的攻击力不大于30-40')


检查人物魔法力

检查人物魔法力

   function CHECKMC()

说明：

   检查人物魔法力
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 魔法下限
参数五 | string | 检测符(> < =)
参数六 | integer | 魔法上限
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物魔法力的上限及下限值
    if gNPC:CHECKMC(gObject, gPlayer, '>', 30, '>', 40) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的魔法力大于30-40')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的魔法力不大于30-40')


检查人物道术

检查人物道术

   function CHECKSC()

说明：

   检查人物道术
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 道术下限
参数五 | string | 检测符(> < =)
参数六 | integer | 道术上限
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物道术的上限及下限值
    if gNPC:CHECKSC(gObject, gPlayer, '>', 200, '>', 300) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的道术下限大于200，上限大于300')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的道术下限不大于200，上限不大于300')


检查人物HP值

检查人物HP值

   function CHECKHP()

说明：

   检查人物HP值
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 剩余HP
参数五 | string | 检测符(> < =)
参数六 | integer | HP上限
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物HP值的上限及下限值
    if gNPC:CHECKHP(gObject, gPlayer, '>', 500, '>', 4000) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你剩余的HP值大于500；你的HP值上限大于4000')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你剩余的HP值不大于500；你的HP值上限不大于4000')


检查人物MP值

检查人物MP值

   function CHECKMP()

说明：

   检查人物MP值
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 魔法下限
参数五 | string | 检测符(> < =)
参数六 | integer | 魔法上限
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物MP值的上限及下限值
    if gNPC:CHECKMP(gObject, gPlayer, '>', 500, '>', 4000) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你MP值下限大于500；你的MP值上限大于4000')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你MP值下限不大于500；你的MP值上限不大于4000')


检查人物身上戴物品类型

检查人物身上戴物品类型

   function CHECKITEMTYPE()

说明：

   检查人物身上戴物品类型
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 物品位置
参数四 | integer | 物品类型
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物身上戴物品类型
    if gNPC:CHECKITEMTYPE(gObject, gPlayer, 1, 5) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '武器位置佩戴的是stdmode为5的武器')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '武器位置佩戴的不是stdmode为5的武器')


检查人物当前经验值

检查人物当前经验值

   function CHECKEXP()

说明：

   检查人物当前经验值
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 经验值(1 - 4000000000)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物当前经验值
    if gNPC:CHECKEXP(gObject, gPlayer, '>', 5000) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '您的经验值大于5000')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '您的经验值不大于5000')


检测沙巴克金库中金币数量

检测沙巴克金库中金币数量

   function CHECKCASTLEGOLD()

说明：

   检测沙巴克金库中金币数量
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 数值
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测沙巴克金库中金币数量
    if gNPC:CHECKCASTLEGOLD(gObject, gPlayer, 100000) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '沙巴克资金足够')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '沙巴克资金不足')


检查输入仓库密码错误次数

检查输入仓库密码错误次数

   function PASSWORDERRORCOUNT()

说明：

   检查输入仓库密码错误次数
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 范围值
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查输入仓库密码错误次数
    if gNPC:PASSWORDERRORCOUNT(gObject, gPlayer, '=', 3) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的错误次数等于3')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的错误次数不等于3')


检查仓库是否解锁

检查仓库是否解锁

   function ISLOCKPASSWORD()

说明：

   检查仓库是否解锁
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查仓库是否解锁
    if gNPC:ISLOCKPASSWORD(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的仓库锁定中')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的仓库已经解锁')


检测行会建筑度

检测行会建筑度

   function CHECKGUILDBUILDPOINT()

说明：

   检测行会建筑度
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 数值
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测行会建筑度
    if gNPC:CHECKGUILDBUILDPOINT(gObject, gPlayer, '>', 0) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '行会建筑度大于0')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '行会建筑度不大于0')


检测行会人气度

检测行会人气度

   function CHECKGUILDAURAEPOINT()

说明：

   检测行会人气度
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 数值
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测行会行会人气度
    if gNPC:CHECKGUILDAURAEPOINT(gObject, gPlayer, '>', 0) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '行会人气度大于0')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '行会人气度不大于0')


检测行会安定度

检测行会安定度

   function CHECKGUILDAURAEPOINT()

说明：

   检测行会安定度
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 数值
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测行会行会安定度
    if gNPC:CHECKGUILDSTABILITYPOINT(gObject, gPlayer, '>', 0) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '行会安定度大于0')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '行会安定度不大于0')


检测行会繁荣度

检测行会繁荣度

   function CHECKGUILDFLOURISHPOINT()

说明：

   检测行会繁荣度
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 数值
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测行会行会繁荣度
    if gNPC:CHECKGUILDFLOURISHPOINT(gObject, gPlayer, '>', 0) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '行会繁荣度大于0')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '行会繁荣度不大于0')


检测行会贡献值

检测行会贡献值

   function CHECKCONTRIBUTION()

说明：

   检测行会贡献值
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 数量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测行会贡献值
    if gNPC:CHECKCONTRIBUTION(gObject, gPlayer, '>', 100) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的行会贡献值大于100')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的行会贡献值小于100')


检查一个坐标范围内怪物数量

检查一个坐标范围内怪物数量

   function CHECKRANGEMONCOUNT()

说明：

   检查一个坐标范围内怪物数量
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | integer | X坐标
参数五 | integer | Y坐标
参数六 | integer | 范围
参数七 | string | 检测符(> < =)
参数八 | integer | 数量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查绿野仙踪59.89的10范围内怪物数量不大于100
    if gNPC:CHECKRANGEMONCOUNT(gObject, gPlayer, '108', 59, 89, 10, '>', 100) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '地图绿野仙踪的X59Y89十的范围内怪物少于100只')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '地图绿野仙踪的X59Y89十的范围内怪物不少于100只')


检测物品的附加属性值

检测物品的附加属性值

   function CHECKITEMADDVALUE()

说明：

   检测物品的附加属性值
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 属性位置(0-14)
参数五 | string | 检测符(> < =)
参数六 | integer | 值
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测物品的附加属性值
    if gNPC:CHECKITEMADDVALUE(gObject, gPlayer, 0, 0, '>', 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '盔甲的防御值大于1')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '盔甲的防御值不大于1')


检测人物坐标范围

检测人物坐标范围

   function CHECKINMAPRANGE()

说明：

   检测人物坐标范围
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图编号
参数四 | integer | X坐标
参数五 | integer | Y坐标
参数六 | integer | 范围
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测人物坐标范围
    if gNPC:CHECKINMAPRANGE(gObject, gPlayer, 'N3', 328, 335, 2) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '检测以地图N3坐标328,335为中心,范围2触发')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '检测不以地图N3坐标328,335为中心,范围2触发')


检查沙巴克占领天数

检查沙巴克占领天数

   function CASTLECHANGEDAY()

说明：

   检查沙巴克占领天数
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 天数
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查沙巴克占领天数
    if gNPC:CASTLECHANGEDAY(gObject, gPlayer, '>', 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你已经占领沙城1天以上')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你还没有占领沙城1天以上')


检查上次攻城到现在的天数

检查上次攻城到现在的天数

   function CASTLEWARAY()

说明：

   检查上次攻城到现在的天数
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 天数
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查上次攻城到现在的天数
    if gNPC:CASTLEWARAY(gObject, gPlayer, '>', 3) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '上次攻城到现在超过三天')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '上次攻城到现在未够三天')


检查人物在线时间长度

检查人物在线时间长度

   function ONLINELONGMIN()

说明：

   检查人物在线时间长度
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 分钟(支持传奇脚本变量操作)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物在线时间长度
    if gNPC:ONLINELONGMIN(gObject, gPlayer, '>', 10) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '在线时间大于10分钟')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '在线时间未够10分钟')


检查加入名单中人物的时间

检查加入名单中人物的时间

   function CHECKNAMEDATELIST()

说明：

   检查加入名单中人物的时间。注：如果要检查忽略人物名字就在P1，后面加个参数 1。
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 名单名称
参数四 | string | 检测符(> < =)
参数五 | integer | 天数
参数六 | string | 使用天数
参数七 | string | 剩余天数
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查加入名单中人物的时间
    if gNPC:CHECKNAMEDATELIST(gObject, gPlayer, '会员.txt', '<', 30, 'P0', 'P1') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你在会员名单里面的时间小于30天')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你在会员名单里面的时间大于30天')


检查一个地图内的人物数量

检查一个地图内的人物数量

   function CHECKMAPHUMANCOUNT()

说明：

   检查一个地图内的人物数量
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | string | 检测符(> < =)
参数五 | integer | 数量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查一个地图内的人物数量
    if gNPC:CHECKMAPHUMANCOUNT(gObject, gPlayer, 'N3', '<', 10) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '地图N3内人数小于10人')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '地图N3内人数不小于10人')


检查一个地图内的怪物数量

检查一个地图内的怪物数量

   function CHECKMAPMONCOUNT()

说明：

   检查一个地图内的怪物数量
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | string | 检测符(> < =)
参数五 | integer | 数量
参数六 | integer | 是否检测宝宝(参数0或者留空宝宝算在里面 、1则宝宝不算到里面)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查一个地图内的怪物数量
    if gNPC:CHECKMAPMONCOUNT(gObject, gPlayer, '108', '>', 30) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '地图108的内怪物大于30只')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '地图108的内怪物不大于30只')


自定义变量-检测

自定义变量-检测

   function CHECKVAR()

说明：

   自定义变量-检测
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量类型
参数四 | string | 变量名
参数五 | string | 检测符(> < =)
参数六 | string | 值
返回值 | boolean | 返回true或false
变量类型：
变量类型 | 描述
Global | 全局
Guild | 行会
Human | 个人

使用示例：
function TestDemo()
    --自定义变量 － 声明 VAR
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '>', 0) then
        --本命令用于声明一个自定义变量
        gNPC:VAR(gObject, gPlayer, 'string', 'Human', 'GXXM2')
        gNPC:MESSAGEBOX(gObject, gPlayer, '你声明了一个个人字符型变量“GXXM2”')
    end

    --自定义变量 － 读取 LOADVAR
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '>', 0) then
        --本命令用于从一个文件内读取一个自定义变量的值
        gNPC:LOADVAR(gObject, gPlayer, 'Human', 'GXXM2', '..\\QuestDiary\\SaveVar.txt')
    end

    --自定义变量 － 赋值操作 CALCVAR
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '>', 0) then
        --本命令用于操作一个自定义变量
        gNPC:CALCVAR(gObject, gPlayer, 'Human', 'GXXM2', '=', 'GXX引擎')
        gNPC:MESSAGEBOX(gObject, gPlayer, '你把自定义个人变量“GXXM2”赋值为：GXX引擎')
    end

    --自定义变量 － 保存 SAVEVAR
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '>', 0) then
        --本命令用于将一个自定义变量的信息存储到一个文件内
        gNPC:SAVEVAR(gObject, gPlayer, 'Human', 'GXXM2', '..\\QuestDiary\\SaveVar.txt')
        gNPC:MESSAGEBOX(gObject, gPlayer, '你把自定义个人变量“GXXM2”的值保存到SaveVar.txt文件内。')
    end

    --自定义变量 － 检测 CHECKVAR
    --本命令用于判断一个自定义变量的值
    if gNPC:CHECKVAR(gObject, gPlayer, 'Human', 'GXXM2', '=', 'GXX引擎') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的自定义个人变量“GXXM2”的值等于“GXXM2引擎”四个字')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的自定义个人变量“GXXM2”的值不等于“GXXM2引擎”四个字')


检查人物是否在指定地图上

检查人物是否在指定地图上

   function ISONMAP()

说明：

   检查人物是否在指定地图上
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物是否在指定地图上
    if gNPC:ISONMAP(gObject, gPlayer, 'N3') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你在旧盟重省!')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你不在旧盟重省!')


检查当前所在地图的名字

检查当前所在地图的名字

   function CHECKMAPNAME()

说明：

   检查当前所在地图的名字
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查当前所在地图的名字
    if gNPC:CHECKMAPNAME(gObject, gPlayer, '3') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你在盟重省上!')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你不在盟重省上!')


检测在安全区

检测在安全区

   function INSAFEZONE()

说明：

   检测在安全区
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测在安全区
    if gNPC:INSAFEZONE(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你在安全区内!')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你不在安全区内!')


检查人物技能

检查人物技能

   function CHECKSKILL()

说明：

   检查人物技能
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 技能名称
参数四 | string | 检测符(> < =)
参数五 | integer | 等级
参数六 | integer | 是否检测强化技能(0或为空时为技能等级,1为强化技能等级)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物技能
    if gNPC:CHECKSKILL(gObject, gPlayer, '金刚不坏', '=', 0, 1) then
        --强化技能至一重
        gNPC:SKILLLEVEL(gObject, gPlayer, '金刚不坏', '=', 1, 1)
        gNPC:MESSAGEBOX(gObject, gPlayer, '金刚不坏已修炼到强化一重!')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '金刚不坏强化失败!')


检查会员剩余时间和已使用时间

检查会员剩余时间和已使用时间

   function CHECKUSERDATE()

说明：

   检查会员剩余时间和已使用时间
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 会员名单所在路径
参数四 | string | 检测符(> < =)
参数五 | integer | 检测的天数
参数六 | string | 已使用天数，可以换成任意整数型变量
参数六 | string | 还剩余天数，可以换成任意整数型变量（可用<$STR(P1)>在脚本中显示) 注：如果要检查忽略人物名字就在参数五后面加个参数 1
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查会员时间
    if gNPC:CHECKUSERDATE(gObject, gPlayer, '..\\QuestDiary\\数据\\会员名单.txt', '<', 30, 'P0', 'P1') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的会员使用了<$STR(P0)>天，还剩余<$STR(P1)>天!')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的会员使用了<$STR(P0)>天，还剩余<$STR(P1)>天!')


检查字符串是否包涵在另外一个字符串中

检查字符串是否包涵在另外一个字符串中

   function CHECKCONTAINSTEXT()

说明：

   检查字符串是否包涵在另外一个字符串中
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 字符串
参数四 | string | 字符串
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查字符串是否包涵在另外一个字符串中
    if gNPC:CHECKCONTAINSTEXT(gObject, gPlayer, 'WWW.GXXM2.COM', 'GXXM2.COM') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前包涵!')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前不包涵!')


比较两个字符串是否一样

比较两个字符串是否一样

   function COMPARETEXT()

说明：

   比较两个字符串是否一样
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 字符串
参数四 | string | 字符串
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --比较两个字符串是否一样
    if gNPC:COMPARETEXT(gObject, gPlayer, 'WWW.GXXM2.COM', 'WWW.GXXM2.COM') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前一样!')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前不一样!')


检查字符串是否在指定文件中

检查字符串是否在指定文件中

   function CHECKTEXTLIST()

说明：

   检查字符串是否在指定文件中

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件名
参数四 | string | 检测字符串1
参数五 | string | 检测字符串2(可为空)
参数六 | string | 是否绝对路径(为空表示相对路径)
参数七 | string | 是否区分大小写(0或空：不区分； 1：区分)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查字符串是否在指定文件中
    if gNPC:CHECKTEXTLIST(gObject, gPlayer, '..\\QuestDiary\\今日数据.txt', '<$STR(S2)>') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '<$STR(S2)>在列表中')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '<$STR(S2)>不在列表中')


检查人物是否为编组的组长

检查人物是否为编组的组长

   function ISGROUPMASTER()

说明：

   检查人物是否为编组的组长
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物是否为编组的组长
    if gNPC:ISGROUPMASTER(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你是组长')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你不是组长')


检测文件中是否包含字符串

检测文件中是否包含字符串

   function CHECKCONTAINSTEXTLIST()

说明：

   检测文件中是否包含字符串
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | string | 字符串
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测文件中是否包含字符串
    if gNPC:CHECKCONTAINSTEXTLIST(gObject, gPlayer, '..\\QuestDiary\\10元地图.txt', '<$MAP>') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前包涵')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前不包涵')


检查玩家是否在线

检查玩家是否在线

   function CHECKONLINE()

说明：

   检查玩家是否在线
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 人物名称
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查玩家是否在线
    if gNPC:CHECKONLINE(gObject, gPlayer, '无敌') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '无敌在线')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '无敌不在线')


检测文本内容长度

检测文本内容长度

   function CHECKTEXTLENGTH()

说明：

   检测文本内容长度
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 字符串
参数四 | string | 检测符(> < =)
参数五 | integer | 位数(说明：一个汉字位数为2, "》"也为2个字符)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测文本长度
    if gNPC:CHECKTEXTLENGTH(gObject, gPlayer, '..\\QuestDiary\\签到系统\\签到.txt', '>', 3) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '文本大于3个字符')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '文本不大于3个字符')


检测玩家是否与其他玩家重叠

检测玩家是否与其他玩家重叠

   function ISDUPMODE()

说明：

   检测玩家是否与其他玩家重叠
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 无参数：默认为只检测人物 0：检测所有对象包括人物、怪物、NPC 1：只检测是否有人物
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测玩家是否与其他玩家重叠
    if gNPC:ISDUPMODE(gObject, gPlayer, 0) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '不要和其他人或怪物站在一起')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你没有和其他人或怪物重叠在一起')


检查金刚石数量

检查金刚石数量

   function CHECKGAMEDIAMOND()

说明：

   检查金刚石数量
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 点数
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查金刚石数量
    if gNPC:CHECKGAMEDIAMOND(gObject, gPlayer, '>', 50) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的金刚石超过50点')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的金刚石没有超过50点')


检查灵符数量

检查灵符数量

   function CHECKGAMEGIRD()

说明：

   检查灵符数量
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 点数
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查灵符数量
    if gNPC:CHECKGAMEGIRD(gObject, gPlayer, '>', 50) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的灵符超过50点')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的灵符没有超过50点')


检测英雄登录器荣誉

检测英雄登录器荣誉

   function CHECKHUMCREDITEX()

说明：

   检测英雄登录器荣誉
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 数值(1-65535)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测英雄登录器荣誉
    if gNPC:CHECKHUMCREDITEX(gObject, gPlayer, '<', 10) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '英雄登录器荣誉值小于10')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '英雄登录器荣誉值不小于10')


检查荣誉数量

检查荣誉数量

   function CHECKGAMEGLORY()

说明：

   检查荣誉数量
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 点数
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查荣誉数量
    if gNPC:CHECKGAMEGLORY(gObject, gPlayer, '=', 100) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的荣誉值等于100')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的荣誉值不等于100')


检测字符串长度

检测字符串长度

   function CHECKstringLENGTH()

说明：

   检测字符串长度
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 字符串
参数四 | string | 检测符(> < =)
参数五 | integer | 位数(说明：一个汉字位数为2, "》"也为2个字符)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测字符串长度
    if gNPC:CHECKstringLENGTH(gObject, gPlayer, 'GXXM2', '>', 3) then
        gNPC:MESSAGEBOX(gObject, gPlayer, 'GXXM2大于3个字符')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, 'GXXM2不大于3个字符')


检测是否有英雄

检测是否有英雄

   function HAVHERO()

说明：

   检测是否有英雄
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测是否有英雄
    if gNPC:HAVHERO(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你已经有英雄')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你还没有英雄')


检查当前在线人物数

检查当前在线人物数

   function CHECKONLINEPLAYCOUNT()

说明：

   检查当前在线人物数

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数三 | integer | 数值
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查当前在线人物数
    if gNPC:CHECKONLINEPLAYCOUNT(gObject, gPlayer, '>', 50) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '目前在线人数大于50人')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '目前在线人数不大于50人')


检测地图范围内怪物数量

检测地图范围内怪物数量

   function CHECKRANGEMONCOUNTEX()

说明：

   检测地图范围内怪物数量
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | string | 怪物名称
参数五 | integer | X坐标
参数六 | integer | Y坐标
参数七 | integer | 范围
参数八 | string | 检测符(> < =)
参数九 | integer | 数量
参数十 | integer | 宝宝是否计算在内(0或者为空：不算宝宝；1：算宝宝)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测地图范围内怪物数量
    if gNPC:CHECKRANGEMONCOUNTEX(gObject, gPlayer, '108', '黄牛', 60, 93, 10, '>', 10, 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '绿野仙踪地图中60.93十个范围内黄牛数量大于10只')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '绿野仙踪地图中60.93十个范围内黄牛数量不大于10只')


检测地图坐标是否可以到达

检测地图坐标是否可以到达

   function CHECKMAPMOVE()

说明：

   检测地图坐标是否可以到达
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | integer | X坐标
参数五 | integer | Y坐标
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测地图坐标是否可以到达
    if gNPC:CHECKMAPMOVE(gObject, gPlayer, '108', 60, 93) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '绿野仙踪60.93可以到达')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '绿野仙踪60.93不可以到达')


检测会员剩余时间

检测会员剩余时间

   function CHECKNAMEDATETIMELIST()

说明：

   检测会员剩余时间
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件名称
参数四 | integer | 过期是否删除(0不删除 1删除)
参数五 | string | 变量1(到期时间 字符变量)
参数六 | string | 变量2(剩余天数 数字变量)
参数七 | string | 变量3(剩余小时 数字变量)
参数八 | string | 变量4(剩余分钟 数字变量)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测会员剩余时间
    if gNPC:CHECKNAMEDATETIMELIST(gObject, gPlayer, '..\\QuestDiary\\会员名单.txt', 1, 'S1', 'N1', 'N2', 'N3') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的会员到期时间是<$STR(S1)>【剩余天数=<$STR(N1)>】【剩余小时=<$STR(N2)>】【剩余分钟=<$STR(N3)>】')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你不是会员或已过期，请及时充值')


检测是否进入攻城的范围

检测是否进入攻城的范围

   function CHECKCASTLEWARAREA()

说明：

   检测是否进入攻城的范围
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 城堡名称
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测是否进入攻城的范围
    if gNPC:CHECKCASTLEWARAREA(gObject, gPlayer, '闯名堂') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你已经进入攻城的范围')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你还没有进入攻城的范围')


检查指定城堡是否在攻城中

检查指定城堡是否在攻城中

   function CHECKCASTLEWAR()

说明：

   检查指定城堡是否在攻城中(检测当前玩家所在行会是不是攻城方的行会)
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 对应城堡的编号
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查指定城堡是否在攻城中
    if gNPC:CHECKUNDERWAR(gObject, gPlayer, 0) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '第一个城堡正在攻城')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '第一个城堡没有攻城')


检测是否正在进行攻城

检测是否正在进行攻城

   function CHECKUNDERWAR()

说明：

   检测是否正在进行攻城
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 城堡名称
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测是否正在进行攻城
    if gNPC:CHECKUNDERWAR(gObject, gPlayer, '闯名堂') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '闯名堂正在攻城')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '闯名堂没有攻城')


检测当前目标类型

检测当前目标类型

   function CHECKCURRTARGETRACE()

说明：

   检测当前目标类型(只有在死亡触发和攻击触发中使用)
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 数据库Race值
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测当前目标类型
    if gNPC:CHECKCURRTARGETRACE(gObject, gPlayer, '=', 0) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前是人物')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前不是人物')


检测地图相同怪物数量

检测地图相同怪物数量

   function CHECKMAPSAMEMONCOUNT()

说明：

   检测地图相同怪物数量(参数七：比如黄牛 黄牛1 黄牛2各刷一只，后面不检测数字，那么黄牛大于2 ，检测的话就只有一个真正的黄牛了,留空和0全是检测数字，1才是不检测)
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | string | 怪物名称
参数五 | string | 检测符(> < =)
参数六 | integer | 数量
参数七 | integer | 否忽略怪物名称后面的数字(留空或0=检测数字,1=不检测数字)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测地图相同怪物数量
    if gNPC:CHECKMAPSAMEMONCOUNT(gObject, gPlayer, '108', '黄牛', '>', 10) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '绿野仙踪的黄牛大于10个')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '绿野仙踪的黄牛不大于10个')


检测是否已经创建过个人商店

检测是否已经创建过个人商店

   function CHECKMYSHOP()

说明：

   检测是否已经创建过个人商店
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测是否已经创建过个人商店
    if gNPC:CHECKMYSHOP(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你已经有店铺了')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你还没有店铺了')


检测店铺名称是否存在

检测店铺名称是否存在

   function CHECKSHOPNAME()

说明：

   检测店铺名称是否存在
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 店铺名称
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测店铺名称是否存在
    if gNPC:CHECKSHOPNAME(gObject, gPlayer, '<$STR(S1)>') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '<$STR(S1)>店铺名称已经存在')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '<$STR(S1)>店铺名称不存在')


检测自己和宝宝之间的距离

检测自己和宝宝之间的距离

   function CHECKSLAVEINRANGE()

说明：

   检测自己和宝宝之间的距离(此命令的主要作用是配合128类型的宝宝使用(可模仿押镖任务))
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 名称
参数四 | integer | 距离
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测自己和宝宝之间的距离
    if gNPC:CHECKSLAVEINRANGE(gObject, gPlayer, '死灵骷髅', 5) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的宝宝在身边')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的宝宝不在身边')


检测指定范围内人物数量

检测指定范围内人物数量

   function CHECKRANGEHUMCOUNT()

说明：

   检测指定范围内人物数量
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | integer | X坐标
参数五 | integer | Y坐标
参数六 | integer | 范围
参数七 | string | 检测符(> < =)
参数八 | integer | 数量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测指定范围内人物数量
    if gNPC:CHECKRANGEHUMCOUNT(gObject, gPlayer, '土', 175, 129, 10, '>', 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '盟重省当前人数超过1人')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '盟重省当前人数不超过1人')


检测人物是否在指定范围内

检测人物是否在指定范围内

   function CHECKHUMINRANGE()

说明：

   检测人物是否在指定范围内
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | integer | X坐标
参数五 | integer | Y坐标
参数六 | integer | 范围
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测人物是否在指定范围内
    if gNPC:CHECKHUMINRANGE(gObject, gPlayer, '土', 175, 129, 10) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你在盟重安全区发呆')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你不在盟重安全区发呆')


检测行会可以容纳多少成员

检测行会可以容纳多少成员

   function CHECKGUILDMEMBERMAXLIMITCOUNT()

说明：

   检测行会可以容纳多少成员
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 行会名称
参数四 | integer | 检测符(> < =)
参数五 | integer | 数量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测行会可以容纳多少成员
    if gNPC:CHECKGUILDMEMBERMAXLIMITCOUNT(gObject, gPlayer, '闯名堂', '>', 10) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的行会可以容纳成员数大于10个')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的行会不能容纳成员数大于10个')


检测当前装备是否附加了新属性

检测当前装备是否附加了新属性

   function CHECKNEWITEMVALUE()

说明：

   检测当前装备是否附加了新属性

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 位置(0-18)
参数四 | integer | 属性(0-5)
参数五 | integer | 检测符(> < =)
参数六 | integer | 值(0-100)
返回值 | boolean | 返回true或false
属性：
属性代码 | 描述
0 | 致命一击
1 | 攻击伤害增加
2 | 物理伤害增加
3 | 魔法伤害增加
4 | 攻击伤害反弹
5 | 人物体质增加

装备位置：
属性代码 | 描述
-1 | 升级框
boxitem0 - boxitem7 | 自定义OK框0-7
0 | 盔甲
1 | 武器
2 | 照明物(蜡烛)
3 | 项链
4 | 头盔
5 | 右手镯
6 | 左手镯
7 | 右戒指
8 | 左戒指
9 | 无(放护身符位置)
10 | 腰带
11 | 鞋子
12 | 宝石
13 | 斗笠
14 | 军鼓
15 | 马牌
16 | 盾牌
17 | 灵玉
18 | 时装衣服

使用示例：
function TestDemo()
    --检测当前装备是否附加了新属性
    if gNPC:CHECKNEWITEMVALUE(gObject, gPlayer, 1, 0, '>', 5) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的武器附加了5%的致命一击属性')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的武器没有附加5%的致命一击属性')


检测是不是在摆摊

检测是不是在摆摊

   function CHECKSHOPSTALLSTATUS()

说明：

   检测是不是在摆摊
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测是不是在摆摊
    if gNPC:CHECKSHOPSTALLSTATUS(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '正在摆摊')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '没有摆摊')


检测英雄当前的忠诚度

检测英雄当前的忠诚度

   function CHECKHEROLOYAL()

说明：

   检测英雄当前的忠诚度
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 数值(0-100)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测当前英雄是否在线
    if gNPC:CHECKHEROONLINE(gObject, gPlayer) then
        --检测英雄当前的忠诚度
        if gNPC:CHECKHEROLOYAL(gObject, gPlayer, '>', 50) then
            gNPC:MESSAGEBOX(gObject, gPlayer, '你的英雄忠诚度大于50%')
        else
            gNPC:MESSAGEBOX(gObject, gPlayer, '你的英雄忠诚度不大于50%')


检测是否是假人

检测是否是假人

   function ISDUMMY()

说明：

   检测是否是假人
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测是否是假人
    if gNPC:ISDUMMY(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前是假人')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前不是假人')


检查服务器假人数

检查服务器假人数

   function CHECKDUMMYCOUNT()

说明：

   检查服务器假人数
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 人数
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查服务器假人数
    if gNPC:CHECKDUMMYCOUNT(gObject, gPlayer, '>', 10) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '服务器假人数大于10人')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '服务器假人数不大于10人')


检查当前地图中的人物是否属于同一行会

检查当前地图中的人物是否属于同一行会

   function MAPHUMISSAMEGUILD()

说明：

   检查当前地图中的人物是否属于同一行会
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 是否忽略没有加人行会的人物(0-1)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查当前地图中的人物是否属于同一行会
    if gNPC:MAPHUMISSAMEGUILD(gObject, gPlayer, 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前地图中的人物属于同一个行会,不忽略没有加入行会的人物.')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前地图中的人物不属于同一个行会,不忽略没有加入行会的人物.')


检查人物杀死怪物的名字

检查人物杀死怪物的名字

   function CHECKKILLMONNAME()

说明：

   检查人物杀死怪物的名字，此命令检测后立即清除人物内置变量。
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 怪物名字
参数四 | integer | 是否清除(0 1) (说明:是否清除参数可以不需要默认0,为了避免杀死某个怪物可重复执行脚本是设置1)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物杀死怪物的名字
    if gNPC:CHECKKILLMONNAME(gObject, gPlayer, '黄牛') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你把黄牛干掉了')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你没有把黄牛干掉')


检查正在被自己攻击的怪物的名字

检查正在被自己攻击的怪物的名字

   function CHECKHITMONNAME()

说明：

   检查正在被自己攻击的怪物的名字(注意: 地图参数中加入 HITMON(@XXX) 配合Q-Function0.txt中使用命令)
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 怪物名字
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查正在被自己攻击的怪物的名字
    if gNPC:CHECKHITMONNAME(gObject, gPlayer, '黄牛') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你正在攻击黄牛')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你没有攻击黄牛')


检测人物是否是离线挂机

检测人物是否是离线挂机

   function CHECKOFFLINE()

说明：

   检测人物是否是离线挂机
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测人物是否是离线挂机
    if gNPC:CHECKOFFLINE(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '<$USERNAME>正在离线挂机')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '<$USERNAME>没有在离线挂机')


检测装备名字颜色

检测装备名字颜色

   function CHECKITEMNAMECOLOR()

说明：

   检测装备名字颜色
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置(0-13)
参数四 | integer | 颜色(0-255)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测装备名字颜色
    if gNPC:CHECKITEMNAMECOLOR(gObject, gPlayer, 1, 253) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '武器名字紫色显示')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '武器名字不是紫色显示')


检查是被怪物还是人物杀死的

检查是被怪物还是人物杀死的

   function KILLBYHUM()

说明：

   检查是被怪物还是人物杀死的(变量：<$KILLER> 可显示人物、怪物、等其他一切杀死自己的对象名称，使用此变量为综合变量！！！可用于人物名字变量和怪物名字变量、如:检查是被怪物还是人物杀死的. )
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查是被怪物还是人物杀死的
    if gNPC:KILLBYHUM(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '玩家 <$HumKiller> 在%m 把你干死了')
        gNPC:MESSAGEBOX(gObject, gPlayer, '玩家 <$KILLER> 在%m 把你干死了')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '怪物 <$MONKILLER> 在%m 把你干死了')
        gNPC:MESSAGEBOX(gObject, gPlayer, '怪物 <$KILLER> 在%m 把你干死了')


检测随机输入的验证码

检测随机输入的验证码

   function CHECKRANDOMNO()

说明：

   检测随机输入的验证码
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查是被怪物还是人物杀死的
    if gNPC:KILLBYHUM(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '玩家 <$HumKiller> 在%m 把你干死了')
        gNPC:MESSAGEBOX(gObject, gPlayer, '玩家 <$KILLER> 在%m 把你干死了')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '怪物 <$MONKILLER> 在%m 把你干死了')
        gNPC:MESSAGEBOX(gObject, gPlayer, '怪物 <$KILLER> 在%m 把你干死了')


检测背包中合成物品的材料是否足够

检测背包中合成物品的材料是否足够

   function CHECKFOUNDRYITEM()

说明：

   检测背包中合成物品的材料是否足够(合成系统需要在M2: 查看->列表信息2->铸造物品 添加物品列表)
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 物品名称
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测背包中合成物品的材料是否足够
    if gNPC:CHECKFOUNDRYITEM(gObject, gPlayer, '求婚戒指') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '物品足够')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '缺少合成材料')


检测行会成员人数

检测行会成员人数

   function CHECKGUILDMEMBERCOUNT()

说明：

   检测行会成员人数
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 数量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测背包中合成物品的材料是否足够
    if gNPC:CHECKFOUNDRYITEM(gObject, gPlayer, '求婚戒指') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '物品足够')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '缺少合成材料')


检测当前通过宝石升级装备的名字

检测当前通过宝石升级装备的名字

   function CHECKUPGRADEITEMNAME()

说明：

   检测当前通过宝石升级装备的名字(此命令只能在QFunction中的@ItemUpgarde下执行)
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 位置(0=升级装备的名字 1=左边一格宝石的名字)
参数四 | string | 名称
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测当前通过宝石升级装备的名字
    if gNPC:CHECKUPGRADEITEMNAME(gObject, gPlayer, 0, '裁决之杖') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '升级的名字为裁决之杖')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '升级的名字不是裁决之杖')


检测人物幸运值

检测人物幸运值

   function CHECKLUCKPOINT()

说明：

   检测人物幸运值
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 数量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测人物幸运值
    if gNPC:CHECKLUCKPOINT(gObject, gPlayer, '>', 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '幸运值大于1')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '幸运值不大于1')


检测背包中物品的纯度(持久,品质)

检测背包中物品的纯度(持久,品质)

声明：

   function CHECKMINE()

说明：

   检测背包中物品的纯度(持久,品质)
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 物品名称
参数四 | integer | 物品数量(1-45)
参数五 | string | 检测符(> < =)
参数六 | integer | 纯度(1-65)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测背包中物品的纯度(持久,品质)
    if gNPC:CHECKMINE(gObject, gPlayer, '黑铁矿石', 5, '=', 20) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '背包中有5个纯度20的黑铁矿石')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '背包中没有5个纯度20的黑铁矿石')


检查人物分身数量

检查人物分身数量

   function CHECKHEROCOUNT()

说明：

   检查人物分身数量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 数值
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物分身数量
    if gNPC:CHECKHEROCOUNT(gObject, gPlayer, '<', 1) then
        gNPC:RECALLSELF(gObject, gPlayer, 2)
        gNPC:MESSAGEBOX(gObject, gPlayer, '送你一个分身帮你作战2小时')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你当前已经有分身了')


检测是否已经学习某项技能

检测是否已经学习某项技能

   function CHECKMAGICNAME()

说明：

   检测是否已经学习某项技能
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 技能名称
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测是否已经学习某项技能
    if gNPC:CHECKMAGICNAME(gObject, gPlayer, '烈火剑法') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你已经学会了烈火剑法')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你还没有学会了烈火剑法')


检测最后杀死的怪物名称

检测最后杀死的怪物名称

   function CHECKKILLMOBNAME()

说明：

   检测最后杀死的怪物名称
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | String | 怪物名称
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测最后杀死的怪物名称
    if gNPC:CHECKKILLMOBNAME(gObject, gPlayer, '白野猪') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你最后杀死了白野猪')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你最后没有杀死白野猪')


检测被自己杀死的宝宝的名字

检测被自己杀死的宝宝的名字

   function CHECKKILLSLAVENAME()

说明：

   检测被自己杀死的宝宝的名字(此命令只检测直属宝宝,例如道士英雄召唤的神兽不属于直属宝宝)
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 宝宝名称
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测被自己杀死的宝宝的名字
    if gNPC:CHECKKILLSLAVENAME(gObject, gPlayer, '白野猪') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你把对方的宝宝<白野猪>杀死了')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你没有把对方的宝宝<白野猪>杀死了')


检测是否是指定行会的成员

检测是否是指定行会的成员

   function CHECKGUILDMEMBER()

说明：

   检测是否是指定行会的成员

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 行会名称
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测是否是指定行会的成员
    if gNPC:CHECKGUILDMEMBER(gObject, gPlayer, '闯名堂') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你是闯名堂成员')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你不是闯名堂成员')


检查人物的荣誉值

检查人物的荣誉值

   function CHECKNATIONCREDIT()

说明：

   检查人物的荣誉值

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 数值
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物的荣誉值
    if gNPC:CHECKNATIONCREDIT(gObject, gPlayer, '>', 100) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的荣誉值大于100点')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的荣誉值不大于100点')


检查人物的新游戏点数

检查人物的新游戏点数

   function CHECKGAMEGOLDEX()

说明：

   检查人物的新游戏点数

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 数值
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物的新游戏点数
    if gNPC:CHECKGAMEGOLDEX(gObject, gPlayer, '>', 5) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的新游戏点大于5点')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的新游戏点不大于5点')


检查各经络等级

检查各经络等级

   function CHECKPULSELEVEL()

说明：

   检查各经络等级

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 经络(0-3)
参数四 | string | 检测符(> < =)
参数五 | integer | 等级(1-5)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查各经络等级
    if gNPC:CHECKPULSELEVEL(gObject, gPlayer, 0, '>', 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '经络0的等级大于1级')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '经络0的等级不大于1级')


检查是否跨穴点击

检查是否跨穴点击

   function CHECKHUMANPULSE()

说明：

   检查是否跨穴点击

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 经络(0-3)
参数四 | integer | 穴位(1-5)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查是否跨穴点击
    if gNPC:CHECKHUMANPULSE(gObject, gPlayer, 0, 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '经络0穴位1点击')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '经络0穴位1没有点击')


检查打通穴位所需内功等级

检查打通穴位所需内功等级

   function CHECKOPENPULSELEVEL()

说明：

   检查打通穴位所需内功等级

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 经络(0-3)
参数四 | integer | 穴位(1-5)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查打通穴位所需内功等级
    if gNPC:CHECKOPENPULSELEVEL(gObject, gPlayer, 0, 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '打通穴位需要内功等级1')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '打通穴位不需要内功等级1')


检查副将英雄是否正在自我修炼

检查副将英雄是否正在自我修炼

   function CHECKHEROAUTOPRACTICE()

说明：

   检查副将英雄是否正在自我修炼

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查副将英雄是否正在自我修炼
    if gNPC:CHECKHEROAUTOPRACTICE(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的副将英雄正在进行自我修炼')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的副将英雄没有自我修炼')


检查当前在线英雄是否为副将英雄

检查当前在线英雄是否为副将英雄

   function CHECKDEPUTYHERO()

说明：

   检查当前在线英雄是否为副将英雄

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查当前在线英雄是否为副将英雄
    if gNPC:CHECKDEPUTYHERO(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前在线英雄为副将英雄')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前在线英雄不是副将英雄')


检查是否学过内功

检查是否学过内功

   function CHECKREADSKILLNG()

说明：

   检查是否学过内功

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查是否学过内功
    if gNPC:CHECKREADSKILLNG(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你已经学习过内功')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你还没有学习过内功')


检查内功等级

检查内功等级

   function CHECKNGLEVEL()

说明：

   检查内功等级

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 等级数(1-255)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查内功等级
    if gNPC:CHECKNGLEVEL(gObject, gPlayer, '>', 5) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的内功等级大于5级')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的内功等级不大于5级')


检测第四个连击技能是否开启

检测第四个连击技能是否开启

   function CHECKOPENLASTSKILL()

说明：

   检测第四个连击技能是否开启

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测第四个连击技能是否开启
    if gNPC:CHECKOPENLASTSKILL(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '第四个连击技能已经开启')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '第四个连击技能没有开启')


检测英雄职业

检测英雄职业

   function CHECKHEROJOB()

说明：

   检测英雄职业

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 职业(0:WARRIOR 1:WIZARD 2:TAOIST)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测英雄是否在线
    if gNPC:CHECKHEROONLINE(gObject, gPlayer) then
        --检测英雄职业
        if gNPC:CHECKHEROJOB(gObject, gPlayer, 2) then
            gNPC:MESSAGEBOX(gObject, gPlayer, '你英雄的职业是道士')
        else
            gNPC:MESSAGEBOX(gObject, gPlayer, '你英雄的职业不是道士')


检测英雄是否在线

检测英雄是否在线

   function CHECKHEROONLINE()

说明：

   检测英雄是否在线

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测英雄是否在线
    if gNPC:CHECKHEROONLINE(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的英雄已经在线')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的英雄不在线')


检查人物是否在攻城区域

检查人物是否在攻城区域

   function CHECKINWARAREA()

说明：

   检查人物是否在攻城区域

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物是否在攻城区域
    if gNPC:CHECKINWARAREA(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '在攻城区域')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '不在攻城区域')


检测装备绑定状态

检测装备绑定状态

   function CHECKITEMSTATE()

说明：

   检测装备绑定状态

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置(-1~13,-1时为OK框中物品)
参数四 | integer | 项目(0为正常 1为绑定)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测装备绑定状态
    if gNPC:CHECKITEMSTATE(gObject, gPlayer, 0, 0) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '该装备已经设置过禁止扔')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '没有绑定禁止扔掉')


检测人物PK值

检测人物PK值

   function CHECKPKPOINTEX()

说明：

   检测人物PK值

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 数量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测人物PK值
    if gNPC:CHECKPKPOINTEX(gObject, gPlayer, '>', 0) then
        gNPC:MESSAGEBOX(gObject, gPlayer, 'PK值大于100')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, 'PK值小于100')


检测人物的伤害吸收

检测人物的伤害吸收

   function CHECKSUCKDAMAGE()

说明：

   检测人物的伤害吸收

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 数量(1-2000000000)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测人物的伤害吸收
    if gNPC:CHECKSUCKDAMAGE(gObject, gPlayer, '>', 1000) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你当前拥有的伤害吸收大于1000点')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你当前拥有的伤害吸收小于1000点')


检查地图假人数量

检查地图假人数量

   function CHECKMAPDUMMYCOUNT()

说明：

   检查地图假人数量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | string | 检测符(> < =)
参数五 | integer | 数量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查地图假人数量
    if gNPC:CHECKMAPDUMMYCOUNT(gObject, gPlayer, '土', '>', 5) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前土城假人数量大于5人')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前土城假人数量小于5人')


检查是否是某个行会的掌门人

检查是否是某个行会的掌门人

   function CHECKGUILDMASTER()

说明：

   检查是否是某个行会的掌门人

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 行会名称
参数四 | string | 角色名称(可为空，为空检测当前人物，不为空检测角色名称)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查是否是某个行会的掌门人
    if gNPC:CHECKGUILDMASTER(gObject, gPlayer, '闯名堂', '无敌') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '无敌是闯名堂行会掌门人')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '无敌不是闯名堂行会掌门人')


检查人物所在地图是否允许使用记忆 夫妻 师徒传送

检查人物所在地图是否允许使用记忆 夫妻 师徒传送

   function CHECKRECALL()

说明：

   检查人物所在地图是否允许使用记忆 夫妻 师徒传送

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 角色名称
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物所在地图是否允许使用记忆 夫妻 师徒传送
    if gNPC:CHECKRECALL(gObject, gPlayer, '无敌') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前地图不允许被传送')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前地图允许被传送')


检查正在取下身上装备名称

检查正在取下身上装备名称

   function CHECKTAKEOFFITEM()

说明：

   检查正在取下身上装备名称

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 物品名称
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查正在取下身上装备名称
    if gNPC:CHECKTAKEOFFITEM(gObject, gPlayer, '布衣(男)') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你正在取下你的布衣')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的布衣是不是扔掉了')


检测服务器最高属性人物

检测服务器最高属性人物

   function ISHIGH()

说明：

   检测服务器最高属性人物

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 属性类别
返回值 | boolean | 返回true或false
属性类别：
类别 | 描述
L | 级别最高
P | PK值最高
D | 攻击最高
M | 魔法最高
S | 道术最高

使用示例：
function TestDemo()
    --检测服务器最高属性人物
    if gNPC:ISHIGH(gObject, gPlayer, 'P') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的PK值是全服最高的')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的PK值不是全服最高的')


检测指定人物背包空格数量

检测指定人物背包空格数量

   function CHECKHUMBAG()

说明：

   检测指定人物背包空格数量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 人物名称
参数四 | integer | 数量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测指定人物背包空格数量
    if gNPC:CHECKHUMBAG(gObject, gPlayer, '无敌', 5) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的背包有5个以上的空格')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的背包没有5个以上的空格')


检查人物是否有英雄

检查人物是否有英雄

   function CHECKHAVEHERO()

说明：

   检查人物是否有英雄

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物是否有英雄
    if gNPC:CHECKHAVEHERO(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你已经有英雄了')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你还没有英雄')


检查英雄当前等级

检查英雄当前等级

   function CHECKHEROLEVEL()

说明：

   检查英雄当前等级

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 级别(1-65535)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查英雄当前等级
    if gNPC:CHECKHEROLEVEL(gObject, gPlayer, '=', 50) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的英雄已经50级了')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的英雄没有50级')


检测英雄的PK值

检测英雄的PK值

   function CHECKHEROPKPOINT()

说明：

   检测英雄的PK值

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 数值
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测英雄的PK值
    if gNPC:CHECKHEROPKPOINT(gObject, gPlayer, '>', 100) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '英雄的PK值大于100点')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '英雄的PK值小于100点')


检测英雄的伤害吸收

检测英雄的伤害吸收

   function CHECKHEROSUCKDAMAGE()

说明：

   检测英雄的伤害吸收

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 数量(1-2000000000)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测英雄的伤害吸收
    if gNPC:CHECKHEROSUCKDAMAGE(gObject, gPlayer, '>', 1000) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的英雄当前拥有的伤害吸收大于1000点')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的英雄当前拥有的伤害吸收小于1000点')


检测通过宝石升级装备的次数

检测通过宝石升级装备的次数

   function CHECKITEMUPGRADECOUNT()

说明：

   检测通过宝石升级装备的次数

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 方式(方式=0时检测正在升级的装备;方式=1时检测人物身上的装备)
参数四 | integer | 位置(0-12)
参数五 | string | 检测符(> < =)
参数六 | integer | 次数(0-255)
返回值 | boolean | 返回true或false

使用示例：
function TestDemoTestDemo()
    --检测通过宝石升级装备的次数
    if gNPC:CHECKITEMUPGRADECOUNT(gObject, gPlayer, 1, 1, '>', 10) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的武器已经升级了10次以上')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的武器还没有升级这么多次')


检测人物的攻击模式

检测人物的攻击模式

   function CHECKATTACKMODE()

说明：

   检测人物的攻击模式

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 模式(0-7)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测人物的攻击模式
    if gNPC:CHECKATTACKMODE(gObject, gPlayer, 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你当前是和平攻击模式')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你当前不是和平攻击模式')


检测是否是本月的第几天

检测是否是本月的第几天

   function DAYOFMONTH()

说明：

   检测是否是本月的第几天

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 天数(1-31)
参数四 | integer | 天数(1-31)此参数可以省略
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    -- 检测是否本月的前七天
    if gNPC:DAYOFMONTH(gObject, gPlayer, 1, 10) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '本月10号之前')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '本月10号之后')
    end

    -- 检测是否是本月的第一天
    if gNPC:DAYOFMONTH(gObject, gPlayer, 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '今天是1号')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '今天不是1号')


检测人物身上物品持久

检测人物身上物品持久

   function CHECKITEMDURA()

说明：

   检测人物身上物品持久

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 位置(0-12)
参数四 | integer | 检测符(> < =)
参数五 | string | 持久(1-65000)除以1000等于实际持久
参数六 | integer | 模式(0-1)默认模式=0表示检测物品持久下限；模式=1时检测物品持久上限
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    -- 检测人物身上物品持久
    if gNPC:CHECKITEMDURA(gObject, gPlayer, 1, '>', 30000, 0) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '武器持久下限大于30')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '武器持久下限小于30')


检测现在是几月

检测现在是几月

   function MONTHOFYEAR()

说明：

   检测现在是几月

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 月份(1-12)
参数四 | integer | 月份(1-12)此参数可以省略
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测是否7月--8月
    if gNPC:MONTHOFYEAR(gObject, gPlayer, 7, 8) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '现在是暑假期间')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '现在不是暑假了')
    end

    --检测是否1月
    if gNPC:MONTHOFYEAR(gObject, gPlayer, 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '新的一年开始了')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '还没有开始新的一年')


检查人物被踢次数

检查人物被踢次数

   function CHECKNUMOFKICK()

说明：

   检查人物被踢次数

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 次数
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物被踢次数
    if gNPC:CHECKNUMOFKICK(gObject, gPlayer, 2) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你已经被踢下线至少2次了')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你没有被踢这么多次')


检测是否加入国家

检测是否加入国家

   function CHECKNATION()

说明：

   检测是否加入国家

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 国家编号
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测是否加入国家
    if gNPC:CHECKNATION(gObject, gPlayer, 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你是编号1国家的人')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你不是编号1国家的人')


检查国家人数

检查国家人数

   function CHECKNATIONHUMCOUNT()

说明：

   检查国家人数

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 人数
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查国家人数
    if gNPC:CHECKNATIONHUMCOUNT(gObject, gPlayer, '>', 100) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的国家人数超过100人了')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的国家没有那么强大')


检测装备的附加属性总和

检测装备的附加属性总和

   function CHECKITEMADDVALUEEX()

说明：

   检测装备的附加属性总和(武器的诅咒不在计算范围之内)

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 位置(0-51，-1升级框，boxitem0-boxitem7自定义OK框)
参数四 | string | 检测符(> < =)
参数五 | integer | 附加值(0-65000)
参数六 | integer | 新属性(0,1)此参数只在英雄M2下有效,1时计算附加的致命一击等属性
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测装备的附加属性总和
    if gNPC:CheckItemAddValueEx(gObject, gPlayer, 2, '>', 5, 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '武器的附加属性大于5点')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '武器的附加属性小于5点')


检查人物组队人数

检查人物组队人数

   function CHECKGROUPMEMBERCOUNT()

说明：

   检查人物组队人数

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 数量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物组队人数
    if gNPC:CHECKGROUPMEMBERCOUNT(gObject, gPlayer, '>', 5) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '组队人数大于5个人')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '组队人数小于5个人')


检测技能修炼点数

检测技能修炼点数

   function CHECKTRANPOINT()

说明：

   检测技能修炼点数

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 技能名称
参数四 | string | 检测符(> < =)
参数五 | integer | 点数
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测技能修炼点数
    if gNPC:CHECKTRANPOINT(gObject, gPlayer, '刺杀剑术', '>', 9) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '刺杀剑术的技能修炼点大于10')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '刺杀剑术的技能修炼点小于10')


检测地图标识状态

检测地图标识状态

   function CHECKMAPQUEST()

说明：

   检测地图标识状态。说明:地图代码支持填写(NPCMAP = 取NPC所在地图， SELF = 取人物当前所在地图， FBMAP = 取人物所在副本地图)

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | string | 地图标识
参数五 | integer | 0或1
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测地图3的标识100是否为1
    if gNPC:CHECKMAPQUEST(gObject, gPlayer, '3', '[100]', 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '地图3的100标识为1')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '地图3的100标识不为1')


检查人物多少时间没有移动

检查人物多少时间没有移动

   function CHECKSTATIONTIME()

说明：

   检查人物多少时间没有移动

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 分钟
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查人物多少时间没有移动
    if gNPC:CHECKSTATIONTIME(gObject, gPlayer, '>', 50) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你已经有50分钟没有移动了，系统将你踢下线')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你已经很活跃了')


检查包裹是否有指定叠加物品

检查包裹是否有指定叠加物品

   function CHECKKIMNEEDLE()

说明：

   检查包裹是否有指定叠加物品

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 物品名称
参数四 | integer | 数量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查包裹是否有指定叠加物品
    if gNPC:CHECKKIMNEEDLE(gObject, gPlayer, '黑色水晶', 10) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的包裹有叠加的')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的包裹没有')


检测自身血量百分比

检测自身血量百分比

   function CHECKHPPER()

说明：

   检测自身血量百分比

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 占比类型(留空或0百分比/1千分比/2万分比)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测自身血量百分比
    if gNPC:CHECKHPPER(gObject, gPlayer, '>', 30) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的血量在总血量的30%以上')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的血量没有总血量的30%以上')


检测自身蓝量百分比

检测自身蓝量百分比

   function CHECKMPPER()

说明：

   检测自身蓝量百分比

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 占比类型(留空或0百分比/1千分比/2万分比)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测自身蓝量百分比
    if gNPC:CHECKMPPER(gObject, gPlayer, '>', 30) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的蓝量在总蓝量的30%以上')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的蓝量没有总蓝量的30%以上')


检测伴侣是否在线

检测伴侣是否在线

   function CHECKDEARONLINE()

说明：

   检测伴侣是否在线

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测伴侣是否在线
    if gNPC:CHECKDEARONLINE(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的伴侣当前在线')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的伴侣当前不在线')


检测伴侣是否在同一地图

检测伴侣是否在同一地图

   function CHECKDEARONMAP()

说明：

   检测伴侣是否在同一地图

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测伴侣是否在同一地图
    if gNPC:CHECKDEARONMAP(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的伴侣和你在同一地图')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的伴侣和你不在同一地图')


特修装备

特修装备

   function CHECKREPAIRALLGOLD()

说明：

   特修装备(在物品规则列表中限制物品的不会被修理)

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 价格变量(统计需要修理装备数据库设置价格*特修价格)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --特修装备
    if gNPC:CHECKREPAIRALLGOLD(gObject, gPlayer, '<$STR(N99)>') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的特修金币够了')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '修理需要<$STR(N99)>金币')


检测人物12个神佑格是否开启

检测人物12个神佑格是否开启

   function CHECKOPENGODBLESS()

说明：

   检测人物12个神佑格是否开启

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 神佑格位置(0-11)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测人物12个神佑格是否开启
    if gNPC:CHECKOPENGODBLESS(gObject, gPlayer, 0) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '0格神佑已经开启')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '0格神佑没有开启')


检测人物装备界面是否已经点亮神佑图标

检测人物装备界面是否已经点亮神佑图标

   function CHECKOPENGODBLESS()

说明：

   检测人物装备界面是否已经点亮神佑图标

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测人物装备界面是否已经点亮神佑图标
    if gNPC:CHECKOPENGODBLESS(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '神佑图标已经点亮')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '神佑图标没有点亮')


检查玩家是否有指定称号

检查玩家是否有指定称号

   function CHECKFENGHAO()

说明：

   检查玩家是否有指定称号

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 称号名称(也就是在物品数据库增加的称号物品名称)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查玩家是否有指定称号
    if gNPC:CHECKFENGHAO(gObject, gPlayer, '巅峰战神') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你已经有巅峰战神的称号了')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你没有巅峰战神的称号')


检查玩家所有称号的数量

检查玩家所有称号的数量

   function CHECKFENGHAOCOUNT()

说明：

   检查玩家所有称号的数量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 数量(0-255)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查玩家所有称号的数量
    if gNPC:CHECKFENGHAOCOUNT(gObject, gPlayer, '<', 8) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的称号个数小于8个')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的称号个数大于8个')


检测当前玩家登陆的分辨率

检测当前玩家登陆的分辨率

   function CHECKCLIENTWIDTH()

说明：

   检测当前玩家登陆的分辨率-宽度

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 数值
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测当前玩家登陆的分辨率-宽度
    if gNPC:CHECKCLIENTWIDTH(gObject, gPlayer, '=', 1024) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的游戏窗口宽1024')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的游戏窗口宽不是1024')


检测当前玩家登陆的分辨率

检测当前玩家登陆的分辨率

   function CHECKCLIENTHEIGHT()

说明：

   检测当前玩家登陆的分辨率-高度

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 数值
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测当前玩家登陆的分辨率-高度
    if gNPC:CHECKCLIENTHEIGHT(gObject, gPlayer, '=', 800) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的游戏窗口高800')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的游戏窗口高不是800')


检测称号的元素属性

检测称号的元素属性

   function CHECKNEWFENGHAOVALUE()

说明：

   检测称号的元素属性

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 称号名称
参数四 | integer | 属性(0-20)
参数五 | string | 检测符(> < =)
参数六 | integer | 属性值(1-100)
返回值 | boolean | 返回true或false

元素属性：
属性代码 | 描述
0 | 暴击几率增加 1~100%
1 | 增加攻击伤害 1~100%
2 | 物理伤害减少 1~100%
3 | 魔法伤害减少 1~100%
4 | 忽视目标防御 1~100%
5 | 所有伤害反弹 1~100%
6 | 增加目标暴率 1~100%
7 | 人物体力增加 1~100%
8 | 人物魔力增加 1~100%
9 | 怒气恢复增加 1~100%
10 | 合击攻击增加 1~100%
11 | 怪物暴率增加 1~100%
12 | 防暴几率增加 1~100%
13 | 防止麻痹增加 1~100%
14 | 防止护身增加 1~100%
15 | 防止复活增加 1~100%
16 | 防止全毒增加 1~100%
17 | 防止诱惑增加 1~100%
18 | 防止火墙增加 1~100%
19 | 防止冰冻增加 1~100%
20 | 防止蛛网增加 1~100%

使用示例：
function TestDemo()
    --检测称号的元素属性
    if gNPC:CHECKNEWFENGHAOVALUE(gObject, gPlayer, '巅峰战神', 0, '>', 10) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '称号巅峰战神暴击几率增加大于10%')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '称号巅峰战神暴击几率增加小于10%')


检测是否被人物杀死

检测是否被人物杀死

   function CHECKKILLBYHUM()

说明：

   检测是否被人物杀死

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测是否被人物杀死
    if gNPC:CHECKKILLBYHUM(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '玩家 <$KILLER> 在%m 把你干死了')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '怪物 <$KILLER> 在%m 把你干死了')


检测师父(或徒弟)是否在线

检测师父(或徒弟)是否在线

   function CHECKMASTERONLINE()

说明：

   检测师父(或徒弟)是否在线

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 徒弟序号(为空表示大徒弟)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测师父(或徒弟)是否在线
    if gNPC:CHECKMASTERONLINE(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的师父(徒弟)在线')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的师父(徒弟)不在线')


检测师傅(或徒弟)是否在XXX地图

检测师傅(或徒弟)是否在XXX地图

   function CHECKMASTERONMAP()

说明：

   检测师傅(或徒弟)是否在XXX地图

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码 支持SELF（是否同一地图)
参数四 | integer | 徒弟序号(为空表示大徒弟)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测师傅(或徒弟)是否在XXX地图
    if gNPC:CHECKMASTERONMAP(gObject, gPlayer, 'N3') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的师父(徒弟)在盟重')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的师父(徒弟)不在盟重')


检测自己是否是徒弟

检测自己是否是徒弟

   function CHECKISPRENTICE()

说明：

   检测自己是否是徒弟

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测自己是否是徒弟
    if gNPC:CHECKISPRENTICE(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你是徒弟')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你不是徒弟')


检测对面是否为自己的徒弟

检测对面是否为自己的徒弟

   function CHECKPOSEISPRENTICE()

说明：

   检测对面是否为自己的徒弟

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测对面是否为自己的徒弟
    if gNPC:CHECKPOSEISPRENTICE(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '对面的人是你的徒弟')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '对面的人不是你的徒弟')


检测打孔数量

检测打孔数量

   function CHECKFLUTECOUNT()

说明：

   检测打孔数量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 位置(-1：升级框,0-25：装备栏,30-35：首饰盒,40-51：神佑袋,boxitem0-boxitem7：OK框)
参数四 | string | 检测符(> < =)
参数五 | integer | 数量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测打孔数量
    if gNPC:CHECKFLUTECOUNT(gObject, gPlayer, 0, '>', 2) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的衣服打孔数量大于2个')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的衣服打孔数量小于2个')


检测物品镶嵌宝石数量

检测物品镶嵌宝石数量

   function CHECKITEMSTONECOUNT()

说明：

   检测物品镶嵌宝石数量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 位置(-1：升级框,0-25：装备栏,30-35：首饰盒,40-51：神佑袋,boxitem0-boxitem7：OK框)
参数四 | string | 检测符(> < =)
参数五 | integer | 数量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测物品镶嵌宝石数量
    if gNPC:CHECKITEMSTONECOUNT(gObject, gPlayer, 0, '>', 2) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的衣服镶嵌宝石大于2个')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的衣服镶嵌宝石小于2个')


检测装备星星数量

检测装备星星数量

   function CHECKUPGRADECOUNT()

说明：

   检测装备星星数量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 物品位置(-1：升级框中星星数量；-2：全身星星数量；boxitem0-boxitem7：自定义OK框；0-29：身上装备；30-35：首饰盒；40-51：生肖盒)
参数四 | integer | 星星数量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测装备星星数量
    if gNPC:CHECKUPGRADECOUNT(gObject, gPlayer, 5, '>', 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '武器星星数量大于1个')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '武器星星数量小于1个')


检测背包是否有指定物品

检测背包是否有指定物品

   function CHECKITEMS()

说明：

   检测背包是否有指定物品

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 装备名称
参数四 | integer | 数量
参数五 | integer | 检测身上是否有相同装备（包含检查装备，首饰，神佑）
参数六 | integer | 装备总量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测背包是否有指定物品
    if gNPC:CHECKITEMS(gObject, gPlayer, '传送戒指', 2) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你身上有2个传送戒指')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你身上没有2个传送戒指')


检测身上指定装备名字获取looks保存到变量

检测身上指定装备名字获取looks保存到变量

   function CHECKITEMWLOOKS()

说明：

   检测身上指定装备名字获取looks保存到变量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 装备名称
参数四 | string | 变量名(可以不填)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测身上指定装备名字获取looks保存到变量
    if gNPC:CHECKITEMWLOOKS(gObject, gPlayer, '传送戒指', 'N0') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '传送戒指的LOOKS值为<$STR(N0)>')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '没有获取到')


检测OK框中是否有物品

检测OK框中是否有物品

   function CHECKBOXITEMCOUNT()

说明：

   检测OK框中是否有物品

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | OK框编号(0-7)
参数四 | integer | 物品数量(该参数只有是叠加物品时才会有效)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测OK框中是否有物品
    if gNPC:CHECKBOXITEMCOUNT(gObject, gPlayer, 0, 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, 'ok框中有1个物品')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, 'ok框中没有物品')


检测是否骑马状态

检测是否骑马状态

   function CHECKONHORSE()

说明：

   检测是否骑马状态

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测是否骑马状态
    if gNPC:CHECKONHORSE(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你是骑马状态')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你不是骑马状态')


检测装备是否镶嵌指定宝石

检测装备是否镶嵌指定宝石

   function CHECKITEMHASSTONE()

说明：

   检测装备是否镶嵌指定宝石

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | string | 宝石名称
参数五 | integer | 数量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测装备是否镶嵌指定宝石
    if gNPC:CHECKITEMHASSTONE(gObject, gPlayer, 0, '红宝石', 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的盔甲镶嵌1颗红宝石')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的盔甲没有镶嵌红宝石')


检测称号是否激活

检测称号是否激活

   function CHECKACTIVEFENGHAO()

说明：

   检测称号是否激活

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 称号名称
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测称号是否激活
    if gNPC:CHECKACTIVEFENGHAO(gObject, gPlayer, '巅峰战神') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的称号已经激活')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的称号没有激活')


检测进度条是否开启

检测进度条是否开启

   function CHECKCUSTOMITEMPROGRESSBAR()

说明：

   检测进度条是否开启

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 进度条序号(0=进度条1 1=进度条2)
参数五 | integer | 检测类型(0-3)
返回值 | boolean | 返回true或false
检测类型：
检测类型 | 描述
0 | 进度条最大值
1 | 进度当前值
2 | 进度条当前百分比
3 | 进度条等级

使用示例：
function TestDemo()
    --检测进度条是否开启
    if gNPC:CHECKCUSTOMITEMPROGRESSBAR(gObject, gPlayer, 1, 0) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '武器的第一个进度条已经开启')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '武器的第一个进度条没有开启')


检测进度条值

检测进度条值

   function CHECKCUSTOMITEMPROGRESSBARVALUE()

说明：

   检测进度条值

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 进度条序号(0=进度条1 1=进度条2)
参数五 | integer | 检测类型(0-3)
参数六 | string | 检测符(> < =)
参数七 | integer | 检测值
返回值 | boolean | 返回true或false
检测类型：
检测类型 | 描述
0 | 进度条最大值
1 | 进度当前值
2 | 进度条当前百分比
3 | 进度条等级

使用示例：
function TestDemo()
    --检测进度条值
    if gNPC:CHECKCUSTOMITEMPROGRESSBARVALUE(gObject, gPlayer, 1, 0, 0, '>', 99) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '武器的第一个进度条最大值大于99')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '武器的第一个进度条最大值小于99')


检测自定义装备属性值

检测自定义装备属性值

   function CHECKCUSTOMITEMVALUE()

说明：

   检测自定义装备属性值

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 属性位置(0-9)
参数五 | string | 检测符(> < =)
参数六 | integer | 检测值
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测自定义装备属性值
    if gNPC:CHECKCUSTOMITEMVALUE(gObject, gPlayer, 1, 0, '>', 10) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '武器的第一个自定义属性值大于10')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '武器的第一个自定义属性值小于10')


检测自定义装备属性绑定类型

检测自定义装备属性绑定类型

   function CHECKCUSTOMITEMBINDTYPE()

说明：

   检测自定义装备属性绑定类型

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 属性位置(0-9)
参数五 | string | 检测符(> < =)
参数六 | integer | 绑定类型值(0-17)
返回值 | boolean | 返回true或false
绑定类型值：
绑定类型值 | 描述
0 | 没有绑定
1 | 绑定AC
2 | 绑定MAC
3 | 绑定DC
4 | 绑定MC
5 | 绑定SC
6 | 绑定MaxHP
7 | 绑定MaxMP
8-17 | 为10个无属性的

使用示例：
function TestDemo()
    --检测自定义装备属性绑定类型
    if gNPC:CHECKCUSTOMITEMBINDTYPE(gObject, gPlayer, 1, 0, '>', 0) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '武器的第一个自定义属性值没有绑定')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '武器的第一个自定义属性值绑定了')


检测包裹中物品的数量

检测包裹中物品的数量

   function CHECKBAGITEMCOUNTEX()

说明：

   检测包裹中物品的数量(排除已经放入自定义OK框的物品)

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 物品名称
参数四 | integer | 数量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测包裹中物品的数量
    if gNPC:CHECKBAGITEMCOUNTEX(gObject, gPlayer, '布衣(男)', 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的包裹里面的布衣(男)有1个')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的包裹里面的布衣(男)没有1个')


检查正在穿身上装备的名称

检查正在穿身上装备的名称

   function CHECKTAKEONITEM()

说明：

   检查正在穿身上装备的名称

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 物品名称
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查正在穿身上装备的名称
    if gNPC:CHECKTAKEONITEM(gObject, gPlayer, '布衣(男)') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你正在穿布衣(男)')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你没有正在穿布衣(男)')


检测人物全身镶嵌指定宝石数量

检测人物全身镶嵌指定宝石数量

   function CHECKSTONECOUNT()

说明：

   检测人物全身镶嵌指定宝石数量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 宝石名称
参数四 | string | 检测符(> < =)
参数五 | integer | 数量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测人物全身镶嵌指定宝石数量
    if gNPC:CHECKSTONECOUNT(gObject, gPlayer, '红宝石', '>', 0) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的全身镶嵌红宝石大于0个')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的全身还没有镶嵌红宝石吧')


检测装备对应的孔位置是否有宝石

检测装备对应的孔位置是否有宝石

   function CHECKITEMFLUTEINDEXHASSTONE()

说明：

   检测装备对应的孔位置是否有宝石

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 孔位置(1-8)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测装备对应的孔位置是否有宝石
    if gNPC:CHECKITEMFLUTEINDEXHASSTONE(gObject, gPlayer, 0, 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的盔甲第一个孔有镶嵌宝石')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的盔甲第一个孔没有镶嵌宝石')


检查是否是国王

检查是否是国王

   function ISNATIONKING()

说明：

   检查是否是国王

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 国家编号(为空表示所有国家)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查是否是国王
    if gNPC:ISNATIONKING(gObject, gPlayer, 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你是编号1国家的国王')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你不是编号1国家的国王')


检测国家名字是否被使用

检测国家名字是否被使用

   function CHECKNATIONNAMEEXISTS()

说明：

   检测国家名字是否被使用

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 国家名称
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测国家名字是否被使用
    if gNPC:CHECKNATIONNAMEEXISTS(gObject, gPlayer, '<$STR(S60)>') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '国家已经存在')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '国家未被使用')


检测验证码

检测验证码

   function CANVERIFYCODE()

说明：

   检测验证码

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测验证码
    if gNPC:CANVERIFYCODE(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '开始检测')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '检测失败')


检测验证码是否通过

检测验证码是否通过

   function CHECKVERIFYCODE()

说明：

   检测验证码是否通过

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测验证码是否通过
    if gNPC:CHECKVERIFYCODE(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '验证通过')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '验证失败')


检查是否为镜像地图

检查是否为镜像地图

   function CHECKMIRRORMAP()

说明：

   检查是否为镜像地图

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检查是否为镜像地图
    if gNPC:CHECKMIRRORMAP(gObject, gPlayer, '108') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '绿野仙踪是镜像地图')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '绿野仙踪不是镜像地图')


检测仓库是否开启

检测仓库是否开启

   function CHECKSTORAGEOPEN()

说明：

   检测仓库是否开启

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 仓库号(2,3,4)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测仓库是否开启
    if gNPC:CHECKSTORAGEOPEN(gObject, gPlayer, 2) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '2号仓库已经开启')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '2号仓库没有开启')


检测是否创建副本

检测是否创建副本

   function CANMOVEECTYPE()

说明：

   检测是否创建副本

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 副本名称
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测是否创建副本
    if gNPC:CANMOVEECTYPE(gObject, gPlayer, '沃玛寺庙单人') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你已创建了一个沃玛寺庙普通单人副本，不能重复创建!')


扩展NPC脚本点击触发检查参数是否是这几组

扩展NPC脚本点击触发检查参数是否是这几组

   function CHECKSCRIPTPARAM()

说明：

   扩展NPC脚本点击触发检查参数是否是这几组

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 触发参数
返回值 | string | 返回触发参数值

使用示例：
function TestDemo()
    --扩展NPC脚本点击触发检查参数是否是这几组
    if gNPC:CHECKSCRIPTPARAM(gObject, gPlayer, 1, 2, 3) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '<$SCRIPTPARAM1>,<$SCRIPTPARAM2>,<$SCRIPTPARAM3>')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '非法参数')


检测对面的有没有徒弟

检测对面的有没有徒弟

   function POSEHAVEPRENTICE()

说明：

   检测对面的有没有徒弟

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测对面的有没有徒弟
    if gNPC:POSEHAVEPRENTICE(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '对面有徒弟')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '对面没有徒弟')


检测人物在指定排行榜中的名次

检测人物在指定排行榜中的名次

   function CHECKSELFRANKNO()

说明：

   检测人物在指定排行榜中的名次

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 榜单(1-等级榜 2-战士榜 3-法师榜 4-道士榜)
参数四 | string | 检测符(> < =)
参数五 | integer | 名次
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测人物在战士榜中的名次
    if gNPC:CHECKSELFRANKNO(gObject, gPlayer, 2, '<', 3) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '我在战士榜中排名前三')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '我在战士榜中排名不在前三')


获取地图中某怪物的坐标

获取地图中某怪物的坐标

   function CHECKMAPMONINFO()

说明：

   获取地图中某怪物的坐标

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | string | 怪物名称
参数五 | string | X坐标(可使用变量)
参数六 | string | Y坐标(可使用变量)
参数七 | integer | 允许获取改名怪物(1获取，0或空为不获取)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --获取地图中某怪物的坐标
    if gNPC:CHECKMAPMONINFO(gObject, gPlayer, '108', '黄牛', 'N1', 'N2') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '绿野仙踪有黄牛在<$STR(N1)>:<$STR(N2)>')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '绿野仙踪没有黄牛')


检测是否召唤捡物精灵

检测是否召唤捡物精灵

   function CHECKCALLGAMEPET()

说明：

   检测是否召唤捡物精灵

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测是否召唤捡物精灵
    if gNPC:CHECKCALLGAMEPET(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你已经召唤过了')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你还没有召唤')


检测宠物等级

检测宠物等级

   function CHECKGAMEPETLEVEL()

说明：

   检测宠物等级

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | integer | 等级
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测宠物等级
    if gNPC:CHECKGAMEPETLEVEL(gObject, gPlayer, '>', 2) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的宠物大于2级')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的宠物小于2级')


检测宠物技能

增加人物帐号在列表中

   function ADDACCOUNTLIST()

说明：

   增加人物帐号在列表中
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
返回值 |  | 无

使用示例：
function TestDemo()
    --检测人物帐号是否在列表中
    if gNPC:CHECKACCOUNTLIST(gObject, gPlayer, 'AccountList.txt') then
        --删除人物帐号在列表中
        gNPC:DELACCOUNTLIST(gObject, gPlayer, 'AccountList.txt')
    else
        --增加人物帐号在列表中
        gNPC:ADDACCOUNTLIST(gObject, gPlayer, 'AccountList.txt')


检测时装外显是否开启

检测时装外显是否开启

   function CHECKSHOWFASHION()

说明：

   检测时装外显是否开启

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测时装外显是否开启
    if gNPC:CHECKSHOWFASHION(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '时装外显开启')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '时装外显没有开启')


检测自己是否在出售中

检测自己是否在出售中

   function CHECKISSELLPLAYER()

说明：

   检测自己是否在出售中

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测自己是否在出售中
    if gNPC:CHECKISSELLPLAYER(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你已经在出售中')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你没有被出售')


检测自己是否为角色出售委托人

检测自己是否为角色出售委托人

   function CHECKISSELLPLAYDELEGATOR()

说明：

   检测自己是否为角色出售委托人

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测自己是否为角色出售委托人
    if gNPC:CHECKISSELLPLAYDELEGATOR(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你是别人的委托人，不能出售')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你不是别人的委托人，可以出售')


取字符测所在位置且返回内容

取字符测所在位置且返回内容

   function GETSTRINGPOSEX()

说明：

   取字符测所在位置且返回内容

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | string | 检测字符(支持变量、支持大小写字母、支持数字)
参数五 | string | 行数变量 N1返回检测的字符所在的行数(N变量不是固定，可以更换其它数字型变量)
参数六 | string | 文本变量 S1返回检测的字符所在的行数(S变量不是固定，可以更换其它字符型变量)
参数七 | integer | 是否绝对路径(0:相对路径 1:绝对路径)两种模式
返回值 | string | 返回取得的字符内容

使用示例：
function TestDemo()
    --取字符测所在位置且返回内容
    if gNPC:GETSTRINGPOSEX(gObject, gPlayer, '..\\QuestDiary\\测试.txt', '我是管理员', 'N1', 'S1', 0) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '字符在文本中的行数:<$STR(N0)>，本行所有内容是:<$STR(S1)>')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '字符不在测试.txt文本中')


从缓存中检测文件中是否包含字符串

从缓存中检测文件中是否包含字符串

   function CHECKCACHECONTAINSTEXTLIST()

说明：

   从缓存中检测文件中是否包含字符串

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件名
参数四 | string | 字符串
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --从缓存中检测文件中是否包含字符串
    if gNPC:CHECKCACHECONTAINSTEXTLIST(gObject, gPlayer, '..\\QuestDiary\\测试.txt', '<$MAP>') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前包含')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '不包含')


检测你是否组长

检测你是否组长

   function CHECKGROUPLEADER()

说明：

   检测你是否组长

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测是否是队长
    if gNPC:CHECKGROUPLEADER(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你是队长')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你不是队长')


检测是否暂停刷怪

检测是否暂停刷怪

   function CHECKSTOPM2MAKEMON()

说明：

   检测是否暂停刷怪

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测是否暂停刷怪
    if gNPC:CHECKSTOPM2MAKEMON(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你已经暂停刷怪')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你没有暂停刷怪')


检测英雄怒气值

检测英雄怒气值

   function CHECKANGRYVALUE()

说明：

   检测英雄怒气值

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 检测符(> < =)
参数四 | Intener | 值
参数五 | Intener | 值类型((0:点数；1:百分比))
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测英雄怒气值
    if gNPC:CHECKANGRYVALUE(gObject, gPlayer, '>', 80, 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的英雄怒气值大于80%')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的英雄怒气值小于80%')


检测背包是否包含文件中的物品

检测背包是否包含文件中的物品

   function CHECKBAGITEMS()

说明：

   检测背包是否包含文件中的物品

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件名
参数四 | string | 物品名变量
参数五 | string | 数量变量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测背包是否包含文件中的物品
    if gNPC:CHECKBAGITEMS(gObject, gPlayer, '..\\QuestDiary\\赤月装备.txt', 'S1', 'N1') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '检测到背包中有赤月装备物品，物品名为<$STR(S1)>，数量为<$STR(N1)>')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '未检测到背包中有赤月装备物品')


高效率检测背包是否包含文件中的物品

高效率检测背包是否包含文件中的物品

   function CACHECHECKBAGITEMS()

说明：

   高效率检测背包是否包含文件中的物品

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件名
参数四 | string | 物品名变量
参数五 | string | 数量变量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --高效率检测背包是否包含文件中的物品
    if gNPC:CACHECHECKBAGITEMS(gObject, gPlayer, 'D:\\赤月装备.txt', 'S1', 'N1') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '检测到背包中有赤月装备物品，物品名为<$STR(S1)>，数量为<$STR(N1)>')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '未检测到背包中有赤月装备物品')


检测地图中的NPC并得到坐标

检测地图中的NPC并得到坐标

   function FINDNPCPOINT()

说明：

   检测地图中的NPC并得到坐标(如果同一地图拥有相同名称的NPC，只会获取第一个找到的NPC，支持自定义NPC获取)

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | string | NPC名称
参数五 | integer | X坐标变量
参数六 | integer | Y坐标变量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测地图中的NPC并得到坐标
    if gNPC:FINDNPCPOINT(gObject, gPlayer, 'N3', '测试一', 'N1', 'N2') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '地图中测试一的坐标为<$STR(N1)>,<$STR(N2)>')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '地图中没有这个NPC')


检测地图中的怪物并得到坐标

检测地图中的怪物并得到坐标

   function FINDMONPOINT()

说明：

   检测地图中的怪物并得到坐标(如果同一地图拥有相同名称的怪物，只会检测地图中的最近的怪物并得到坐标)

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | string | 怪物名称
参数五 | integer | X坐标变量
参数六 | integer | Y坐标变量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测地图中的NPC并得到坐标
    if gNPC:FINDMONPOINT(gObject, gPlayer, 'N3', '采集怪', 'N1', 'N2') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '最近的盟重采集怪坐标为<$STR(N1)>,<$STR(N2)>')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '地图中没有这个怪')


检测指定编号套装是否生效

检测指定编号套装是否生效

   function CHECKGROUPITEM()

说明：

   检测指定编号套装是否生效

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 套装编号
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测指定编号套装是否生效
    if gNPC:CHECKGROUPITEM(gObject, gPlayer, 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '1号套装已经生效')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '1号套装没有生效')


检测自定义货币

检测自定义货币

   function CHECKMONEY()

说明：

   检测自定义货币。
   自定义货币设置路径 Mir200\Envir\CustomMoney.txt。如果没有请自动创建！
   CustomMoney.txt文本例子：
   货币名称|组|序号|是否记录日志|是否个人商店可用|预留|是否拍卖行可用|是否角色交易可用
   绑定元宝|1|1|1|0|0|0|0
   元宝|1|2|1|1|0|0|0
   RMB点|2|1|1|1|0|1|1

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 自定义货币名称
参数四 | string | 检测符(> < =)
参数五 | integer | 货币数量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测自定义货币
    if gNPC:CHECKMONEY(gObject, gPlayer, '元宝', '<', 1000) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的自定义货币元宝小于1000')
    else
        gNPC:MONEY(gObject, gPlayer, '元宝', '+', 100)


关联检测命令

关联检测命令

   function CHECKBINDMONEY()

说明：

   关联检测命令。关联扣除根据分组扣除货币,分组序号由低到高扣除。比如扣除绑定元宝,绑定元宝不足时会扣除元宝。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 货币名称
参数四 | string | 检测符(> < =)
参数五 | integer | 货币数量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测自定义货币
    if gNPC:CHECKBINDMONEY(gObject, gPlayer, '绑定元宝', '<', 1000) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的绑定元宝小于1000')
    else
        gNPC:CHANGEBINDMONEY(gObject, gPlayer, '绑定元宝', 100)


检测目标是否为宝宝

检测目标是否为宝宝

   function CHECKGROUPITEM()

说明：

   检测目标是否为宝宝

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测目标是否为宝宝
    if gNPC:CHECKGROUPITEM(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前是宝宝攻击')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '当前不是宝宝')


检测人物自身状态

检测人物自身状态

   function CHECKSELFSTATUS()

说明：

   检测人物自身状态

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 状态(1:麻痹 2:冰冻 3:蛛网 4:红毒 5:绿毒 6:定身 7:瘫痪 8：禁锢 )
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测人物自身状态
    if gNPC:CHECKSELFSTATUS(gObject, gPlayer, 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你被麻痹了')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你没有被麻痹')


检测人物是否开启了魔法盾

检测人物是否开启了魔法盾

   function CHECKSHIELDSTATEOPEN()

说明：

   检测人物是否开启了魔法盾

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | (0:武力盾;1:魔法盾;2:道力盾)
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测人物是否开启了魔法盾
    if gNPC:CHECKSHIELDSTATEOPEN(gObject, gPlayer, 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你开启了魔法盾')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你还没有开启魔法盾')


检测包裹中聚满经验的聚灵珠

检测包裹中聚满经验的聚灵珠

   function CHECKFULLBEAD()

说明：

   检测包裹中聚满经验的聚灵珠

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 聚灵珠名称
参数四 | string | 检测符(> < =)
参数五 | integer | 数量
返回值 | boolean | 返回true或false

使用示例：
function TestDemo()
    --检测包裹中聚满经验的聚灵珠
    if gNPC:CHECKFULLBEAD(gObject, gPlayer, '>', 1) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你包裹里面有大于1个的聚灵珠')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你包裹里面没有大于1个的聚灵珠')


设置逻辑变量为真

设置逻辑变量为真

   function SET()

说明：

   设置逻辑变量为真

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 标识名
参数四 | integer | 0/1
返回值 |  | 无

使用示例：
function TestDemo()
    --标识型变量 － 赋值 SET
    if gNPC:CHECK(gObject, gPlayer, '[128]', 0) then
        gNPC:SET(gObject, gPlayer, '[128]', 1)
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的当前的[128]标识变量的值更改为1了。')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的当前的[128]标识变量的值已经是1了，不用赋值了。')


拿走物品

拿走物品

   function TAKE()

说明：

   拿走物品

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 物品名称
参数四 | integer | 物品数量
返回值 |  | 无

使用示例：
function TestDemo()
    --拿走1个回城石
    gNPC:TAKE(gObject, gPlayer, '回城石', 1)


给予物品到包裹

给予物品到包裹

   function GIVE()

说明：

   给予物品到包裹

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 物品名称
参数四 | integer | 物品数量
返回值 |  | 无

使用示例：
function TestDemo()
    --给予1个回城石，金币则相同用法
    gNPC:GIVE(gObject, gPlayer, '回城石', 1)


从人物身上穿戴回收物品

从人物身上穿戴回收物品

   function TAKEW()

说明：

   从人物身上穿戴回收物品

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 物品名称
参数四 | integer | 物品数量
返回值 |  | 无

使用示例：
function TestDemo()
    gNPC:TAKEW(gObject, gPlayer, '铁手镯', 1)


关闭对话框

关闭对话框

   function CLOSE()

说明：

   关闭对话框

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --关闭大对话框
    gNPC:CLOSEBIGDIALOGBOX(gObject, gPlayer)
    --关闭对话框
    gNPC:CLOSE(gObject, gPlayer)


将从XXX开始的7个变量回复到原始值0

将从XXX开始的7个变量回复到原始值0

   function RESET()

说明：

   将从XXX开始的7个变量回复到原始值0

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 标识名称
参数四 | integer | 标识个数
返回值 |  | 无

使用示例：
function TestDemo()
    --标识型变量 － RESET 批量清零
    gNPC:RESET(gObject, gPlayer, '[120]', 5)
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的当前的[120]、[121]、[122]、[123]、[124]、[125]标识变量的值全部变为0了。')


结束当前操作

结束当前操作

   function BREAK()

说明：

   结束当前操作

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    if gNPC:ISONMAP(gObject, gPlayer, 3) then
        --结束当前操作
        gNPC:BREAK(gObject, gPlayer)


延时移动

延时移动

   function TIMERECALL()

说明：

   延时移动
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    local tmpPlayer = gSystem:GetPlayerByName('无敌')
    if tmpPlayer then
        --延迟移动10分钟
        gNPC:TIMERECALL(gObject, tmpPlayer, 10)


国家脚本刷新怪物座标X

国家脚本刷新怪物座标X

   function PARAM1()

说明：

   国家脚本刷新怪物座标X
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | X坐标数值
返回值 |  | 无

使用示例：
function TestDemo()
    --国家脚本刷怪设定：支持怪物巡逻坐标攻击，设置多个指定坐标后，怪物会沿途巡逻(按照设定坐标行走到最后一个坐标停止)
    gNPC:MISSION(gObject, gPlayer, 3, 320, ';', 320, 320, 320, ';', 330, 320)
    gNPC:PARAM1(gObject, gPlayer, 333)
    gNPC:PARAM2(gObject, gPlayer, 333)
    gNPC:PARAM3(gObject, gPlayer, 1)
    gNPC:PARAM4(gObject, gPlayer, 1)
    gNPC:PARAM5(gObject, gPlayer, 1)
    gNPC:PARAM6(gObject, gPlayer, 0)
    gNPC:PARAM7(gObject, gPlayer, 1)
    gNPC:PARAM8(gObject, gPlayer, 1)
    gNPC:PARAM9(gObject, gPlayer, 0)
    gNPC:MOBPLACE(gObject, gPlayer, '黑野猪')
    gNPC:MESSAGEBOX(gObject, gPlayer, '刷新成功。')
    gNPC:BREAK(gObject, gPlayer)


国家脚本刷新怪物座标Y

国家脚本刷新怪物座标Y

   function PARAM2()

说明：

   国家脚本刷新怪物座标Y
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | Y坐标数值
返回值 |  | 无

使用示例：
function TestDemo()
    --国家脚本刷怪设定：支持怪物巡逻坐标攻击，设置多个指定坐标后，怪物会沿途巡逻(按照设定坐标行走到最后一个坐标停止)
    gNPC:MISSION(gObject, gPlayer, 3, 320, ';', 320, 320, 320, ';', 330, 320)
    gNPC:PARAM1(gObject, gPlayer, 333)
    gNPC:PARAM2(gObject, gPlayer, 333)
    gNPC:PARAM3(gObject, gPlayer, 1)
    gNPC:PARAM4(gObject, gPlayer, 1)
    gNPC:PARAM5(gObject, gPlayer, 1)
    gNPC:PARAM6(gObject, gPlayer, 0)
    gNPC:PARAM7(gObject, gPlayer, 1)
    gNPC:PARAM8(gObject, gPlayer, 1)
    gNPC:PARAM9(gObject, gPlayer, 0)
    gNPC:MOBPLACE(gObject, gPlayer, '黑野猪')
    gNPC:MESSAGEBOX(gObject, gPlayer, '刷新成功。')
    gNPC:BREAK(gObject, gPlayer)


国家脚本刷新怪物数量

国家脚本刷新怪物数量

   function PARAM3()

说明：

   国家脚本刷新怪物数量
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 怪物数量
返回值 |  | 无

使用示例：
function TestDemo()
    --国家脚本刷怪设定：支持怪物巡逻坐标攻击，设置多个指定坐标后，怪物会沿途巡逻(按照设定坐标行走到最后一个坐标停止)
    gNPC:MISSION(gObject, gPlayer, 3, 320, ';', 320, 320, 320, ';', 330, 320)
    gNPC:PARAM1(gObject, gPlayer, 333)
    gNPC:PARAM2(gObject, gPlayer, 333)
    gNPC:PARAM3(gObject, gPlayer, 1)
    gNPC:PARAM4(gObject, gPlayer, 1)
    gNPC:PARAM5(gObject, gPlayer, 1)
    gNPC:PARAM6(gObject, gPlayer, 0)
    gNPC:PARAM7(gObject, gPlayer, 1)
    gNPC:PARAM8(gObject, gPlayer, 1)
    gNPC:PARAM9(gObject, gPlayer, 0)
    gNPC:MOBPLACE(gObject, gPlayer, '黑野猪')
    gNPC:MESSAGEBOX(gObject, gPlayer, '刷新成功。')
    gNPC:BREAK(gObject, gPlayer)


国家脚本刷新怪物范围

国家脚本刷新怪物范围

   function PARAM4()

说明：

   国家脚本刷新怪物范围
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 怪物范围值
返回值 |  | 无

使用示例：
function TestDemo()
    --国家脚本刷怪设定：支持怪物巡逻坐标攻击，设置多个指定坐标后，怪物会沿途巡逻(按照设定坐标行走到最后一个坐标停止)
    gNPC:MISSION(gObject, gPlayer, 3, 320, ';', 320, 320, 320, ';', 330, 320)
    gNPC:PARAM1(gObject, gPlayer, 333)
    gNPC:PARAM2(gObject, gPlayer, 333)
    gNPC:PARAM3(gObject, gPlayer, 1)
    gNPC:PARAM4(gObject, gPlayer, 1)
    gNPC:PARAM5(gObject, gPlayer, 1)
    gNPC:PARAM6(gObject, gPlayer, 0)
    gNPC:PARAM7(gObject, gPlayer, 1)
    gNPC:PARAM8(gObject, gPlayer, 1)
    gNPC:PARAM9(gObject, gPlayer, 0)
    gNPC:MOBPLACE(gObject, gPlayer, '黑野猪')
    gNPC:MESSAGEBOX(gObject, gPlayer, '刷新成功。')
    gNPC:BREAK(gObject, gPlayer)


国家脚本刷新怪物国家编号

国家脚本刷新怪物国家编号

   function PARAM5()

说明：

   国家脚本刷新怪物国家编号
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 国家编号
返回值 |  | 无

使用示例：
function TestDemo()
    --国家脚本刷怪设定：支持怪物巡逻坐标攻击，设置多个指定坐标后，怪物会沿途巡逻(按照设定坐标行走到最后一个坐标停止)
    gNPC:MISSION(gObject, gPlayer, 3, 320, ';', 320, 320, 320, ';', 330, 320)
    gNPC:PARAM1(gObject, gPlayer, 333)
    gNPC:PARAM2(gObject, gPlayer, 333)
    gNPC:PARAM3(gObject, gPlayer, 1)
    gNPC:PARAM4(gObject, gPlayer, 1)
    gNPC:PARAM5(gObject, gPlayer, 1)
    gNPC:PARAM6(gObject, gPlayer, 0)
    gNPC:PARAM7(gObject, gPlayer, 1)
    gNPC:PARAM8(gObject, gPlayer, 1)
    gNPC:PARAM9(gObject, gPlayer, 0)
    gNPC:MOBPLACE(gObject, gPlayer, '黑野猪')
    gNPC:MESSAGEBOX(gObject, gPlayer, '刷新成功。')
    gNPC:BREAK(gObject, gPlayer)


是否攻击本国玩家(0,1)

是否攻击本国玩家(0,1)

声明：

   function PARAM6()

说明：

   是否攻击本国玩家(0,1)
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 是否攻击本国玩家(0,1)
返回值 |  | 无

使用示例：
function TestDemo()
    --国家脚本刷怪设定：支持怪物巡逻坐标攻击，设置多个指定坐标后，怪物会沿途巡逻(按照设定坐标行走到最后一个坐标停止)
    gNPC:MISSION(gObject, gPlayer, 3, 320, ';', 320, 320, 320, ';', 330, 320)
    gNPC:PARAM1(gObject, gPlayer, 333)
    gNPC:PARAM2(gObject, gPlayer, 333)
    gNPC:PARAM3(gObject, gPlayer, 1)
    gNPC:PARAM4(gObject, gPlayer, 1)
    gNPC:PARAM5(gObject, gPlayer, 1)
    gNPC:PARAM6(gObject, gPlayer, 0)
    gNPC:PARAM7(gObject, gPlayer, 1)
    gNPC:PARAM8(gObject, gPlayer, 1)
    gNPC:PARAM9(gObject, gPlayer, 0)
    gNPC:MOBPLACE(gObject, gPlayer, '黑野猪')
    gNPC:MESSAGEBOX(gObject, gPlayer, '刷新成功。')
    gNPC:BREAK(gObject, gPlayer)


不同国家怪物是否PK(0,1)

不同国家怪物是否PK(0,1)

声明：

   function PARAM7()

说明：

   不同国家怪物是否PK(0,1)
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 不同国家怪物是否PK(0,1)
返回值 |  | 无

使用示例：
function TestDemo()
    --国家脚本刷怪设定：支持怪物巡逻坐标攻击，设置多个指定坐标后，怪物会沿途巡逻(按照设定坐标行走到最后一个坐标停止)
    gNPC:MISSION(gObject, gPlayer, 3, 320, ';', 320, 320, 320, ';', 330, 320)
    gNPC:PARAM1(gObject, gPlayer, 333)
    gNPC:PARAM2(gObject, gPlayer, 333)
    gNPC:PARAM3(gObject, gPlayer, 1)
    gNPC:PARAM4(gObject, gPlayer, 1)
    gNPC:PARAM5(gObject, gPlayer, 1)
    gNPC:PARAM6(gObject, gPlayer, 0)
    gNPC:PARAM7(gObject, gPlayer, 1)
    gNPC:PARAM8(gObject, gPlayer, 1)
    gNPC:PARAM9(gObject, gPlayer, 0)
    gNPC:MOBPLACE(gObject, gPlayer, '黑野猪')
    gNPC:MESSAGEBOX(gObject, gPlayer, '刷新成功。')
    gNPC:BREAK(gObject, gPlayer)


怪物名字颜色

怪物名字颜色

   function PARAM8()

说明：

   怪物名字颜色
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 怪物名字颜色
返回值 |  | 无

使用示例：
function TestDemo()
    --国家脚本刷怪设定：支持怪物巡逻坐标攻击，设置多个指定坐标后，怪物会沿途巡逻(按照设定坐标行走到最后一个坐标停止)
    gNPC:MISSION(gObject, gPlayer, 3, 320, ';', 320, 320, 320, ';', 330, 320)
    gNPC:PARAM1(gObject, gPlayer, 333)
    gNPC:PARAM2(gObject, gPlayer, 333)
    gNPC:PARAM3(gObject, gPlayer, 1)
    gNPC:PARAM4(gObject, gPlayer, 1)
    gNPC:PARAM5(gObject, gPlayer, 1)
    gNPC:PARAM6(gObject, gPlayer, 0)
    gNPC:PARAM7(gObject, gPlayer, 1)
    gNPC:PARAM8(gObject, gPlayer, 1)
    gNPC:PARAM9(gObject, gPlayer, 0)
    gNPC:MOBPLACE(gObject, gPlayer, '黑野猪')
    gNPC:MESSAGEBOX(gObject, gPlayer, '刷新成功。')
    gNPC:BREAK(gObject, gPlayer)


是否允许本国玩家攻击(0,1)

是否允许本国玩家攻击(0,1)

声明：

   function PARAM9()

说明：

   是否允许本国玩家攻击(0,1)
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 是否允许本国玩家攻击(0,1)
返回值 |  | 无

使用示例：
function TestDemo()
    --国家脚本刷怪设定：支持怪物巡逻坐标攻击，设置多个指定坐标后，怪物会沿途巡逻(按照设定坐标行走到最后一个坐标停止)
    gNPC:MISSION(gObject, gPlayer, 3, 320, ';', 320, 320, 320, ';', 330, 320)
    gNPC:PARAM1(gObject, gPlayer, 333)
    gNPC:PARAM2(gObject, gPlayer, 333)
    gNPC:PARAM3(gObject, gPlayer, 1)
    gNPC:PARAM4(gObject, gPlayer, 1)
    gNPC:PARAM5(gObject, gPlayer, 1)
    gNPC:PARAM6(gObject, gPlayer, 0)
    gNPC:PARAM7(gObject, gPlayer, 1)
    gNPC:PARAM8(gObject, gPlayer, 1)
    gNPC:PARAM9(gObject, gPlayer, 0)
    gNPC:MOBPLACE(gObject, gPlayer, '黑野猪')
    gNPC:MESSAGEBOX(gObject, gPlayer, '刷新成功。')
    gNPC:BREAK(gObject, gPlayer)


执行命令、动作

执行命令、动作

   function EXEACTION()

说明：

   执行命令、动作
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数... | string | 执行命令方法
返回值 |  | 无

使用示例：
function TestDemo()
    --执行KILL 人物死亡不掉物品,不显示凶手信息
    gNPC:EXEACTION(gObject, gPlayer, 'KILL', 1)


地图坐标传送

地图坐标传送

   function MAPMOVE()

说明：

   移动到指定地图的指定坐标范围
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | integer | X坐标
参数五 | integer | Y坐标
参数六 | integer | 坐标范围(范围留空或者0则为定点传送)
返回值 |  | 无

使用示例：
function TestDemo()
    gNPC:MAPMOVE(gObject, gPlayer, '3', 330, 330, 5)


地图随机传送

地图随机传送

   function MAP()

说明：

   移动到指定地图的随机坐标
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
返回值 |  | 无

使用示例：
function TestDemo()
    --移动到这个地图的随机坐标
    gNPC:MAP(gObject, gPlayer, '3')


收走刚检测的物品

收走刚检测的物品

   function TAKECHECKITEM()

说明：

   收走刚检测的物品
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    gNPC:TAKECHECKITEM(gObject, gPlayer)


刷新怪物

刷新怪物

   function MONGEN()

说明：

   刷新怪物
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 怪物名称
参数四 | integer | 数量
参数五 | integer | 时间
返回值 |  | 无

使用示例：
function TestDemo()
    gNPC:MONGEN(gObject, gPlayer, '角牛', 1, 10)


清除怪物

清除怪物

   function MONCLEAR()

说明：

   清除指定地图上的所有怪物
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 怪物代码
返回值 |  | 无

使用示例：
function TestDemo()
    gNPC:MONCLEAR(gObject, gPlayer, '108')


变量赋值

变量赋值

   function MOV()

说明：

   变量赋值
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量名
参数四 | string | 赋值内容
返回值 |  | 无

使用示例：
function TestDemo()
    --系统变量操作 － MOV 赋指定值
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '>', 0) then
        gNPC:MOV(gObject, gPlayer, 'N5', 10)
        gNPC:MOV(gObject, gPlayer, 'S5', 'GXX引擎')
        gNPC:MOV(gObject, gPlayer, 'G5', '<$STR(N5)>')
        gNPC:MOV(gObject, gPlayer, 'A5', '10')


变量相加

变量相加

   function INC()

说明：

   变量相加
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量名
参数四 | integer | 数值
返回值 |  | 无

使用示例：
function TestDemo()
    --系统变量操作 － INC 加
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '>', 0) then
        gNPC:MOV(gObject, gPlayer, 'N5', 8)
        gNPC:INC(gObject, gPlayer, 'N5', 10)
        gNPC:MESSAGEBOX(gObject, gPlayer, '你当前N5变量的值为：18')
        gNPC:MOV(gObject, gPlayer, 'S5', 'GXX')
        gNPC:INC(gObject, gPlayer, 'S5', '引擎')
        gNPC:MESSAGEBOX(gObject, gPlayer, '你当前S5变量的值为：GXX引擎')


变量相减

变量相减

   function DEC()

说明：

   变量相减
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量名
参数四 | string | 数值
返回值 |  | 无

使用示例：
function TestDemo()
    --系统变量操作 － DEC 减
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '>', 0) then
        gNPC:MOV(gObject, gPlayer, 'N12', 33)
        gNPC:DEC(gObject, gPlayer, 'N12', 10)
        gNPC:MESSAGEBOX(gObject, gPlayer, '你当前N12变量的值为：23')
        gNPC:MOV(gObject, gPlayer, 'S10', 'GXX引擎')
        gNPC:DEC(gObject, gPlayer, 'S10', '引擎')
        gNPC:MESSAGEBOX(gObject, gPlayer, '你当前S10变量的值为：GXX')


变量整除

变量整除

   function DIV()

说明：

   变量整除
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量名
参数四 | integer | 除数
参数五 | integer | 被除数
返回值 |  | 无

使用示例：
function TestDemo()
    --系统变量操作 － DIV 除法
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '>', 0) then
        gNPC:MOV(gObject, gPlayer, 'N12', 30)
        gNPC:DIV(gObject, gPlayer, 'N12', 6)
        gNPC:MESSAGEBOX(gObject, gPlayer, '你当前N12变量的值为：5')
        gNPC:DIV(gObject, gPlayer, 'N8', 30, 5)
        gNPC:MESSAGEBOX(gObject, gPlayer, '你当前N8变量的值为：6')


变量相乘

变量相乘

   function MUL()

说明：

   变量相乘
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量名
参数四 | integer | 乘数
参数五 | integer | 被乘数
返回值 |  | 无

使用示例：
function TestDemo()
    --系统变量操作 － MUL 乘法
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '>', 0) then
        gNPC:MOV(gObject, gPlayer, 'N12', 3)
        gNPC:MUL(gObject, gPlayer, 'N12', 6)
        gNPC:MESSAGEBOX(gObject, gPlayer, '你当前N12变量的值为：18')
        gNPC:MUL(gObject, gPlayer, 'N8', 5, 5)
        gNPC:MESSAGEBOX(gObject, gPlayer, '你当前N8变量的值为：25')


百分比

百分比

   function PERCENT()

说明：

   百分比
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量名
参数四 | integer | 数值
参数五 | integer | 数值
返回值 |  | 无

使用示例：
function TestDemo()
    --系统变量操作 － PERCENT 百分比
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '>', 0) then
        gNPC:MOV(gObject, gPlayer, 'N12', 20)
        gNPC:PERCENT(gObject, gPlayer, 'N12', 200)
        gNPC: MESSAGEBOX(gObject, gPlayer, '你当前N12变量的值为：10')
        gNPC:PERCENT(gObject, gPlayer, 'N10', 40, 200)
        gNPC: MESSAGEBOX(gObject, gPlayer, '你当前N10变量的值为：20')


清除延迟移动

清除延迟移动

   function BREAKTIMERECALL()

说明：

   清除延迟移动
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    local tmpPlayer = gSystem:GetPlayerByName('无敌')
    if tmpPlayer then
        --延迟移动10分钟
        gNPC:BREAKTIMERECALL(gObject, tmpPlayer)


设置人物当前模式

设置人物当前模式

   function CHANGEMODE()

说明：

   设置人物当前模式
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 模式类型(1管理模式 2无敌模式 3隐身模式)
参数四 | integer | 开关(0=关闭 1=开启)
返回值 |  | 无

使用示例：
function TestDemo()
    --设置当前人物为管理模式
    gNPC:CHANGMODE(gObject, gPlayer, 1, 1)


召唤指定怪物为宝宝

召唤指定怪物为宝宝

   function RECALLMOB()

说明：

   召唤指定怪物为宝宝
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 怪物名称
参数四 | integer | 宝宝等级(最高7级)
参数五 | integer | 叛变时间(分钟)
参数六 | integer | 颜色类型(0：固定颜色1：自动变色)
参数七 | integer | 颜色值(0-2550不改变颜色)
参数八 | integer | 所属技能，其他值和留空则表示不算到技能中
参数九 | integer | 召唤数量
返回值 |  | 无

所属技能：

所属技能 | 描述
1 | 骷髅
2 | 神兽
3 | 圣兽
4 | 月灵
5 | 诱惑之光

使用示例：
function TestDemo()
    --召唤最多5个七宝宝，30分钟后叛变,七彩变色
    if gNPC:CHECKSLAVECOUNT(gObject, gPlayer, '<', 5) then
        gNPC:RECALLMOB(gObject, gPlayer, '巫妖战士[F阶]', 7, 30, 1)
        gNPC:MESSAGEBOX(gObject, gPlayer, '好好看着自己的宝宝，不要乱咬人。')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你已经有5个或以上的宝宝，现在不可以再召宝宝。')


定义随机变量

定义随机变量

   function MOVR()

说明：

   定义随机变量
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量名
参数四 | integer | 数值1
参数五 | integer | 数值2
返回值 |  | 无

使用示例：
function TestDemo()
    --随机生成100以内的随机数
    gNPC:MOVR(gObject, gPlayer, 'G10', 100)
    --随机生成10-100之间随机数
    gNPC:MOVR(gObject, gPlayer, 'G11', 10, 100)


与指定地图里的人交换位置

与指定地图里的人交换位置

   function EXCHANGEMAP()

说明：

   与指定地图里的人交换位置
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
返回值 |  | 无

使用示例：
function TestDemo()
    --与指定地图里的人交换位置
    gNPC:EXCHANGEMAP(gObject, gPlayer, '108')


把某地图的人召唤过来

把某地图的人召唤过来

   function RECALLMAP()

说明：

   把某地图的人召唤过来
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
返回值 |  | 无

使用示例：
function TestDemo()
    --把某地图的人召唤过来
    gNPC:RECALLMAP(gObject, gPlayer, '108')


按地图列表移动

按地图列表移动

   function ADDBATCH()

说明：

   按地图列表移动。先设定每一张地图停留的地间，再把地图列表添加一下，人物会从第一张地图开始一张一张移动到最后一张
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
返回值 |  | 无

使用示例：
function TestDemo()
    --按地图列表移动
    gNPC:BATCHDELAY(gObject, gPlayer, 1) --暂停时间
    gNPC:ADDBATCH(gObject, gPlayer, '108') --移动地图1
    gNPC:ADDBATCH(gObject, gPlayer, 'CQ1_1') --移动地图2
    gNPC:ADDBATCH(gObject, gPlayer, '5DLDT11') --移动地图3
    gNPC:ADDBATCH(gObject, gPlayer, 'CQ1_5')  --移动地图4
    gNPC:BATCHMOVE(gObject, gPlayer)--开始从第一个地图移动到最后一个地图


地图暂停时间

地图暂停时间

   function BATCHDELAY()

说明：

   地图暂停时间
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 暂停时间(秒)
返回值 |  | 无

使用示例：
function TestDemo()
    --按地图列表移动
    gNPC:BATCHDELAY(gObject, gPlayer, 1) --暂停时间
    gNPC:ADDBATCH(gObject, gPlayer, '108') --移动地图1
    gNPC:ADDBATCH(gObject, gPlayer, 'CQ1_1') --移动地图2
    gNPC:ADDBATCH(gObject, gPlayer, '5DLDT11') --移动地图3
    gNPC:ADDBATCH(gObject, gPlayer, 'CQ1_5')  --移动地图4
    gNPC:BATCHMOVE(gObject, gPlayer)--开始从第一个地图移动到最后一个地图


开始从第一个地图移动到最后一个地图

开始从第一个地图移动到最后一个地图

   function BATCHMOVE()

说明：

   开始从第一个地图移动到最后一个地图
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --按地图列表移动
    gNPC:BATCHDELAY(gObject, gPlayer, 1) --暂停时间
    gNPC:ADDBATCH(gObject, gPlayer, '108') --移动地图1
    gNPC:ADDBATCH(gObject, gPlayer, 'CQ1_1') --移动地图2
    gNPC:ADDBATCH(gObject, gPlayer, '5DLDT11') --移动地图3
    gNPC:ADDBATCH(gObject, gPlayer, 'CQ1_5')  --移动地图4
    gNPC:BATCHMOVE(gObject, gPlayer)--开始从第一个地图移动到最后一个地图


播放骰子

播放骰子

   function PLAYDICE()

说明：

   播放骰子，跳转到标签[@xxx]
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 骰子数量
参数四 | string | 跳转标签名称
返回值 |  | 无

使用示例：
function TestDemo()
    --摇骰子
    gNPC:PLAYDICE(gObject, gPlayer, 5, '@计算结果')


增加人物名在列表中

增加人物名在列表中

   function ADDNAMELIST()

说明：

   增加人物名在列表中
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
返回值 |  | 无

使用示例：
function TestDemo()
    --检测人物名是否在列表中
    if gNPC:CHECKNAMELIST(gObject, gPlayer, '..\\QuestDiary\\角色名单.txt') then
        --删除人物名在列表中
        gNPC:DELNAMELIST(gObject, gPlayer, '..\\QuestDiary\\角色名单.txt')
    else
        --增加人物名在列表中
        gNPC:ADDNAMELIST(gObject, gPlayer, '..\\QuestDiary\\角色名单.txt')


删除人物名在列表中

删除人物名在列表中

   function DELNAMELIST()

说明：

   删除人物名在列表中
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
返回值 |  | 无

使用示例：
function TestDemo()
    --检测人物名是否在列表中
    if gNPC:CHECKNAMELIST(gObject, gPlayer, '..\\QuestDiary\\角色名单.txt') then
        --删除人物名在列表中
        gNPC:DELNAMELIST(gObject, gPlayer, '..\\QuestDiary\\角色名单.txt')
    else
        --增加人物名在列表中
        gNPC:ADDNAMELIST(gObject, gPlayer, '..\\QuestDiary\\角色名单.txt')


增加人物行会名在列表中

增加人物行会名在列表中

   function ADDGUILDLIST()

说明：

   增加人物行会名在列表中
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
返回值 |  | 无

使用示例：
function TestDemo()
    --检测人物行会名是否在列表中
    if gNPC:CHECKGUILDLIST(gObject, gPlayer, '..\\QuestDiary\\行会名单.txt') then
        --删除人物行会名在列表中
        gNPC:DELGUILDLIST(gObject, gPlayer, '..\\QuestDiary\\行会名单.txt')
    else
        --增加人物行会名在列表中
        gNPC:ADDGUILDLIST(gObject, gPlayer, '..\\QuestDiary\\行会名单.txt')


删除人物行会名在列表中

删除人物行会名在列表中

   function DELGUILDLIST()

说明：

   删除人物行会名在列表中
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
返回值 |  | 无

使用示例：
function TestDemo()
    --检测人物行会名是否在列表中
    if gNPC:CHECKGUILDLIST(gObject, gPlayer, '..\\QuestDiary\\行会名单.txt') then
        --删除人物行会名在列表中
        gNPC:DELGUILDLIST(gObject, gPlayer, '..\\QuestDiary\\行会名单.txt')
    else
        --增加人物行会名在列表中
        gNPC:ADDGUILDLIST(gObject, gPlayer, '..\\QuestDiary\\行会名单.txt')


删除人物帐号在列表中

删除人物帐号在列表中

   function DELACCOUNTLIST()

说明：

   删除人物帐号在列表中
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
返回值 |  | 无

使用示例：
function TestDemo()
    --检测人物帐号是否在列表中
    if gNPC:CHECKACCOUNTLIST(gObject, gPlayer, 'AccountList.txt') then
        --删除人物帐号在列表中
        gNPC:DELACCOUNTLIST(gObject, gPlayer, 'AccountList.txt')
    else
        --增加人物帐号在列表中
        gNPC:ADDACCOUNTLIST(gObject, gPlayer, 'AccountList.txt')


增加人物IP在列表中

增加人物IP在列表中

   function ADDIPLIST()

说明：

   增加人物IP在列表中
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
返回值 |  | 无

使用示例：
function TestDemo()
    --检测人物IP是否在列表中
    if gNPC:CHECKIPLIST(gObject, gPlayer, 'IPList.txt') then
        --删除人物IP在列表中
        gNPC:DELIPLIST(gObject, gPlayer, 'IPList.txt')
    else
        --增加人物IP在列表中
        gNPC:ADDIPLIST(gObject, gPlayer, 'IPList.txt')


删除人物IP在列表中

删除人物IP在列表中

   function DELIPLIST()

说明：

   删除人物IP在列表中
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
返回值 |  | 无

使用示例：
function TestDemo()
    --检测人物IP是否在列表中
    if gNPC:CHECKIPLIST(gObject, gPlayer, 'IPList.txt') then
        --删除人物IP在列表中
        gNPC:DELIPLIST(gObject, gPlayer, 'IPList.txt')
    else
        --增加人物IP在列表中
        gNPC:ADDIPLIST(gObject, gPlayer, 'IPList.txt')


跳转脚本段

跳转脚本段

   function GOTO()

说明：

   跳转到指定脚本段 @段，开始执行相当于段中的GOTO语句
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 跳转段名称
返回值 |  | 无

使用示例：
function TestDemo()
    --跳转脚本段
    gNPC:GOTO(gObject, gPlayer, '@增加元素属性')


改变人物的头发颜色

改变人物的头发颜色

   function HAIRCOLOR()

说明：

   改变人物的头发颜色
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 红值(0-255)
参数四 | integer | 绿值(0-255)
参数五 | integer | 蓝值(0-255)
返回值 |  | 无

使用示例：
function TestDemo()
    -- HAIRCOLOR 红值 绿值 蓝值 值域为0 ~ 255 设定头发颜色
    gNPC:HAIRCOLOR(gObject, gPlayer, 22, 215, 252)


改变人物的衣服颜色

改变人物的衣服颜色

   function WEARCOLOR()

说明：

   改变人物的衣服颜色
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 值域(0-15)
返回值 |  | 无

使用示例：
function TestDemo()
    gNPC:WEARCOLOR(gObject, gPlayer, 8)


改变人物的头发类型

改变人物的头发类型

   function HAIRSTYLE()

说明：

   改变人物的头发类型
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 值域
返回值 |  | 无

使用示例：
function TestDemo()
    gNPC:HAIRSTYLE(gObject, gPlayer , 0)


延时执行指定的脚本

延时执行指定的脚本

   function DELAYCALL()

说明：

   延时执行指定的脚本
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 时间(毫秒)
参数四 | string | 标签脚本段
返回值 |  | 无

使用示例：
function TestDemo()
    --延时执行指定的脚本
    gNPC:DELAYCALL(gObject, gPlayer, 5000, '@提示消息')


延迟跳转到指定段

延迟跳转到指定段

   function DELAYGOTO()

说明：

   延迟跳转到指定段
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 时间(毫秒)
参数四 | string | 触发字段
参数五 | string | 换地图是否删除此延时(0或为空时=不删除 1=删除)
返回值 |  | 无

使用示例：
function TestDemo()
    --延迟跳转到指定段
    gNPC:DELAYGOTO(gObject, gPlayer, 200, '@延迟跳转')


清理地图上指定名字的物品

清理地图上指定名字的物品

   function CLEARITEMMAP()

说明：

   清理地图上指定名字的物品。支持清理地图所有物品(参数四-参数七都设置0或者为空)
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | integer | X坐标
参数五 | integer | Y坐标
参数六 | integer | 范围
参数七 | string | 物品名称
返回值 |  | 无

使用示例：
function TestDemo()
    --清理地图上指定名字的物品
    gNPC:CLEARITEMMAP(gObject, gPlayer, '土', 180, 131, 10, '信物')
    gNPC:MESSAGEBOX(gObject, gPlayer,'盟重安全区内的回城卷都被清除了。')


更换性别

更换性别

   function CHANGEGENDER()

说明：

   更换性别
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 性别(0-男 1-女)
返回值 |  | 无

使用示例：
function TestDemo()
    --更换性别
    gNPC:CHANGEGENDER(gObject, gPlayer, 1)
    gNPC:MESSAGEBOX(gObject, gPlayer,'你已经变成一位淑女了!')


通过脚本命令建立一个NPC,服务器重启后消失

通过脚本命令建立一个NPC,服务器重启后消失

   function CREATENPC()

说明：

   通过脚本命令建立一个NPC,服务器重启后消失
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | NPC名字
参数四 | integer | 地图代码
参数五 | integer | X坐标
参数六 | integer | Y坐标
参数七 | integer | 外观代码
参数八 | integer | 脚本文件名字
参数九 | integer | 脚本文件是否要加上地图代码
返回值 |  | 无

使用示例：
function TestDemo()
    --通过脚本命令建立一个NPC
    gNPC:CHANGEGENDER(gObject, gPlayer, '测试', 'N3', 320, 338, 217, '测试1-N3', 0 )
    gNPC:MESSAGEBOX(gObject, gPlayer,'通过脚本建立了一个NPC!')


清除延迟跳转到指定段

清除延迟跳转到指定段

   function CLEARDELAYGOTO()

说明：

   清除延迟跳转到指定段
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --清除延迟跳转到指定段
    gNPC:CLEARDELAYGOTO(gObject, gPlayer)


编组地图随机传送

编组地图随机传送

   function GROUPMOVE()

说明：

   编组地图随机传送
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | integer | 可以传送最低等级(可以为空，为空时不检测队员的等级直接传送)
参数五 | string | 触发字段(可以为空)
参数六 | integer | 范围(以队长为中心设置范围，只传送范围内的队友，留空或者0为不需要范围，大于0则按照范围传送)
返回值 |  | 无

使用示例：
function TestDemo()
    --编组地图随机传送
    gNPC:GROUPMOVE(gObject, gPlayer, '108')


清除列表中内容

清除列表中内容

   function CLEARNAMELIST()

说明：

   清除列表中内容
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | integer | 是否绝对路径（0或空：相对路径 1：绝对路径）
返回值 |  | 无

使用示例：
function TestDemo()
    --检测人物名是否在列表中
    if gNPC:CHECKNAMELIST(gObject, gPlayer, '..\\QuestDiary\\角色名单.txt') then
        --删除人物名在列表中
        gNPC:CLEARNAMELIST(gObject, gPlayer, '..\\QuestDiary\\角色名单.txt')
    else
        --增加人物名在列表中
        gNPC:ADDNAMELIST(gObject, gPlayer, '..\\QuestDiary\\角色名单.txt')


将自己的宝宝全部杀死

将自己的宝宝全部杀死

   function KILLSLAVE()

说明：

   将自己的宝宝全部杀死
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 是否清尸体(0或空:不清 1:清)
参数四 | string | 宝宝名称(名字为空或*,清所有宝宝)
返回值 |  | 无

使用示例：
function TestDemo()
    --将自己的宝宝全部杀死
    gNPC:KILLSLAVE(gObject, gPlayer)


调整人物等级

调整人物等级

   function CHANGELEVEL()

说明：

   调整人物等级
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(= + -)
参数四 | integer | 等级数(1-65535)
返回值 |  | 无

使用示例：
function TestDemo()
    --调整人物等级
    gNPC:CHANGELEVEL(gObject, gPlayer, '+', 1)


删除所有技能

删除所有技能

   function CLEARSKILL()

说明：

   删除所有技能
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --删除所有技能
    gNPC:CLEARSKILL(gObject, gPlayer)
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的所有技能已经清除了')


删除非本职业的所有技能

删除非本职业的所有技能

   function DELNOJOBSKILL()

说明：

   删除非本职业的所有技能
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --删除非本职业的所有技能
    gNPC:DELNOJOBSKILL(gObject, gPlayer)
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的非法技能已经清除了')


删除指定技能

删除指定技能

   function DELSKILL()

说明：

   删除指定技能
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 技能名称
返回值 |  | 无

使用示例：
function TestDemo()
    --删除指定技能
    gNPC:DELSKILL(gObject, gPlayer,'十步一杀')
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的十步一杀已经删除了')


练习技能

练习技能

   function ADDSKILL()

说明：

   练习技能
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 技能名称
返回值 |  | 无

使用示例：
function TestDemo()
    --练习技能
    gNPC:ADDSKILL(gObject, gPlayer, '施毒术')
    gNPC:MESSAGEBOX(gObject, gPlayer, '施毒术已经添加到你的技能栏里面了')
    if gNPC:CHECKSKILL(gObject, gPlayer, '施毒术', '=', 0, 1) then
        gNPC:SKILLLEVEL(gObject, gPlayer, '施毒术', '=', 3)
        gNPC:MESSAGEBOX(gObject, gPlayer, '施毒术技能等级已经调整到三级了')


调整技能等级

调整技能等级

   function SKILLLEVEL()

说明：

   调整技能等级
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 技能名称
参数四 | string | 控制符(+ - =)
参数五 | integer | 等级
参数六 | integer | 是否调整强化技能(0或为空时为技能等级,1为强化技能等级)
返回值 |  | 无

使用示例：
function TestDemo()
    --练习技能
    gNPC:ADDSKILL(gObject, gPlayer, '施毒术')
    gNPC:MESSAGEBOX(gObject, gPlayer, '施毒术已经添加到你的技能栏里面了')
    if gNPC:CHECKSKILL(gObject, gPlayer, '施毒术', '=', 0, 1) then
        gNPC:SKILLLEVEL(gObject, gPlayer, '施毒术', '=', 3)
        gNPC:MESSAGEBOX(gObject, gPlayer, '施毒术技能等级已经调整到三级了')


调整人物PK点数

调整人物PK点数

   function CHANGEPKPOINT()

说明：

   调整人物PK点数
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | PK点数
返回值 |  | 无

使用示例：
function TestDemo()
    --调整人物PK点数
    gNPC:CHANGEPKPOINT(gObject, gPlayer, '=', 0)
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的PK点数已经清除')


调整人物经验点数

调整人物经验点数

   function CHANGEEXP()

说明：

   调整人物经验点数
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 经验点数
返回值 |  | 无

使用示例：
function TestDemo()
    --调整人物经验点数
    gNPC:CHANGEEXP(gObject, gPlayer, '+', 2000)
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的经验点数已经增加2000点')


转换职业

转换职业

   function CHANGEJOB()

说明：

   转换职业
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 职业名称(Warrior Wizard Taoist)
返回值 |  | 无

使用示例：
function TestDemo()
    --转换职业
    gNPC:CHANGEJOB(gObject, gPlayer, 'Warrior')
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的职业已经变成战士了')


设置怪物集中点(用于开展怪物攻城)

设置怪物集中点(用于开展怪物攻城)

声明：

   function MISSION()

说明：

   设置怪物集中点(用于开展怪物攻城) MISSION 地图 x1;x2;x3...xn y1;y2;y3...yn (x和y的数量要一致）
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 地图代码
参数... | integer | Y坐标 多个X坐标以分号分隔
参数... | integer | Y坐标
返回值 |  | 无

使用示例：
function TestDemo()
    --国家脚本刷怪设定：支持怪物巡逻坐标攻击，设置多个指定坐标后，怪物会沿途巡逻(按照设定坐标行走到最后一个坐标停止)
    gNPC:MISSION(gObject, gPlayer, 3, 320, ';', 320, 320, 320, ';', 330, 320)
    gNPC:PARAM1(gObject, gPlayer, 333)
    gNPC:PARAM2(gObject, gPlayer, 333)
    gNPC:PARAM3(gObject, gPlayer, 1)
    gNPC:PARAM4(gObject, gPlayer, 1)
    gNPC:PARAM5(gObject, gPlayer, 1)
    gNPC:PARAM6(gObject, gPlayer, 0)
    gNPC:PARAM7(gObject, gPlayer, 1)
    gNPC:PARAM8(gObject, gPlayer, 1)
    gNPC:PARAM9(gObject, gPlayer, 0)
    gNPC:MOBPLACE(gObject, gPlayer, '黑野猪')
    gNPC:MESSAGEBOX(gObject, gPlayer, '刷新成功。')
    gNPC:BREAK(gObject, gPlayer)


放置怪物，怪物向集中点集中，大刀守卫不攻击怪物(用于开展怪物攻城)

放置怪物，怪物向集中点集中，大刀守卫不攻击怪物(用于开展怪物攻城)

声明：

   function MOBPLACE()

说明：

   放置怪物，怪物向集中点集中，大刀守卫不攻击怪物(用于开展怪物攻城)
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 怪物名称
返回值 |  | 无

使用示例：
function TestDemo()
    --国家脚本刷怪设定：支持怪物巡逻坐标攻击，设置多个指定坐标后，怪物会沿途巡逻(按照设定坐标行走到最后一个坐标停止)
    gNPC:MISSION(gObject, gPlayer, 3, 320, ';', 320, 320, 320, ';', 330, 320)
    gNPC:PARAM1(gObject, gPlayer, 333)
    gNPC:PARAM2(gObject, gPlayer, 333)
    gNPC:PARAM3(gObject, gPlayer, 1)
    gNPC:PARAM4(gObject, gPlayer, 1)
    gNPC:PARAM5(gObject, gPlayer, 1)
    gNPC:PARAM6(gObject, gPlayer, 0)
    gNPC:PARAM7(gObject, gPlayer, 1)
    gNPC:PARAM8(gObject, gPlayer, 1)
    gNPC:PARAM9(gObject, gPlayer, 0)
    gNPC:MOBPLACE(gObject, gPlayer, '黑野猪')
    gNPC:MESSAGEBOX(gObject, gPlayer, '刷新成功。')
    gNPC:BREAK(gObject, gPlayer)


调整人物会员类型

调整人物会员类型

   function SETMEMBERTYPE()

说明：

   调整人物会员类型
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 类型数(1-65535)
返回值 |  | 无

使用示例：
function TestDemo()
    --调整人物会员类型
    gNPC:SETMEMBERTYPE(gObject, gPlayer, '+', 5)
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的会员类型已经改变')


调整人物会员等级

调整人物会员等级

   function SETMEMBERLEVEL()

说明：

   调整人物会员等级
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 等级数(1-65535)
返回值 |  | 无

使用示例：
function TestDemo()
    --调整人物会员等级
    gNPC:SETMEMBERLEVEL(gObject, gPlayer, '+', 5)
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的会员等级已经改变')


游戏币数

游戏币数

   function GAMEGOLD()

说明：

   游戏币数
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 游戏币数
返回值 |  | 无

使用示例：
function TestDemo()
    --调整人物游戏币数
    gNPC:GAMEGOLD(gObject, gPlayer, '+', 50)
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的游戏币数增加了50')


设置是否自动增加游戏币

设置是否自动增加游戏币

   function AUTOADDGAMEGOLD()

说明：

   设置是否自动增加游戏币
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(START STOP)
返回值 |  | 无

使用示例：
function TestDemo()
    --设置自动增加游戏币
    gNPC:PARAM1(gObject, gPlayer, 1)
    gNPC:PARAM2(gObject, gPlayer, 10)
    gNPC:AUTOADDGAMEGOLD(gObject, gPlayer, 'START')
    gNPC:MESSAGEBOX(gObject, gPlayer,'现进入自动增加游戏币模式，每10秒增加一个')


设置是否自动减少游戏币

设置是否自动减少游戏币

   function CHANGENAMECOLOR()

说明：

   设置是否自动减少游戏币
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(START STOP)
返回值 |  | 无

使用示例：
function TestDemo()
    --设置自动减少游戏币
    gNPC:PARAM1(gObject, gPlayer, 1)
    gNPC:PARAM2(gObject, gPlayer, 10)
    gNPC:AUTOSUBGAMEGOLD(gObject, gPlayer, 'START')
    gNPC:MESSAGEBOX(gObject, gPlayer,'现进入自动减少游戏币模式，每10秒减少一个')


更改人物名称颜色

更改人物名称颜色

   function CHANGENAMECOLOR()

说明：

   更改人物名称颜色
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 颜色(0-255)
返回值 |  | 无

使用示例：
function TestDemo()
    --更改人物名称颜色
    gNPC:CHANGENAMECOLOR(gObject, gPlayer, 2)
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的名称颜色已改变')


清除人物的仓库密码

清除人物的仓库密码

   function CLEARPASSWORD()

说明：

   清除人物的仓库密码
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无
使用示例：
function TestDemo()
    --清除人物的仓库密码
    gNPC:CLEARPASSWORD(gObject, gPlayer)
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的仓库密码已清空')


人物转生控制

人物转生控制

   function RENEWLEVEL()

说明：

   人物转生控制
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 转次数 代表一次转多少级(数值范围为 1 - 255)
参数四 | integer | 转后等级 代表转生后人物的等级，0为不改变人物当前等级
参数五 | integer | 分配点数 代表转生后可以得到的点数，此点数可能按比例换成人物属性点(数值范围 1 - 20000)
返回值 |  | 无

使用示例：
function TestDemo()
    --将人物转生一次，后等级设为28级，分配100点属性
    gNPC:RENEWLEVEL(gObject, gPlayer, 1, 28, 100)
    gNPC:MESSAGEBOX(gObject, gPlayer, '转生成功')


设置杀怪经验倍数

设置杀怪经验倍数

   function KILLMONEXPRATE()

说明：

   设置杀怪经验倍数.(支持内功经验，经络经验倍数)
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 倍率 代表杀怪经验倍数，倍数除以100为真正的倍率(200为2倍经验，150为1.5倍)
参数四 | integer | 有效时间
参数五 | integer | 是否保存剩余时间(1为保存，0或留空为不保存)
参数六 | integer | 是否提示信息（0或者留空为给予时候提示，1为给予时候不提示）
返回值 |  | 无

使用示例：
function TestDemo()
    --设置杀怪经验倍数
    gNPC:KILLMONEXPRATE(gObject, gPlayer, 1000, 600, 1)
    gNPC:MESSAGEBOX(gObject, gPlayer, '您当前杀怪经验倍数为 10倍，有效时间600秒，下线保存剩余时间。')


设置攻击力倍数

设置攻击力倍数

   function POWERRATE()

说明：

   设置攻击力倍数
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 攻击倍率 代表杀攻击力倍数，倍数除以100为真正的倍率(200为2倍经验，150为1.5倍)
参数四 | integer | 有效时间(0为永久)
参数五 | integer | 是否保存(1为保存 0或留空不保存)
参数六 | integer | 是否提示(0或者留空提示 1为不提示)
参数七 | integer | 类型(0所有对象 1攻击人物(人物/英雄/宝宝)倍率 2攻击怪物倍率)
返回值 |  | 无

使用示例：
function TestDemo()
    --设置杀怪经验倍数
    gNPC:KILLMONEXPRATE(gObject, gPlayer, 1000, 600, 1)
    gNPC:MESSAGEBOX(gObject, gPlayer, '您当前杀怪经验倍数为 10倍，有效时间600秒，下线保存剩余时间。')


设置人物当前权限

设置人物当前权限

   function CHANGEPERMISSION()

说明：

   设置人物当前权限
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 权限（0-10）
返回值 |  | 无

使用示例：
function TestDemo()
    --设置人物当前权限
    gNPC:CHANGEPERMISSION(gObject, gPlayer, 10)
    gNPC:MESSAGEBOX(gObject, gPlayer, '当前权限等级为10')


杀死人物

杀死人物

   function KILL()

说明：

   杀死人物
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 死亡提示( 0-人物死亡,不显示凶手信息 1-人物死亡不掉物品,不显示凶手信息 2-人物死亡,显示凶手信息为NPC 3-人物死亡不掉物品,显示凶手信息为NPC )
返回值 |  | 无

使用示例：
function TestDemo()
    local tmpPlayer = gSystem:GetPlayerByName('狂霸九藜')
    if tmpPlayer then
        --杀死人物
        gNPC:KILL(gObject, tmpPlayer, 3)


踢人物下线

踢人物下线

   function KICK()

说明：

   踢人物下线、小退
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 参数为0或空时为踢下线，为1时候将人物小退
返回值 |  | 无

使用示例：
function TestDemo()
    local tmpPlayer = gSystem:GetPlayerByName('无敌')
    if tmpPlayer then
        --踢人物下线
        gNPC:KICK(gObject, tmpPlayer, 0)


调整人物属性点

调整人物属性点

   function BONUSPOINT()

说明：

   调整人物属性点
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 点数(0-1000)
返回值 |  | 无

使用示例：
function TestDemo()
    --调整人物属性点
    gNPC:BONUSPOINT(gObject, gPlayer, '+', 1)
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的属性点已经加了1点。')


清除人物转生数据

清除人物转生数据

   function RESTRENEWLEVEL()

说明：

   清除人物转生数据(即人物转生后恢复到未转生状态)
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --清除人物转生数据
    gNPC:RESTRENEWLEVEL(gObject, gPlayer)
    gNPC:MESSAGEBOX(gObject, gPlayer, '已经清除人物转生数据')


清除结婚信息

清除结婚信息

   function DELMARRY()

说明：

   清除结婚信息
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --清除结婚信息
    gNPC:DELMARRY(gObject, gPlayer)
    gNPC:MESSAGEBOX(gObject, gPlayer, '已经清除结婚信息')


清除当前人物的拜师信息

清除当前人物的拜师信息

   function DELMASTER()

说明：

   清除当前人物的拜师信息
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 徒弟序号(为空表示大徒弟、师傅清除指定徒弟使用，徒弟清除师傅以下是示例脚本)
返回值 |  | 无

使用示例：
function TestDemo()
    --清除当前人物的拜师信息
    gNPC:DELMASTER(gObject, gPlayer)
    gNPC:MESSAGEBOX(gObject, gPlayer, '你已经和你的师父脱离关系了')


调整人物声望点

调整人物声望点

   function CREDITPOINT()

说明：

   调整人物声望点
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 点数
返回值 |  | 无

使用示例：
function TestDemo()
    --调整人物声望点
    gNPC:CREDITPOINT(gObject, gPlayer, '+', 50)
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的声望点增加了50')


升级人物身上指定位置的装备属性

升级人物身上指定位置的装备属性

   function UPGRADEITEMEX()

说明：

   按指定几率升级物品及属性。需要升级的装备物品必须放在身上。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 属性位置(0-14)
参数五 | integer | 成功机率(0-100) 0为100%成功，数字越大成功机率越小
参数六 | integer | 点数机率(0-255)
参数七 | integer | 是否破碎(0为不破碎,1为升级失败后破碎)
参数七 | integer | 是否显示文字信息(0,1)
返回值 |  | 无

装备位置：

装备位置 | 描述
0 | 盔甲
1 | 武器
2 | 照明物(蜡烛，此物品属性升级无效)
3 | 项链
4 | 头盔
5 | 右手镯
6 | 左手镯
7 | 右戒指
8 | 左戒指
9 | 无(放护身符位置)
10 | 腰带
11 | 鞋子
12 | 宝石
13 | 斗笠
14 | 军鼓
15 | 马牌
16 | 盾牌
17 | 灵玉
18 | 时装衣服
19 | 时装武器
20 | 时装项链
21 | 时装头盔
22 | 时装左手镯
23 | 时装右手镯
24 | 时装左戒指
25 | 时装右戒指
26 | 时装勋章
27 | 时装腰带
28 | 时装靴子
29 | 时装宝石
30-35 | 首饰盒
40-51 | 生肖盒
属性位置

不同类型的物品属性位置不一样，以后补充这些资料，自行可以进行测试得到。

升级成功机率，数字越大机率越小。

点数机率:升级成功后得到的点数，数值在 0 -255之间。

是否破碎:升级失败后装备是否破碎，数值为0或1，1为失败后破碎。

属性位置详解

重要注意事项，请在使用本功能前务必详细阅读，否则将有可能带来严重后果

当所需要升级的项链、手镯、戒指、在DB数据库中因 StdMode值的不同，而升级

出来得到的结果也不同，所以使用者请按照以下属性变化列表进行详细设置！

其中涉及的体力恢复、魔法恢复、毒物躲避、中毒恢复、如升级成功“1”点属性，则表示为 10%

项链属性

当StdMode值为19时：属性位置“0”升级出来表现为“魔法躲避”、属性位置“1”升级出来属性表现为“幸运”

当StdMode值为20时：属性位置“0”升级出来表现为“准确”、属性位置“1”升级出来属性表现为“敏捷”

当StdMode值为21时：属性位置“0”升级出来表现为“体力恢复”、属性位置“1”升级出来属性表现为“魔法恢复”

手镯属性

当StdMode值为24时：属性位置“0”升级出来表现为“准确”、属性位置“1”升级出来属性表现为“敏捷”

当StdMode值为26时：属性位置“0”升级出来表现为“防御上限”、属性位置“1”升级出来属性表现为“魔御上限”

戒指属性

当StdMode值为22时：属性位置“0”升级出来表现为“防御上限”、属性位置“1”升级出来属性表现为“魔御上限”

当StdMode值为23时：属性位置“0”升级出来表现为“毒物躲避”、属性位置“1”升级出来属性表现为“中毒恢复”

盔甲
 | 描述
0 | 防御
1 | 魔御
2 | 攻击
3 | 魔法
4 | 道术
5-13 | 无效果
14 | 持久
武器
 | 描述
0 | DC2
1 | MC2
2 | SC2
3 | 幸运
4 | 诅咒
5 | 准确
6 | 攻击速度
7 | 强度
8-9 | 暂不知道
10 | 需开封
11-13 | 暂不知道
14 | 持久
头盔
 | 描述
0 | 防御
1 | 魔御
2 | 攻击
3 | 魔法
4 | 道术
5 | 佩带需求
6 | 佩带级别
7-13 | 无效果
14 | 持久
项链
 | 描述
0 | AC2
1 | MAC2
2 | DC2
3 | MC2
4 | SC2
6 | 佩带需求
7 | 佩带级别
8 | reserved
9-13 | 暂不知道
14 | 持久
手镯
 | 描述
0 | AC2
1 | MAC2
2 | DC2
3 | MC2
4 | SC2
6 | 佩带需求
7 | 佩带级别
8-13 | 无效果
14 | 持久
戒指
 | 描述
0 | AC2
1 | MAC2
2 | DC2
3 | MC2
4 | SC2
6 | 佩带需求
7 | 佩带级别
8-13 | 无效果
14 | 持久
使用示例：
function TestDemo()
    --升级人物身上指定位置的装备属性
    gNPC:UPGRADEITEMEX(gObject, gPlayer, 1, 3, 0, 1, 0)
    gNPC:MESSAGEBOX(gObject, gPlayer, '恭喜您成功将武器升级1点幸运属性。')


脚本刷怪

脚本刷怪

   function MONGENEX()

说明：

   脚本刷怪
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | integer | X坐标
参数五 | integer | Y坐标
参数六 | string | 怪物名称
参数七 | integer | 数量
参数八 | integer | 名字颜色(0-255、 为空为默认颜色)
参数九 | integer | 内功怪物(0,1)
参数十 | integer | 国家ID
参数十一 | integer | 是否可攻击同国家的玩家(0,1)
参数十二 | integer | 不同国家怪物是否可PK(0,1)
参数十三 | integer | 怪物能否被同国家的人攻击(0,1)
返回值 |  | 无

使用示例：
function TestDemo()
    --脚本刷怪
    gNPC:MONGENEX(gObject, gPlayer, 'D717', 100, 100, '白野猪', 100, 50)


清除地图中的怪物

清除地图中的怪物

   function CLEARMAPMON()

说明：

   用于清除指定地图里的怪物，人物的宝宝不在此范围以内，禁止清除怪物列表中的怪物不会被清除。
   此功能一般用于动态刷怪方式，在有人的地图出现怪物，没人时地图上的怪物全部清除，以大大节约机器资源。
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
返回值 |  | 无

使用示例：
function TestDemo()
    --清除地图中的怪物
    gNPC:CLEARMAPMON(gObject, gPlayer, 'D717')


调整人物游戏点

调整人物游戏点

   function GAMEPOINT()

说明：

   调整人物游戏点
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 点数
返回值 |  | 无

使用示例：
function TestDemo()
    --调整人物游戏点
    gNPC:GAMEPOINT(gObject, gPlayer, '+', 50)
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的游戏点增加了50')


安全区是否为PK比赛区域

安全区是否为PK比赛区域

   function PKZONE()

说明：

   在自己周围制造一个持续伤害区域
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 范围(0-3)
参数四 | integer | 特效类型(4光柱 5火墙)
参数五 | integer | 持续时间(秒)
参数六 | integer | 伤害值
返回值 |  | 无

使用示例：
function TestDemo()
    --在自己周围制造一个持续伤害区域
    gNPC:PKZONE(gObject, gPlayer, 3, 4, 10, 100)
    gNPC:MESSAGEBOX(gObject, gPlayer, '触发神威阵法，处于神威阵中的人岌岌可危')


重新分配人物附加属性点

重新分配人物附加属性点

   function RESTBONUSPOINT()

说明：

   重新分配人物附加属性点
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --重新分配人物附加属性点
    gNPC:RESTBONUSPOINT(gObject, gPlayer)
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的属性已经重新分配了')


取走沙巴克金库金币

取走沙巴克金库金币

   function TAKECASTLEGOLD()

说明：

   取走沙巴克金库金币。此脚本仅限沙巴克地图使用
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 金币数量
返回值 |  | 无

使用示例：
function TestDemo()
    --取走沙巴克金库金币
    if gNPC:CHECKCASTLEGOLD(gObject, gPlayer, '?', 10000) then
        gNPC:TAKECASTLEGOLD(gObject, gPlayer, 10000)
        gNPC:SETSENDMSGFLAG(gObject, gPlayer)
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '城内资金不足，不要乱用钱。')


调整HP值

调整HP值

   function HUMANHP()

说明：

   调整HP值
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 数值
参数五 | integer | 间隔延时时间(毫秒 空或0表示无延时)
参数六 | integer | 执行次数(0或空为老模式 1为新模式执行1次)
参数七 | integer | 资源编号
参数八 | integer | 图片索引
参数九 | integer | 按比例计算(0或空=固定值;1=最大血量百分比;2=最大血量千分比;3=最大血量万分比;4=当前血量百分比;5=当前血量千分比;6=当前血量万分比)
返回值 |  | 无

使用示例：
function TestDemo()
    --调整HP值
    gNPC:HUMANHP(gObject, gPlayer, '-', 50, 500, 10, 0, 1730, 1)
    gNPC:MESSAGEBOX(gObject, gPlayer, '扣除百分之50最大血量')


调整MP值

调整MP值

   function HUMANMP()

说明：

   调整MP值
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | MP数值
返回值 |  | 无

使用示例：
function TestDemo()
    --调整MP值
    gNPC:HUMANMP(gObject, gPlayer, '-', 50)
    gNPC:MESSAGEBOX(gObject, gPlayer, '扣除50点MP')


修改行会建筑度

修改行会建筑度

   function GUILDBUILDPOINT()

说明：

   修改行会建筑度
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ -)
参数四 | integer | 数值
返回值 |  | 无

使用示例：
function TestDemo()
    --修改行会建筑度
    gNPC:GUILDBUILDPOINT(gObject, gPlayer, '+', 50)
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的行会建筑度增加了50')


修改行会人气度

修改行会人气度

   function GUILDAURAEPOINT()

说明：

   修改行会人气度
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ -)
参数四 | integer | 数值
返回值 |  | 无

使用示例：
function TestDemo()
    --修改行会人气度
    gNPC:GUILDAURAEPOINT(gObject, gPlayer, '+', 50)
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的行会人气度增加了50')


修改行会安定度

修改行会安定度

   function GUILDSTABILITYPOINT()

说明：

   修改行会安定度
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ -)
参数四 | integer | 数值
返回值 |  | 无

使用示例：
function TestDemo()
    --修改行会安定度
    gNPC:GUILDSTABILITYPOINT(gObject, gPlayer, '+', 50)
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的行会安定度增加了50')


修改行会繁荣度

修改行会繁荣度

   function GUILDFLOURISHPOINT()

说明：

   修改行会繁荣度
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ -)
参数四 | integer | 数值
返回值 |  | 无

使用示例：
function TestDemo()
    --修改行会繁荣度
    gNPC:GUILDFLOURISHPOINT(gObject, gPlayer, '+', 50)
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的行会繁荣度增加了50')


调用怪物爆率

调用怪物爆率

   function OPENITEMBOX()

说明：

   调用怪物爆率
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 怪物名称
返回值 |  | 无

使用示例：
function TestDemo()
    --调用怪物爆率
    gNPC:OPENITEMBOX(gObject, gPlayer, '白野猪)
    gNPC:MESSAGEBOX(gObject, gPlayer, '怪物死亡后会按爆率文件来爆出物品')


脚本调整封号

脚本调整封号

   function SETRANKLEVELNAME()

说明：

   脚本调整封号 注：必须在!Setup.txt里把该功能打开：ShowRankLevelName= 1
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 称号名称
返回值 |  | 无

使用示例：
function TestDemo()
    --脚本调整封号 想人物名字与称号分行显示，只需在%s后面加上\，如：%s\称号
    gNPC:SETRANKLEVELNAME(gObject, gPlayer, '%s我是战神')
    gNPC:MESSAGEBOX(gObject, gPlayer, '脚本调整称号已经添加完成')


脚本命令调用GM命令

脚本命令调用GM命令

   function GMEXECUTE()

说明：

   脚本命令调用GM命令，无视权限

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | GM命令名称
返回值 |  | 无

使用示例：
function TestDemo()
    --普通玩家实现GM隐身效果，其中ObServer为COMMAND.INI中设定的GM隐身的命令,后面可加参数self指对自己,如果COMMAND.INI中 ObServer=隐身
    gNPC:GMEXECUTE(gObject, gPlayer, 'ObServer')
    gNPC:MESSAGEBOX(gObject, gPlayer, '你已实现隐身效果')


添加名称日期列表

添加名称日期列表

   function ADDNAMEDATELIST()

说明：

   添加名称日期列表

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | integer | 是否绝对路径 0或空为相等路径 1为绝对路径
返回值 |  | 无

使用示例：
function TestDemo()
    --添加名称日期列表
    gNPC:ADDNAMEDATELIST(gObject, gPlayer, 'NAMEDATELIST.txt')


加入会员人物及时间

加入会员人物及时间

   function ADDUSERDATE()

说明：

   加入会员人物及时间

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
返回值 |  | 无

使用示例：
function TestDemo()
    --加入会员人物及时间列表
    gNPC:ADDUSERDATE(gObject, gPlayer, '会员.txt')


删除名称日期列表

删除名称日期列表

   function DELNAMEDATELIST()

说明：

   删除名称日期列表

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | integer | 是否绝对路径 0或空为相等路径 1为绝对路径
返回值 |  | 无

使用示例：
function TestDemo()
    --删除名称日期列表
    gNPC:DELNAMEDATELIST(gObject, gPlayer, 'NAMEDATELIST.txt')


删除会员人物及时间

删除会员人物及时间

   function DELUSERDATE()

说明：

   删除会员人物及时间

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
返回值 |  | 无

使用示例：
function TestDemo()
    --删除会员人物及时间列表
    gNPC:DELUSERDATE(gObject, gPlayer, '会员.txt')


传奇地图任何坐标放火焰功能

传奇地图任何坐标放火焰功能

   function MOBFIREBURN()

说明：

   传奇地图任何坐标放火焰功能

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | integer | 坐标X
参数五 | integer | 坐标Y
参数六 | integer | 光环效果(1是僵尸钻的地洞 3是碎石块 4是困魔光 5是火墙 6是祖码教主裂开的石头 7是地刺 8是雷电1 9-14是大雷电 15是流星火环 16是火龙泉 17是灵光 18是宝箱发光 19是光环门 20是光球 效果取决于客户端的素材)
参数七 | integer | 持续时间
参数八 | integer | 类型
返回值 |  | 无

使用示例：
function TestDemo()
    --传奇地图任何坐标放火焰功能
    gNPC:MOBFIREBURN(gObject, gPlayer, 'N3', 323, 322, 5, 1800, 1)
    gNPC:MOBFIREBURN(gObject, gPlayer, 'N3', 323, 324, 5, 1800, 1)
    gNPC:MOBFIREBURN(gObject, gPlayer, 'N3', 323, 326, 5, 1800, 1)
    gNPC:MOBFIREBURN(gObject, gPlayer, 'N3', 323, 328, 5, 1800, 1)
    gNPC:MOBFIREBURN(gObject, gPlayer, 'N3', 323, 3210, 5, 1800, 1)
    gNPC:MOBFIREBURN(gObject, gPlayer, 'N3', 323, 3212, 5, 1800, 1)
    gNPC:MESSAGEBOX(gObject, gPlayer, '盟重中心燃起了一条火墙！')


弹出消息窗口

弹出消息窗口

   function SETSCRIPTFLAG()

说明：

   弹出消息窗口

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文字内容
返回值 |  | 无

使用示例：
function TestDemo()
    --弹出消息窗口
    gNPC:MESSAGEBOX(gObject, gPlayer, '请打开WWW.GXXM2.COM')


装备名称自定义系统

装备名称自定义系统

   function SETSCRIPTFLAG()

说明：

   装备名称自定义系统

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 0发送祝福语 1改变已装备部位物品名称
参数三 | integer | 0不启用 1启用
返回值 |  | 无

使用示例：
function TestDemo()
    if gNPC:CHECKGAMEGOLD(gObject, gPlayer, '>', 0) then
        --装备名称自定义系统
        gNPC:SETSCRIPTFLAG(gObject, gPlayer, 1, 1)
        gNPC:MESSAGEBOX(gObject, gPlayer, '改名成功')


在线泡经验（直接得到经验）

在线泡经验（直接得到经验）

声明：

   function SETAUTOGETEXP()

说明：

   在线泡经验（直接得到经验）

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 间隔时间
参数四 | string | 获得经验值
参数五 | string | 是否安全区(0为任何地方)
参数六 | string | 地图代码(*为任何地图)
参数七 | string | 是否允许英雄分配经验(0为禁止)
参数八 | string | 是否允许将经验存放聚灵珠(1为允许 留空或0为不允许)
参数九 | string | 泡点有效时间(秒 0或空为泡点一直有效)
参数十 | string | 等级限制(0为不限制 填写100则表示小于100级才会获得经验，到了100级就不加经验了，命令自动结束)
返回值 |  | 无

使用示例：
function TestDemo()
    --等级30级以上，地图3安全区内每1秒种得到10个经验点
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '>', 30) then
        gNPC:SETAUTOGETEXP(gObject, gPlayer, 1, 10, 1, 'N3', 1, 1, 1000, 100)


声明自定义变量

声明自定义变量

   function VAR()

说明：

   声明自定义变量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 数据类型 分为Integer(整数型)和String(字符)
参数四 | string | 变量类型 分为Global(全局)、Guild(行会)和Human(个人)
参数五 | string | 变量名
返回值 |  | 无

使用示例：
function TestDemo()
    --自定义变量 － 声明 VAR
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '>', 0) then
        --本命令用于声明一个自定义变量
        gNPC:VAR(gObject, gPlayer, 'string', 'Human', 'GXXM2')
        gNPC:MESSAGEBOX(gObject, gPlayer, '你声明了一个个人字符型变量“GXXM2”')
    end

    --自定义变量 － 读取 LOADVAR
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '>', 0) then
        --本命令用于从一个文件内读取一个自定义变量的值
        gNPC:LOADVAR(gObject, gPlayer, 'Human', 'GXXM2', '..\\QuestDiary\\SaveVar.txt')
    end

    --自定义变量 － 赋值操作 CALCVAR
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '>', 0) then
        --本命令用于操作一个自定义变量
        gNPC:CALCVAR(gObject, gPlayer, 'Human', 'GXXM2', '=', 'GXX引擎')
        gNPC:MESSAGEBOX(gObject, gPlayer, '你把自定义个人变量“GXXM2”赋值为：GXX引擎')
    end

    --自定义变量 － 保存 SAVEVAR
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '>', 0) then
        --本命令用于将一个自定义变量的信息存储到一个文件内
        gNPC:SAVEVAR(gObject, gPlayer, 'Human', 'GXXM2', '..\\QuestDiary\\SaveVar.txt')
        gNPC:MESSAGEBOX(gObject, gPlayer, '你把自定义个人变量“GXXM2”的值保存到SaveVar.txt文件内。')
    end

    --自定义变量 － 检测 CHECKVAR
    --本命令用于判断一个自定义变量的值
    if gNPC:CHECKVAR(gObject, gPlayer, 'Human', 'GXXM2', '=', 'GXX引擎') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的自定义个人变量“GXXM2”的值等于“GXXM2引擎”四个字')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的自定义个人变量“GXXM2”的值不等于“GXXM2引擎”四个字')


读取自定义变量

读取自定义变量

   function LOADVAR()

说明：

   读取自定义变量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量类型 分为Global(全局)、Guild(行会)和Human(个人)
参数四 | string | 变量名
参数五 | string | 存储变量数据的文件路径
返回值 |  | 无

使用示例：
function TestDemo()
    --自定义变量 － 声明 VAR
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '>', 0) then
        --本命令用于声明一个自定义变量
        gNPC:VAR(gObject, gPlayer, 'string', 'Human', 'GXXM2')
        gNPC:MESSAGEBOX(gObject, gPlayer, '你声明了一个个人字符型变量“GXXM2”')
    end

    --自定义变量 － 读取 LOADVAR
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '>', 0) then
        --本命令用于从一个文件内读取一个自定义变量的值
        gNPC:LOADVAR(gObject, gPlayer, 'Human', 'GXXM2', '..\\QuestDiary\\SaveVar.txt')
    end

    --自定义变量 － 赋值操作 CALCVAR
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '>', 0) then
        --本命令用于操作一个自定义变量
        gNPC:CALCVAR(gObject, gPlayer, 'Human', 'GXXM2', '=', 'GXX引擎')
        gNPC:MESSAGEBOX(gObject, gPlayer, '你把自定义个人变量“GXXM2”赋值为：GXX引擎')
    end

    --自定义变量 － 保存 SAVEVAR
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '>', 0) then
        --本命令用于将一个自定义变量的信息存储到一个文件内
        gNPC:SAVEVAR(gObject, gPlayer, 'Human', 'GXXM2', '..\\QuestDiary\\SaveVar.txt')
        gNPC:MESSAGEBOX(gObject, gPlayer, '你把自定义个人变量“GXXM2”的值保存到SaveVar.txt文件内。')
    end

    --自定义变量 － 检测 CHECKVAR
    --本命令用于判断一个自定义变量的值
    if gNPC:CHECKVAR(gObject, gPlayer, 'Human', 'GXXM2', '=', 'GXX引擎') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的自定义个人变量“GXXM2”的值等于“GXXM2引擎”四个字')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的自定义个人变量“GXXM2”的值不等于“GXXM2引擎”四个字')


调整自定义变量

调整自定义变量

   function CALCVAR()

说明：

   调整自定义变量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量类型 分为Global(全局)、Guild(行会)和Human(个人)
参数四 | string | 变量名
参数五 | string | 操作符号.可选+、-、*(乘以)、/(除以)、=
参数六 | string | 值
返回值 |  | 无

使用示例：
function TestDemo()
    --自定义变量 － 声明 VAR
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '>', 0) then
        --本命令用于声明一个自定义变量
        gNPC:VAR(gObject, gPlayer, 'string', 'Human', 'GXXM2')
        gNPC:MESSAGEBOX(gObject, gPlayer, '你声明了一个个人字符型变量“GXXM2”')
    end

    --自定义变量 － 读取 LOADVAR
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '>', 0) then
        --本命令用于从一个文件内读取一个自定义变量的值
        gNPC:LOADVAR(gObject, gPlayer, 'Human', 'GXXM2', '..\\QuestDiary\\SaveVar.txt')
    end

    --自定义变量 － 赋值操作 CALCVAR
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '>', 0) then
        --本命令用于操作一个自定义变量
        gNPC:CALCVAR(gObject, gPlayer, 'Human', 'GXXM2', '=', 'GXX引擎')
        gNPC:MESSAGEBOX(gObject, gPlayer, '你把自定义个人变量“GXXM2”赋值为：GXX引擎')
    end

    --自定义变量 － 保存 SAVEVAR
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '>', 0) then
        --本命令用于将一个自定义变量的信息存储到一个文件内
        gNPC:SAVEVAR(gObject, gPlayer, 'Human', 'GXXM2', '..\\QuestDiary\\SaveVar.txt')
        gNPC:MESSAGEBOX(gObject, gPlayer, '你把自定义个人变量“GXXM2”的值保存到SaveVar.txt文件内。')
    end

    --自定义变量 － 检测 CHECKVAR
    --本命令用于判断一个自定义变量的值
    if gNPC:CHECKVAR(gObject, gPlayer, 'Human', 'GXXM2', '=', 'GXX引擎') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的自定义个人变量“GXXM2”的值等于“GXXM2引擎”四个字')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的自定义个人变量“GXXM2”的值不等于“GXXM2引擎”四个字')


保存自定义变量

保存自定义变量

   function SAVEVAR()

说明：

   保存自定义变量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量类型 分为Global(全局)、Guild(行会)和Human(个人)
参数四 | string | 变量名
参数五 | string | 存储变量数据的文件路径
返回值 |  | 无

使用示例：
function TestDemo()
    --自定义变量 － 声明 VAR
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '>', 0) then
        --本命令用于声明一个自定义变量
        gNPC:VAR(gObject, gPlayer, 'string', 'Human', 'GXXM2')
        gNPC:MESSAGEBOX(gObject, gPlayer, '你声明了一个个人字符型变量“GXXM2”')
    end

    --自定义变量 － 读取 LOADVAR
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '>', 0) then
        --本命令用于从一个文件内读取一个自定义变量的值
        gNPC:LOADVAR(gObject, gPlayer, 'Human', 'GXXM2', '..\\QuestDiary\\SaveVar.txt')
    end

    --自定义变量 － 赋值操作 CALCVAR
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '>', 0) then
        --本命令用于操作一个自定义变量
        gNPC:CALCVAR(gObject, gPlayer, 'Human', 'GXXM2', '=', 'GXX引擎')
        gNPC:MESSAGEBOX(gObject, gPlayer, '你把自定义个人变量“GXXM2”赋值为：GXX引擎')
    end

    --自定义变量 － 保存 SAVEVAR
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '>', 0) then
        --本命令用于将一个自定义变量的信息存储到一个文件内
        gNPC:SAVEVAR(gObject, gPlayer, 'Human', 'GXXM2', '..\\QuestDiary\\SaveVar.txt')
        gNPC:MESSAGEBOX(gObject, gPlayer, '你把自定义个人变量“GXXM2”的值保存到SaveVar.txt文件内。')
    end

    --自定义变量 － 检测 CHECKVAR
    --本命令用于判断一个自定义变量的值
    if gNPC:CHECKVAR(gObject, gPlayer, 'Human', 'GXXM2', '=', 'GXX引擎') then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的自定义个人变量“GXXM2”的值等于“GXXM2引擎”四个字')
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的自定义个人变量“GXXM2”的值不等于“GXXM2引擎”四个字')


离线挂机

离线挂机

   function OFFLINE()

说明：

   离线挂机

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 加经验的间隔时间（单位：秒）
参数四 | integer | 得到的经验值.意为每隔S秒将获得Exp的经验值
返回值 |  | 无

使用示例：
function TestDemo()
    --离线挂机   每60秒钟可以获得2000经验
    gNPC:OFFLINE(gObject, gPlayer, 60, 2000)


离线挂机

离线挂机

   function OFFLINEPLAY()

说明：

   离线挂机

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 加经验的间隔时间（单位：秒）
参数四 | integer | 得到的经验值.意为每隔S秒将获得Exp的经验值
参数五 | integer | 指定时间后踢下线，单位分钟
返回值 |  | 无

使用示例：
function TestDemo()
    --离线挂机 挂机每60秒获得10000经验，挂机100分钟后踢出游戏
    gNPC:OFFLINEPLAY(gObject, gPlayer, 60, 10000, 100)


踢除服务器所有挂机人物

踢除服务器所有挂机人物

   function KICKOFFLINE()

说明：

   踢除服务器所有挂机人物

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --踢除服务器所有挂机人物
    gNPC:KICKOFFLINE(gObject, gPlayer)


元宝转账

元宝转账

   function STARTTAKEGOLD()

说明：

   元宝转账

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --进行元宝转账
    gNPC:STARTTAKEGOLD(gObject, gPlayer)


组合字符

组合字符

   function ENCODETEXT()

说明：

   组合字符

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数... | string | 字符串变量或者字符串 最多组合六个参数
返回值 |  | 无

使用示例：
function TestDemo()
    --组合字符
    gNPC.StrVar = 'www.abc.com'
    gNPC.StrVar2 = 'www.GxxM2.com'
    gNPC:ENCODETEXT(gObject, gPlayer, gNPC.StrVar, gNPC.StrVar2, 'abc', 'GxxM2')
    print(gNPC.StrVar)


解码字符

解码字符

   function DECODETEXT()

说明：

   解码字符

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 字符串变量
参数四 | string | 旧字符串
参数五 | string | 新字符串
返回值 |  | 无

使用示例：


从指定文件中增加字符串

从指定文件中增加字符串

   function ADDTEXTLIST()

说明：

   从指定文件中增加字符串

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | string | 字符串
参数五 | integer | 是否绝对路径(0或空为相对路径 1为绝对路径)
返回值 |  | 无

使用示例：
function TestDemo()
    --从指定文件中增加字符串
    gNPC:ADDTEXTLIST(gObject, gPlayer, '..\\QuestDiary\\TestList.txt', '测试字符串1')


从指定文件中删除字符串

从指定文件中删除字符串

   function DELTEXTLIST()

说明：

   从指定文件中删除字符串
   如果第五个参数为空，又要指定第六个参数，将第五个参数设置为""
   如果第五个参数不想填，又想填第六个参数，就把第五个参数设置为""
   因为填第六个参数不能跳过第五个参数，所以特殊处理

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | string | 字符串1
参数五 | string | 字符串2
参数六 | integer | 是否绝对路径(0或空为相对路径 1为绝对路径)
返回值 |  | 无

使用示例：
function TestDemo()
    --从指定文件中删除字符串
    gNPC:DELTEXTLIST(gObject, gPlayer, '..\\QuestDiary\\TestList.txt', '测试字符串1')


删除文本指定行

删除文本指定行

   function DELTEXTLISTLINE()

说明：

   删除文本指定行

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | string | 行号(从0开始)
参数五 | string | 是否绝对路径(0或空为是相对路径 1为是绝对路径)
返回值 |  | 无

使用示例：
function TestDemo()
    --删除文本指定行
    gNPC:DELTEXTLISTLINE(gObject, gPlayer, '..\\QuestDiary\\TestList.txt', 0)


编组地图传送

编组地图传送

   function GROUPMAPMOVE()

说明：

   编组地图传送

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | integer | X坐标
参数五 | integer | Y坐标
参数六 | integer | 可以传送最低等级(可以为空，为空时不检测队员的等级直接传送)
参数七 | string | 触发字段(可以为空)
参数八 | integer | 范围（以队长为中心设置范围，只传送范围内的队友，留空或者0为不需要范围，大于0则按照范围传送）
返回值 |  | 无

使用示例：
function TestDemo()
    --编组地图传送
    gNPC:GROUPMAPMOVE(gObject, gPlayer, 'N3', 333, 333)


召唤某个玩家到自己身边

召唤某个玩家到自己身边

   function RECALLHUMAN()

说明：

   召唤某个玩家到自己身边，此玩家必须在线

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 人物名称
返回值 |  | 无

使用示例：
function TestDemo()
    --召唤某个玩家到自己身边
    gNPC:RECALLHUMAN(gObject, gPlayer, '东方大道')


传送到对方身边

传送到对方身边

   function REGOTO()

说明：

   传送到对方身边，此玩家必须在线

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 人物名称
返回值 |  | 无

使用示例：
function TestDemo()
    --传送到对方身边
    gNPC:REGOTO(gObject, gPlayer, '东方大道')


行会地图随机传送

行会地图随机传送

   function GUILDMOVE()

说明：

   行会地图随机传送

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | integer | 最低等级
返回值 |  | 无

使用示例：
function TestDemo()
    --行会地图随机传送
    gNPC:GUILDMOVE(gObject, gPlayer, '108', 0)


行会地图传送

行会地图传送

   function GUILDMAPMOVE()

说明：

   行会地图传送

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | integer | X坐标
参数五 | integer | Y坐标
参数六 | integer | 最低等级
返回值 |  | 无

使用示例：
function TestDemo()
    --行会地图传送
    gNPC:GUILDMAPMOVE(gObject, gPlayer, '108', 141, 154, 0)


永久增加人物属性分配点

永久增加人物属性分配点

   function USEBONUSPOINT()

说明：

   永久增加人物属性分配点(增加的为属性点，如属性点分配设置加1点攻击需要17点，那么此脚本增加20点可以增加1点攻击剩余3点.并非直接增加20点攻击点数)

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 属性位置(1-9) 1攻击 2魔法 3道术 4防御 5魔防 6生命值 7魔法值 8准确 9躲避
参数四 | string | 控制符(+ - =)
参数五 | integer | 分配点数
返回值 |  | 无

使用示例：
function TestDemo()
    --永久增加人物属性分配点
    gNPC:USEBONUSPOINT(gObject, gPlayer, 1, '+', 20)
    gNPC:MESSAGEBOX(gObject, gPlayer, '攻击力增加20点')


调整金刚石数量

调整金刚石数量

   function GAMEDIAMOND()

说明：

   调整金刚石数量
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 点数
返回值 |  | 无

使用示例：
function TestDemo()
    --调整金刚石数量
    gNPC:GAMEDIAMOND(gObject, gPlayer, '+', 50)
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的金刚石增加了50')


调整灵符数量

调整灵符数量

   function GAMEGIRD()

说明：

   调整灵符数量
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 点数
返回值 |  | 无

使用示例：
function TestDemo()
    --调整灵符数量
    gNPC:GAMEGIRD(gObject, gPlayer, '+', 50)
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的灵符增加了50')


调整人物的荣誉值

调整人物的荣誉值

   function GAMEGLORY()

说明：

   调整人物的荣誉值
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 点数
返回值 |  | 无

使用示例：
function TestDemo()
    --调整人物的荣誉值
    gNPC:GAMEGLORY(gObject, gPlayer, '+', 50)
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的荣誉值增加了50')


自动穿背包中的装备

自动穿背包中的装备

   function AUTOTAKEONITEM()

说明：

   自动穿背包中的装备
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 装备名称
参数四 | integer | 装备位置
返回值 |  | 无

装备位置：
装备位置 | 描述
0 | 盔甲
1 | 武器
2 | 照明物
3 | 项链
4 | 头盔
5 | 右手镯
6 | 左手镯
7 | 右戒指
8 | 左戒指
9 | 护身符
10 | 腰带
11 | 鞋子
12 | 宝石
13 | 斗笠

使用示例：
function TestDemo()
    gNPC:GIVE(gObject, gPlayer, '死亡-卡里的怒火刃', 1)
    --自动穿背包中的装备
    gNPC:AUTOTAKEONITEM(gObject, gPlayer, '死亡-卡里的怒火刃', 1)
    gNPC:MESSAGEBOX(gObject, gPlayer, '已经为你穿戴上死亡-卡里的怒火刃')


穿戴指定装备

穿戴指定装备

   function TAKEONITEM()

说明：

   穿戴指定装备
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 装备名称
参数四 | integer | 装备位置
返回值 |  | 无

装备位置：
装备位置 | 描述
0 | 盔甲
1 | 武器
2 | 照明物
3 | 项链
4 | 头盔
5 | 右手镯
6 | 左手镯
7 | 右戒指
8 | 左戒指
9 | 护身符
10 | 腰带
11 | 鞋子
12 | 宝石
13 | 斗笠

使用示例：
function TestDemo()
    --穿戴指定装备
    gNPC:TAKEONITEM(gObject, gPlayer, '森林之术-命运皮甲（男）', 0)
    gNPC:MESSAGEBOX(gObject, gPlayer, '已经帮你穿上衣服了')


自动脱下装备

自动脱下装备

   function AUTOTAKEOFFITEM()

说明：

   自动脱下装备
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
返回值 |  | 无

装备位置：
装备位置 | 描述
0 | 盔甲
1 | 武器
2 | 照明物
3 | 项链
4 | 头盔
5 | 右手镯
6 | 左手镯
7 | 右戒指
8 | 左戒指
9 | 护身符
10 | 腰带
11 | 鞋子
12 | 宝石
13 | 斗笠

使用示例：
function TestDemo()
    --自动脱下装备
    gNPC:AUTOTAKEOFFITEM(gObject, gPlayer, 0)
    gNPC:MESSAGEBOX(gObject, gPlayer, '已经帮你脱下衣服了')


脱下指定装备

脱下指定装备

   function TAKEOFFITEM()

说明：

   脱下指定装备
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
返回值 |  | 无

装备位置：
装备位置 | 描述
0 | 盔甲
1 | 武器
2 | 照明物
3 | 项链
4 | 头盔
5 | 右手镯
6 | 左手镯
7 | 右戒指
8 | 左戒指
9 | 护身符
10 | 腰带
11 | 鞋子
12 | 宝石
13 | 斗笠

使用示例：
function TestDemo()
    --脱下指定装备
    gNPC:TAKEOFFITEM(gObject, gPlayer, 13)
    gNPC:MESSAGEBOX(gObject, gPlayer, '已经帮你脱下斗笠了')


自动行走

自动行走

   function AUTOGOTOXY()

说明：

   自动行走
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | integer | X坐标
参数五 | integer | Y坐标
返回值 |  | 无

使用示例：
function TestDemo()
    --自动行走
    gNPC:AUTOGOTOXY(gObject, gPlayer, 'N3', 320, 323)


创建主将英雄

创建主将英雄

   function CREATEHERO()

说明：

   创建主将英雄
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 英雄职业(0战士 1法师 2道士)
参数四 | integer | 英雄性别(0男 1女)
返回值 |  | 无

使用示例：
function TestDemo()
    if gNPC:CHECKHAVEHERO(gObject, gPlayer) then
        gNPC:MESSAGEBOX(gObject, gPlayer, '你已经有英雄了')
    else
        --创建男战士英雄
        gNPC:CREATEHERO(gObject, gPlayer, 0, 0)


删除英雄

删除英雄

   function DELETEHERO()

说明：

   删除英雄
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    if gNPC:CHECKHAVEHERO(gObject, gPlayer) then
         --删除英雄
         gNPC:DELETEHERO(gObject, gPlayer)
    else
        gNPC:MESSAGEBOX(gObject, gPlayer, '你还没有英雄')


打开任务窗口命令

打开任务窗口命令

   function OPENMISSIONDLG()

说明：

   打开任务窗口命令
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 打开窗口位置X坐标 不用可以省略
参数四 | integer | 打开窗口位置Y坐标 不用可以省略
返回值 |  | 无

使用示例：
function TestDemo()
    --打开任务窗口命令
    gNPC:OPENMISSIONDLG(gObject, gPlayer, 100, 200)


获取文本字符

获取文本字符

   function GETRANDOMTEXT()

说明：

   从文件中随机获取一行字符串。说明: 没有指定行时随机取某一行的字符串
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | string | 变量名
参数五 | integer | 指定行(0或空是随机一行，大于0是取指定行)
返回值 |  | 无

使用示例：
function TestDemo()
    --随机取一行字符串到S10中
    gNPC:GETRANDOMTEXT(gObject, gPlayer, '..\\QuestDiary\\测试.txt', 'S10')
    local tmpMsg = gNPC:GetVarValue(gPlayer, '<$STR(S10)>')
    gSystem:SendMoveMsg(tmpMsg, 253, 116, 40, 5, 18, 20)

    --取特定行的字符串
    gNPC:GETRANDOMTEXT(gObject, gPlayer, '..\\QuestDiary\\测试.txt', 'S10', 3)
    local tmpMsg = gNPC:GetVarValue(gPlayer, '<$STR(S10)>')
    gSystem:SendMoveMsg(tmpMsg, 253, 116, 40, 5, 18, 20)


从文件中随机取文本

从文件中随机取文本

   function GETRANDOMLINETEXT()

说明：

   从文本中随机取字符串
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | string | 变量名
参数五 | integer | 指定行(0或空是随机一行，大于0是取指定行)
参数六 | integer | 是否绝对路径(0:不是 1:是)
返回值 |  | 无

使用示例：
function TestDemo()
    --从文本中随机取字符串
    gNPC:GETRANDOMLINETEXT(gObject, gPlayer, '..\\QuestDiary\\测试.txt', 'S10')
    local tmpMsg = gNPC:GetVarValue(gPlayer, '<$STR(S10)>')
    gSystem:SendMoveMsg(tmpMsg, 253, 116, 40, 5, 18, 20)


在指定位置建立一个文本文件

在指定位置建立一个文本文件

   function CREATEFILE()

说明：

   在指定位置建立一个文本文件
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件名称
返回值 |  | 无

使用示例：
function TestDemo()
    --在指定位置建立一个文本文件
    gNPC:CREATEFILE(gObject, gPlayer, '..\\QuestDiary\\新文件.txt')


脚本召唤宝宝

脚本召唤宝宝

   function RECALLMOBEX()

说明：

   脚本召唤宝宝
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 怪物名称
参数四 | integer | X坐标
参数五 | integer | Y坐标
参数六 | integer | 等级
参数七 | integer | 数量
参数八 | integer | 叛变时间
参数九 | integer | 颜色类型(0固定颜色 1自动变色)
参数十 | integer | 颜色值(0-255)
返回值 |  | 无

使用示例：
function TestDemo()
    if gNPC:CHECKSLAVECOUNT(gObject, gPlayer, '<', 5) then
        --脚本召唤宝宝
        gNPC:RECALLMOBEX(gObject, gPlayer, '盾刀兵[A阶]', '<$X>', '<$Y>', 7, 5, 30, 1)
        gNPC:MESSAGEBOX(gObject, gPlayer, '好好看着自己的宝宝，不要乱咬人。')


移动宝宝坐标

移动宝宝坐标

   function CHANGERANGEMONPOS()

说明：

   移动宝宝坐标
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 怪物名称
参数四 | string | 原地图
参数五 | integer | 原X坐标
参数六 | integer | 原Y坐标
参数七 | integer | 原范围
参数八 | string | 新地图
参数九 | integer | 新X坐标
参数十 | integer | 新Y坐标
返回值 |  | 无

使用示例：
function TestDemo()
    --移动宝宝坐标
    gNPC:CHANGERANGEMONPOS(gObject, gPlayer, '盾刀兵[A阶]', '土', 174, 127, 5, '土', 178, 140)


设置定时器

设置定时器

   function SETONTIMER()

说明：

   设置定时器
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 定时器索引(0-255)
参数四 | integer | 定时间隔(单位为秒)
参数五 | integer | 执行次数(留空为无限制执行，需使用停止定时器方可关闭，填写3为执行3次后自动关闭定时器)
返回值 |  | 无

使用示例：
function TestDemo()
    --设置定时器
    gNPC:SETONTIMER(gObject, gPlayer, 20, 1)
    --停止定时器
    gNPC:SETOFFTIMER(gObject, gPlayer, 20)


停止定时器

停止定时器

   function SETOFFTIMER()

说明：

   停止定时器
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 定时器索引(0-255)
返回值 |  | 无

使用示例：
function TestDemo()
    --设置定时器
    gNPC:SETONTIMER(gObject, gPlayer, 20, 1)
    --停止定时器
    gNPC:SETOFFTIMER(gObject, gPlayer, 20)


发送屏幕滚动信息

发送屏幕滚动信息

   function SENDMOVEMSG()

说明：

   发送屏幕滚动信息
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 信息类型代码(0-7)
参数四 | integer | 字体颜色(0-255)
参数五 | integer | 背景颜色(0-255)
参数六 | integer | Y坐标
参数七 | integer | 滚动次数
参数八 | string | 信息内容
参数九 | integer | 字体大小
参数十 | integer | 滚动速度
参数十一 | integer | 范围
返回值 |  | 无

信息类型：
信息类型代码 | 描述
0 | 所有在线人物
1 | 个人
2 | 对友(包含自己)； 范围=0；所有对友； 范围>0；在自己范围之内的队友
3 | 行会所有成员(包含自己)； 范围=0；行会所有成员； 范围>0；在自己范围之内的行会成员
4 | 同一地图所有人物(包含自己)； 范围=0；同一地图所有人物； 范围>0；在自己范围之内的人物
5 | 对友(不包含自己)； 范围=0；所有对友； 范围>0；在自己范围之内的队友
6 | 行会所有成员(不包含自己)； 范围=0；行会所有成员； 范围>0；在自己范围之内的行会成员
7 | 同一地图所有人物(不包含自己)； 范围=0；同一地图所有人物； 范围>0；在自己范围之内的人物

使用示例：
function TestDemo()
    --发送屏幕滚动信息
    gNPC:SENDMOVEMSG(gObject, gPlayer, 1, 253, 255, 350, 1, '这个是屏幕滚动信息坐标在350', 10, 200, 0)
    gNPC:SENDMOVEMSG(gObject, gPlayer, 0, 253, 0, 130, 5,
        '{[双倍护送]/SCOLOR=251}振威镖局接镖已经开启{[双倍护送]/SCOLOR=251}，请各位玩家前往镇魔大陆请各位玩家前往镇魔大陆{[双倍护送]/SCOLOR=251}XXXXX.....',
        0, 2, 30, 0)


发送屏幕中间大字体信息

发送屏幕中间大字体信息

   function SENDCENTERMSG()

说明：

   发送屏幕中间大字体信息
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 字体颜色(0-255)
参数四 | integer | 背景颜色(0-255)
参数五 | integer | 消息文字
参数六 | integer | 模式(0发送给自己 1发送给所有人 2发送给行会 3无 4发送当前地图)
参数七 | integer | 显示时间
参数八 | string | 倒计时标签 设置倒计时标签时可以执行自定义脚本功能
参数九 | integer | 是否替换模式(0或空为不替换 大于0为替换)
参数十 | integer | X坐标
返回值 |  | 无

使用示例：
function TestDemo()
    --发送屏幕中间大字体信息
    gNPC:SENDCENTERMSG(gObject, gPlayer, 180, 251, '这是一个居中显示的公告.', 0)
    --显示30秒
    gNPC:SENDMOVEMSG(gObject, gPlayer, 180, 251, '这是一个居中显示的公告.', 0, 30)
    --执行倒计时标签(注意:文字提示中必须包含%d)
    gNPC:SENDMOVEMSG(gObject, gPlayer, 180, 251, '还剩余%d发放新手奖励.', 0, 30, '@GiveNewHumanItem')


显示倒计时信息提示

显示倒计时信息提示

   function SENDDELAYMSG()

说明：

   显示倒计时信息提示
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 信息内容
参数四 | integer | 时间(秒)
参数五 | integer | 字体颜色(0-255)
参数六 | integer | 换地图是否删除(0不删除 1删除)
参数七 | string | 跳转字段
参数八 | integer | X坐标
返回值 |  | 无

使用示例：
function TestDemo()
    --显示倒计时信息提示
    gNPC:SENDDELAYMSG(gObject, gPlayer, '你的礼物在%s后到达', 300, 255, 0, '@GiveNewHumanItem')


增加会员时间

增加会员时间

   function ADDNAMEDATETIMELIST()

说明：

   增加会员时间
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件名称
参数四 | integer | 天数
参数五 | integer | 小时
参数六 | integer | 分钟
返回值 |  | 无

使用示例：
function TestDemo()
   if gNPC:CHECKNAMEDATETIMELIST(gObject, gPlayer, '..\\QuestDiary\\会员名单.txt', 1, '<$STR(S1)>', '<$STR(N1)>', '<$STR(N2)>', '<$STR(N3)>') then
        --增加会员时间
        gNPC:ADDNAMEDATETIMELIST(gObject, gPlayer, '..\\QuestDiary\\会员名单.txt', 30, 0, 0)


发送聊天框固顶信息

发送聊天框固顶信息

   function SENDTOPCHATBOARDMSG()

说明：

   发送聊天框固顶信息
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 发送模式(0发送给所有人 1发送给自己)
参数四 | integer | 字体颜色(0-255)
参数五 | integer | 背景颜色(0-255)
参数六 | integer | 时间(秒)
参数七 | string | 文字内容
返回值 |  | 无

使用示例：
function TestDemo()
    --发送聊天框固顶信息
    gNPC:SENDTOPCHATBOARDMSG(gObject, gPlayer, 0, 149, 235, 30, '聊天框固顶信息')


设置人物特效播放

设置人物特效播放

   function PLAYEFFECT()

说明：

   设置人物特效播放
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | WIL文件序号
参数四 | integer | 开始图片序号
参数五 | integer | 播放图片张数
参数六 | integer | 播放次数(<= 0为永久播放)
参数七 | integer | 播放速度(毫秒)
参数八 | integer | 播放顺序(0或空为在角色前面 非0为在角色后面)
参数九 | integer | X坐标
参数十 | integer | Y坐标
参数十一 | integer | 是否特效播放(0或空为特效播放 1为普通播放)
返回值 |  | 无

使用示例：
function TestDemo()
    --设置人物特效播放
    gNPC:PLAYEFFECT(gObject, gPlayer, 88, 120, 12, 3, 100, 0, 0, 0, 1)


在屏幕上播放魔法

在屏幕上播放魔法

   function SCREENEFFECT()

说明：

   在屏幕上播放魔法
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 屏幕坐标X
参数四 | integer | 屏幕坐标Y
参数五 | integer | WIL文件序号
参数六 | integer | 开始图片序号
参数七 | integer | 播放图片张数
参数八 | integer | 播放次数
参数九 | integer | 播放速度(毫秒)
参数十 | integer | 播放效果(0为普通 1为魔法效果)
参数十一 | integer | 模式(0为自己 1为所有人)
参数十二 | integer | 播放位置(0或空为在对话框下层播放 1为在对话框上层播放)
返回值 |  | 无

使用示例：
function TestDemo()
    --在屏幕上播放魔法
    gNPC:SCREENEFFECT(gObject, gPlayer, 420, 400, 88, 120, 12, 1, 300, 0)


在地图上播放魔法效果

在地图上播放魔法效果

   function MAPEFFECT()

说明：

   在地图上播放魔法效果
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图名称
参数四 | integer | X坐标
参数五 | integer | Y坐标
参数六 | integer | WIL文件
参数七 | integer | 开始图片序号
参数八 | integer | 播放图片张数
参数九 | integer | 播放次数(-1为无限次数)
参数十 | integer | 播放效果(毫秒)
参数十一 | integer | 播放效果(0为普通 1为特效)
参数十二 | integer | 亮度(亮度范围0~5，0表示没有亮度，在关闭禁止免蜡时有效)
参数十三 | integer | ID
返回值 |  | 无

使用示例：
function TestDemo()
    --在地图上播放魔法效果
    gNPC:MAPEFFECT(gObject, gPlayer, 'N3', 333, 333, 88, 120, 12, 1, 300, 0)


播放音乐

播放音乐

   function PLAYSOUND()

说明：

   播放音乐
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件位置
参数四 | integer | 循环次数(0为无限次数)
参数五 | integer | 播放模式(0播放给自己 1播放给全服 2播放给同一地图 4播放给同屏人物)
返回值 |  | 无

使用示例：
function TestDemo()
    --播放音乐
    gNPC:PLAYSOUND(gObject, gPlayer, 'Wav\\1.wav', 1, 0)


打开自定义NPC对话框

打开自定义NPC对话框

   function OPENBIGDIALOGBOX()

说明：

   打开自定义NPC对话框
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | WIL文件编号
参数四 | integer | 图片编号
参数五 | integer | 是否显示关闭按钮(0,1)
参数六 | integer | 关闭按钮坐标X
参数七 | integer | 关闭按钮坐标Y
返回值 |  | 无

使用示例：
function TestDemo()
    --打开自定义NPC对话框
    gNPC:OPENBIGDIALOGBOX(gObject, gPlayer, 16, 109)


打开NPC大对话框

打开NPC大对话框

   function OPENMERCHANTBIGDLG()

说明：

   打开NPC大对话框
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | WIL文件编号
参数四 | integer | 图片编号
参数五 | integer | 是否可以移动(0,1)
参数六 | integer | 显示位置(0左上角 1右上角 2左下角 3右下角 4居中)
参数七 | integer | 微调坐标X
参数八 | integer | 微调坐标Y
参数九 | integer | 是否显示关闭按钮(0,1)
参数十 | integer | 关闭按钮坐标X
参数十一 | integer | 关闭按钮坐标Y
参数十二 | integer | 是否当前NPC对话一直使用此对话框(0和空为不延续 1为延续)
返回值 |  | 无

使用示例：
function TestDemo()
    --打开NPC大对话框
    gNPC:OPENMERCHANTBIGDLG(gObject, gPlayer, 16, 109)


关闭NPC大对话框

关闭NPC大对话框

   function CLOSEMERCHANTBIGDLG()

说明：

   关闭NPC大对话框
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --关闭NPC大对话框
    gNPC:CLOSEMERCHANTBIGDLG(gObject, gPlayer)


调整游戏速度

调整游戏速度

   function CHANGESPEED()

说明：

   调整游戏速度
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 速度类型(1为移动速度 2为攻击速度 3为魔法速度)
参数四 | integer | 速度值(0-100) 速度值间隔在M2-客户端控制-内挂控制-速度控制内设置速度间隔
参数五 | integer | 有效时间(秒 为空时不限制时间，小退失效)
返回值 |  | 无

使用示例：
function TestDemo()
    --调整游戏速度 移动速度增加5,小退后失效！
    gNPC:CHANGESPEED(gObject, gPlayer, 1, 5)


特修装备

特修装备

   function ACTREPAIRALL()

说明：

   特修装备。在物品规则列表中限制物品的不会被修理
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --特修装备
    gNPC:ACTREPAIRALL(gObject, gPlayer)


移动到回城点

移动到回城点

   function GOHOME()

说明：

   移动到回城点
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --移动到回城点
    gNPC:GOHOME(gObject, gPlayer)


把行会加入攻城列表

把行会加入攻城列表

   function ADDTOCASTLEWARLIST()

说明：

   把行会加入攻城列表
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 城堡名称
参数四 | string | 行会名称(行会名称为空时所有行会加入到攻城列表)
参数五 | integer | 天数(几天后开始攻城，该参数可以为空，为空时按照引擎设置的天数)
返回值 |  | 无

使用示例：
function TestDemo()
    --把行会加入攻城列表
    gNPC:ADDTOCASTLEWARLIST(gObject, gPlayer, '沙巴克')


添加行会成员

添加行会成员

   function ADDGUILDMEMBER()

说明：

   添加行会成员
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 行会名称
参数四 | string | 人物名称(人物名称为空时把自己加入到行会)
返回值 |  | 无

使用示例：
function TestDemo()
    --添加行会成员
    gNPC:ADDGUILDMEMBER(gObject, gPlayer, '闯名堂', '<$USERNAME>')


复活人物

复活人物

   function REALIVE()

说明：

   复活人物
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --复活人物
    gNPC:REALIVE(gObject, gPlayer)


在地图上放置物品

在地图上放置物品

   function THROWITEM()

说明：

   在地图上放置物品
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | integer | X坐标
参数五 | integer | Y坐标
参数六 | integer | 范围
参数七 | string | 物品名称
参数八 | integer | 数量|时间(此时间不受M2的爆物品可捡时间控制)
参数九 | integer | 捡取条件(0或空为任何人都不可以捡，必须等到时间才可以 1为所有人都可以立即拾取 2为自己与队伍可立即拾取，其他人不可拾取，需等到时间 3为自己可以立即拾取。其他人需要等到时间才可以)
参数十 | integer | 叠加物品是否叠加(0或空为叠加 1为非叠加)
返回值 |  | 无

使用示例：
function TestDemo()
    --在地图上放置物品
    gNPC:THROWITEM(gObject, gPlayer, '土', 174, 127, 10, '回城石', 5|60)


创建个人商店

创建个人商店

   function REALIVE()

说明：

   创建个人商店
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 商店名称
返回值 |  | 无

使用示例：
function TestDemo()
    --创建个人商店
    gNPC:CREATEMYSHOP(gObject, gPlayer, '<$STR(S1)>')


指定人物触发字段

指定人物触发字段

   function HCALL()

说明：

   指定人物触发字段。触发字段指执行QManage.txt中的脚本
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 人物名称
参数四 | string | 触发字段
返回值 |  | 无

使用示例：
function TestDemo()
    --指定人物触发字段
    gNPC:HCALL(gObject, gPlayer, '<$USERNAME>', '@立即参加大汉天子活动')


调整行会可以容纳成员数量

调整行会可以容纳成员数量

   function CHANGEGUILDMEMBERMAXLIMITCOUNT()

说明：

   调整行会可以容纳成员数量
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 行会名称(SELF表示调整自己所在的行会)
参数四 | string | 控制符(+ - =)
参数五 | integer | 数量
返回值 |  | 无

使用示例：
function TestDemo()
    --调整行会可以容纳成员数量
    gNPC:CHANGEGUILDMEMBERMAXLIMITCOUNT(gObject, gPlayer, '=', 100)


打开OK对话框

打开OK对话框

   function OPENUPGRADEDLG()

说明：

   打开OK对话框
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 显示的名称
返回值 |  | 无

使用示例：
function TestDemo()
    --打开可以放物品的对话框，也就是装备修理或出售物品的那个对话框
    gNPC:OPENUPGRADEDLG(gObject, gPlayer, '装备升级(显示的名称)')


收回OK框中的物品

收回OK框中的物品

   function TAKEDLGITEM()

说明：

   收回OK框中的物品
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --打开可以放物品的对话框，也就是装备修理或出售物品的那个对话框
    gNPC:OPENUPGRADEDLG(gObject, gPlayer, '装备升级(显示的名称)')
    --收回OK框中的物品
    gNPC:TAKEDLGITEM(gObject, gPlayer)
    --返回OK框中的物品
    gNPC:RECLAIMITEM(gObject, gPlayer)


返回OK框中的物品

返回OK框中的物品

   function RECLAIMITEM()

说明：

   返回OK框中的物品
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --打开可以放物品的对话框，也就是装备修理或出售物品的那个对话框
    gNPC:OPENUPGRADEDLG(gObject, gPlayer, '装备升级(显示的名称)')
    --收回OK框中的物品
    gNPC:TAKEDLGITEM(gObject, gPlayer)
    --返回OK框中的物品
    gNPC:RECLAIMITEM(gObject, gPlayer)


调整物品新增属性

调整物品新增属性

   function SETNEWITEMVALUE()

说明：

   调整物品新增属性
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 属性(0-24)
参数四 | integer | 装备位置
参数五 | string | 控制符(+ - =)
参数六 | integer | 属性值(1-100)
返回值 |  | 无

属性：
属性 | 描述
0 | 暴击几率增加 1~100%
1 | 增加攻击伤害 1~100%
2 | 物理伤害减少 1~100%
3 | 魔法伤害减少 1~100%
4 | 忽视目标防御 1~100%
5 | 所有伤害反弹 1~100%
6 | 增加杀人暴率 1~100%
7 | 人物体力增加 1~100%
8 | 人物魔力增加 1~100%
9 | 怒气恢复增加 1~100%
10 | 合击攻击增加 1~100%
11 | 增加杀怪暴率 1~100%
12 | 增加防爆几率(该件装备死亡防止爆出几率) 1~100%
13 | 增加防止麻痹 1~100%
14 | 增加防止护身 1~100%
15 | 增加防止复活 1~100%
16 | 增加防止全毒 1~100%
17 | 增加防止诱惑 1~100%
18 | 增加防止火墙 1~100%
19 | 增加防止冰冻 1~100%
20 | 增加防止蛛网 1~100%
21 | 致命一击几率 1~100%
22 | 致命一击伤害增加 1~100%
23 | 致命一击防御 1~100%
24 | 暴击抗性(对方暴击几率 - 暴击抗性 = 对方暴击打出几率) 1~100%

使用示例：
function TestDemo()
    --给武器加5点攻击伤害增加属性
    gNPC:SETNEWITEMVALUE(gObject, gPlayer, 1, 1, '+', 5)


设置装备发光特效

设置装备发光特效

   function SETITEMEFFECT()

说明：

   设置装备发光特效
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 特效编号(0-255,0为清除特效。特效编号需要在M2里编辑好的)
返回值 |  | 无

使用示例：
function TestDemo()
    --设置装备发光特效
    gNPC:SETITEMEFFECT(gObject, gPlayer, 1, 2)


修改人体颜色

修改人体颜色

   function SETBODYCOLOR()

说明：

   修改人体颜色
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 颜色(1-255)
参数四 | integer | 时间(秒)时间设置为0为无限制
参数五 | integer | 类型(0,1) 类型0或空为指定颜色 1为转生设置的颜色在人物身体上进行变色
返回值 |  | 无

使用示例：
function TestDemo()
    --修改身体颜色更改为七彩变色，有效时间120秒
    gNPC:SETBODYCOLOR(gObject, gPlayer, 151, 120, 1)


改变人物状态

改变人物状态

   function MAKEPOSION()

说明：

   改变人物状态(是否计算防御目标的对应属性意思是是否无视麻痹防御 、防御全毒属性)
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 类型(0为绿毒 1为红毒 5为麻痹)
参数四 | integer | 时间(秒)
参数五 | integer | 威力
参数六 | integer | 是否计算防御目标的对应属性(0,1) 0或空为不计算 1为计算
参数七 | integer | 是否千分比计算威力(0,1) 0或空为不计算 1为计算
返回值 |  | 无

使用示例：
function TestDemo()
    --改变人物中红毒，每次伤害值1%或者千分之十
    gNPC:MAKEPOSION(gObject, gPlayer, 0, 10, 10, 1, 1)


开始摆摊

开始摆摊

   function SHOPSTALL()

说明：

   开始摆摊。使用SHOPSTALL命令，如果正在摆摊就会停止摆摊，如果没有摆摊就会开始摆摊。
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --开始摆摊
    gNPC:SHOPSTALL(gObject, gPlayer)


顶戴花翎

顶戴花翎

   function SETICON()

说明：

   顶戴花翎
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 位置(0-9)
参数四 | integer | WIL文件序号
参数五 | integer | 图片序号(0-65535)
参数六 | integer | X坐标(为空时默认X=0)
参数七 | integer | Y坐标(为空时默认Y=0)
参数八 | integer | 播放张数(为空时默认张数=1)
参数九 | integer | 播放效果(0普通 1特效)
参数十 | integer | 播放顺序(0或空：在角色前面；非0：在角色后面)
参数十一 | integer | 播放速度(为空默认为300)
参数十二 | integer | 是否仅自己可见(0或空: 所有人可见; 1:仅自己可见)
返回值 |  | 无

使用示例：
function TestDemo()
    --顶戴花翎
    gNPC:SETICON(gObject, gPlayer, 1, 12, 1270, -33, 17, 1, 0, 0, 300, 0)


游戏中打开网站

游戏中打开网站

   function OPENWEBSITE()

说明：

   游戏中打开网站
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 网站地址
返回值 |  | 无

使用示例：
function TestDemo()
    --游戏中打开网站
    gNPC:OPENWEBSITE(gObject, gPlayer, 'http://www.gxxm2.com/')


在登录器中浏览网页

在登录器中浏览网页

   function WEBBROWSER()

说明：

   在登录器中浏览网页
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 网站地址
返回值 |  | 无

使用示例：
function TestDemo()
    --在登录器中浏览网页
    gNPC:WEBBROWSER(gObject, gPlayer, 'http://www.gxxm2.com/')


调整人物属性

调整人物属性

   function CHANGEHUMABILITY()

说明：

   调整人物属性
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 属性(1-23)
参数四 | integer | 控制符(+ - =)
参数五 | integer | 属性值(1-65535)
参数六 | integer | 时间(秒) 此参数不填为在线一直有效
返回值 |  | 无

属性：
属性值 | 描述
1 | 防御下限
2 | 防御上限
3 | 魔御下限
4 | 魔御上限
5 | 攻击下限
6 | 攻击上限
7 | 魔法下限
8 | 魔法上限
9 | 道术下限
10 | 道术上限
11 | MaxHP
12 | MaxMP
13 | 内功伤害减少
14 | HP恢复
15 | MP恢复
16 | 毒恢复
17 | 度躲避
18 | 魔法躲避
19 | 准确
20 | 敏捷
21 | 幸运
22 | 内功伤害增加
23 | 内力值

使用示例：
function TestDemo()
    --调整防御上限增加10点.60秒后恢复
    gNPC:CHANGEHUMABILITY(gObject, gPlayer, 2, '+', 10, 60)


永久调整人物属性

永久调整人物属性

   function CHANGEHUMABILITYEX()

说明：

   永久调整人物属性
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 属性(1-23)
参数四 | integer | 控制符(+ - =)
参数五 | integer | 属性值(1-65535)
返回值 |  | 无

属性：
属性值 | 描述
1 | 防御下限
2 | 防御上限
3 | 魔御下限
4 | 魔御上限
5 | 攻击下限
6 | 攻击上限
7 | 魔法下限
8 | 魔法上限
9 | 道术下限
10 | 道术上限
11 | MaxHP
12 | MaxMP
13 | 内功伤害减少
14 | HP恢复
15 | MP恢复
16 | 毒恢复
17 | 度躲避
18 | 魔法躲避
19 | 准确
20 | 敏捷
21 | 幸运
22 | 内功伤害增加
23 | 内力值

使用示例：
function TestDemo()
    --永久调整防御上限增加10点
    gNPC:CHANGEHUMABILITYEX(gObject, gPlayer, 2, '+', 10)


整人物属性百分比

整人物属性百分比

   function CHANGEHUMABILITYPERCENTAGE()

说明：

   整人物属性百分比
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 属性(1-23)
参数四 | integer | 控制符(+ - =)
参数五 | integer | 属性值(1-100)
参数六 | integer | 时间(秒) 此参数不填为在线一直有效
返回值 |  | 无

属性：
属性值 | 描述
1 | 防御下限
2 | 防御上限
3 | 魔御下限
4 | 魔御上限
5 | 攻击下限
6 | 攻击上限
7 | 魔法下限
8 | 魔法上限
9 | 道术下限
10 | 道术上限
11 | MaxHP
12 | MaxMP
13 | 内功伤害减少
14 | HP恢复
15 | MP恢复
16 | 毒恢复
17 | 度躲避
18 | 魔法躲避
19 | 准确
20 | 敏捷
21 | 幸运
22 | 内功伤害增加
23 | 内力值

使用示例：
function TestDemo()
    --调整防御上限增加10%.60秒后恢复
    gNPC:CHANGEHUMABILITYPERCENTAGE(gObject, gPlayer, 2, '+', 60)


给字符串在前面或者后面增加指定个数的空格

给字符串在前面或者后面增加指定个数的空格

   function SETSTRINGBLANK()

说明：

   给字符串在前面或者后面增加指定个数的空格
   注意：第四个参数长度是指增加空格后整个字符串的长度,
   例如字符串“GXXM2引擎”长度是9，如果第四个参数设置13，那么实际增加4个空格。英文字母和数字占用1个字节(长度),汉字占用2个字节(长度)。
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量名(S变量 全局A变量)
参数四 | string | 长度(1-100)
参数五 | string | 格式(0,1) 0为前面 1为后面
返回值 |  | 无

使用示例：
function TestDemo()
    --给字符串在前面或者后面增加指定个数的空格
    gNPC:MOV(gObject, gPlayer, 'S10', 'GXXM2引擎')
    gNPC:SETSTRINGBLANK(gObject, gPlayer, 'S10', 13, 0)
    gNPC:SENDTOPCHATBOARDMSG(gObject, gPlayer, 0, 149, 235, 30, '<$STR(S10)>')


获取物品的附加属性值

获取物品的附加属性值

   function GETITEMADDVALUE()

说明：

   获取物品的附加属性值
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 属性位置(0-14)
参数五 | string | 保存变量名
返回值 |  | 无

使用示例：
function TestDemo()
    --你的武器附加了<$STR(M10)>点防御属性
    gNPC:GETITEMADDVALUE(gObject, gPlayer, 1, 0, '<$STR(M10)>')


修改物品的附加属性值

修改物品的附加属性值

   function CHANGEITEMADDVALUE()

说明：

   修改物品的附加属性值
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 属性位置(0-14)
参数五 | string | 控制符(+ - =)
参数六 | integer | 属性值
返回值 |  | 无

使用示例：
function TestDemo()
    --修改武器的最大攻击+10
    gNPC:CHANGEITEMADDVALUE(gObject, gPlayer, 1, 0, '+', 10)


改变人物当前模式

改变人物当前模式

   function CHANGEMODEEX()

说明：

   改变人物当前模式
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 模式(1-14)
参数四 | integer | 时间(1-65535)
参数五 | integer | 附加值(1-21E)
返回值 |  | 无

模式：
模式 | 描述 | 附加值说明
1 | 无敌 | 附加值不使用
2 | 隐身 | 附加值不使用
3 | HP |
4 | MP |
5 | 攻击力 |
6 | 魔法力 |
7 | 道术力 |
8 | 攻击速度 |
9 | 禁止攻击 | 附加值不使用
10 | 锁定 |
11 | 护身 | 第五个参数为护身掉蓝比例(参数3设置100 表示遭遇攻击护身吸收所有伤害，设置50则只吸收一半)
12 | 防麻痹 | 第五个参数为防御麻痹几率(参数3设置100 表示100%防御麻痹，设置50则为50%防御麻痹)
13 | 破复活 | 第五个参数为破复活几率(参数3设置100 表示100%破复活，设置50则为50%几率破复活)
14 | 传送 |

使用示例：
function TestDemo()
    --60秒之内攻击力增加20点
    gNPC:CHANGEMODEEX(gObject, gPlayer, 5, 60, 20)


把某个地图中的玩家全部移动到另外一个地图

把某个地图中的玩家全部移动到另外一个地图

   function MOVEMAPPLAY()

说明：

   把某个地图中的玩家全部移动到另外一个地图
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 原地图代码
参数四 | integer | 新地图代码
参数五 | integer | 新地图X坐标
参数六 | integer | 新地图Y坐标
返回值 |  | 无

使用示例：
function TestDemo()
    --地图0中的人物已经全部移动到地图3中
    gNPC:MOVEMAPPLAY(gObject, gPlayer, 0, 3, 333, 333)


调整英雄的忠诚度

调整英雄的忠诚度

   function CHANGEHEROLOYAL()

说明：

   调整英雄的忠诚度
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 忠诚度数值(0-10000) 第四个参数+1那么英雄增加0.01点忠诚+100那么英雄增加1点忠诚
返回值 |  | 无

使用示例：
function TestDemo()
    --检测英雄是否在线
    if gNPC:CHECKHEROONLINE(gObject, gPlayer) then
        --增加英雄1点忠诚
        gNPC:CHANGEHEROLOYAL(gObject, gPlayer, '+', 100)
        gPlayer:SysMsg('您的英雄忠诚度增加1点', 215, 116, 1)


禁止魔法

禁止魔法

   function MAGICDISABLED()

说明：

   禁止魔法
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --禁止魔法
    --QFunction-0脚本里[@MagicX] X表示魔法ID；
    gNPC:MAGICDISABLED(gObject, gPlayer)
    gPlayer:SysMsg('禁止使用冰咆哮。', 215, 116, 1)


取对面角色人物名

取对面角色人物名

   function GETPOSENAME()

说明：

   取对面角色人物名
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量名
返回值 |  | 无

使用示例：
function TestDemo()
    --取对面角色人物名
    gNPC:GETPOSENAME(gObject, gPlayer, '<$STR(S10)>')


假人登录脚本

假人登录脚本

   function DUMMYLOGON()

说明：

   假人登录脚本。会自动登录“Mir200\Envir\DummyNameList.txt”中的假人
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | integer | X坐标
参数五 | integer | Y坐标
参数六 | integer | 数量
返回值 |  | 无

使用示例：
function TestDemo()
    --增加假人登录脚本
    gNPC:DUMMYLOGON(gObject, gPlayer, 'N3', 330, 330, 10)


设置假人配置文件

设置假人配置文件

   function SETDUMMYCONFIGFILENAME()

说明：

   设置假人配置文件
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
返回值 |  | 无

使用示例：
function TestDemo()
    --检测是否是假人
    if gNPC:ISDUMMY(gObject, gPlayer) then
        --设置假人配置文件。如果不设置假人配置文件，默认读取 D:\MirServer\Mir200\Envir\DummyConfig\假人名称.txt
        gNPC:SETDUMMYCONFIGFILENAME(gObject, gPlayer, '..\\QuestDiary\\智能陪练\\一级女法陪练.txt')

        --读取假人配置文件，将配置文件中的参数读取到假人。
        gNPC:LOADDUMMYCONFIGFILE(gObject, gPlayer)

        --更改攻击模式
        gNPC:CHANGEATTATCKMODE(gObject, gPlayer, 0)

        --从假人列表或假人英雄列表中获取一个没有登录过的名称
        gNPC:GETDUMMYNAME(gObject, gPlayer, '<$STR(S1)>', 1, 1)

        --把获取到的英雄名称给假人，假人就可以召唤英雄了
        gNPC:SETDUMMYHERONAME(gObject, gPlayer, '<$STR(S1)>')

        --召唤英雄
        gNPC:RECALLHERO(gObject, gPlayer)


读取假人配置文件

读取假人配置文件

   function LOADDUMMYCONFIGFILE()

说明：

   读取假人配置文件
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --检测是否是假人
    if gNPC:ISDUMMY(gObject, gPlayer) then
        --设置假人配置文件。如果不设置假人配置文件，默认读取 D:\MirServer\Mir200\Envir\DummyConfig\假人名称.txt
        gNPC:SETDUMMYCONFIGFILENAME(gObject, gPlayer, '..\\QuestDiary\\智能陪练\\一级女法陪练.txt')

        --读取假人配置文件，将配置文件中的参数读取到假人。
        gNPC:LOADDUMMYCONFIGFILE(gObject, gPlayer)

        --更改攻击模式
        gNPC:CHANGEATTATCKMODE(gObject, gPlayer, 0)

        --从假人列表或假人英雄列表中获取一个没有登录过的名称
        gNPC:GETDUMMYNAME(gObject, gPlayer, '<$STR(S1)>', 1, 1)

        --把获取到的英雄名称给假人，假人就可以召唤英雄了
        gNPC:SETDUMMYHERONAME(gObject, gPlayer, '<$STR(S1)>')

        --召唤英雄
        gNPC:RECALLHERO(gObject, gPlayer)


更改攻击模式

更改攻击模式

   function CHANGEATTATCKMODE()

说明：

   更改攻击模式
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 攻击模式(0-6) 0-全体攻击 1-和平攻击 2-夫妻攻击 3-师徒攻击 4-编组攻击 5-行会攻击 6-红名攻击
返回值 |  | 无

使用示例：
function TestDemo()
    --更改攻击模式
    gNPC:CHANGEATTATCKMODE(gObject, gPlayer, 0)


从假人列表或假人英雄列表中获取一个没有登录过的名称

从假人列表或假人英雄列表中获取一个没有登录过的名称

   function GETDUMMYNAME()

说明：

   从假人列表或假人英雄列表中获取一个没有登录过的名称
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 保存变量名
参数四 | integer | 列表类型(0=假人列表 1= 英雄列表)
参数五 | integer | 获取类型(0=顺序获取 1= 随机获取)
返回值 |  | 无

使用示例：
function TestDemo()
    --从假人列表或假人英雄列表中获取一个没有登录过的名称
    gNPC:GETDUMMYNAME(gObject, gPlayer, '<$STR(S1)>',1 , 1)


从列表中获取到的英雄名称给假人

从列表中获取到的英雄名称给假人

   function SETDUMMYHERONAME()

说明：

   从列表中获取到的英雄名称给假人
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 英雄名称
返回值 |  | 无

使用示例：
function TestDemo()
    --检测是否是假人
    if gNPC:ISDUMMY(gObject, gPlayer) then
        --设置假人配置文件。如果不设置假人配置文件，默认读取 D:\MirServer\Mir200\Envir\DummyConfig\假人名称.txt
        gNPC:SETDUMMYCONFIGFILENAME(gObject, gPlayer, '..\\QuestDiary\\智能陪练\\一级女法陪练.txt')

        --读取假人配置文件，将配置文件中的参数读取到假人。
        gNPC:LOADDUMMYCONFIGFILE(gObject, gPlayer)

        --更改攻击模式
        gNPC:CHANGEATTATCKMODE(gObject, gPlayer, 0)

        --从假人列表或假人英雄列表中获取一个没有登录过的名称
        gNPC:GETDUMMYNAME(gObject, gPlayer, '<$STR(S1)>', 1, 1)

        --把获取到的英雄名称给假人，假人就可以召唤英雄了
        gNPC:SETDUMMYHERONAME(gObject, gPlayer, '<$STR(S1)>')

        --召唤英雄
        gNPC:RECALLHERO(gObject, gPlayer)


召唤英雄

召唤英雄

   function RECALLHERO()

说明：

   召唤英雄
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --检测是否是假人
    if gNPC:ISDUMMY(gObject, gPlayer) then
        --设置假人配置文件。如果不设置假人配置文件，默认读取 D:\MirServer\Mir200\Envir\DummyConfig\假人名称.txt
        gNPC:SETDUMMYCONFIGFILENAME(gObject, gPlayer, '..\\QuestDiary\\智能陪练\\一级女法陪练.txt')

        --读取假人配置文件，将配置文件中的参数读取到假人。
        gNPC:LOADDUMMYCONFIGFILE(gObject, gPlayer)

        --更改攻击模式
        gNPC:CHANGEATTATCKMODE(gObject, gPlayer, 0)

        --从假人列表或假人英雄列表中获取一个没有登录过的名称
        gNPC:GETDUMMYNAME(gObject, gPlayer, '<$STR(S1)>', 1, 1)

        --把获取到的英雄名称给假人，假人就可以召唤英雄了
        gNPC:SETDUMMYHERONAME(gObject, gPlayer, '<$STR(S1)>')

        --召唤英雄
        gNPC:RECALLHERO(gObject, gPlayer)


假人开始自动打怪

假人开始自动打怪

   function DUMMYSTART()

说明：

   假人开始自动打怪
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --检测是否是假人
    if gNPC:ISDUMMY(gObject, gPlayer) then
        --设置假人配置文件。如果不设置假人配置文件，默认读取 D:\MirServer\Mir200\Envir\DummyConfig\假人名称.txt
        gNPC:SETDUMMYCONFIGFILENAME(gObject, gPlayer, '..\\QuestDiary\\智能陪练\\一级女法陪练.txt')

        --读取假人配置文件，将配置文件中的参数读取到假人。
        gNPC:LOADDUMMYCONFIGFILE(gObject, gPlayer)

        --更改攻击模式
        gNPC:CHANGEATTATCKMODE(gObject, gPlayer, 0)

        --从假人列表或假人英雄列表中获取一个没有登录过的名称
        gNPC:GETDUMMYNAME(gObject, gPlayer, '<$STR(S1)>', 1, 1)

        --把获取到的英雄名称给假人，假人就可以召唤英雄了
        gNPC:SETDUMMYHERONAME(gObject, gPlayer, '<$STR(S1)>')

        --召唤英雄
        gNPC:RECALLHERO(gObject, gPlayer)

        --假人开始自动打怪
        gNPC:DUMMYSTART(gObject, gPlayer)


假人停止自动打怪

假人停止自动打怪

   function DUMMYSTOP()

说明：

   假人停止自动打怪
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --假人停止自动打怪
    gNPC:DUMMYSTOP(gObject, gPlayer)


增加天气效果

增加天气效果

   function SETWEATHEREFFECT()

说明：

   增加天气效果
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数四 | string | 地图代码
参数五 | integer | 天气效果(0-关闭 1-黄沙效果 2-花瓣效果 3-下雪效果 扩展4-21)
参数六 | integer | 有效时间(秒)
参数七 | integer | 是否黑暗(0-正常 1-黑暗)
参数八 | string | wav\音乐文件.后缀(文件名长度不超过50)
返回值 |  | 无

使用示例：
function TestDemo()
    --增加天气效果
    gNPC:SETWEATHEREFFECT(gObject, gPlayer, '土', 3, 600, 0, 'wav\\刮风声音.wav')


动态地图连接

动态地图连接

   function ADDMAPGATE()

说明：

   动态地图连接
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 连接名称
参数四 | string | 地图代码
参数五 | integer | X(小于0为随机坐标)
参数六 | integer | Y(小于0为随机坐标)
参数七 | integer | 范围
参数八 | string | 到达地图代码
参数九 | integer | 到达地图X坐标(小于0为随机坐标)
参数十 | integer | 到达地图X坐标(小于0为随机坐标)
参数十一 | integer | 有效时间(秒。时间到了自动删除该连接,该参数为空时不限时间)
返回值 |  | 无

使用示例：
function TestDemo()
    --动态地图连接
    gNPC:ADDMAPGATE(gObject, gPlayer, '从盟重到打怪地图', '土', 174, 127, 5, '108', 62, 92, 30)


删除动态地图连接

删除动态地图连接

   function DELMAPGATE()

说明：

   删除动态地图连接
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 连接名称
参数四 | string | 地图代码
返回值 |  | 无

使用示例：
function TestDemo()
    --删除动态地图连接
    gNPC:DELMAPGATE(gObject, gPlayer, '从盟重到打怪地图', 'N3')


获取动态地图连接坐标

获取动态地图连接坐标

   function GETMAPGATE()

说明：

   获取动态地图连接坐标
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 连接名称
参数四 | string | 地图代码
参数五 | string | 变量1(保存X坐标)
参数六 | string | 变量2(保存Y坐标)
参数七 | string | 变量3(保存到达地图号)
参数八 | string | 变量4(保存到达X坐标)
参数九 | string | 变量5(保存到达Y坐标)
返回值 |  | 无

使用示例：
function TestDemo()
    --动态地图连接
    gNPC:ADDMAPGATE(gObject, gPlayer, '从盟重到打怪地图', '土', '<$STR(G10)>', '<$STR(G11)>', '<$STR(S10)>',
        '<$STR(G12)>', '<$STR(G13)>')


召唤自己的分身

召唤自己的分身

   function RECALLSELF()

说明：

   召唤自己的分身
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 分身有效时间
参数四 | integer | 数量
参数五 | integer | 继承人物属性百分比
参数六 | integer | 分身颜色(0-255) 0不改变颜色
参数七 | integer | 改变分身衣服外观(0或空为不改)
参数八 | integer | 改变分身武器外观(0或空为不改)
参数九 | integer | X坐标
参数十 | integer | Y坐标
返回值 |  | 无

使用示例：
function TestDemo()
    --召唤自己的分身
    gNPC:RECALLSELF(gObject, gPlayer, 60, 3, 150, 251, 1, 1)
    gPlayer:SysMsg('召唤3只金黄色分身帮助自己作战1分钟.继承人物全部属性150%，外观为木剑布衣',
        215, 116, 1)


顶端滚动公告

顶端滚动公告

   function SENDTOPMSG()

说明：

   顶端滚动公告
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 前景色(0-255)
参数四 | string | 背景色(0-255)
参数五 | string | 消息文字
参数六 | string | 发送模式(0=发送给自己 1=发送所有人物 2=发送行会 3=发送国家 4=发送当前地图)
返回值 |  | 无

使用示例：
function TestDemo()
    --顶端滚动公告
    gNPC:SENDTOPMSG(gObject, gPlayer, 251, 0, '这是一个顶部滚动公告大部分人', 0)


调整人物宝宝的等级

调整人物宝宝的等级

   function CHANGESLAVELEVEL()

说明：

   调整人物宝宝的等级
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 宝宝名称(*为所有宝宝)
参数四 | string | 控制符(+ - =)
参数五 | integer | 等级(1-7)
参数六 | integer | 0或空=调整单个宝宝 1=调整所有宝宝
返回值 |  | 无

使用示例：
function TestDemo()
    --把虎卫的等级调整到7级
    gNPC:CHANGESLAVELEVEL(gObject, gPlayer, '虎卫', '=', 7)


强制人物的攻击模式

强制人物的攻击模式

   function SETHUMATTACKMODE()

说明：

   强制人物的攻击模式
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 攻击模式(0-7)
参数四 | integer | 时间(秒)
参数五 | string | 地图代码(*为任何地图)
返回值 |  | 无

使用示例：
function TestDemo()
    if gNPC:CHECKPKPOINT(gObject, gPlayer, 2) then
        --你在土城被强制和平攻击模式3600秒
        gNPC:SETHUMATTACKMODE(gObject, gPlayer, 1, 3600, '土')


读取文本文件中的内容到变量中

读取文本文件中的内容到变量中

   function GETLISTSTRING()

说明：

   读取文本文件中的内容到变量中
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | integer | 行号(从0开始)
参数五 | string | 变量1
参数六 | string | 变量2
参数七 | integer | 是否绝对路径(0,1)
返回值 |  | 无

使用示例：
function TestDemo()
    --读取文本文件中的内容到变量中
    gNPC:GETLISTSTRING(gObject, gPlayer, '..\\QuestDiary\\测试.txt', 5, 'A10', 'N10')


取指定位置的装备名字

取指定位置的装备名字

   function GETUSERITEMNAME()

说明：

   取指定位置的装备名字
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置(0-12)
参数四 | integer | S变量(0-99)
参数五 | integer | 是否只取DB中的名称(0=若改名以改名为准 1只取DB中的名称)
返回值 |  | 无

使用示例：
function TestDemo()
    --把武器的名字放如S10变量中
    gNPC:GETUSERITEMNAME(gObject, gPlayer, 1, 10)


指定宝宝立即叛变

指定宝宝立即叛变

   function GETCALLMOB()

说明：

   指定宝宝立即叛变
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 宝宝名称
参数四 | integer | 数量(0=所有相同名字宝宝都叛变 1=只叛变1个 2=叛变2个 其它类堆)
参数五 | integer | 分身是否保留(0=不保留收回分身 1=保留分身叛变)
返回值 |  | 无

使用示例：
function TestDemo()
    if gNPC:CHECKSLAVECOUNT(gObject, gPlayer, '>', 0, '<$USERNAME>', 1) then
        --指定宝宝立即叛变
        gNPC:GETCALLMOB(gObject, gPlayer, '<$USERNAME>', 1, 1)


杀死人物的宝宝

杀死人物的宝宝

   function KILLCALLMOB()

说明：

   杀死人物的宝宝
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 宝宝名称
参数四 | integer | 数量
参数五 | integer | 是否清理尸体(0=不清理 1=清理)
返回值 |  | 无

使用示例：
function TestDemo()
    --杀死人物的宝宝
    gNPC:KILLCALLMOB(gObject, gPlayer, '白野猪', 2)


所有行会同时攻城

所有行会同时攻城

   function ADDATTACKSABUKALL()

说明：

   所有行会同时攻城
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 城堡号(0)
返回值 |  | 无

使用示例：
function TestDemo()
    --所有行会将于今晚同时攻城
    gNPC:ADDATTACKSABUKALL(gObject, gPlayer, 0)


调整人物身上物品装备名字颜色

调整人物身上物品装备名字颜色

   function CHANGEITEMNAMECOLOR()

说明：

   调整人物身上物品装备名字颜色
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置(0-13)
参数四 | integer | 颜色(0-255) 颜色=0时恢复默认颜色
返回值 |  | 无

使用示例：
function TestDemo()
    --调整人物身上物品装备变成紫色
    gNPC:CHANGEITEMNAMECOLOR(gObject, gPlayer, 1, 253)


随机验证码

随机验证码

   function SETRANDOMNO()

说明：

   随机验证码
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 验证码类型(0或空:全数字 1:数字+小写字母 2:数字+大写字母 3:数字+小写字母+大写字母)

使用示例：
function TestDemo()
    --随机验证码
    gNPC:SETRANDOMNO(gObject, gPlayer)


回收合成材料同时将合成后的物品放入背包

回收合成材料同时将合成后的物品放入背包

   function GIVEFOUNDRYITEM()

说明：

   回收合成材料同时将合成后的物品放入背包
   使用说明：首先在物品列表中找到求婚戒指,然后点击下面的添加按钮将求婚戒指添加到物品列表中.
   接着在左边的物品列表中点击求婚戒指,右边的所需物品列表中的添加按钮处于激活状态后就可以添加合成求婚戒指需要的 材料和装备了.(目前除了StdItems.DB中的物品外还可以直接支持 金币 元宝 声望 能量点)图中
   合成求婚戒指需要铜矿5块, 银矿金矿各一块.添加完成之后点保存按钮即可.

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 铸造物品列表中的物品名称
返回值 |  | 无

使用示例：
function TestDemo()
    if gNPC:CHECKFOUNDRYITEM(gObject, gPlayer, '求婚戒指') then
        --回收合成材料同时将合成后的物品放入背包
        gNPC:GIVEFOUNDRYITEM(gObject, gPlayer, '求婚戒指')


聊天框显示合成物品材料（锻造系统）

聊天框显示合成物品材料（锻造系统）

声明：

   function SHOWFOUNDRYITEM()

说明：

   聊天框显示合成物品材料（锻造系统）

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 合成物品名称
返回值 |  | 无

使用示例：
function TestDemo()
    if gNPC:CHECKFOUNDRYITEM(gObject, gPlayer, '%FoundryItem') then
        --回收合成材料同时将合成后的物品放入背包
        gNPC:GIVEFOUNDRYITEM(gObject, gPlayer, '%FoundryItem')
    else
        --聊天框显示合成物品材料
        gNPC:SHOWFOUNDRYITEM(gObject, gPlayer, '%FoundryItem')


移动到挑战地图

移动到挑战地图

   function CHALLENGMAPMOVE()

说明：

   移动到挑战地图
   挑战地图说明:没有等级限制,只在双方面对面,即可挑战,挑战时间5分钟,在挑战时间内没有分出胜负的,直接随机传送.
   增加地图参数 FIGHT4 (挑战地图),此参数禁止召唤英雄,死亡不掉落物品,不增加PK值.  M2\查看\列表信息中可设置禁止挑战的物品. 挑战时双方都不可以使用英雄,所有药品 挑战胜,所有之前押的物品归胜方所有。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | integer | X坐标
参数五 | integer | Y坐标
返回值 |  | 无

使用示例：
function TestDemo()
    if gNPC:CHECKMAPHUMANCOUNT(gObject, gPlayer, 'EM029A', '=', 0) then
        --移动到挑战地图
        gNPC:CHALLENGMAPMOVE(gObject, gPlayer, 'EM029A', 14, 15)


没有挑战地图可移动,则退回抵押的物品

没有挑战地图可移动,则退回抵押的物品

   function GETCHALLENGEBAKITEM()

说明：

   没有挑战地图可移动,则退回抵押的物品

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --没有挑战地图可移动,则退回抵押的物品
    gNPC:GETCHALLENGEBAKITEM(gObject, gPlayer)
    gPlayer:SysMsg('当前地图人数已经满员!请稍后再试!', 215, 116, 1)


删除一个NPC

删除一个NPC

   function DELNPC()

说明：

   删除一个NPC

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | NPC名称
参数四 | string | NPC所在的地图代码
返回值 |  | 无

使用示例：
function TestDemo()
    --删除一个NPC
    gNPC:DELNPC(gObject, gPlayer, '传送员', '土')
    gPlayer:SysMsg('土城的传送员已经被删除！', 215, 116, 1)


播放MP3文件

播放MP3文件

   function PLAYMUSIC()

说明：

   播放网络上的MP3文件,或者本地MP3文件

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 音乐名称
返回值 |  | 无

使用示例：
function TestDemo()
    --播放MP3文件
    gNPC:PLAYMUSIC(gObject, gPlayer, 'http://www.GXXM2.com/123.mp3')


打开宝石升级界面

打开宝石升级界面

   function OPENUPGRADEDIALOG()

说明：

   打开宝石升级界面

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --打开宝石升级界面
    gNPC:OPENUPGRADEDIALOG(gObject, gPlayer)


当前宝石升级装备失败

当前宝石升级装备失败

   function SETUPGRADEFAIL()

说明：

   当前宝石升级装备失败。此命令只能在QFunction中的@ItemUpgrade下执行

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    if gNPC:CHECKGOLD(gObject, gPlayer, 5000) then
        gNPC:TAKE(gObject, gPlayer, '金币', 5000)
    else
        gPlayer:SysMsg('升级装备需要5000金币', 215, 116, 1)
        --当前宝石升级装备失败
        gNPC:SETUPGRADEFAIL(gObject, gPlayer)


清除使用宝石升级的装备属性

清除使用宝石升级的装备属性

   function CLEARSTONEUPGRADE()

说明：

   清除使用宝石升级的装备属性。此命令不区分极品和普通装备,清除时所有属性都将消失

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 位置(0-14)
返回值 |  | 无

使用示例：
function TestDemo()
    --清除使用宝石升级的装备属性
    gNPC:CLEARSTONEUPGRADE(gObject, gPlayer, 0)


收回指定名称的矿名(按数量,纯度)

收回指定名称的矿名(按数量,纯度)

声明：

   function OPENUPGRADEDIALOG()

说明：

   收回指定名称的矿名(按数量,纯度)

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 物品名称
参数四 | integer | 数量(1-45)
参数五 | string | 检测符(> < =)
参数六 | integer | 纯度(1-65)
返回值 |  | 无

使用示例：
function TestDemo()
    --检测背包中是否有5个纯度20的黑铁矿石,并且回收
    if gNPC:CHECKMINE(gObject, gPlayer, '黑铁矿石', 5, '=', 20) then
        gNPC:TAKEMINE(gObject, gPlayer, '黑铁矿石', 5, '=', 20)
        gPlayer:SysMsg('背包中有5个纯度20的黑铁矿石', 215, 116, 1)
    else
        gPlayer:SysMsg('背包中没有5个纯度20的黑铁矿石', 215, 116, 1)


设置人物伤害吸收

设置人物伤害吸收

   function SETSUCKDAMAGE()

说明：

   设置人物伤害吸收

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 总吸收直(1-2000000000)
参数五 | integer | 吸收比例(1-1000) 吸收比例 1=0.1% 500=50% 1000=100%
参数六 | integer | 成功率(1-100)
返回值 |  | 无

使用示例：
function TestDemo()
    --设置总共吸收1000点伤害,每次吸收20%伤害,成功率95%
    gNPC:SETSUCKDAMAGE(gObject, gPlayer, '+', 1000, 200, 95)


设置英雄伤害吸收

设置英雄伤害吸收

   function SETHEROSUCKDAMAGE()

说明：

   设置英雄伤害吸收

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 总吸收直(1-2000000000)
参数五 | integer | 吸收比例(1-1000) 吸收比例 1=0.1% 500=50% 1000=100%
参数六 | integer | 成功率(1-100)
返回值 |  | 无

使用示例：
function TestDemo()
    --设置总共吸收1000点伤害,每次吸收20%伤害,成功率95%
    gNPC:SETHEROSUCKDAMAGE(gObject, gPlayer, '+', 1000, 200, 95)


取字符串在列表中的下标

取字符串在列表中的下标

   function SETHEROSUCKDAMAGE()

说明：

   取字符串在列表中的下标.返回值放在人物的N0变量中,如果值=9999999说明没有找到

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 路径
参数四 | string | 字符串
参数五 | integer | 是否绝对路径(0,1)
返回值 |  | 无

使用示例：
function TestDemo()
    --取字符串在列表中的下标
    gNPC:GETSTRINGPOS(gObject, gPlayer, '..\\QuestDiary\\测试.txt', '管理员')


新的装备改名

新的装备改名

   function CHANGEITEMNAME()

说明：

   新的装备改名

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置(0-51)
参数四 | string | 新的名称
返回值 |  | 无

使用示例：
function TestDemo()
    --新的装备改名
    gNPC:CHANGEITEMNAME(gObject, gPlayer, 1, '新名字')


改变当前人物的穿人,穿怪模式

改变当前人物的穿人,穿怪模式

   function THROUGHHUM()

说明：

   改变当前人物的穿人,穿怪模式

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 模式(-1=恢复 0=穿人穿怪 1=穿怪 2=穿人)
参数四 | string | 时间(秒)
返回值 |  | 无

使用示例：
function TestDemo()
    --改变当前人物的穿人,穿怪模式
    gNPC:THROUGHHUM(gObject, gPlayer, 1, 60)
    gPlayer:SysMsg('60秒之内可随意穿怪', 215, 116, 1)


创建小组时触发

创建小组时触发

   function CREATEGROUPFAIL()

说明：

   创建小组时触发

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --在组队前触发,检测创建小组人员的等级
    if gNPC:CHECKLEVELEX(gObject, gPlayer, '<', 25) then
        gNPC:CREATEGROUPFAIL(gObject, gPlayer)
        gPlayer:SysMsg('25级之后才可以组队', 215, 116, 1)


改变人物公聊时的文字信息颜色

改变人物公聊时的文字信息颜色

   function CHANGEHEARMSGCOLOR()

说明：

   改变人物公聊时的文字信息颜色

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 时间(分钟)
参数四 | string | 颜色(0-255)
返回值 |  | 无

使用示例：
function TestDemo()
    --改变人物公聊时的文字信息颜色
    gNPC:CHANGEHEARMSGCOLOR(gObject, gPlayer, 10, 180)


调整当前行会的人数上限

调整当前行会的人数上限

   function ADDGUILDMEMBERCOUNT()

说明：

   调整当前行会的人数上限
   说明: 只能由行会老大使用.每个行会会自动读取!Setup.txt中的行会人数限制,之后可以用此命令重 新调整行会人数限制,也就是说调整后不受!Setup.txt中行会人数限制参数的限制.

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 数量(0-1000)
返回值 |  | 无

使用示例：
function TestDemo()
    --调整当前行会的人数上限
    gNPC:ADDGUILDMEMBERCOUNT(gObject, gPlayer, '+', 5)
    gPlayer:SysMsg('行会人数上限加5', 215, 116, 1)


自动移动到指定坐标

自动移动到指定坐标

   function GOTONOW()

说明：

   自动移动到指定坐标

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | X坐标
参数四 | integer | Y坐标
返回值 |  | 无

使用示例：
function TestDemo()
    --自动移动到指定坐标
    gNPC:GOTONOW(gObject, gPlayer, 330, 330)
    gPlayer:SysMsg('在盟重时自动移动到330 330', 215, 116, 1)


改变人物宝宝名字颜色

改变人物宝宝名字颜色

   function CHANGESLAVENAMECOLOR()

说明：

   改变人物宝宝名字颜色

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 宝宝名称
参数四 | integer | 颜色(0-255)
返回值 |  | 无

使用示例：
function TestDemo()
    --改变人物宝宝名字颜色
    gNPC:CHANGESLAVENAMECOLOR(gObject, gPlayer, '普通镖车', 168)
    gPlayer:SysMsg('改变镖车颜色', 215, 116, 1)


增加限次使用物品的次数

增加限次使用物品的次数

   function ADDFUNITEMDURA()

说明：

   增加限次使用物品的次数。说明: 只对刚刚使用过的类型(StdItem= 31Source=1)或者(StdItem=2 Shape=1,3,5,9)的物品有效。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 次数(该参数为空时次数默认为1)
返回值 |  | 无

使用示例：
function TestDemo()
    --增加限次使用物品的次数
    gNPC:ADDFUNITEMDURA(gObject, gPlayer, 100)


给指定纯度的矿石

给指定纯度的矿石

   function GIVEMINE()

说明：

   给指定纯度的矿石

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 矿石名称
参数四 | integer | 数量
参数五 | integer | 纯度(如此参数不填为随机给纯度)
返回值 |  | 无

使用示例：
function TestDemo()
    --给指定纯度的矿石
    gNPC:GIVEMINE(gObject, gPlayer, '黑铁矿石', 1, 5)
    gPlayer:SysMsg('给了1个纯度5的黑铁矿石', 215, 116, 1)


调整新游戏点数

调整新游戏点数

   function GAMEGOLDEX()

说明：

   调整新游戏点数
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 点数
返回值 |  | 无

使用示例：
function TestDemo()
    --调整新游戏点数
    gNPC:GAMEGOLDEX(gObject, gPlayer, '+', 50)
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的新游戏点增加了50')


获取对面人物的名字

获取对面人物的名字

   function GETOPPOSITEHUMNAME()

说明：

   获取对面人物的名字
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量名
返回值 |  | 无

使用示例：
function TestDemo()
    --获取对面人物的名字
    gNPC:GETOPPOSITEHUMNAME(gObject, gPlayer, 'S0')


使用脚本打开宝箱

使用脚本打开宝箱

   function OPENDRAGONBOX()

说明：

   使用脚本打开宝箱(支持Source值0-255) 该文件只能设置为数值，类似于多个沙巴克设置List.txt文件，每行一个数值

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | Source值(0-255)
返回值 |  | 无

使用示例：
function TestDemo()
    --打开宝箱
    gNPC:OPENDRAGONBOX(gObject, gPlayer, 15)


寄放英雄

寄放英雄

   function SAVEHERO()

说明：

   寄放英雄

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --寄放英雄
    gNPC:SAVEHERO(gObject, gPlayer)


领回英雄

领回英雄

   function GETHERO()

说明：

   领回英雄

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --领回英雄
    gNPC:GETHERO(gObject, gPlayer)


关闭请酒对话框

关闭请酒对话框

   function CLOSEDRINK()

说明：

   关闭请酒对话框

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --关闭请酒对话框
    gNPC:CLOSEDRINK(gObject, gPlayer)


设置比酒显示内容

设置比酒显示内容

   function PLAYDRINKMSG()

说明：

   设置比酒显示内容

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 消息位置(1=上面 2=下面)
参数四 | string | 消息内容
返回值 |  | 无

使用示例：
function TestDemo()
    --设置比酒显示内容
    gNPC:PLAYDRINKMSG(gObject, gPlayer, 1, '好！')
    gNPC:PLAYDRINKMSG(gObject, gPlayer, 2, '就这坛了！请前辈来喝!')


打开请酒界面

打开请酒界面

   function OPENPLAYDRINK()

说明：

   打开请酒界面

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 人物头像(0,1,2)
参数四 | string | 人物名称(0:翔天 1:影月 2:辰星)
参数四 | string | DRINK
返回值 |  | 无

使用示例：
function TestDemo()
    --打开请酒界面
    gNPC:OPENPLAYDRINK(gObject, gPlayer, 1, '影月', 'DRINK')


主副将评定

主副将评定

   function ASSESSMENTHERO()

说明：

   主副将评定

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --主副将评定
    gNPC:ASSESSMENTHERO(gObject, gPlayer)


自动修炼

自动修炼

   function OPENHEROAUTOPRACTICE()

说明：

   自动修炼

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --自动修炼
    gNPC:OPENHEROAUTOPRACTICE(gObject, gPlayer)


停止自我修炼

停止自我修炼

   function STOPHEROAUTOPRACTICE()

说明：

   停止自我修炼

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --停止自动修炼
    gNPC:STOPHEROAUTOPRACTICE(gObject, gPlayer)


开通经脉

开通经脉

   function OPENPULSE()

说明：

   开通经脉

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 经络(0-3)
参数四 | integer | 穴位(1-5)
返回值 |  | 无

使用示例：
function TestDemo()
    --开通经脉
    gNPC:OPENPULSE(gObject, gPlayer, 4, 1)


改变络经等级

改变络经等级

   function CHANGEPULSELEVEL()

说明：

   改变络经等级

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 经络(0-3)
参数四 | string | 控制符(+ - =)
参数五 | integer | 等级(1-5)
返回值 |  | 无

使用示例：
function TestDemo()
    --改变络经等级
    gNPC:CHANGEPULSELEVEL(gObject, gPlayer, 3, '+', 1)


学习内功

学习内功

   function READSKILLNG()

说明：

   学习内功

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --学习内功
    gNPC:READSKILLNG(gObject, gPlayer)


调整内功等级

调整内功等级

   function READSKILLNG()

说明：

   调整内功等级

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 等级数(1-255)
返回值 |  | 无

使用示例：
function TestDemo()
    --检查是否学过内功
    if gNPC:CHECKREADSKILLNG(gObject, gPlayer) then
        --检查内功等级
        if gNPC:CHANGENGLEVEL(gObject, gPlayer, '=', 1) then
            --调整内功等级
            gNPC:CHANGENGLEVEL(gObject, gPlayer, '+', 5)


调整内力经验点数

调整内力经验点数

   function CHANGENGEXP()

说明：

   调整内力经验点数

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 经验点数(1-255)
返回值 |  | 无

使用示例：
function TestDemo()
    --调整内力经验点数
    gNPC:CHANGENGEXP(gObject, gPlayer, '+', 1000)


开启第四个连击技能

开启第四个连击技能

   function OPENLASTSKILL()

说明：

   开启第四个连击技能

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    if gNPC:CHECKOPENLASTSKILL(gObject, gPlayer) then
        gPlayer:SysMsg('第四个连击技能已经开启', 215, 116, 1)
    else
        --开启第四个连击技能
        gNPC:OPENLASTSKILL(gObject, gPlayer)


调整人物英雄等级

调整人物英雄等级

   function CHANGEHEROLEVEL()

说明：

   调整人物英雄等级

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 等级数(1-65535)
返回值 |  | 无

使用示例：
function TestDemo()
    --调整人物英雄等级
    gNPC:CHANGEHEROLEVEL(gObject, gPlayer, '=', 50)
    gPlayer:SysMsg('你的英雄50级了', 215, 116, 1)


调整英雄的PK值

调整英雄的PK值

   function CHANGEHEROPKPOINT()

说明：

   调整英雄的PK值

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 等级数(1-65535)
返回值 |  | 无

使用示例：
function TestDemo()
    if gNPC:CHECKHEROONLINE(gObject, gPlayer) then
        --调整英雄的PK值
        gNPC:CHANGEHEROPKPOINT(gObject, gPlayer, '+', 100)
        gPlayer:SysMsg('你英雄的PK值增加100点.', 215, 116, 1)
    else
        gPlayer:SysMsg('你英雄不在线.', 215, 116, 1)


给予带绑定状态装备

给予带绑定状态装备

   function GIVESTATEITEM()

说明：

   给予带绑定状态装备

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 物品名称
参数四 | integer | 禁止扔(0,1)
参数五 | integer | 禁止交易(0,1)
参数六 | integer | 禁止存放(0,1)
参数七 | integer | 禁止修理(0,1)
参数八 | integer | 禁止出售(0,1)
参数九 | integer | 禁止爆出的装备(0,1)
参数十 | integer | 禁止丢弃消失(0,1)
返回值 |  | 无

使用示例：
function TestDemo()
    --给予带绑定状态装备
    gNPC:GIVESTATEITEM(gObject, gPlayer, '罪恶-地狱潜行者刃', 1, 1, 1, 1, 1, 1)


设置装备绑定状态

设置装备绑定状态

   function SETITEMSTATE()

说明：

   设置装备绑定状态

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 项目(0-7)
参数五 | integer | 属性(0=正常 1=绑定)
返回值 |  | 无

使用示例：
function TestDemo()
    if gNPC:CHECKITEMSTATE(gObject, gPlayer, 0, 0) then
        --设置装备绑定状态
        gNPC:SETITEMSTATE(gObject, gPlayer, 0, 0, 1)
        gPlayer:SysMsg('该装备禁止扔', 215, 116, 1)


自定义变量按变量值大小排序

自定义变量按变量值大小排序

   function SORTVARTOLIST()

说明：

   自定义变量按变量值大小排序

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 自定义变量名
参数四 | string | 自定义变量文件路径
参数五 | string | 排序后列表的保存路径
参数六 | integer | 升序还是降序(0,1)
参数七 | integer | 保存格式(0,1) 0=单独保存人物名字 1= 保存人物名字和数值变量
参数八 | integer | 自定义变量文件是否绝对路径(0,1)
参数九 | integer | 保存文件是否绝对路径(0,1)
返回值 |  | 无

使用示例：
function TestDemo()
    --自定义变量按变量值大小排序
    gNPC:SORTVARTOLIST(gObject, gPlayer, 'LJSQZS', '..\\QuestDiary\\数据文件\\Test.txt',
        '..\\QuestDiary\\数据文件\\排序的文件.txt', 0, 1)


排序在线人物自定义变量

排序在线人物自定义变量

   function SORTHUMVARTOLIST()

说明：

   排序在线人物自定义变量。此脚本命令只排序在线人物的变量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量类型(HUMAN GUILD GLOBAL)
参数四 | string | 变量名
参数五 | string | 保存路径
参数六 | integer | 排序模式(0,1)0=升序 1=降序
参数七 | string | 名字路径。此参数在排序后只保存人物名字不保存人物变量
返回值 |  | 无

使用示例：
function TestDemo()
    --升序排序人物变量QQQQ,单独保存人物名字
    gNPC:SORTHUMVARTOLIST(gObject, gPlayer, 'HUMAN', 'QQQQ', '..\\QuestDiary\\测试.txt', 0, '..\\QuestDiary\\测试1.txt')


排序人物自定义变量

排序人物自定义变量

   function SORTHUMVARTOLISTEX()

说明：

   排序人物自定义变量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量名
参数四 | string | 变量路径
参数五 | integer | 排序模式(0,1)0=升序 1=降序
参数六 | string | 保存路径
参数七 | integer | 保存模式(0,1) 0=单独保存人物名字 1=保存人物名字和数值变量
参数八 | integer | 变量文件是否绝对路径(0,1)
参数九 | integer | 保存文件是否绝对路径(0,1)
返回值 |  | 无

使用示例：
function TestDemo()
    --升序排序人物变量QQQQ,不保存人物变量
    gNPC:SORTHUMVARTOLISTEX(gObject, gPlayer, 'QQQQ', '..\\QuestDiary\\测试.txt', 0, '..\\QuestDiary\\测试A.txt', 1)


中断摆摊

中断摆摊

   function FORBIDMYSHOP()

说明：

   中断摆摊

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --中断摆摊
    gNPC:FORBIDMYSHOP(gObject, gPlayer)


创建动态地图链接点

创建动态地图链接点

   function ADDMAPROUTE()

说明：

   创建动态地图链接点。 说明: 此功能需要两个脚本命令配套使用才可生效。 AddMapRoute用于添加一个地图链接点,SetMapRoute配合设置一个地图链接点。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 动态链接标示(1-65535)
参数四 | string | 连接地图
参数五 | integer | 坐标X
参数六 | integer | 坐标Y
返回值 |  | 无

使用示例：
function TestDemo()
    --链接地图3和地图5的特定坐标, 地图 3 335 330 地图 5 658 463
    gNPC:ADDMAPROUTE(gObject, gPlayer, 1, '3', 335, 330)
    gNPC:SETMAPROUTE(gObject, gPlayer, 1, '5', 658, 463)


设置动态地图链接点

设置动态地图链接点

   function SETMAPROUTE()

说明：

   设置动态地图链接点。 说明: 此功能需要两个脚本命令配套使用才可生效。 AddMapRoute用于添加一个地图链接点,SetMapRoute配合设置一个地图链接点。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 动态链接标示(1-65535)
参数四 | string | 待连接地图
参数五 | integer | 坐标X
参数六 | integer | 坐标Y
返回值 |  | 无

使用示例：
function TestDemo()
    --链接地图3和地图5的特定坐标, 地图 3 335 330 地图 5 658 463
    gNPC:ADDMAPROUTE(gObject, gPlayer, 1, '3', 335, 330)
    gNPC:SETMAPROUTE(gObject, gPlayer, 1, '5', 658, 463)


删除动态地图链接点

删除动态地图链接点

   function DELMAPROUTE()

说明：

   删除动态地图链接点

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 动态链接标示(1-65535)
返回值 |  | 无

使用示例：
function TestDemo()
    --删除动态地图链接点
    gNPC:DELMAPROUTE(gObject, gPlayer, 1)


查看动态地图链接点

查看动态地图链接点

   function GETMAPROUTEINFO()

说明：

   查看动态地图链接点

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 链接标示(1-65535)
参数四 | integer | 查看方式(0-1)
参数五 | integer | 坐标X
参数六 | integer | 坐标Y
返回值 |  | 无

使用示例：
function TestDemo()
    --查看链接坐标,参数2等于0查看连接地图,等于1查看待连接地图
    gNPC:GETMAPROUTEINFO(gObject, gPlayer, 1, 0, 'A0', 'G0', 'G1')
    gNPC:GETMAPROUTEINFO(gObject, gPlayer, 1, 1, 'A1', 'G2', 'G3')
    gNPC:MESSAGEBOX(gObject, gPlayer, '[地图<$STR(A0)>坐标:<$STR(G0)>:<$STR(G1)>]->[地图<$STR(A1)>坐标:<$STR(G2)>:<$STR(G3)>]')


动态修改地图显示名字

动态修改地图显示名字

   function CHANGEMAPDESC()

说明：

   动态修改地图显示名字。直接修改MapInfo.txt中对应地图的显示名字

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 新名字
参数四 | integer | 是否保存(0,1)
返回值 |  | 无

使用示例：
function TestDemo()
    --动态修改地图显示名字
    gNPC:GETMAPROUTEINFO(gObject, gPlayer, '新盟重', 1)


修改指定位置装备的当前持久和最大持久

修改指定位置装备的当前持久和最大持久

   function CHANGEITEMDURA()

说明：

   修改指定位置装备的当前持久和最大持久

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置(0-12)
参数四 | string | 控制符(+ - =)
参数五 | integer | 持久(0-65000)
参数六 | integer | 是否修改最大持久(0或空=修改当前持久 1=修改最大持久)
返回值 |  | 无

使用示例：
function TestDemo()
    --你的物品当前持久降低1点
    gNPC:CHANGEITEMDURA(gObject, gPlayer, 0, '-', 1000)


改变人物衣服翅膀效果

改变人物衣服翅膀效果

   function CHANGEDRESSEFFECT()

说明：

   改变人物衣服翅膀效果。说明:客户端需要有HumEffect.wil

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 特效编号
参数四 | string | 绘制方式(0或空=特效绘制 1 =普通绘制)
返回值 |  | 无

使用示例：
function TestDemo()
    --改变人物衣服翅膀效果
    gNPC:CHANGEDRESSEFFECT(gObject, gPlayer, 3)


改变行会掌门人

改变行会掌门人

   function CHANGEGUILDMASTER()

说明：

   改变行会掌门人

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 行会名称
返回值 |  | 无

使用示例：
function TestDemo()
    --改变行会掌门人
    gNPC:CHANGEGUILDMASTER(gObject, gPlayer, '华山派')


建立新行会

建立新行会

   function ADDGUILD()

说明：

   建立新行会。 可以指定某人成为该行会掌门(必须在线)

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 行会名称
参数四 | string | 第四个参数等于Self时掌门是自己。否则是在线玩家
返回值 |  | 无

使用示例：
function TestDemo()
    --建立新行会
    gNPC:ADDGUILD(gObject, gPlayer, '华山派', 'Self')


清除英雄所有技能

清除英雄所有技能

   function CLEARHEROALLSKILL()

说明：

   清除英雄所有技能

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --清除英雄所有技能
    gNPC:CLEARHEROALLSKILL(gObject, gPlayer)


取下人物身上装备

取下人物身上装备

   function TAKEEX()

说明：

   取下人物身上装备

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置(0-51)
返回值 |  | 无

使用示例：
function TestDemo()
    --取下人物身上装备
    gNPC:TAKEEX(gObject, gPlayer, 1)


随机杀死地图中的怪物

随机杀死地图中的怪物

   function RANDOMKILLMON()

说明：

   随机杀死地图中的怪物

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码(Self=当前地图)
参数四 | string | 怪物名称
参数五 | integer | 数量(1-255)
参数六 | integer | 掉落物品(0或空=杀死怪物掉落物品 1=杀死怪物不掉落)
返回值 |  | 无

使用示例：
function TestDemo()
    --随机杀死地图中的怪物
    gNPC:RANDOMKILLMON(gObject, gPlayer, 'N3', '魂蛋半兽人', 20)


设置人物商铺购买物品的价格比例

设置人物商铺购买物品的价格比例

   function SETSHOPITEMPRICERATE()

说明：

   设置人物商铺购买物品的价格比例.人物下线后状态消失.

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 比例(1-100)
返回值 |  | 无

使用示例：
function TestDemo()
    --设置人物商铺购买物品的价格比例
    gNPC:SETSHOPITEMPRICERATE(gObject, gPlayer, 90)


设置装备发光

设置装备发光

   function SETITEMSLIGHT()

说明：

   设置装备发光.衣服,武器和头盔不支持次功能. 选择效果点击 M2\选项\功能设置\内挂控制

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 位置(0-12)
参数四 | integer | 值(1=发光效果1 2=发光效果2 0=不发光)
返回值 |  | 无

使用示例：
function TestDemo()
    --设置装备发光
    gNPC:SETITEMSLIGHT(gObject, gPlayer, 3, 1)


收回人物的英雄

收回人物的英雄

   function TAKEHERO()

说明：

   收回人物的英雄

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --收回人物的英雄
    gNPC:TAKEHERO(gObject, gPlayer)


写入指定文本文件

写入指定文本文件

   function ADDTEXTLISTEX()

说明：

   写入指定文本文件

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 路径
参数四 | string | 字符串
参数五 | integer | 行(0-65535)
参数六 | integer | 是否绝对路径(0,1)
返回值 |  | 无

使用示例：
function TestDemo()
    --写入指定文本文件
    gNPC:ADDTEXTLISTEX(gObject, gPlayer, '..\\TestList.txt', '<$USERNAME>', 0)


移动指定坐标的怪物到新的坐标

移动指定坐标的怪物到新的坐标

   function MOVEMONTOPOS()

说明：

   移动指定坐标的怪物到新的坐标

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 怪物名称
参数四 | string | 地图代码
参数五 | integer | 原坐标X
参数六 | integer | 原坐标Y
参数七 | integer | 新坐标X
参数八 | integer | 新坐标Y
返回值 |  | 无

使用示例：
function TestDemo()
    --移动指定坐标的怪物到新的坐标
    gNPC:MOVEMONTOPOS(gObject, gPlayer, '魔王弓箭手', 'K004', 51, 43, 48, 47)


创建新目录

创建新目录

   function FORCEDIRECTORIES()

说明：

   创建新目录

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 目录名称
返回值 |  | 无

使用示例：
function TestDemo()
    --创建新目录
    gNPC:FORCEDIRECTORIES(gObject, gPlayer, '\\QuestDiary\\新目录\\')


拆除物品

拆除物品

   function OPENITEMBOXEX()

说明：

   拆除物品。说明: 标号代表要执行的脚本编号,提示信息是登录器显示的简单提示.放入的物品名字保存在人物的S0变量中.放入的物品的持久放在人物的N0变量中.
   注意: 脚本文件头必须加入@ReclaimItem N0中保存的持久1000=游戏中1点持久,20000=20点持久.
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 标号(1-1000)
参数四 | integer | 是否回收(0,1)
参数五 | string | 提示信息
返回值 |  | 无

使用示例：
function TestDemo()
    --拆除物品
    gNPC:OPENITEMBOXEX(gObject, gPlayer, 1, 1, '拆解戒指类物品')


获取玩家名称

获取玩家名称

   function GETUSERNAME()

说明：

   获取玩家名称
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 字符串变量号(0-99)
返回值 |  | 无

使用示例：
function TestDemo()
    --获取玩家名称
    gNPC:GETUSERNAME(gObject, gPlayer, 10)


指定范围触发

指定范围触发

   function GOTOLABEL()

说明：

   指定范围触发
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 模式(0-9)
参数四 | stirng | 触发字段
参数五 | integer | 范围
返回值 |  | 无

模式：
模式 | 描述
0 | 小组成员触发
1 | 行会成员触发
2 | 当前地图的人物触发
3 | 以自己坐标为中心指定范围人物触发以自己坐标为中心指定范围人物触发
4 | 小组成员触发(自己除外)
5 | 行会成员触发(自己除外)
6 | 当前地图的人物触发(自己除外)
7 | 以自己坐标为中心指定范围人物触发(自己除外)
8 | 模式触发指定范围
9 | 国家成员触发(自己除外)

使用示例：
function TestDemo()
    --指定范围触发
    gNPC:GOTOLABEL(gObject, gPlayer, 3, '@指定范围人物触发', 12)


加入国家

加入国家

   function JOINNATION()

说明：

   加入国家
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 国家编号
返回值 |  | 无

使用示例：
function TestDemo()
    --加入国家
    gNPC:JOINNATION(gObject, gPlayer, 2)


脚本增加自定义按钮

脚本增加自定义按钮

   function ADDBUTTON()

说明：

   脚本增加自定义按钮
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | WIL补丁序号
参数四 | integer | 按钮点击后的脚本触发序号，触发QF里面的[@ButtonClickX]X即为触发序号
参数五 | integer | 按钮默认图片
参数六 | integer | 鼠标经过图片
参数七 | integer | 按钮按下图片
参数八 | integer | 距离窗口左边的距离(此参数建议用分辨率宽变量计算)
参数九 | integer | 距离窗口顶边的距离(此参数建议用分辨率高变量计算)
参数十 | integer | 按钮位置(0-30)
参数十一 | string | 按钮上面显示的文字标题(-1=不显示标题) 换行可用符号\
参数十二 | string | 鼠标移动到按钮显示的悬浮框备注信息(文字颜色可用#颜色代码，如：#250)
返回值 |  | 无

按钮位置：
按钮位置 | 描述
0 | 不能移动
1 | 可以移动
3 | 人物装备栏
4 | 人物背包栏
5 | 英雄装备栏
6 | 聊天框左侧龙界面
7 | 聊天框右侧等级界面
8 | 商铺界面
9 | 时装界面
10 | 英雄时装
11 | 技能栏
12 | 英雄技能栏
13 | 称号栏
14 | 英雄称号栏
15 | 状态栏
16 | 英雄状态栏
17 | 属性栏
18 | 英雄属性栏
19 | 人物出战栏
20 | 行会界面
21 | 详细属性位置
22 | 宠物界面
23 | 宠物背包
24 | 人物首饰
25 | 英雄首饰
26 | 人物神佑
27 | 英雄神佑
28 | 无效
29 | 新任选窗口界面
30 | 小地图界面

使用示例：
function TestDemo()
    --脚本增加自定义按钮
    gNPC:ADDBUTTON(gObject, gPlayer, 62, 20, 1276, 1276, 1277, 0, 305, 0, '游戏\\活动 这是一个提示信息')
    gNPC:ADDBUTTON(gObject, gPlayer, 60, 20, 1276, 1276, 1277, 0, 105, 0, '\\<PlayImg:0:1670:10:速度:0:0:0>', '这是一个特效按钮')


脚本删除自定义按钮

脚本删除自定义按钮

   function DELBUTTON()

说明：

   脚本删除自定义按钮
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 按钮序号(1-50)
参数四 | integer | 0或空删除自己按钮 1删除全服用户按钮
返回值 |  | 无

使用示例：
function TestDemo()
    --脚本删除自定义按钮
    gNPC:DELBUTTON(gObject, gPlayer, 20, 1)


调整人物的荣誉值

调整人物的荣誉值

   function CHANGENATIONCREDIT()

说明：

   调整人物的荣誉值
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 数值
返回值 |  | 无

使用示例：
function TestDemo()
    --调整人物的荣誉值
    gNPC:CHANGENATIONCREDIT(gObject, gPlayer, '+', 1000)


人物显示一个放大的虚影

人物显示一个放大的虚影

   function SHOWPHANTOM()

说明：

   人物显示一个放大的虚影
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 透明度(0-255)值越小越透明
参数四 | integer | 显示时间(秒)
返回值 |  | 无

使用示例：
function TestDemo()
    --人物显示一个放大的虚影
    gNPC:SHOWPHANTOM(gObject, gPlayer, 255, 10)


自定义按钮倒计时触发

自定义按钮倒计时触发

   function SETCLIENTBUFF()

说明：

   自定义按钮倒计时触发
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | WIL文件序号
参数四 | integer | 序号(1-200) 触发QF里面的[@ClientBuffClickX] X即为触发序号
参数五 | integer | 图片序号
参数六 | integer | 倒计时间(-1=按钮 >0=倒计时)
参数七 | integer | X坐标
参数八 | integer | Y坐标
参数九 | string | 文字备注(开启)
返回值 |  | 无

使用示例：
function TestDemo()
    --自定义按钮倒计时触发
    gNPC:SETCLIENTBUFF(gObject, gPlayer, 6, 24, 99, 10, 300, 70, '20秒动画')


关闭自定义按钮倒计时触发

关闭自定义按钮倒计时触发

   function CLOSECLIENTBUFF()

说明：

   关闭自定义按钮倒计时触发
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 序号(1-200)
返回值 |  | 无

使用示例：
function TestDemo()
    --脚本删除自定义按钮
    gNPC:DELBUTTON(gObject, gPlayer, 20, 1)


修改物品星星数量

修改物品星星数量

   function CHANGEITEMUPGRADECOUNT()

说明：

   修改物品星星数量
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | string | 控制符(+ - =)
参数五 | integer | 次数(0-255)
返回值 |  | 无

使用示例：
function TestDemo()
    --盔甲升级次数增加10次
    gNPC:CHANGEITEMUPGRADECOUNT(gObject, gPlayer, 0, '+', 10)


调整英雄职业

调整英雄职业

   function CHANGEHEROJOB()

说明：

   调整英雄职业
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 英雄职业(0=战士 1=法师 2=道士)
返回值 |  | 无

使用示例：
function TestDemo()
    --调整英雄职业为道士
    gNPC:CHANGEHEROJOB(gObject, gPlayer, 2)


调整技能点数

调整技能点数

   function CHANGETRANPOINT()

说明：

   调整技能点数
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 技能名称
参数四 | string | 控制符(+ - =)
参数五 | integer | 技能点数
返回值 |  | 无

使用示例：
function TestDemo()
    --调整技能点数
    gNPC:CHANGETRANPOINT(gObject, gPlayer, '心灵召唤', '+', 200)


发送文字向上缓消模式公告

发送文字向上缓消模式公告

   function SUPERMOVEMSG()

说明：

   发送文字向上缓消模式公告
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 信息类型代码(0-7)
参数四 | integer | 字体颜色(0-255)
参数五 | integer | 背景颜色(0-255)
参数六 | integer | 字体大小
参数七 | integer | Y坐标
参数八 | integer | 滚动次数
参数九 | string | 信息内容|换行符号
参数十 | integer | 范围
返回值 |  | 无

信息类型：
信息类型代码 | 描述
0 | 所有在线人物
1 | 自己
2 | 对友(包含自己)； 范围=0；所有对友； 范围>0；在自己范围之内的队友
3 | 行会所有成员(包含自己)； 范围=0；行会所有成员； 范围>0；在自己范围之内的行会成员
4 | 同一地图所有人物(包含自己)； 范围=0；同一地图所有人物； 范围>0；在自己范围之内的人物
5 | 对友(不包含自己)； 范围=0；所有对友； 范围>0；在自己范围之内的队友
6 | 行会所有成员(不包含自己)； 范围=0；行会所有成员； 范围>0；在自己范围之内的行会成员
7 | 同一地图所有人物(不包含自己)； 范围=0；同一地图所有人物； 范围>0；在自己范围之内的人物

使用示例：
function TestDemo()
    --发送文字向上缓消模式公告
    gNPC:SUPERMOVEMSG(gObject, gPlayer, 0, 251, 0, 20, 200, 5, '这个是全局屏幕信息~坐标在200|欢迎使用GXX传奇游戏引擎|引擎官方网站：|http://www.GXXM2.com')


发送新的屏幕公告

发送新的屏幕公告

   function SENDNEWLINEMSG()

说明：

   发送新的屏幕公告
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 信息类型代码(0-7)
参数四 | integer | 字体颜色(0-255)
参数五 | integer | 背景颜色(0-255)
参数六 | integer | 字体大小
参数七 | integer | Y坐标
参数八 | integer | 显示时间
参数九 | integer | 绘制方式(0-2) 0=带透明框绘制 1=淡入淡出绘制 2=不带透明框绘制
参数十 | string | 信息内容|换行符号
参数十一 | integer | 范围
返回值 |  | 无

信息类型：
信息类型代码 | 描述
0 | 所有在线人物
1 | 自己
2 | 对友(包含自己)； 范围=0；所有对友； 范围>0；在自己范围之内的队友
3 | 行会所有成员(包含自己)； 范围=0；行会所有成员； 范围>0；在自己范围之内的行会成员
4 | 同一地图所有人物(包含自己)； 范围=0；同一地图所有人物； 范围>0；在自己范围之内的人物
5 | 对友(不包含自己)； 范围=0；所有对友； 范围>0；在自己范围之内的队友
6 | 行会所有成员(不包含自己)； 范围=0；行会所有成员； 范围>0；在自己范围之内的行会成员
7 | 同一地图所有人物(不包含自己)； 范围=0；同一地图所有人物； 范围>0；在自己范围之内的人物

使用示例：
function TestDemo()
    --发送新的屏幕公告
    gNPC:SENDNEWLINEMSG(gObject, gPlayer, 0, 251, 0, 15, 100, 10, 2, '带透明框绘制测试|欢迎使用GXXM2引擎|官方网站：www.GXXM2.com')


显示卧龙山庄书页效果

显示卧龙山庄书页效果

   function OPENBOOKS()

说明：

   显示卧龙山庄书页效果。最后点击进入卧龙山庄时会调用此书页所在NPC脚本中的@HeroMap段
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 序号(0-5)
返回值 |  | 无

使用示例：
function TestDemo()
    --显示卧龙山庄书页效果
    gNPC:OPENBOOKS(gObject, gPlayer, 0)


设置地图标识状态

设置地图标识状态

   function SETMAPQUEST()

说明：

   设置地图标识状态
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | string | 地图标识(0-999)
参数五 | integer | 状态(0-1)
返回值 |  | 无

使用示例：
function TestDemo()
    --将盟重地图标识100设置成1
    gNPC:SETMAPQUEST(gObject, gPlayer, 'N3', '[100]', 1)


收回包裹指定叠加物品

收回包裹指定叠加物品

   function TAKEKIMNEEDLE()

说明：

   收回包裹指定叠加物品。给指定的叠加物品，只对StdMode= 17,40分类有效

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 物品名称
参数四 | integer | 数量
返回值 |  | 无

使用示例：
function TestDemo()
    if gNPC:TAKEKIMNEEDLE(gObject, gPlayer, '卷轴碎片', 5) then
        --收回包裹指定叠加物品
        gNPC:TAKEKIMNEEDLE(gObject, gPlayer, '卷轴碎片', 5)
        gNPC:GIVEKIMNEEDLE(gObject, gPlayer, '一级卷轴', 1)
    else
        gPlayer:SysMsg('兑换需要5颗卷轴碎片,你没有足够的碎片。', 215, 116, 1)


屏幕震动

屏幕震动

   function SCENESHAKE()

说明：

   屏幕震动

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 类型(0-4) 0=自己 1=所有地图 2=屏幕范围内 3=当前地图 4=指定地图 地图ID
参数四 | integer | 次数
参数五 | integer | 是否受内挂选项“屏幕震动”选项控制(为空不受控制 1=受控制)
返回值 |  | 无

使用示例：
function TestDemo()
    --屏幕范围内震动1次，本次震动需勾选内挂"屏幕震动"选项，否则看不到震动效果
    gNPC:SCENESHAKE(gObject, gPlayer, 2, 1, 1)


NPC命令增加效果

NPC命令增加效果

   function CHANGESTATE()

说明：

   NPC命令增加效果

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 效果代码(1-14)
参数四 | integer | 时间
参数五 | integer | 几率、伤害值
参数六 | integer | 间隔、百分比
参数七 | integer | WIL文件序号
参数八 | integer | 开始图片
参数九 | integer | 播放张数
参数十 | integer | 播放速度
参数十一 | integer | 是否透明绘制(0或空=透明绘制 1=普通绘制)
参数十二 | string | 聊天框是否提示(如麻痹、冰冻、蛛网)
返回值 |  | 无

效果代码：
效果代码 | 描述
1 | 石化
2 | 冰冻
3 | 蛛网效果
4 | 红毒
5 | 绿毒
6 | 定身
7 | 瘫痪
8 | 禁锢别人
9 | 放禁锢
10 | 吸血
11 | 吸蓝
12 | 禁锢自己
13 | 间隔掉血
14 | 禁止使用技能

使用示例：
function TestDemo()
    --你周围的目标被禁锢10秒，禁锢期间可移动范围3X3
    gNPC:CHANGESTATE(gObject, gPlayer, 8, 10, 3)
    --10秒内攻击目标，可以吸蓝，吸蓝机率100(数字越大机率越高 100表示每次都会吸蓝)，吸蓝百分比50%(比如攻击伤害值是10000，50%的吸蓝比例，可以吸蓝5000)
    gNPC:CHANGESTATE(gObject, gPlayer, 11, 10, 100, 50, 0, 1660, 6, 200)


首饰盒激活图标

首饰盒激活图标

   function ACTIVATIONCASKET()

说明：

   首饰盒激活图标

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --首饰盒激活图标
    gNPC:ACTIVATIONCASKET(gObject, gPlayer)


删除首饰盒的图标

删除首饰盒的图标

   function CLOSESNDACASKET()

说明：

   删除首饰盒的图标

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --删除首饰盒的图标
    gNPC:CLOSESNDACASKET(gObject, gPlayer)


开启或关闭首饰盒图标

开启或关闭首饰盒图标

   function SETSNDACASKET()

说明：

   开启或关闭首饰盒图标

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 状态(0=关闭 1=开启)
返回值 |  | 无

使用示例：
function TestDemo()
    --关闭首饰盒图标
    gNPC:SETSNDACASKET(gObject, gPlayer, 0)


自定义采集

自定义采集

   function SHOWPROGRESSBARDLG()

说明：

   自定义采集

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 时间(秒)
参数四 | string | 触发字段
参数五 | string | 提示信息
参数六 | integer | 有动作是否中断(0=不中断 1=中断)
参数七 | string | 中断触发字段
返回值 |  | 无

使用示例：
function TestDemo()
    --自定义采集
    gNPC:SHOWPROGRESSBARDLG(gObject, gPlayer, 5, '@采集完成', '正在采集,进度%d%...', 1, '@采集中断')


一键回收包裹物品

一键回收包裹物品

   function TAKEBAGITEM()

说明：

   一键回收包裹物品

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 物品名称(支持多个物品)
参数四 | string | 收取数量
参数五 | integer | 每个物品增加元宝数值
参数六 | integer | 每个物品增加金币数值
参数七 | integer | 每个物品增加泡点数值
参数八 | integer | 每个物品增加泡点经验值
参数九 | string | 变量(保存实际回收物品数量)
参数十 | integer | 聚灵珠经验(0或空=不增加聚灵珠经验 1=增加聚灵珠经验)
参数十一 | integer | 是否显示提示信息(0或空=显示 1=不显示)
参数十二 | integer | 颜色值(*或空=回收所有 0-255回收对应颜色物品)
返回值 |  | 无

使用示例：
function TestDemo()
    --一键回收包裹物品
    gNPC:TAKEBAGITEM(gObject, gPlayer, '<$STR(S999)>', 46, 0, 1000, 0, 0, 'N999', 0)


HP按比例操作

HP按比例操作

   function ADDHPPER()

说明：

   HP按比例操作

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 百分比
返回值 |  | 无

使用示例：
function TestDemo()
    --HP按比例操作 血量增加30%
    gNPC:ADDHPPER(gObject, gPlayer, '+', 30)


MP按比例操作

MP按比例操作

   function ADDMPPER()

说明：

   MP按比例操作

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 百分比
返回值 |  | 无

使用示例：
function TestDemo()
    --MP按比例操作 蓝量增加30%
    gNPC:ADDMPPER(gObject, gPlayer, '+', 30)


遍历背包获取物品的各项信息

遍历背包获取物品的各项信息

   function GETPLAYINFO()

说明：

   遍历背包获取物品的各项信息

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 信息名称
参数四 | string | 保存变量值
返回值 |  | 无

信息名称：
信息名称 | 描述
Name | 玩家名称
IDE | 机器硬盘序列号
NIC | 机器网卡序列号
VER | 登录器版本号
ID | 玩家账号
IP | 玩家登录IP
Map | 玩家当前地图代码
MapName | 玩家当前地图名称
X | 玩家当前X坐标
Y | 玩家当前Y坐标
Dir | 玩家当前方向
Job | 玩家当前职业
sex | 玩家性别
Hair | 玩家发型
Gold | 玩家金币数量
GameGird | 玩家灵符数量
Level | 玩家等级
Exp | 玩家当前经验值
MAXEXP | 玩家升级所需经验值
AC | 玩家防御下限
MAXAC | 玩家防御上限
MAC | 玩家魔御下限
MAXMAC | 玩家魔御上限
DC | 玩家攻击下限
MAXDC | 玩家攻击上限
MC | 玩家魔法力下限
MAXMC | 玩家魔法力上限
SC | 玩家道术下限
MAXSC | 玩家道术上限
HP | 玩家当前HP值
MAXHP | 玩家当前最大HP值
MP | 玩家当前MP值
MAXMP | 玩家当前最大MP值
WEIGHT | 当前负重
MAXWEIGHT | 当前最大负重
MAXWEARWEIGHT | 当前最大可穿重量
HANDWEIGHT | 当前腕力
MAXHANDWEIGHT | 当前最大腕力
HOMEMAP | 人物回城点地图编号
HOMEX | 人物回城点X坐标
HOMEY | 人物回城点Y坐标
PK | 人物PK值
CREDITPOINT | 人物声望值
RELEVEL | 人物转生等级
GAMEGOLD | 人物元宝数量
GAMEPOINT | 人物游戏点
BAGSIZE | 人物背包空格数
LOGINLONGMIN | 人物在线时长(分)
MEMBERTYPE | 会员类型
MEMBERLEVEL | 会员等级
SLAVECOUNT | 宝宝数量
DEARNAME | 夫妻对方姓名
MASTERNAME | 师父名字
STORAGEPWD | 玩家仓库密码
GUILDNAME | 行会名
GUILDRANKNO | 行会封号的编号
BONUSPOINT | 还未分配的属性点
BONUSPOINTEX | 已分配的属性点
GROUPCOUNT | 玩家组队队员数
GROUPOWNER | 组队队长姓名
ATTACKMODE | 攻击模式编号
CARNAME | 镖车的名字
OFFTALK | 玩家挂机的留言
CONTRIBUTE | 玩家贡献度
LUCK | 幸运值

使用示例：
function TestDemo()
    --遍历背包获取物品的各项信息
    gNPC:GETPLAYINFO(gObject, gPlayer, 'BAGITEMCOUNT', 'P10')
    gNPC:MESSAGEBOX(gObject, gPlayer, '提示:您的背包当中有<$STR(P10)>件物品。')


关联到OK框物品

关联到OK框物品

   function SETUPGRADEITEM()

说明：

   关联到OK框物品

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | OK框编号(0-31)
返回值 |  | 无

使用示例：
function TestDemo()
    --关联到OK框物品
    gNPC:SETUPGRADEITEM(gObject, gPlayer, 0)


OK框物品返回到包裹

OK框物品返回到包裹

   function RETURNBOXITEM()

说明：

   OK框物品返回到包裹

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | OK框编号(0-31)
返回值 |  | 无

使用示例：
function TestDemo()
    --OK框物品返回到包裹
    gNPC:RETURNBOXITEM(gObject, gPlayer, 0)


删除操作框物品

删除操作框物品

   function DELBOXITEM()

说明：

   删除操作框物品

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | OK框编号(0-31)
参数四 | integer | 数量(只对叠加物品有效)
返回值 |  | 无

使用示例：
function TestDemo()
    --删除操作框物品
    gNPC:DELBOXITEM(gObject, gPlayer, 0, 5)


禁止放入物品

禁止放入物品

   function UNALLOWITEMINTOBOX()

说明：

   禁止放入物品。在OK框里放入物品时触发使用

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --禁止放入物品
    gNPC:UNALLOWITEMINTOBOX(gObject, gPlayer)


播放界面的魔法球效果

播放界面的魔法球效果

   function PLAYMAGICBALLEFFECT()

说明：

   播放界面的魔法球效果

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | WIL文件序号
参数四 | integer | 图片开始序号
参数五 | integer | 播放张数
参数六 | integer | 播放速度(毫秒)
参数七 | integer | 有效时间(秒 -1时永久有效)
参数八 | integer | 类型(0=HP 1=MP)
参数九 | integer | 绘制高度(0=完整绘制 1=按照HP或者MP的高度绘制)
参数十 | integer | 绘制模式(0=完整绘制 1=切割绘制(一张图包含HP和MP的效果，左边是HP右边是MP，会根据HP或MP只绘制一半图片))
参数十一 | integer | 微调坐标X
参数十二 | integer | 微调坐标Y
参数十三 | integer | 类型(1=普通绘制 0或空=特效绘制)
返回值 |  | 无

使用示例：
function TestDemo()
    --播放界面的魔法球效果
    gNPC:PLAYMAGICBALLEFFECT(gObject, gPlayer, 3, 8, 4, 200, -1, 0, 1, 1, -1, -2)
    gNPC:PLAYMAGICBALLEFFECT(gObject, gPlayer, 3, 74, 7, 200, -1, 1, 1, 1, -1, -2)


刷新包裹物品

刷新包裹物品

   function REFRESHBAG()

说明：

   刷新包裹物品

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --刷新包裹物品
    gNPC:REFRESHBAG(gObject, gPlayer)


背包中指定物品放入指定OK框

背包中指定物品放入指定OK框

   function GIVEBOXITEM()

说明：

   背包中指定物品放入指定OK框

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | OK框编号(0-31)
参数四 | string | 物品名称
返回值 |  | 无

使用示例：
function TestDemo()
    --背包中指定物品放入指定OK框
    gNPC:GIVEBOXITEM(gObject, gPlayer, 0, '怒斩')


修改怪物身体颜色

修改怪物身体颜色

   function SETMONCOLOR()

说明：

   修改怪物身体颜色

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | string | 怪物名称
参数五 | integer | 颜色(1-255)
参数六 | integer | 时间(秒)时间为0时永久生效
参数七 | integer | 类型(0=固定颜色 1=七彩变色)
返回值 |  | 无

使用示例：
function TestDemo()
    if gNPC:CHECKMAPSAMEMONCOUNT(gObject, gPlayer, '108', '年幼河马', '>', 0) then
        --修改怪物身体颜色
        gNPC:SETMONCOLOR(gObject, gPlayer, '108', '年幼河马', 151, 0, 1)
        gPlayer:SysMsg('绿野仙踪地图的年幼河马已经修改为七彩变色！', 215, 116, 1)


在线修改宝宝名字

在线修改宝宝名字

   function CHANGEBMZ()

说明：

   在线修改宝宝名字

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 新名字
参数四 | string | 原有名字(如果原有名字为空，则把所有宝宝的名字都改成新名字)
返回值 |  | 无

使用示例：
function TestDemo()
    if gNPC:CHECKSLAVENAME(gObject, gPlayer, '神兽') then
        --在线修改宝宝名字
        gNPC:CHANGEBMZ(gObject, gPlayer, '超级神兽', '神兽')
        gPlayer:SysMsg('你的神兽宝宝名字成功修改为超级神兽！', 215, 116, 1)
    else
        gPlayer:SysMsg('提示:你的宝宝名字不叫神兽', 215, 116, 1)


获取物品新增属性

获取物品新增属性

   function GETNEWITEMVALUE()

说明：

   获取物品新增属性

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 装备位置
参数四 | integer | 元素属性(0-24)
参数五 | string | 变量名
返回值 |  | 无

元素属性：
元素属性 | 描述
0 | 暴击几率增加 1~100%
1 | 增加攻击伤害 1~100%
2 | 物理伤害减少 1~100%
3 | 魔法伤害减少 1~100%
4 | 忽视目标防御 1~100%
5 | 所有伤害反弹 1~100%
6 | 增加杀人暴率 1~100%
7 | 人物体力增加 1~100%
8 | 人物魔力增加 1~100%
9 | 怒气恢复增加 1~100%
10 | 合击攻击增加 1~100%
11 | 增加杀怪暴率 1~100%
12 | 增加防爆几率(该件装备死亡防止爆出几率) 1~100%
13 | 增加防止麻痹 1~100%
14 | 增加防止护身 1~100%
15 | 增加防止复活 1~100%
16 | 增加防止全毒 1~100%
17 | 增加防止诱惑 1~100%
18 | 增加防止火墙 1~100%
19 | 增加防止冰冻 1~100%
20 | 增加防止蛛网 1~100%
21 | 致命一击几率 1~100%
22 | 致命一击伤害增加 1~100%
23 | 致命一击防御 1~100%
24 | 暴击抗性(对方暴击几率 - 暴击抗性 = 对方暴击打出几率) 1~100%

使用示例：
function TestDemo()
    if gNPC:CHECKNEWITEMVALUE(gObject, gPlayer, 0, 0, '>', 10) then
        --获取物品新增属性
        gNPC:GETNEWITEMVALUE(gObject, gPlayer, 0, 0, '<$STR(M10)>')
        gNPC:MESSAGEBOX(gObject, gPlayer, '你的盔甲附加了<$STR(M10)>点暴击属性！')


调整物品新增属性

调整物品新增属性

   function SETNEWITEMVALUEEX()

说明：

   调整物品新增属性。此属性不会在装备上或者属性栏显示属性

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 装备位置
参数四 | integer | 元素属性(0-24)
参数五 | string | 控制符(+ - =)
参数六 | integer | 数值(1-100)
参数七 | integer | 时间(1-65535)秒
返回值 |  | 无

元素属性：
元素属性 | 描述
0 | 暴击几率增加 1~100%
1 | 增加攻击伤害 1~100%
2 | 物理伤害减少 1~100%
3 | 魔法伤害减少 1~100%
4 | 忽视目标防御 1~100%
5 | 所有伤害反弹 1~100%
6 | 增加杀人暴率 1~100%
7 | 人物体力增加 1~100%
8 | 人物魔力增加 1~100%
9 | 怒气恢复增加 1~100%
10 | 合击攻击增加 1~100%
11 | 增加杀怪暴率 1~100%
12 | 增加防爆几率(该件装备死亡防止爆出几率) 1~100%
13 | 增加防止麻痹 1~100%
14 | 增加防止护身 1~100%
15 | 增加防止复活 1~100%
16 | 增加防止全毒 1~100%
17 | 增加防止诱惑 1~100%
18 | 增加防止火墙 1~100%
19 | 增加防止冰冻 1~100%
20 | 增加防止蛛网 1~100%
21 | 致命一击几率 1~100%
22 | 致命一击伤害增加 1~100%
23 | 致命一击防御 1~100%
24 | 暴击抗性(对方暴击几率 - 暴击抗性 = 对方暴击打出几率) 1~100%

使用示例：
function TestDemo()
    --衣服暴击属性增加10% 有效时间10秒
    gNPC:SETNEWITEMVALUEEX(gObject, gPlayer, 0, 0, '+', 10, 10)


高等级杀怪经验不变

高等级杀怪经验不变

   function HIGHLEVELKILLMONFIXEXP()

说明：

   高等级杀怪经验不变

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 时间(秒)
参数四 | integer | 是否保存(0或空=不保存 1=保存)
返回值 |  | 无

使用示例：
function TestDemo()
    --高等级杀怪经验不变
    gNPC:HIGHLEVELKILLMONFIXEXP(gObject, gPlayer, 720, 1)


设置离线挂机

设置离线挂机

   function SETOFFLINEPLAY()

说明：

   设置离线挂机

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 状态(ON=开启 OFF= 关闭)
返回值 |  | 无

使用示例：
function TestDemo()
    --设置离线挂机
    gNPC:SETOFFLINEPLAY(gObject, gPlayer, 'ON')


显示或隐藏人物装备界面神佑图标

显示或隐藏人物装备界面神佑图标

   function SHOWGODBLESS()

说明：

   显示或隐藏人物装备界面神佑图标

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 状态(0=隐藏 1= 显示)
返回值 |  | 无

使用示例：
function TestDemo()
    --隐藏人物装备界面神佑图标
    gNPC:SHOWGODBLESS(gObject, gPlayer, 0)


开启人物1-12个神佑格

开启人物1-12个神佑格

   function OPENGODBLESS()

说明：

   开启人物1-12个神佑格

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 神佑格位置(0-11)
返回值 |  | 无

使用示例：
function TestDemo()
    --显示人物装备界面神佑图标
    gNPC:SHOWGODBLESS(gObject, gPlayer, 1)
    --开启人物1-12个神佑格
    gNPC:OPENGODBLESS(gObject, gPlayer, 0)
    gNPC:OPENGODBLESS(gObject, gPlayer, 1)
    gNPC:OPENGODBLESS(gObject, gPlayer, 2)
    gNPC:OPENGODBLESS(gObject, gPlayer, 3)
    gNPC:OPENGODBLESS(gObject, gPlayer, 4)
    gNPC:OPENGODBLESS(gObject, gPlayer, 5)
    gNPC:OPENGODBLESS(gObject, gPlayer, 6)
    gNPC:OPENGODBLESS(gObject, gPlayer, 7)
    gNPC:OPENGODBLESS(gObject, gPlayer, 8)
    gNPC:OPENGODBLESS(gObject, gPlayer, 9)
    gNPC:OPENGODBLESS(gObject, gPlayer, 10)
    gNPC:OPENGODBLESS(gObject, gPlayer, 11)


关闭人物1-12个神佑格

关闭人物1-12个神佑格

   function CLOSEGODBLESS()

说明：

   关闭人物1-12个神佑格

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 神佑格位置(0-11)
返回值 |  | 无

使用示例：
function TestDemo()
    --关闭人物1-12个神佑格
    gNPC:CLOSEGODBLESS(gObject, gPlayer, 0)
    gNPC:CLOSEGODBLESS(gObject, gPlayer, 1)
    gNPC:CLOSEGODBLESS(gObject, gPlayer, 2)
    gNPC:CLOSEGODBLESS(gObject, gPlayer, 3)
    gNPC:CLOSEGODBLESS(gObject, gPlayer, 4)
    gNPC:CLOSEGODBLESS(gObject, gPlayer, 5)
    gNPC:CLOSEGODBLESS(gObject, gPlayer, 6)
    gNPC:CLOSEGODBLESS(gObject, gPlayer, 7)
    gNPC:CLOSEGODBLESS(gObject, gPlayer, 8)
    gNPC:CLOSEGODBLESS(gObject, gPlayer, 9)
    gNPC:CLOSEGODBLESS(gObject, gPlayer, 10)
    gNPC:CLOSEGODBLESS(gObject, gPlayer, 11)


停止人物特效播放

停止人物特效播放

   function STOPPLAYEFFECT()

说明：

   停止人物特效播放。停止哪个特效通过参数来判断，参数一致的特效将被停止

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | WIL文件序号
参数四 | integer | 开始图片序号
参数五 | integer | 播放图片张数
参数六 | integer | 播放次数
参数七 | integer | 播放速度(毫秒)
参数八 | integer | 播放顺序(0或空=在角色前面 非0= 在角色后面)
返回值 |  | 无

使用示例：
function TestDemo()
    --设置人物特效播放
    gNPC:PLAYEFFECT(gObject, gPlayer, 0, 0, 10, 1, 300, 1)
    --停止人物特效播放
    gNPC:STOPPLAYEFFECT(gObject, gPlayer, 0, 0, 10, 1, 300, 1)


清空人物特效播放

清空人物特效播放

   function CLEARPLAYEFFECT()

说明：

   清空人物特效播放。停止所有PLAYEFFECT命令播放的特效

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --清空人物特效播放
    gNPC:CLEARPLAYEFFECT(gObject, gPlayer)


收回人物的英雄

收回人物的英雄

   function HEROLOGINOUT()

说明：

   收回人物的英雄

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --收回人物的英雄
    gNPC:HEROLOGINOUT(gObject, gPlayer)


调整人物金币数量

调整人物金币数量

   function GOLDCOUNT()

说明：

   调整人物金币数量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 金币数值(0-21亿)
返回值 |  | 无

使用示例：
function TestDemo()
    --调整人物金币数量
    gNPC:GOLDCOUNT(gObject, gPlayer, '=', 10000)


增加人物称号

增加人物称号

   function GIVEFENGHAO()

说明：

   增加人物称号

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 称号名称(为数据库里面存在的物品)
参数四 | integer | 是否激活(0或空=不激活 1=激活)
返回值 |  | 无

使用示例：
function TestDemo()
    --增加人物称号
    gNPC:GIVEFENGHAO(gObject, gPlayer, '巅峰战神', 1)


回收人物称号

回收人物称号

   function RECYCFENGHAO()

说明：

   回收人物称号

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 称号名称(ALL 删除所有称号)
返回值 |  | 无

使用示例：
function TestDemo()
    --回收人物称号
    gNPC:RECYCFENGHAO(gObject, gPlayer, '巅峰战神')


刷新人物称号

刷新人物称号

   function UPGRADEFENGHAO()

说明：

   刷新人物称号

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --刷新人物称号
    gNPC:UPGRADEFENGHAO(gObject, gPlayer)


称号加元素属性

称号加元素属性

   function SETNEWFENGHAOVALUE()

说明：

   称号加元素属性

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 称号名称
参数四 | integer | 元素属性(0-20)
参数五 | string | 控制符(+ - =)
参数六 | integer | 属性值(1-100)
返回值 |  | 无

称号元素属性：
称号元素属性 | 描述
0 | 暴击几率增加 1~100%
1 | 增加攻击伤害 1~100%
2 | 物理伤害减少 1~100%
3 | 魔法伤害减少 1~100%
4 | 忽视目标防御 1~100%
5 | 所有伤害反弹 1~100%
6 | 增加目标暴率 1~100%
7 | 人物体力增加 1~100%
8 | 人物魔力增加 1~100%
9 | 怒气恢复增加 1~100%
10 | 合击攻击增加 1~100%
11 | 怪物暴率增加 1~100%
12 | 防暴几率增加 1~100%
13 | 防止麻痹增加 1~100%
14 | 防止护身增加 1~100%
15 | 防止复活增加 1~100%
16 | 防止全毒增加 1~100%
17 | 防止诱惑增加 1~100%
18 | 防止火墙增加 1~100%
19 | 防止冰冻增加 1~100%
20 | 防止蛛网增加 1~100%

使用示例：
function TestDemo()
    --称号加元素属性
    gNPC:SETNEWFENGHAOVALUE(gObject, gPlayer, '巅峰战神', 0, '+', 10)


清除人物的经络等级

清除人物的经络等级

   function CLEARALLPULSE()

说明：

   清除人物的经络等级

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --清除人物的经络等级
    gNPC:CLEARALLPULSE(gObject, gPlayer)


打开游戏中商铺窗口

打开游戏中商铺窗口

   function OPENGAMESHOP()

说明：

   打开游戏中商铺窗口

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --打开游戏中商铺窗口
    gNPC:OPENGAMESHOP(gObject, gPlayer)


删除行会成员

删除行会成员

   function DELGUILDMEMBER()

说明：

   删除行会成员。行会掌门人无法删除。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 行会名称
参数四 | string | 人物名称
返回值 |  | 无

使用示例：
function TestDemo()
    --删除行会成员
    gNPC:DELGUILDMEMBER(gObject, gPlayer,'闯名堂','<$USERNAME>')


强制组队

强制组队

   function CREATGROUP()

说明：

   强制组队。针对在线人物使用。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 人物名称
返回值 |  | 无

使用示例：
function TestDemo()
    if gNPC:CHECKONLINE(gObject, gPlayer, '东方大道') then
        --强制组队
        gNPC:CREATGROUP(gObject, gPlayer, '东方大道')


获取组队成员数量

获取组队成员数量

   function GETGROUPCOUNT()

说明：

   获取组队成员数量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量名
参数四 | integer | 范围(0或空=获取所有队员数量 >0=获取队长指定范围内队员的数量)
返回值 |  | 无

使用示例：
function TestDemo()
    if gNPC:CHECKGROUPLEADER(gObject, gPlayer) then
        --获取组队成员数量
        gNPC:GETGROUPCOUNT(gObject, gPlayer, 'P1')
        gNPC:MESSAGEBOX(gObject, gPlayer, '你当前组队的队友有<$STR(P1)>人')


获取徒弟数量

获取徒弟数量

   function GETMASTERCOUNT()

说明：

   获取徒弟数量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量名
返回值 |  | 无

使用示例：
function TestDemo()
    --获取徒弟数量
    gNPC:GETMASTERCOUNT(gObject, gPlayer, 'P1')
    gNPC:MESSAGEBOX(gObject, gPlayer, '你当前的徒弟有<$STR(P1)>人')


获取徒弟列表

获取徒弟列表

   function GETMASTERLIST()

说明：

   获取徒弟列表

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量名
返回值 |  | 无

使用示例：
function TestDemo()
    --获取徒弟列表
    gNPC:GETMASTERLIST(gObject, gPlayer, 'S1')
    gNPC:MESSAGEBOX(gObject, gPlayer, '你当前的徒弟有<$STR(S1)>')


装备打孔

装备打孔

   function SETFLUTECOUNT()

说明：

   装备打孔

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 装备位置
参数四 | integer | 数量
返回值 |  | 无

使用示例：
function TestDemo()
    --装备打孔
    gNPC:SETFLUTECOUNT(gObject, gPlayer, 0, 2)


塑造人物当前形象为雕像

塑造人物当前形象为雕像

   function SETNPCIMAGE()

说明：

   塑造人物当前形象为雕像。此命令只可以在ARP为273的NPC使用。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 编号(-1是雕像破碎)
参数四 | integer | 是否彩色(0或空=黑白 其他数值=彩色)
参数五 | integer | 是否原始大小(0=放大 1=原始大小)
返回值 |  | 无

使用示例：
function TestDemo()
    --塑造人物当前形象为雕像
    gNPC:SETNPCIMAGE(gObject, gPlayer, 40, 1)


设置雕像有效时间

设置雕像有效时间

   function SETNPCIMAGETIME()

说明：

   设置雕像有效时间。此命令只可以在ARP为273的NPC使用。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 时间(0或空=永久有效 >0=指定分钟)
返回值 |  | 无

使用示例：
function TestDemo()
    --设置雕像有效时间
    gNPC:SETNPCIMAGETIME(gObject, gPlayer, '+', 600)


打开无限仓库/普通仓库

打开无限仓库/普通仓库

   function OPENSTORAGEVIEW()

说明：

   打开无限仓库/普通仓库

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 状态(0=打开普通仓库 1 =打开无限仓库)
参数四 | integer | X坐标
参数五 | integer | Y坐标
返回值 |  | 无

使用示例：
function TestDemo()
    --打开普通仓库
    gNPC:OPENSTORAGEVIEW(gObject, gPlayer, 0)


关闭大对话框模式

关闭大对话框模式

   function CLOSEBIGDIALOGBOX()

说明：

   关闭大对话框模式

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --关闭大对话框模式
    gNPC:CLOSEBIGDIALOGBOX(gObject, gPlayer)


开始自动挂机

开始自动挂机

   function STARTAUTOPLAYGAME()

说明：

   开始自动挂机

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --开始自动挂机
    gNPC:STARTAUTOPLAYGAME(gObject, gPlayer)


停止自动挂机

停止自动挂机

   function STOPAUTOPLAYGAME()

说明：

   停止自动挂机

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --停止自动挂机
    gNPC:STOPAUTOPLAYGAME(gObject, gPlayer)


打开个人店铺

打开个人店铺

   function OPENGAMESHOPDLG()

说明：

   打开个人店铺

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --打开个人店铺
    gNPC:OPENGAMESHOPDLG(gObject, gPlayer)


使用OK框镶嵌宝石

使用OK框镶嵌宝石

   function ITEMFLUTESTONE()

说明：

   使用OK框镶嵌宝石

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备在OK框中的位置(0-7)
参数四 | integer | 宝石在OK框中的位置(0-7)
返回值 |  | 无

使用示例：
function TestDemo()
    --宝石镶嵌
    gNPC:ITEMFLUTESTONE(gObject, gPlayer, 0, 1)


对人物/英雄身上的装备进行镶嵌宝石

对人物/英雄身上的装备进行镶嵌宝石

   function ITEMFLUTESTONEEX()

说明：

   对人物/英雄身上的装备进行镶嵌宝石

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | string | 宝石名称
返回值 |  | 无

使用示例：
function TestDemo()
    --对人物/英雄身上的装备进行镶嵌宝石
    gNPC:ITEMFLUTESTONEEX(gObject, gPlayer, 1, '麻痹宝石5级')


播放音乐

播放音乐

   function PLAYSOUNDEXT()

说明：

   播放音乐。此命令只能同时播放一个音乐，播放当前音乐自动停止上一个

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件位置
参数四 | integer | 循环次数(0=无限次数)
参数五 | integer | 播放模式(0=播放给自己 1=播放给全服 2=播放给同一地图 4=播放给同屏人物)
返回值 |  | 无

使用示例：
function TestDemo()
    --播放音乐
    gNPC:PLAYSOUNDEXT(gObject, gPlayer, 'Wav\\1.wav', 1, 0)


使用脚本命令解毒

使用脚本命令解毒

   function DETOXIFCATION()

说明：

   使用脚本命令解毒

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --使用脚本命令解毒
    gNPC:DETOXIFCATION(gObject, gPlayer)


刷新任务页面

刷新任务页面

   function REFRESHMISSPAGE()

说明：

   刷新任务页面

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 任务NPC页面名(M2-工具-任务NPC配置)
返回值 |  | 无

使用示例：
function TestDemo()
    --刷新任务页面
    gNPC:REFRESHMISSPAGE(gObject, gPlayer, '游戏攻略')


打开摆摊

打开摆摊

   function OPENUSERSHOP()

说明：

   打开摆摊

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 任务NPC页面名(M2-工具-任务NPC配置)
返回值 |  | 无

使用示例：
function TestDemo()
    --打开摆摊
    gNPC:OPENUSERSHOP(gObject, gPlayer)


人物在线改名

人物在线改名

   function CHANGEHUMNAME()

说明：

   人物在线改名

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 新的名称
返回值 |  | 无

使用示例：
function TestDemo()
    --人物在线改名
    gNPC:CHANGEHUMNAME(gObject, gPlayer, '超级英雄')


修改变量保存的文件和人物名称列表里面的人物名称

修改变量保存的文件和人物名称列表里面的人物名称

   function CHANGEHUMNAMEFILE()

说明：

   修改变量保存的文件和人物名称列表里面的人物名称。此命令只能放在[@ChangeHumNameOK]下面。没有因为改名操作的相关文件可以不使用此命令。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件名
参数四 | integer | 是否绝对路径(1=绝对路径 0或空=相对路径)
参数五 | string | 前缀
参数六 | string | 后缀
返回值 |  | 无

使用示例：
function TestDemo()
    --修改变量保存的文件和人物名称列表里面的人物名称
    gNPC:CHANGEHUMNAMEFILE(gObject, gPlayer, '..\\QuestDiary\\变量文件\\HQCQASave.txt', 0, '[ ]')
    gNPC:CHANGEHUMNAMEFILE(gObject, gPlayer, '..\\QuestDiary\\会员名称.txt')


停止魔法效果

停止魔法效果

   function STOPSCREENEFFECT()

说明：

   停止魔法效果。停止哪个特效通过参数来判断，参数一致的特效将被停止。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 屏幕坐标X
参数四 | string | 屏幕坐标Y
参数五 | string | WIL文件序号
参数六 | string | 开始图片数
参数七 | string | 播放图片张数
参数八 | string | 播放次数(0或-1=不限次数)
参数九 | string | 播放速度(毫秒)
参数十 | string | 播放效果(0=普通 1=魔法效果)
参数十一 | string | 模式(0=自己 1=所有人)
参数十二 | string | 播放位置(0或空=在对话框下层播放 1=在对话框上层播放)
返回值 |  | 无

使用示例：
function TestDemo()
    --停止魔法效果
    gNPC:STOPSCREENEFFECT(gObject, gPlayer, 0, 0, 0, 0, 10, 1, 300, 0)


过滤全服提示信息

过滤全服提示信息

   function FILTERGLOBALMSG()

说明：

   过滤全服提示信息

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 过滤类型(1=过滤掉落提示信息 2=过滤SendCenterMsg全局信息 3=过滤SENDMSG全局信息)
参数四 | integer | 是否过滤(0=不过滤 1=过滤)
返回值 |  | 无

使用示例：
function TestDemo()
    --过滤掉落提示信息
    gNPC:FILTERGLOBALMSG(gObject, gPlayer, 1, 1)


物品代码表

GXX引擎 Lua脚本接口 > 其他 >
物品代码表

所有物品分类
StdMode | 物品类型 | 详细说明
0 | 药品 |
1 | 普通道具(食物) |
2 | 触发带次数的 |
3 | 卷类 |
4 | 技能书籍 |
5-6 | 武器 |
7 | 技能书 |
8 |  |
9 |  |
10 | 男性衣服 |
11 | 女性衣服 |
12 | 盾牌 | (支持外观)位置代码=16 变量<$SHIELD>
15 | 头盔 |
16 | 斗笠 |
19 | 项链 |
20 | 项链 |
21 | 项链 |
22 | 戒指 |
23 | 戒指 |
24 | 手镯 |
25 | 符、毒药 |
26 | 手镯 |
28 | 马牌 | (不支持外观)位置代码=15 变量<$HORSE>
29 | 天使翼 | 翅膀
30 | 照明物 | 物品数据内Source字段为1时不随时间掉持久，为0随时间掉持久
31 | 捆装物品 |
40 | 宝箱钥匙 | 游戏开宝箱功能，宝箱所需的钥匙
46 | 宝石镶嵌 | 装备打孔镶嵌的宝石
49 | 聚灵珠 | Reserved字段值，表示聚灵珠有效天数，超过天数杀怪不会累计经验
53 | 宝石 | 有气血石功能Anicount= 1,2,3分别对应三种石头
55-59 | 宝石 | 宝石升级所需物品
62 | 鞋子 | Anicount控制靴子的负重属性
63 | 宝石 | Anicount控制宝石的负重属性
64 | 腰带 | Anicount控制腰带的负重属性
65 | 军鼓 | 物品位置代码=14
66 | 时装衣服(男) | 物品位置代码=18
67 | 时装衣服(女) | 物品位置代码=18
68-69 | 时装武器 | 物品位置代码=19
70-74 | 称号 | 称号系统
75-77 | 时装项链 | 物品位置代码=20
78 | 时装头盔 | 物品位置代码=21
79 | 时装左手镯 | 物品位置代码=22
80 | 时装右手镯 | 物品位置代码=23
81 | 时装左戒指 | 物品位置代码=24
82 | 时装右戒指 | 物品位置代码=25
83 | 时装勋章 | 物品位置代码=26
84-85 | 时装腰带 | 物品位置代码=27
86-87 | 时装靴子 | 物品位置代码=28
88-89 | 时装宝石 | 物品位置代码=29
96 | 祝福罐 | 祝福罐、魔族指令、火龙之心填充物数据库设置

物品特殊属性设置

1：武器 蜡烛 衣服 类型物品 使用物品数据库字段 AniCount 注:如自身学习了流星火雨请不要佩带触发此技能首饰,否则拿下首饰原流星火雨戒指将被删除!
2：首饰 头盔 类型物品 使用物品数据库字段 Shape

属性代码 | 属性功能 | 功能介绍
111 | 隐身 | 人物进入隐身状态，普通怪物看不到人物，破隐身的怪物可以看到人物
112 | 传送 | 人物可以使用命令在传送到指定座标上(@UserMove)
113 | 麻痹 | 人物物理攻击时可以将对方麻痹
114 | 复活 | 人物具备复活功能，人物在死亡时起作用，生效一次掉一个持久
115 | 火焰 |
116 | 治愈 |
117，170 | 不掉物品 | 人物死亡时不会掉任何物品，包括背包里的及身上戴的
118 | 护身 | 人物在被攻击时，先降MP，MP为0时才降HP
119 | 超负载 | 人物可以戴上超过自己负重的物品
120 | 技巧 | 人物在练技能时，得到双倍的练习点
121 | 探测 | 可以查找指定人物当前位置
122 | 记忆戒指 |
124 | 记忆手镯 |
125 | 记忆头盔 |
126 | 祈祷手镯 |
127 | 祈祷项链 |
128 | 祈祷戒指 |
129 | 祈祷头盔 |
130 | 神秘戒指 |
131 | 神秘腰带 |
132 | 神秘头盔 |
133 | 魔血戒指 |
134 | 魔血手镯 |
135 | 魔血项链 |
136 | 虹魔戒指 |
137 | 虹魔戒指 |
138 | 虹魔项链 |
139 | 防麻 | 防麻痹功能，可以使被攻击方的麻痹功能失效(不防怪物麻痹）
140 | 无敌(未完全) |
141 | 经验 | 杀怪所得经验为指定倍数(倍数为持久除以 10000加1)，如果物品持久太小，所得经验将比正常还低
142 | 力量 | 人物攻击力倍数(倍数为持久除以 10000)，如果物品持久太小，所得攻击力将比正常还低
182 | 经验 | 杀怪所得经验为指定倍数(倍数为持久除以 10000加1)，不受物品持久太小影响
183 | 力量 | 人物攻击力倍数(倍数为持久除以 10000)，不受物品持久太小影响
143 | 防护身 |
144 | 防复活 |
145 | 行会召唤 | 有传送装备 或者 权限>=6时，就可以行会传送
146 | 防红绿毒 | 穿戴此属性首饰可对红绿毒进行免疫
147 | 防诱惑 | 穿戴后自己诱惑的宝宝不会被他人诱惑
148 | 防火墙 | 可防止法师火墙,对火墙有绝对的免疫能力
150 | 麻痹护身 |
151 | 麻痹火球 |
152 | 麻痹防御 |
153 | 麻痹负载 |
154 | 护身火焰 |
155 | 护身防御 |
156 | 护身负载 |
157 | 传送麻痹 |
158 | 传送护身 |
159 | 传送探测 |
160 | 传送复活 |
161 | 复活麻痹 |
162 | 护身复活 |
171 | 不掉背包物品 |
172 | 不掉身上装备 |
200 | 流星火雨技能(首饰) | 如果技能不增加技能经验，请修改数据库流星火雨job字段设置为1即可
201 | 倚天辟地技能(武器) | 学习了倚天辟地技能请不要佩带触发此技能的武器,否则拿下武器原练习的技能将消失
202 | 防御 | 人物防御倍数(倍数为持久除以 10000)，不受物品持久太小影响,限武器、蜡烛、衣服 类型物品数据库字段AniCount
203 | 魔御 | 人物魔御倍数(倍数为持久除以 10000)，不受物品持久太小影响,限武器、蜡烛、衣服 类型物品数据库字段AniCount
204 | 魔道麻痹 | 适合道法的魔法攻击麻痹戒指，麻痹戒指在引擎-物品装备-特殊属性设置
205 | 冰冻 | 有一定几率将目标冰冻（物品装备-特殊属性设置几率）
206 | 蜘蛛网 | 一定几率让目标中蜘蛛网（物品装备-特殊属性设置几率）
207 | 防冰冻 | NPC命令除外、可抵御所有外来冰冻伤害
208 | 防蜘蛛网 | NPC命令除外、可抵御所有外来蜘蛛网伤害
209 | 魔道麻痹+复活 | 拥有麻痹和复活功能


装备位置表

GXX引擎 Lua脚本接口 > 其他 >
装备位置表

位置详细说明

装备位置 | 位置描述
-1 | 升级框
0 | 盔甲
1 | 武器
2 | 照明物(蜡烛，此物品属性升级无效)
3 | 项链
4 | 头盔
5 | 右手镯
6 | 左手镯
7 | 右戒指
8 | 左戒指
9 | 无(放护身符位置)
10 | 腰带
11 | 靴子
12 | 宝石
13 | 斗笠
14 | 军鼓
15 | 马牌
16 | 盾牌
18 | 时装衣服
19 | 时装武器
20 | 时装项链
21 | 时装头盔
22 | 时装左手镯
23 | 时装右手镯
24 | 时装左戒指
25 | 时装右戒指
26 | 时装勋章
27 | 时装腰带
28 | 时装靴子
29 | 时装宝石
30 | 首饰盒装备1
31 | 首饰盒装备2
32 | 首饰盒装备3
33 | 首饰盒装备4
34 | 首饰盒装备5
35 | 首饰盒装备6
40 | 神佑装备位置1
41 | 神佑装备位置2
42 | 神佑装备位置3
43 | 神佑装备位置4
44 | 神佑装备位置5
45 | 神佑装备位置6
46 | 神佑装备位置7
47 | 神佑装备位置8
48 | 神佑装备位置9
49 | 神佑装备位置10
50 | 神佑装备位置11
51 | 神佑装备位置12
boxitem0-boxitem7 | 自定义OK框0-7


物品条件设置

GXX引擎 Lua脚本接口 > 其他 >
物品条件设置

所有物品分类
Need | NeedLevel
0 | 需要指定等级以上才可以戴上
1 | 需要指定攻击力以上才可以戴上
10 | 需要指定职业及指定等级以上才可以戴上
11 | 需要指定职业及指定攻击力以上才可以戴上
12 | 需要指定职业及指定魔法力以上才可以戴上
13 | 需要指定职业及指定道术以上才可以戴上
2 | 需要指定魔法力以上才可以戴上
3 | 需要指定道术以上才可以戴上
4 | 需要指定转生等级以上才可以戴上
40 | 需要指定转生等级及指定等级以上才可以戴上
41 | 需要指定转生等级及指定攻击力以上才可以戴上
42 | 需要指定转生等级及指定魔法力以上才可以戴上
43 | 需要指定转生等级及指定道术以上才可以戴上
44 | 需要指定转生等级及指定声望点以上才可以戴上
5 | 需要指定声望点以上才可以戴上
6 | 加入了行会的人才可以戴上
60 | 行会掌门才可以戴上
7 | 沙城成员才可以戴上
70 | 沙城城主才可以戴上
8 | 会员才可以戴上
81 | 指定类型会员，及大于或等于指定会员等级
82 | 指定或大于类型会员，及大于或等于指定会员等级
14 | 固定等级(必须为指定等级佩戴)
50 | 所需等级和声望
51 | 所需攻击和声望
52 | 所需魔法和声望
53 | 所需精神力和声望


多级脚本使用

GXX引擎 Lua脚本接口 > 其他 >
多级脚本使用

多级脚本使用分类
 | 描述
H. | 表示是英雄
O. | 表示是主人
M. | 表示是怪物(当前攻击目标)
P. | 表示是对面的角色
L. | 表示是当前攻击自己角色
HM. | 英雄使用时表示是怪物(当前攻击目标)
HL. | 英雄使用时表示是当前攻击自己
PET. | 表示宠物(单个宠物时可用)
BB. | 表示宝宝(当存在多个宝宝是，随机取一个宝宝执行。BB.仅支持执行命令，不支持检测命令)


设置自定义装备进度条各种属性

设置自定义装备进度条各种属性

   function SETCUSTOMITEMPROGRESSBAR()

说明：

   设置自定义装备进度条各种属性

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 进度条序号(0-1)
参数五 | integer | 属性类型(0-4)
参数六 | integer | 具体见下表
返回值 |  | 无

属性类型对应参数六：
属性类型 | 参数六描述
0 | 参数六表示是否开启进度条(0：关闭进度条1：开启进度条)
1 | 参数六表示设置进度条名称(进度条名称会显示在进度条的左边，长度30字符，名称可以使用特殊字符。特殊字符：\=换行； %p=当前进度值； %m=最大值； %r=进度百分比； %i:当前等级)
2 | 参数六表示进度条名称颜色(0-255)
3 | 参数六表示设置进度条图片播放数量(0：不显示进度条 1-9：单张绘制10-19：循环绘制)
4 | 参数六表示进度条数值显示方式(0：不显示 1：百分比显示(10%) 2：数值显示(10/100)3：等级显示)

使用示例：
function TestDemo()
    --开启自定义装备进度条0
    gNPC:SETCUSTOMITEMPROGRESSBAR(gObject, gPlayer, 1, 0, 0, 1)
    --设置自定义装备进度条0的名称
    gNPC:SETCUSTOMITEMPROGRESSBAR(gObject, gPlayer, 1, 0, 1, '刀魂: %p-%m')
    --设置自定义装备进度条0的颜色
    gNPC:SETCUSTOMITEMPROGRESSBAR(gObject, gPlayer, 1, 0, 2, 254)
    --设置自定义装备进度条0的图片播放张数
    gNPC:SETCUSTOMITEMPROGRESSBAR(gObject, gPlayer, 1, 0, 3, 15)
    --设置自定义装备进度条0上的值按数值方式显示
    gNPC:SETCUSTOMITEMPROGRESSBAR(gObject, gPlayer, 1, 0, 4, 2)
    --设置自定义装备进度条0的最大值为 1000
    gNPC:SETCUSTOMITEMPROGRESSBARVALUE(gObject, gPlayer, 1, 0, 0, '=', 1000)
    --设置自定义装备进度条0的当前值为 60%
    gNPC:SETCUSTOMITEMPROGRESSBARVALUE(gObject, gPlayer, 1, 0, 2, '=', 60)


获取自定义装备进度条各种属性

获取自定义装备进度条各种属性

   function GETCUSTOMITEMPROGRESSBAR()

说明：

   获取自定义装备进度条各种属性

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 进度条序号(0-1)
参数五 | integer | 属性类型(0-4)
参数六 | string | 变量名
返回值 |  | 无

使用示例：
function TestDemo()
    --获取武器第一个自定义进度条开启状态
    gNPC:GETCUSTOMITEMPROGRESSBAR(gObject, gPlayer, 1, 0, 0, '<$STR(N1)>')
    --获取武器第一个自定义进度条名称
    gNPC:GETCUSTOMITEMPROGRESSBAR(gObject, gPlayer, 1, 0, 1, '<$STR(S2)>')
    --获取武器第一个自定义进度条名称的颜色值
    gNPC:GETCUSTOMITEMPROGRESSBAR(gObject, gPlayer, 1, 0, 2, '<$STR(N3)>')
    --获取武器第一个自定义进度条图片的参数
    gNPC:GETCUSTOMITEMPROGRESSBAR(gObject, gPlayer, 1, 0, 3, '<$STR(N4)>')
    --获取武器第一个自定义进度条数值的参数
    gNPC:GETCUSTOMITEMPROGRESSBAR(gObject, gPlayer, 1, 0, 4, '<$STR(N5)>')


设置自定义装备进度条属性值

设置自定义装备进度条属性值

   function SETCUSTOMITEMPROGRESSBARVALUE()

说明：

   设置自定义装备进度条属性值

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 进度条序号(0-1)
参数五 | integer | 设置值类型(0=进度条最大值 1=进度条当前值 2=进度条当前百分比 3=进度条等级)
参数六 | string | 控制符(+ - =)
参数七 | integer | 设置值
返回值 |  | 无

使用示例：
function TestDemo()
    --修改武器的第一个进度条的最大值
    gNPC:SETCUSTOMITEMPROGRESSBARVALUE(gObject, gPlayer, 1, 0, 0, '=', 100)
    --修改武器的第一个进度条的当前进度值
    gNPC:SETCUSTOMITEMPROGRESSBARVALUE(gObject, gPlayer, 1, 0, 1, '+', 10)
    --修改武器的第一个进度条的百分比
    gNPC:SETCUSTOMITEMPROGRESSBARVALUE(gObject, gPlayer, 1, 0, 2, '+', 10)
    --修改武器的第一个进度条的等级
    gNPC:SETCUSTOMITEMPROGRESSBARVALUE(gObject, gPlayer, 1, 0, 3, '+', 10)


获取自定义装备进度条属性值

获取自定义装备进度条属性值

   function GETCUSTOMITEMPROGRESSBARVALUE()

说明：

   获取自定义装备进度条属性值

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 进度条序号(0-1)
参数五 | integer | 设置值类型(0=进度条最大值 1=进度条当前值 2=进度条当前百分比 3=进度条等级)
参数六 | string | 变量名
返回值 |  | 无

使用示例：
function TestDemo()
    --获取武器的第一个进度条的最大值
    gNPC:GETCUSTOMITEMPROGRESSBARVALUE(gObject, gPlayer, 1, 0, 0, '<$STR(N1)>')
    --获取武器的第一个进度条的当前进度值
    gNPC:GETCUSTOMITEMPROGRESSBARVALUE(gObject, gPlayer, 1, 0, 1, '<$STR(N2)>')
    --获取武器的第一个进度条的百分比
    gNPC:GETCUSTOMITEMPROGRESSBARVALUE(gObject, gPlayer, 1, 0, 2, '<$STR(N3)>')
    --获取武器的第一个进度条的等级
    gNPC:GETCUSTOMITEMPROGRESSBARVALUE(gObject, gPlayer, 1, 0, 3, '<$STR(N4)>')


设置自定义装备文字内容

设置自定义装备文字内容

   function SETCUSTOMITEMTEXT()

说明：

   设置自定义装备文字内容

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | string | 名字内容
返回值 |  | 无

使用示例：
function TestDemo()
    --设置自定义装备文字内容
    gNPC:SETCUSTOMITEMTEXT(gObject, gPlayer, 1, '我的自定义属性显示')


获取自定义装备文字内容

获取自定义装备文字内容

   function SETCUSTOMITEMTEXT()

说明：

   获取自定义装备文字内容

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | string | 变量名
返回值 |  | 无

使用示例：
function TestDemo()
    --获取自定义装备文字内容
    gNPC:GETCUSTOMITEMTEXT(gObject, gPlayer, 1, '<$STR(S1)>')


设置自定义装备文字内容显示的颜色

设置自定义装备文字内容显示的颜色

   function SETCUSTOMITEMTEXTCOLOR()

说明：

   设置自定义装备文字内容显示的颜色

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 文字颜色(0-255)
返回值 |  | 无

使用示例：
function TestDemo()
    --设置自定义装备文字内容显示的颜色
    gNPC:SETCUSTOMITEMTEXTCOLOR(gObject, gPlayer, 1, 249)


获取自定义装备文字内容显示的颜色

获取自定义装备文字内容显示的颜色

   function GETCUSTOMITEMTEXTCOLOR()

说明：

   获取自定义装备文字内容显示的颜色

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | string | 变量名
返回值 |  | 无

使用示例：
function TestDemo()
    --获取自定义装备文字内容显示的颜色
    gNPC:GETCUSTOMITEMTEXTCOLOR(gObject, gPlayer, 1, '<$STR(N1)>')


设置自定义装备属性值

设置自定义装备属性值

   function SETCUSTOMITEMVALUE()

说明：

   设置自定义装备属性值

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 属性位置(0-9)
参数五 | string | 控制符(+ - =)
参数六 | integer | 属性值
返回值 |  | 无

使用示例：
function TestDemo()
    --设定武器第一个绑定属性的属性值 + 10
    gNPC:SETCUSTOMITEMVALUE(gObject, gPlayer, 1, 0, '+', 10)


获取自定义装备属性值

获取自定义装备属性值

   function GETCUSTOMITEMVALUE()

说明：

   获取自定义装备属性值

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 属性位置(0-9)
参数五 | string | 变量名
参数六 | integer | 是否百分比(1=是 0或空=否)
返回值 |  | 无

使用示例：
function TestDemo()
    --获取自定义装备属性值
    gNPC:GETCUSTOMITEMVALUE(gObject, gPlayer, 1, 0, '<$STR(N1)>')


修改自定义装备属性

修改自定义装备属性

   function SETCUSTOMITEMABIL()

说明：

   修改自定义装备属性

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 属性位置(0-9)
参数五 | integer | 属性类型(0-4)
参数六 | integer | 属性值
返回值 |  | 无

属性类型：
属性类型 | 属性值描述
0 | 表示该属性显示的颜色(0-255)
1 | 表示该属性绑定类型值(0-17)。必须绑定，否则该属性无效。(0：没有绑定 1：绑定AC 2：绑定MAC 3：绑定DC 4：绑定MC 5：绑定SC 6：绑定MaxHP 7：绑定MaxMP 8-17：为10个无属性的)
2 | 表示在属性框里的显示位置值(0-255) 显示位置值相同的显示在同一行
3 | 表示该属性是否是百分比属性(0：非百分比 1：百分比)
4 | 表示模块ID(0-14) 0：默认值(即:自定义属性) 1：装备名称 2：顶行描述 3：装备图标(Ask) 4：升级次数(星星) 5：自定义进度条 6：基础属性 7：凹槽信息 8：元素属性 9：自定义属性 10：投保信息 11：物品来源 12：卖给商店 13：套装信息 14：物品描述

使用示例：
function TestDemo()
    --将装备自定义属性显示到 物品来源
    gNPC:SETCUSTOMITEMABIL(gObject, gPlayer, 1, 0, 4, 11)


获取自定义装备属性

获取自定义装备属性

   function GETCUSTOMITEMABIL()

说明：

   获取自定义装备属性

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 属性位置(0-9)
参数五 | integer | 属性类型(0-4)
参数六 | string | 变量名
返回值 |  | 无

属性类型：
属性类型 | 描述
0 | 获取该属性显示的颜色(0-255)
1 | 获取该属性绑定类型值(0-17)。必须绑定，否则该属性无效。(0：没有绑定 1：绑定AC 2：绑定MAC 3：绑定DC 4：绑定MC 5：绑定SC 6：绑定MaxHP 7：绑定MaxMP 8-17：为10个无属性的)
2 | 获取在属性框里的显示位置值(0-255) 显示位置值相同的显示在同一行
3 | 获取该属性是否是百分比属性(0：非百分比 1：百分比)
4 | 获取模块ID(0-14) 0：默认值(即:自定义属性) 1：装备名称 2：顶行描述 3：装备图标(Ask) 4：升级次数(星星) 5：自定义进度条 6：基础属性 7：凹槽信息 8：元素属性 9：自定义属性 10：投保信息 11：物品来源 12：卖给商店 13：套装信息 14：物品描述

使用示例：
function TestDemo()
    --获取武器第一个自定义属性的颜色
    gNPC:GETCUSTOMITEMABIL(gObject, gPlayer, 1, 0, 0, '<$STR(N1)>')


锁定人物属性更新

锁定人物属性更新

   function LOCKUPDATEABIL()

说明：

   锁定人物属性更新。优化属性计算已去掉此命令。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --锁定人物属性更新
    gNPC:LOCKUPDATEABIL(gObject, gPlayer)


更新人物属性

更新人物属性

   function UPDATEABIL()

说明：

   更新人物属性。优化属性计算已去掉此命令。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --更新人物属性
    gNPC:UPDATEABIL(gObject, gPlayer)


锁定装备更新

锁定装备更新

   function LOCKUPDATEITEM()

说明：

   锁定装备更新。 注意：使用有LockUpdateItem必须再使用UpdateItem。UpdateItem可以单独使用。
   当调用两次锁定武器更新 LockUpdateItem 1; LockUpdateItem 1 时，必须调用两次UpdateItem 1； UpdateItem 1 武器才会刷新到客户端

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
返回值 |  | 无

使用示例：
function TestDemo()
    --锁定头盔更新 由于下面是对头盔的批量操作，锁定后，对头盔进行操作不会向客户端发包，直到UpdateItem 4的出现，减少网络包的流量
    gNPC:LOCKUPDATEITEM(gObject, gPlayer, 4)
    gNPC:SETCUSTOMITEMTEXT(gObject, gPlayer, 4, '[高级属性]')
    gNPC:SETCUSTOMITEMTEXTCOLOR(gObject, gPlayer, 4, 146)
    gNPC:SETCUSTOMITEMABIL(gObject, gPlayer, 4, 2, 1, 3)
    gNPC:SETCUSTOMITEMABIL(gObject, gPlayer, 4, 3, 1, 4)
    gNPC:SETCUSTOMITEMABIL(gObject, gPlayer, 4, 4, 1, 5)
    gNPC:SETCUSTOMITEMABIL(gObject, gPlayer, 4, 5, 1, 6)
    gNPC:SETCUSTOMITEMABIL(gObject, gPlayer, 4, 6, 1, 7)
    gNPC:SETCUSTOMITEMABIL(gObject, gPlayer, 4, 2, 0, 250)
    gNPC:SETCUSTOMITEMABIL(gObject, gPlayer, 4, 3, 0, 250)
    gNPC:SETCUSTOMITEMABIL(gObject, gPlayer, 4, 4, 0, 250)
    gNPC:SETCUSTOMITEMABIL(gObject, gPlayer, 4, 5, 0, 250)
    gNPC:SETCUSTOMITEMABIL(gObject, gPlayer, 4, 6, 0, 250)
    --解锁并更新头盔到客户端
    gNPC:UPDATEITEM(gObject, gPlayer, 4)


更新装备到客户端

更新装备到客户端

   function UPDATEITEM()

说明：

   更新装备到客户端

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
返回值 |  | 无

使用示例：
function TestDemo()
    --锁定头盔更新 由于下面是对头盔的批量操作，锁定后，对头盔进行操作不会向客户端发包，直到UpdateItem 4的出现，减少网络包的流量
    gNPC:LOCKUPDATEITEM(gObject, gPlayer, 4)
    gNPC:SETCUSTOMITEMTEXT(gObject, gPlayer, 4, '[高级属性]')
    gNPC:SETCUSTOMITEMTEXTCOLOR(gObject, gPlayer, 4, 146)
    gNPC:SETCUSTOMITEMABIL(gObject, gPlayer, 4, 2, 1, 3)
    gNPC:SETCUSTOMITEMABIL(gObject, gPlayer, 4, 3, 1, 4)
    gNPC:SETCUSTOMITEMABIL(gObject, gPlayer, 4, 4, 1, 5)
    gNPC:SETCUSTOMITEMABIL(gObject, gPlayer, 4, 5, 1, 6)
    gNPC:SETCUSTOMITEMABIL(gObject, gPlayer, 4, 6, 1, 7)
    gNPC:SETCUSTOMITEMABIL(gObject, gPlayer, 4, 2, 0, 250)
    gNPC:SETCUSTOMITEMABIL(gObject, gPlayer, 4, 3, 0, 250)
    gNPC:SETCUSTOMITEMABIL(gObject, gPlayer, 4, 4, 0, 250)
    gNPC:SETCUSTOMITEMABIL(gObject, gPlayer, 4, 5, 0, 250)
    gNPC:SETCUSTOMITEMABIL(gObject, gPlayer, 4, 6, 0, 250)
    --解锁并更新头盔到客户端
    gNPC:UPDATEITEM(gObject, gPlayer, 4)


给予玩家一个新的物品直接到指定位置不经过背包

给予玩家一个新的物品直接到指定位置不经过背包

   function GIVEONITEM()

说明：

   给予玩家一个新的物品直接到指定位置不经过背包

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | string | 物品名称
参数五 | integer | 数量(默认为1，>1时只对OK框叠加物品有效)
参数... | integer | 极品属性值(该参数最多支持六个)
返回值 |  | 无

盔甲极品属性
 | 描述
0 | 防御
1 | 魔御
2 | 攻击
3 | 魔法
4 | 道术
5-13 | 无效果
14 | 持久
武器极品属性
 | 描述
0 | DC2
1 | MC2
2 | SC2
3 | 幸运
4 | 诅咒
5 | 准确
6 | 攻击速度
7 | 强度
8-9 | 暂不知道
10 | 需开封
11-13 | 暂不知道
14 | 持久
头盔极品属性
 | 描述
0 | 防御
1 | 魔御
2 | 攻击
3 | 魔法
4 | 道术
5 | 佩带需求
6 | 佩带级别
7-13 | 无效果
14 | 持久
项链极品属性
 | 描述
0 | AC2
1 | MAC2
2 | DC2
3 | MC2
4 | SC2
6 | 佩带需求
7 | 佩带级别
8 | reserved
9-13 | 暂不知道
14 | 持久
手镯极品属性
 | 描述
0 | AC2
1 | MAC2
2 | DC2
3 | MC2
4 | SC2
6 | 佩带需求
7 | 佩带级别
8-13 | 无效果
14 | 持久
戒指极品属性
 | 描述
0 | AC2
1 | MAC2
2 | DC2
3 | MC2
4 | SC2
6 | 佩带需求
7 | 佩带级别
8-13 | 无效果
14 | 持久

使用示例：
function TestDemo()
    --给予玩家一个新的物品直接到指定位置不经过背包
    gNPC:GIVEONITEM(gObject, gPlayer, 0, '远古-布巴克的救赎凯（男）', 1, 10, 12, 14, 16, 18, 20)


对捡取的物品进行关联

对捡取的物品进行关联

   function LINKPICKUPITEM()

说明：

   对捡取的物品进行关联

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --对捡取的物品进行关联
    gNPC:LINKPICKUPITEM(gObject, gPlayer)


对给予的物品进行关联

对给予的物品进行关联

   function LINKGIVEITEM()

说明：

   对给予的物品进行关联

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --给予一把武器
    gNPC:GIVE(gObject, gPlayer, '远古-布巴克的救赎凯（男）')
    --关联给予的物品
    gNPC:LINKGIVEITEM(gObject, gPlayer)
    --脚本命令操作该物品
    gNPC:CHANGEITEMNAMECOLOR(gObject, gPlayer, -1, 253)
    --刷新到客户端
    gNPC:UPDATEITEM(gObject, gPlayer, -1)
    --解除绑定
    gNPC:CLEARLINKITEM(gObject, gPlayer)


关闭装备打孔

关闭装备打孔

   function CLOSEITEMFLUTE()

说明：

   关闭装备打孔

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 关闭的打孔数量
返回值 |  | 无

使用示例：
function TestDemo()
    --关闭装备打孔
    gNPC:CLOSEITEMFLUTE(gObject, gPlayer, 0, 1)


设置杀怪爆率倍数

设置杀怪爆率倍数

   function KILLMONBURSTRATE()

说明：

   设置杀怪爆率倍数

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 杀怪倍率(实际倍率除以100为真实倍率 200为2倍爆率)支持变量操作
参数四 | integer | 有效时间(0或空=在线一直有效)
参数五 | integer | 是否保存爆率倍率(0=下线不保存爆率倍率 1=下线保存爆率倍率)
参数六 | integer | 是否提示(0或空=提示 1=不提示)
返回值 |  | 无

使用示例：
function TestDemo()
    --设置 当前杀怪爆率倍数 两倍 时长600秒 下线保存爆率倍数
    gNPC:KILLMONBURSTRATE(gObject, gPlayer, 200, 600, 1)


获取指定人物的变量

获取指定人物的变量

   function GETHUMVAR()

说明：

   获取指定人物的变量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 对方的名字
参数四 | string | 对方的变量
参数五 | string | 自己的变量
返回值 |  | 无

使用示例：
function TestDemo()
    --获取指定人物的变量  S3 为对方名字 <$MAXAC> 为对方防御力  S4 为你的变量
    gNPC:MOV(gObject, gPlayer, 'S3', '无敌')
    gNPC:GETHUMVAR(gObject, gPlayer, 'S3', ' <$MAXAC>', 'S4')
    gNPC:MESSAGEBOX(gObject, gPlayer, '你已成功取得对方防御力为<$STR(S4)>')


设置指定人物的变量值

设置指定人物的变量值

   function SETHUMVAR()

说明：

   设置指定人物的变量值

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 对方的名字
参数四 | string | 对方的变量
参数五 | string | 值
返回值 |  | 无

使用示例：
function TestDemo()
    --设置指定人物的变量值
    gNPC:MOV(gObject, gPlayer, 'S1', '无敌')
    gNPC:SETHUMVAR(gObject, gPlayer, 'S1', 'S2', '<$MAXAC>')
    gNPC:MESSAGEBOX(gObject, gPlayer, '成功把你的防御力数值传递给对方的S2变量，对方已知道你的防御力多少')


分割指定字符串内容到储存到变量中

分割指定字符串内容到储存到变量中

   function EXTRACTSTRING()

说明：

   分割指定字符串内容到储存到变量中

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 字符串分隔符号
参数四 | string | 要被分隔的完整字符串
参数五 | string | 接收分隔后的保存变量
返回值 |  | 无

使用示例：
function TestDemo()
    --字符串分隔
    gNPC:MOV(gObject, gPlayer, 'S0', '战神盔甲(男):裁决之杖:绿色项链:黑铁头盔:骑士手镯:骑士手镯:力量戒指:力量戒指')
    gNPC:EXTRACTSTRING(gObject, gPlayer, ':', '<$STR(S0)>', 'S1', 'S2', 'S3', 'S4', 'S5', 'S6', 'S7', 'S8')
    gNPC:MESSAGEBOX(gObject, gPlayer,
        '分割结果:<$STR(S1)> <$STR(S2)> <$STR(S3)>
<$STR(S4)> \\ <$STR(S5)> <$STR(S6)> <$STR(S7)>
<$STR(S8)>')


清空魔法效果

清空魔法效果

   function CLEARSCREENEFFECT()

说明：

   清空魔法效果

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 模式(0=自己 1= 屏幕上的所有人)
返回值 |  | 无

使用示例：
function TestDemo()
    --清空魔法效果
    gNPC:CLEARSCREENEFFECT(gObject, gPlayer, 0)


客户端大退

客户端大退

   function EXITGAME()

说明：

   客户端大退

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --客户端大退
    gNPC:EXITGAME(gObject, gPlayer, 0)


通过物品名字取数据库字段值

通过物品名字取数据库字段值

   function GETDBITEMFIELDVALUE()

说明：

   通过物品名字取数据库字段值

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数二 | string | 物品名称
参数二 | string | 字段名
参数二 | string | 变量
返回值 |  | 无

使用示例：
function TestDemo()
    --通过物品名字取数据库字段值
    gNPC:GETDBITEMFIELDVALUE(gObject, gPlayer, '远古-布巴克的救赎凯（男）', 'idx', '<$STR(N1)>')
    gNPC:GETDBITEMFIELDVALUE(gObject, gPlayer, '远古-布巴克的救赎凯（男）', 'stdmode', '<$STR(N2)>')
    gNPC:MESSAGEBOX(gObject, gPlayer, 'idx=<$STR(N1)> ,stdmode=<$STR(N2)>')


循环脚本运行次数

循环脚本运行次数

   function LOOPGOTO()

说明：

   循环脚本运行次数

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | @脚本段
参数四 | integer | 脚本运行次数(0或空运行一次)
返回值 |  | 无

使用示例：
function TestDemo()
    --循环脚本运行次数
    gNPC:LOOPGOTO(gObject, gPlayer, '@运算', 100)


解除绑定

解除绑定

   function CLEARLINKITEM()

说明：

   解除绑定。由于LINKPICKUPITEM和LINKGIVEITEM都是绑定对象到升级框，所以需要使用CLEARLINKITEM解除绑定，才能立即生效到客户端。如果不解绑的情况下，会出现修改过属性的物品丢失问题。
   关联物品和解绑物品必须配套使用。
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --给予一把武器
    gNPC:GIVE(gObject, gPlayer, '远古-布巴克的救赎凯（男）')
    --关联给予的物品
    gNPC:LINKGIVEITEM(gObject, gPlayer)
    --脚本命令操作该物品
    gNPC:CHANGEITEMNAMECOLOR(gObject, gPlayer, -1, 253)
    --刷新到客户端
    gNPC:UPDATEITEM(gObject, gPlayer, -1)
    --解除绑定
    gNPC:CLEARLINKITEM(gObject, gPlayer)


计算人物所有装备绑定属性之和

计算人物所有装备绑定属性之和

   function GETALLCUSTOMITEMVALUE()

说明：

   计算人物所有装备绑定属性之和

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 属性位置(1=绑定AC 2=绑定MAC 3=绑定DC 4=绑定MC 5=绑定SC 6=绑定MaxHP 7=绑定MaxMP 8~57=为49个无属性的)
参数四 | string | 非百分比值和
参数五 | string | 所有物品之单件物品百分比值之和
参数六 | integer | 值位置(0或空为设置的第一个值)
参数七 | string | 所有物品之全身物品百分比值之和
返回值 |  | 无

使用示例：
function TestDemo()
    --查看自定义属性1总和
    gNPC:GETALLCUSTOMITEMVALUE(gObject, gPlayer, 0, 'N$自定义属性1值', 'N$自定义属性1百分比')
    gNPC:MESSAGEBOX(gObject, gPlayer, '提示：您一共拥有“<$STR(N$自定义属性1值)>点自定义防御属性”\\“<$STR(N$自定义属性1百分比)>%自定义防御属性”！')
    --查看绑定无属性1总和
    gNPC:GETALLCUSTOMITEMVALUE(gObject, gPlayer, 8, 'N$绑定无属性1值', 'N$绑定无属性1百分比')
    gNPC:MESSAGEBOX(gObject, gPlayer, '提示：您一共拥有“<$STR(N$绑定无属性1值)>点绑定无属性1”\\“<$STR(N$绑定无属性1百分比)>%绑定无属性1”！')


获取装备宝石属性

获取装备宝石属性

   function GETITEMSTONEINFO()

说明：

   获取装备宝石属性

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 宝石位置(0-7)
参数五 | integer | 属性类型(0-6)
参数六 | integer | 变量名
返回值 |  | 无

属性类型：
属性类型 | 描述
0 | 获取宝石名字 Name
1 | 获取宝石类型 Anicount (1、防御 2、魔御 3、攻击 4、魔法 5、道术 6、生命值 7、魔法值 8、准确 9、敏捷 10、幸运 11、攻击速度 12、魔法躲避 13、毒物躲避 14、中毒恢复 15、体力恢复 16、魔法恢复 17、负重(穿戴) 18、负重（背包）)
2 | 获取宝石属性值 Source
3 | 获取宝石元素类型 AC (1、暴击几率 2、攻击伤害 3、物伤减少 4、魔伤减少 5、忽视防御 6、伤害反弹 7、人物暴率 8、体力增加 9、魔力增加 10、怒气恢复 11、合击伤害 12、怪物暴率 13、防暴几率 14、防止麻痹 15、防止护身 16、防止复活 17、防止全毒 18、防止诱惑 19、防止火墙 20、防止冰冻 21、防止蛛网)
4 | 获取宝石元素属性值 AC2
5 | 获取卸下宝石是否消失 Reserved (0为卸下宝石后宝石不消失，大于0则表示卸下宝石后宝石将消失)
6 | 获取宝石叠加数量(相同属性宝石可以叠加镶嵌)

使用示例：
function TestDemo()
    --获取武器装备宝石的属性
    gNPC:GETITEMSTONEINFO(gObject, gPlayer, 1, 0, 0, '<$STR(S$宝石名称)>')
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的武器的第一个宝石名称为【<$STR(S$宝石名称)>】')
    gNPC:GETITEMSTONEINFO(gObject, gPlayer, 1, 0, 1, '<$STR(S$宝石类型)>')
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的武器的第一个宝石属性类型为【<$STR(S$宝石类型)>】')
    gNPC:GETITEMSTONEINFO(gObject, gPlayer, 1, 0, 2, '<$STR(S$宝石属性值)>')
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的武器的第一个宝石属性类型为【<$STR(S$宝石属性值)>】')


INI文件NPC操作

INI文件NPC操作

   function WRITECONFIGFILEITEM()

说明：

   创建并写入INI文件

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | string | 节名名称
参数五 | string | 节点下的键名
参数六 | string | 变量名
参数七 | integer | 是否绝对路径(0或空=相对路径 1=绝对路径)
返回值 |  | 无

使用示例：
function TestDemo()
    --写入INI文件，没有创建INI文件会自动创建INI。目录需要自己自行创建
    gNPC:MOV(gObject, gPlayer, 'S1', '无敌英雄')
    gNPC:MOV(gObject, gPlayer, 'S2', '武将极品属性')
    gNPC:MOV(gObject, gPlayer, 'S3', '极品值')
    gNPC:MOV(gObject, gPlayer, 'S4', '1000')
    gNPC:WRITECONFIGFILEITEM(gObject, gPlayer, '..\\QuestDiary\\武将数据\\<$USERNAME>\\<$STR(S1)>.INI',
        '<$STR(S2)>', '<$STR(S3)>', '<$STR(S4)>')
    --以上操作会在QuestDiary\武将数据目录下的玩家角色名创建一个文件夹，并且在文件里面创建无敌英雄.ini的文件。
    --文件内容为：
    --[武将极品属性]
    --极品值=1000
end

声明：

   function READCONFIGFILEITEM()

说明：

   读取INI文件

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | string | 节名名称
参数五 | string | 节点下的键名
参数六 | string | 变量名
参数七 | integer | 是否绝对路径(0或空=相对路径 1=绝对路径)
返回值 |  | 无

使用示例：
function TestDemo()
    --读取INI文件
    gNPC:READCONFIGFILEITEM(gObject, gPlayer, '..\\QuestDiary\\武将数据\\<$USERNAME>\\无敌英雄.INI', '武将极品属性',
        '极品值', '<$STR(S1)>')
end

声明：

   function DELCONFIGFILEITEM()

说明：

   删除INI文件行

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | string | 节名名称
参数五 | string | 节点下的键名
返回值 |  | 无

使用示例：
function TestDemo()
    --删除INI文件行 武将极品属性区块的极品值行被删除
    gNPC:DELCONFIGFILEITEM(gObject, gPlayer, '..\\QuestDiary\\武将数据\\<$USERNAME>\\无敌英雄.INI', '武将极品属性',
        '极品值')
end

声明：

   function DELCONFIGFILESECTION()

说明：

   删除INI文件区块

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | string | 节名名称
返回值 |  | 无

使用示例：
function TestDemo()
    --删除INI文件区块 对应武将极品属性区块被删除
    gNPC:DELCONFIGFILESECTION(gObject, gPlayer, '..\\QuestDiary\\武将数据\\<$USERNAME>\\无敌英雄.INI', '武将极品属性')


读INI配置项

读INI配置项

   function READCONFIGFILEITEM()

说明：

   读INI配置项

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | string | 节名名称
参数五 | string | 节点下的键名
参数六 | string | 变量名
参数七 | integer | 是否绝对路径(0或空=相对路径 1=绝对路径)
返回值 |  | 无

使用示例：
function TestDemo()
    --写INI配置项
    gNPC:MOV(gObject, gPlayer, 'S3', '无敌武将')
    gNPC:WRITECONFIGFILEITEM(gObject, gPlayer, '..\\QuestDiary\\KEY.ini', '<$USERNAME>', '内容', '<$STR(S3)>')
    gNPC:MESSAGEBOX(gObject, gPlayer, '你已经把你输入的内容写到配置文件中KEY.txt')

    --读INI配置项
    gNPC:READCONFIGFILEITEM(gObject, gPlayer, '..\\QuestDiary\\KEY.ini', '<$USERNAME>', '内容', '<$STR(S$配置项内容)>')
    gNPC:MESSAGEBOX(gObject, gPlayer, '读取INI内容为：<$STR(S$配置项内容)>')


写INI配置项

写INI配置项

   function WRITECONFIGFILEITEM()

说明：

   写INI配置项

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | string | 节名名称
参数五 | string | 节点下的键名
参数六 | string | 写入字符串
参数七 | integer | 是否绝对路径(0或空=相对路径 1=绝对路径)
返回值 |  | 无

使用示例：
function TestDemo()
    --写INI配置项
    gNPC:MOV(gObject, gPlayer, 'S3', '无敌武将')
    gNPC:WRITECONFIGFILEITEM(gObject, gPlayer, '..\\QuestDiary\\KEY.ini', '<$USERNAME>', '内容', '<$STR(S3)>')
    gNPC:MESSAGEBOX(gObject, gPlayer, '你已经把你输入的内容写到配置文件中KEY.txt')

    --读INI配置项
    gNPC:READCONFIGFILEITEM(gObject, gPlayer, '..\\QuestDiary\\KEY.ini', '<$USERNAME>', '内容', '<$STR(S$配置项内容)>')
    gNPC:MESSAGEBOX(gObject, gPlayer, '读取INI内容为：<$STR(S$配置项内容)>')


删除配置文件中的一行

删除配置文件中的一行

   function DELCONFIGFILEITEM()

说明：

   删除配置文件中的一行

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | string | 节名名称
参数五 | string | 节点下的键名
返回值 |  | 无

使用示例：
function TestDemo()
    --删除配置文件中的一个区
    gNPC:DELCONFIGFILESECTION(gObject, gPlayer, '..\\QuestDiary\\KEY.ini', '<$USERNAME>', '内容')


删除配置文件中的一个区

删除配置文件中的一个区

   function DELCONFIGFILESECTION()

说明：

   删除配置文件中的一个区

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | string | 节名名称
返回值 |  | 无

使用示例：
function TestDemo()
    --删除配置文件中的一个区
    gNPC:DELCONFIGFILESECTION(gObject, gPlayer, '..\\QuestDiary\\KEY.ini', '<$USERNAME>')


调整宝宝攻击人物的威力倍率

调整宝宝攻击人物的威力倍率

   function SETSLAVEATTACKHUMPOWERRATE()

说明：

   调整宝宝攻击人物的威力倍率

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 宝宝名称
参数四 | integer | 攻击人物倍率(实际倍率除以100为真实倍率 200为2倍倍率) 设置0为宝宝不攻击人物
返回值 |  | 无

使用示例：
function TestDemo()
    if gNPC:CHECKSLAVENAME(gObject, gPlayer, '神兽') then
        --调整宝宝攻击人物的威力倍率
        gNPC:SETSLAVEATTACKHUMPOWERRATE(gObject, gPlayer, '神兽', 0)
        gNPC:MESSAGEBOX(gObject, gPlayer, '神兽不攻击人物')


NPC命令打开人物装备栏及其他页面

NPC命令打开人物装备栏及其他页面

   function OPENHUMDLG()

说明：

   NPC命令打开人物装备栏及其他页面。支持设定打开页面坐标，默认位置可不填写参数四、五。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 页面(0：装备栏 1：状态栏 2：属性栏 3：技能栏 4：时装栏 5：称号栏 6：出战栏 7：人物包裹 8：首饰盒 9：神佑)
参数四 | integer | X坐标
参数五 | integer | Y坐标
返回值 |  | 无

使用示例：
function TestDemo()
    --NPC命令打开人物装备栏及其他页面
    gNPC:OPENHUMDLG(gObject, gPlayer, 0, 300, 100)


NPC命令打开英雄装备栏及其他页面

NPC命令打开英雄装备栏及其他页面

   function OPENHERODLG()

说明：

   NPC命令打开英雄装备栏及其他页面。支持设定打开页面坐标，默认位置可不填写参数四、五。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 页面(0：装备栏 1：状态栏 2：属性栏 3：技能栏 4：时装栏 5：称号栏 6：出战栏 7：英雄包裹 8：首饰盒 9：神佑)
参数四 | integer | X坐标
参数五 | integer | Y坐标
返回值 |  | 无

使用示例：
function TestDemo()
    --NPC命令打开英雄装备栏及其他页面
    gNPC:OPENHERODLG(gObject, gPlayer, 0, 300, 100)


脚本命令将数字转换为图片显示

脚本命令将数字转换为图片显示

   function ADDNUMBERBUTTON()

说明：

   脚本命令将数字转换为图片显示

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 数字点击后的脚本触发序号，触发QF里面的[@NumberButtonClickX]X即为触发序号
参数四 | integer | 数字类型(0-9)
参数五 | integer | 数值
参数六 | integer | 数字间隔
参数七 | integer | X坐标
参数八 | integer | Y坐标
参数九 | integer | 按钮移动位置(0=不能移动1=可以移动2=人物装备栏3=人物背包栏4=英雄装备栏5=英雄背包栏6=聊天框左侧龙界面7=聊天框右侧等级界面8=商铺界面9=时装界面10=英雄时装11=技能栏12=英雄技能栏13=称号栏14=英雄称号栏15=状态栏16=英雄状态栏17=属性栏18=英雄属性栏19=人物出战栏20=行会界面21=详细属性22=宠物界面23=宠物背包24=人物首饰25=英雄首饰26=人物神佑27=英雄神佑)
参数十 | string | 鼠标移过时提示信息
返回值 |  | 无

使用示例：
function TestDemo()
    --脚本命令将数字转换为图片显示
    gNPC:ADDNUMBERBUTTON(gObject, gPlayer, 1, 9, 1234, -3, 0, 0, 2, '添加到装备栏数字的提示信息')


关闭命令将数字转换为图片显示

关闭命令将数字转换为图片显示

   function DELNUMBERBUTTON()

说明：

   关闭命令将数字转换为图片显示

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 数字点击后的脚本触发序号，触发QF里面的[@NumberButtonClickX]X即为触发序号
返回值 |  | 无

使用示例：
function TestDemo()
    --关闭命令将数字转换为图片显示
    gNPC:DELNUMBERBUTTON(gObject, gPlayer, 1)


英雄在线改名

英雄在线改名

   function CHANGEHERONAME()

说明：

   英雄在线改名

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 英雄新的名称
返回值 |  | 无

使用示例：
function TestDemo()
    --英雄在线改名
    gNPC:CHANGEHERONAME(gObject, gPlayer, '无敌武将')


调整人物无限制仓库存放物品的数量

调整人物无限制仓库存放物品的数量

   function SETBIGSTORAGECOUNT()

说明：

   调整人物无限制仓库存放物品的数量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - = )
参数四 | integer | 数量(0-65535)
返回值 |  | 无

使用示例：
function TestDemo()
    --调整人物无限制仓库存放物品的数量
    gNPC:SETBIGSTORAGECOUNT(gObject, gPlayer, '+', 50)


检测无限仓库可存放数量

检测无限仓库可存放数量

   function GETBIGSTORAGECOUNT()

说明：

   检测无限仓库可存放数量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量名
返回值 |  | 无

使用示例：
function TestDemo()
    --检测无限仓库可存放数量
    gNPC:GETBIGSTORAGECOUNT(gObject, gPlayer, 'N1')
    gNPC:MESSAGEBOX(gObject, gPlayer, '扩展无限仓库数据为<$STR(N1)>')


宠物功能开启及设置

宠物功能开启及设置

宠物说明：

   宠物功能开启及设置：M2 -》 选项 -》 宠物设置。常规普通的宠物捡物在M2 -》 列表信息一 -》 设置允许捡取物品和优选捡取物品(普通捡物品列表与常规英雄捡物同步(M2 -》 列表信息一设置允许捡取物品)，
   特殊需求用户可同步玩家内辅设置进行捡物品)。

数据库说明：

物品数据库 StdItems:
【★★★★默认宠物蛋必加，名字不要变★★★★★】
100,宠物蛋,91,0,,,,,3710,,,,,,,,,,,,,,,,255,0,0,0,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
101,白野猪,92,0,,,,,3710,,,,,,,,,,,,,,,,255,0,0,0,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
103,宠物技能,93,0,1,17,1000,1,1964,0,22,95,0,0,0,0,0,0,0,0,0,0,0,0,251,,,,,0,0,0,0,0,1,2,3,4,5,6,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0
102,捕捉网,94,3,1,16,3,0,1195,10000,2,5,0,0,0,0,0,0,0,0,0,0,0,0,251,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

宠物技能物品（Stdmode：93），字段加成主人属性
AC：     准确
AC2：    敏捷
MAC：    幸运
MAC2：   攻击速度
DC：     中毒恢复
DC2：    毒物躲避
MC：     魔法恢复
MC2：    魔法躲避
SC：     体力恢复
SC2：
DuraMax：负重(穿戴)
Overlap：负重（背包）
Element，Element1....Element23：元素属性

自定义宠物蛋（Stdmode：92），名字为数据库已有怪物名称 字段为宠物初始属性
AC：     防御下限
AC2：    防御上限
MAC：    魔御下限
MAC2：   魔御上限
DC：     攻击下限
DC2：    攻击上限
MC：     魔法下限
MC2：    魔法上限
SC：     道术下限
SC2：    道术上限
Level：  初始等级

技能数据库 Magic:
90,宠物捕捉,2,70,5,50,60,2,20,20,0,18,50,21,100,24,200,26,400,28,800,30,1600,33,3200,36,6400,39,12800,42,25600,46,51200,50,102400,55,204800,60,409600,66,819200,60,,3,,技能

QFunction触发说明：

·宠物召唤触发
 [@GamePetRecall]
 #ACT
 SendMsg 5 召唤宠物<$GamePetName>

·收回宠物 / 宠物死亡触发
 [@GamePetRetake]
 #ACT
 SendMsg 5 收回宠物 <$GamePetName>

·宠物升级触发  宠物等级变量<$GamePetLevel>  宠物数量变量<$GamePetCount>
 [@GamePetLevelUp]
 #ACT
 SendMsg 5 你的宠物 <$GamePetName>升级了，当前等级<$GamePetLevel>

·双击宠物技能物品触发 QF中的 [@GamePetTrainingMagic]
·NPC命令：中断宠物技能学习 BreakGamePetTrainingMagic
·NPC变量 - 宠物技能名：<$GamePetMagicName >
 [@GamePetTrainingMagic]
 #ACT
 SendMsg 7 <$GamePetName>准备学习技能（技能编号 :<$GamePetMagicID>；技能名 :<$GamePetMagicName>)，技能位置<$GamePetMagicIndex>
 BreakGamePetTrainingMagic
 SendMsg 6 已经中断了宠物技能学习

·宠物列表选择触发 QF中的 [@GamePetSelect]   *新增（打开宠物界面也会触发,返回变量为上次选择)
·NPC变量（仅用于@GamePetSelect）：宠物列表中选择索引 <$SelectGamePetIndex>； 宠物列表选择名：<$SelectGamePetName>
 [@GamePetSelect]
 #ACT
 SendMsg 7 选择宠物列表中的第<$SelectGamePetIndex>个宠物<$SelectGamePetName>

·宠物学习技能触发：
 当前学习技能编号：<$GamePetMagicID>
 当前学习技能位置：<$GamePetMagicIndex>
 [@GamePetAddMagic]
 #ACT
 SendMsg 7 <$GamePetName>学习了技能（技能编号 :<$GamePetMagicID>)，技能位置<$GamePetMagicIndex>

·宠物捡物触发人物的QF拾取触发
 @PickUpItem
 @PickUpItems
 @PickUpItemEx

·增加宠物返回到背包后触发：
 [@PetToEgg]
 #IF
 #ACT
 LinkBagItem <$BagItemMakeIndex>
 SetCustomItemAbil -1 0 0 250
 SetCustomItemAbil -1 0 1 50
 SetCustomItemAbil -1 0 2 0
 SetCustomItemValue -1 0 = 1500
 UpdateItem -1
 SendMsg 7 返回一个蛋"<$BagItemName>"并修改资质为1500

·增加双击宠物蛋放入到列表中触发
 [@EggToPet]
 #IF
 #ACT
 LinkBagItem <$BagItemMakeIndex>
 GetCustomItemValue -1 0 N1 N2
 Sendmsg 7 当前宠物蛋"<$BagItecmName>"的资质为<$STR(N1)>

宠物操作命令说明：

--直接从宠物列表中删除宠物  DELETEGAMEPET 序号
gNPC:DELETEGAMEPET(gObject, gPlayer, 0)

--将宠物变成蛋放回到背包 GAMEPETTOBAG 序号
gNPC:GAMEPETTOBAG(gObject, gPlayer, 0)

--检测宠物技能 CHECKGAMEPETSKILLMAGIC 宠物技能名称
gNPC:CHECKGAMEPETSKILLMAGIC(gObject, gPlayer, '技能名称')

--删除宠物技能 DELGAMEPETMAGIC 宠物技能名称
gNPC:DELGAMEPETMAGIC(gObject, gPlayer, '技能名称')

--给予宠物蛋 GIVEGAMEPET 怪物名  N变量(存储蛋的MakeIndex，可选变量 可不填)
gNPC:GIVEGAMEPET(gObject, gPlayer, '白野猪', 'N1')

--清除当前召唤的宠物技能 CLEARGAMEPETMAGIC 敏捷技能
gNPC:CLEARGAMEPETMAGIC(gObject, gPlayer, '敏捷技能')

--给予宠物经验 GAMEPETCHANGEEXP 操作符(+，-，=) 值
gNPC:GAMEPETCHANGEEXP(gObject, gPlayer, '+', 100)

--设置宠物攻击力倍数 SETGAMEPETATTACKHUMPOWERRATE 攻击人物威力倍率(0不攻击人物,当前值除以100为实际倍数)
gNPC:SETGAMEPETATTACKHUMPOWERRATE(gObject, gPlayer, 100)

--调整宠物攻击人物威力(数值) SETGAMEPETATTACKHUMPOWERRATEEX 操作符(+，-，=) 值
gNPC:SETGAMEPETATTACKHUMPOWERRATEEX(gObject, gPlayer, '+', 10)

--获取宠物攻击人物威力(数值) GETGAMEPETATTACKHUMPOWERRATE 变量
gNPC:GETGAMEPETATTACKHUMPOWERRATE(gObject, gPlayer, 'N1')

--检测宠物是否召唤 CHECKCALLGAMEPET
gNPC:CHECKCALLGAMEPET(gObject, gPlayer)

--检测宠物等级 CHECKGAMEPETLEVEL 操作符(>/=/<) 等级
gNPC:CHECKGAMEPETLEVEL(gObject, gPlayer, '>', 1)

--调整宠物等级 CHANGEGAMEPETLEVEL 操作符(+/-/=) 数值
gNPC:CHECKGAMEPETLEVEL(gObject, gPlayer, '=', 5)

--召唤宠物 RECALLGAMEPET 宠物名(当为空时，表示召唤后面一次召唤的宝宝）
gNPC:RECALLGAMEPET(gObject, gPlayer, '神兽')

--调整宠物蛋属性
--CHANGEGAMEPETEGGABIL 物品位置(-1或boxitem0-boxitem7) 属性类型(属性类型：1: 等级 2: HP 3: MP 4: EXP) 操作符(+-=) 值
gNPC:CHANGEGAMEPETEGGABIL(gObject, gPlayer, -1, 1, '+', 2)

--获取宠物蛋属性 GETGAMEPETEGGABIL 物品位置(-1或boxitem0-boxitem7) 属性类型 变量名
--属性类型(1: 等级 2: HP 3: MP 4: EXP 5: MaxHP 6: MaxMP 7: MaxEXP 8: 防御下限 9: 防御上限 10: 魔防下限 11: 魔防上限
--12: 攻击下限 13: 攻击上限 14: 魔法下限 15: 魔法上限 16: 道术下限 17: 道术上限)
gNPC:GETGAMEPETEGGABIL(gObject, gPlayer, -1, 1, 'N1')

--获取物品属性值 GETITEMFIELDVALUE  物品位置 属性名称 变量名
--uelement0-uelement23为元素属性，其中元素属性3-10为技能1-8
gNPC:GETGAMEPETEGGABIL(gObject, gPlayer, -1, 'uelement3', 'N$技能1')
gNPC:GETGAMEPETEGGABIL(gObject, gPlayer, -1, 'uelement4', 'N$技能2')
gNPC:GETGAMEPETEGGABIL(gObject, gPlayer, -1, 'uelement5', 'N$技能3')
gNPC:GETGAMEPETEGGABIL(gObject, gPlayer, -1, 'uelement6', 'N$技能4')
gNPC:GETGAMEPETEGGABIL(gObject, gPlayer, -1, 'uelement7', 'N$技能5')
gNPC:GETGAMEPETEGGABIL(gObject, gPlayer, -1, 'uelement8', 'N$技能6')
gNPC:GETGAMEPETEGGABIL(gObject, gPlayer, -1, 'uelement9', 'N$技能7')
gNPC:GETGAMEPETEGGABIL(gObject, gPlayer, -1, 'uelement10', 'N$技能8')
--返回值为技能在数据库中的 Idx 值+1  例如:你技能一IDX为100 则获取的返回值为101

--设置物品属性值 SETITEMFIELDVALUE  物品位置 属性名称 变量名
--属性支持dura, duramax, upgradecount, Value0……Value13, uelement0……uelement23
--说明：Value0……Value13为极品属性 uelement0……uelement23为元素属性
gNPC:SETITEMFIELDVALUE(gObject, gPlayer, -1, 'uelement3', 'N$技能1')
gNPC:SETITEMFIELDVALUE(gObject, gPlayer, -1, 'uelement4', 'N$技能2')
gNPC:SETITEMFIELDVALUE(gObject, gPlayer, -1, 'uelement5', 'N$技能3')
gNPC:SETITEMFIELDVALUE(gObject, gPlayer, -1, 'uelement6', 'N$技能4')
gNPC:SETITEMFIELDVALUE(gObject, gPlayer, -1, 'uelement7', 'N$技能5')
gNPC:SETITEMFIELDVALUE(gObject, gPlayer, -1, 'uelement8', 'N$技能6')
gNPC:SETITEMFIELDVALUE(gObject, gPlayer, -1, 'uelement9', 'N$技能7')
gNPC:SETITEMFIELDVALUE(gObject, gPlayer, -1, 'uelement10', 'N$技能8')
--设置值为技能在数据库中的 Idx 值+1  例如:你技能一IDX为100 则获取的返回值为101

--打开宠物界面命令 OPENGAMEPETDLG
gNPC:OPENGAMEPETDLG(gObject, gPlayer)

--打开宠物背包 OPENGAMEPETBAG 坐标X 坐标Y (坐标X、Y均为0时，表示不设置坐标)
gNPC:OPENGAMEPETBAG(gObject, gPlayer)

--NPC命令收回宠物 RETAKEGAMEPET
gNPC:RETAKEGAMEPET(gObject, gPlayer)

if gNPC:CHECKCALLGAMEPET(gObject, gPlayer) then
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的宠物等级是：<$GamePetLevel>')
    gNPC:CHANGEGAMEPETLEVEL(gObject, gPlayer, '+', 10)
else
    gNPC:RECALLGAMEPET(gObject, gPlayer)
    gNPC:OPENGAMEPETBAG(gObject, gPlayer, 10, 10)
end

--设置当前召唤的宠物是否可捡物  SETGAMEPETENABLEPICK 参数值(0：由宠物设置中的“允许宠物捡取物品”选项决定 1：允许捡物 2：禁止捡物)
gNPC:SETGAMEPETENABLEPICK(gObject, gPlayer, 1)

--修改当前召唤的宠物属性值 CHANGEGAMEPETABILITY 属性类型 值 【修改的属性不保存，当收回宠物再重新召唤时，属性值还原】
--属性类型(0: HP 1: MaxHP 2: MP 3: MaxMP 4: AC1 5: AC2 6: MAC1 7: MAC2 8: DC1 9: DC2 10: MC1
--11: MC2 12: SC1 13: SC2 14: 攻击速度 15: 移动速度 30: 属性有效时间（分钟，空或0表示不检测时间))
gNPC:CHANGEGAMEPETABILITY(gObject, gPlayer, 1, 1000)

--获取当前召唤宠物的属性修改值 GETGAMEPETABILITY 属性类型 变量
gNPC:GETGAMEPETABILITY(gObject, gPlayer, 1, 'N1')

--获取当前召唤宠物的属性 GETGAMEPETABILITYEX 属性类型 变量
gNPC:GETGAMEPETABILITY(gObject, gPlayer, 1, 'N1')

--重新计算宠物属性(重算属性是修改属性后重算修改的属性,可多次修改后一次计算) RECALCGAMEPETABILITY
gNPC:RECALCGAMEPETABILITY(gObject, gPlayer)

if gNPC:CHECKCALLGAMEPET(gObject, gPlayer) then
    gNPC:GETGAMEPETABILITY(gObject, gPlayer, 1, 'N1')
    gNPC:INC(gObject, gPlayer, 'N1', 1000)
    gNPC:CHANGEGAMEPETABILITY(gObject, gPlayer, 1, 'N1')
    gNPC:RECALCGAMEPETABILITY(gObject, gPlayer)
    gNPC:MESSAGEBOX(gObject, gPlayer, '修改宠物MaxHP增加值为：<$str(N1)>')
end

--获取当前召唤宠物技能数量： GETGAMEPETMAGICCOUNT 变量名

--获取当前召唤宠物技能位置对应技能信息 GETGAMEPETMAGICINFO 技能位置 技能ID变量 技能名变量

--获取宠物技能信息
if gNPC:CHECKCALLGAMEPET(gObject, gPlayer) then
    gNPC:GETGAMEPETMAGICCOUNT(gObject, gPlayer, 'N1')
    gNPC:GETGAMEPETMAGICINFO(gObject, gPlayer, 0, 'N1', 'S1')
else
    gNPC:MESSAGEBOX(gObject, gPlayer, '你还没有召唤宠物')
end

--设置当前召唤宠物某个技能位置技能 GIVEGAMEPETMAGIC 技能位置 技能名称

--宠物技能位置2学技能
if gNPC:CHECKCALLGAMEPET(gObject, gPlayer) then
    gNPC:GIVEGAMEPETMAGIC(gObject, gPlayer, 1, '宠物技能1')
else
    gNPC:MESSAGEBOX(gObject, gPlayer, '你还没有召唤宠物')
end

--直接给一个宠物到宠物列表 GIVEGAMEPETEX 宠物名称
if gNPC:CHECKCALLGAMEPET(gObject, gPlayer) then
    gNPC:RECALLGAMEPET(gObject, gPlayer, '红野猪')
else
    gNPC:GIVEGAMEPETEX(gObject, gPlayer, '红野猪')
end

--修改当前召唤的宠物外观/脸型 CHANGEGAMEPETAPPR 新的脸型(Appr) 有效时间(分钟)
if gNPC:CHECKCALLGAMEPET(gObject, gPlayer) then
    gNPC:CHANGEGAMEPETAPPR(gObject, gPlayer, 10, 1)
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的宠物已经变成了食人花造型，有效时间1分钟')
end

--宠物界面预留按钮9个 850-858

--收回指定宠物 RETAKEGAMEPET
if gNPC:EQUAL(gObject, gPlayer, '白野猪', '<$GamePetName>') then
    gNPC:RETAKEGAMEPET(gObject, gPlayer)
end

--自定义修改宠物名字（不保存，重新召唤恢复  CHANGEGAMEPETNAME 新名称
if gNPC:CHECKCALLGAMEPET(gObject, gPlayer) then
    gNPC:CHANGEGAMEPETNAME(gObject, gPlayer, '大花')
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的宠物名字更改为【大花】')
end

--获取宠物列表中宠物数量 GETGAMEPETLISTCOUNT 变量名
--获取当前召唤的宠物在列表中的顺序 GETRECALGAMEPETINDEX 变量名
gNPC:GETGAMEPETLISTCOUNT(gObject, gPlayer, 'N0')
gNPC:GETRECALGAMEPETINDEX(gObject, gPlayer, 'N1')
gNPC:MESSAGEBOX(gObject, gPlayer, '你的宠物列表共有宠物：<$str(N0)>个\\当前召唤的宠物序号是：<$str(N1)>')

--设置宠物不攻击 GAMEPETSETATTACKOPTION 类型 值(0/1/2) 有效时间(0为在线有效)
--类型0:允许宠物攻击 当值=0时，宠物是否攻击随全局参数；当值=1时，允许宠物攻击；当值=2时，禁止宠物攻击
--类型1: 怪物不攻击宠物 当值=0时，随全局参数；当值=1时，开启此功能
--类型2: 宠物不受任何攻击 当值=0时，随全局参数；当值=1时，开启此功能


给予宠物丹

给予宠物丹

   function GIVEGAMEPET()

说明：

   给予宠物丹

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 宠物名称(此参数对应 M2-> 选项 -> 宠物设置 -> 已设置的怪物)
参数四 | string | N变量(存储蛋的MakeIndex，可选变量 可不填)
返回值 |  | 无

使用示例：
function TestDemo()
    --给一个修改属性的蛋蛋，如果就数据库的蛋无需变量直接给予
    gNPC:GIVEGAMEPET(gObject, gPlayer, '黑暗船长', 'N1')
    gNPC:LINKBAGITEM(gObject, gPlayer, '<$STR(N1)>')
    gNPC:SETCUSTOMITEMABIL(gObject, gPlayer, -1, 0, 0, 250)
    gNPC:SETCUSTOMITEMABIL(gObject, gPlayer, -1, 0, 1, 50)
    gNPC:SETCUSTOMITEMABIL(gObject, gPlayer, -1, 0, 2, 0)
    gNPC:SETCUSTOMITEMVALUE(gObject, gPlayer, -1, 0, '=', 1500)
    gNPC:UPDATEITEM(gObject, gPlayer, -1)
    gNPC:MESSAGEBOX(gObject, gPlayer, '返回一个蛋并修改资质为1500')


清除当前召唤的宠物技能

清除当前召唤的宠物技能

   function CLEARGAMEPETMAGIC()

说明：

   清除当前召唤的宠物技能

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 技能名称
返回值 |  | 无

使用示例：
function TestDemo()
    --清除当前召唤的宠物技能
    gNPC:CLEARGAMEPETMAGIC(gObject, gPlayer, '宠物捕捉')


给予宠物经验

给予宠物经验

   function GAMEPETCHANGEEXP()

说明：

   给予宠物经验

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - = )
参数四 | integer | 经验值
返回值 |  | 无

使用示例：
function TestDemo()
    --给予宠物经验
    gNPC:GAMEPETCHANGEEXP(gObject, gPlayer, '+', 1000)


设置投保次数

设置投保次数

   function SETINSURANCECOUNTXX()

说明：

   设置投保次数

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | string | 控制符(+ - = )
参数五 | integer | 数值
返回值 |  | 无

使用示例：
function TestDemo()
    --设置投保次数
    gNPC:SETINSURANCECOUNTXX(gObject, gPlayer, 1, '+', 10)


获取投保次数

获取投保次数

   function GETINSURANCECOUNTXX()

说明：

   获取投保次数

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | string | 变量
返回值 |  | 无

使用示例：
function TestDemo()
    --获取投保次数
    gNPC:SGETINSURANCECOUNTXX(gObject, gPlayer, 1, 'N1')


修改装备内观

修改装备内观

   function SETITEMLOOKS()

说明：

   修改装备内观。只是改变视觉效果，不改变实际参数。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | string | 控制符(+ - = )
参数五 | integer | 数值
返回值 |  | 无

使用示例：
function TestDemo()
    --修改装备内观
    gNPC:SETITEMLOOKS(gObject, gPlayer, 1, '+', 1)


修改装备外观

修改装备外观

   function SETITEMSHAPE()

说明：

   修改装备外观。只能改变衣服和武器。只是改变视觉效果，不改变实际参数。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | string | 控制符(+ - = )
参数五 | integer | 数值
返回值 |  | 无

使用示例：
function TestDemo()
    --修改装备外观
    gNPC:SETITEMSHAPE(gObject, gPlayer, 1, '+', 1)


调用安全区特效

调用安全区特效

   function RECTMAPEFFECT()

说明：

   调用安全区特效

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | string | 左上角X坐标
参数五 | integer | 左上角Y坐标
参数六 | integer | 宽度
参数七 | integer | 高度
参数八 | integer | 光圈类型
参数九 | integer | 显示时间(秒 0表示永久)
返回值 |  | 无

使用示例：
function TestDemo()
    --调用安全区特效
    gNPC:RECTMAPEFFECT(gObject, gPlayer, '土', 171, 126, 10, 5, 4, 0)


获取物品来源

获取物品来源

   function GETITEMFROM()

说明：

   获取物品来源

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 信息类型(0-4)
参数五 | string | 变量名
返回值 |  | 无

信息类型：
信息类型 | 描述
0 | 物品来源(0：未知 1：GM制造 2：NPC制造 3：商店购买 4：杀怪掉落 5：系统给予 6：挖矿获取 7：宝箱获取 8：宝箱获取 9：挖肉获取 10：捕捉获取)
1 | 地图
2 | 杀死怪物
3 | 经手人
4 | 时间

使用示例：
function TestDemo()
    --获取物品来源
    gNPC:GETITEMFROM(gObject, gPlayer, 1, 4, 'S1')
    gNPC:MESSAGEBOX(gObject, gPlayer, '当前武器的时间为：<$STR(S1)>')


修改物品来源

修改物品来源

   function SETITEMFROM()

说明：

   修改物品来源

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 信息类型(0-4)
参数五 | string | 信息类型= 4时，此参数为日期(2020-01-01)
参数六 | string | 信息类型= 4时，此参数为时间(22:02:02)
返回值 |  | 无

信息类型：
信息类型 | 描述
0 | 物品来源(0：未知 1：GM制造 2：NPC制造 3：商店购买 4：杀怪掉落 5：系统给予 6：挖矿获取 7：宝箱获取 8：宝箱获取 9：挖肉获取 10：捕捉获取)
1 | 地图
2 | 杀死怪物
3 | 经手人
4 | 时间

使用示例：
function TestDemo()
    --修改物品来源
    gNPC:SETITEMFROM(gObject, gPlayer, 1, 4, '2023-10-11', '22:22:59')


直接给装备加一个宝石

直接给装备加一个宝石

   function ITEMADDSTONE()

说明：

   直接给装备加一个宝石

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | string | 宝石名称
参数五 | integer | 孔位置(0或空=自动空孔位置 1-8= 指定位置)
返回值 |  | 无

使用示例：
function TestDemo()
    --直接给装备加一个宝石
    gNPC:ITEMADDSTONE(gObject, gPlayer, 0, '麻痹宝石5级')


删除装备指定孔位的宝石孔位置

删除装备指定孔位的宝石孔位置

   function ITEMDELSTONE()

说明：

   删除装备指定孔位的宝石孔位置

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 孔位置(1-8)
返回值 |  | 无

使用示例：
function TestDemo()
    --删除装备指定孔位的宝石孔位置
    gNPC:ITEMDELSTONE(gObject, gPlayer, 0, 1)


取下镶嵌宝石

取下镶嵌宝石

   function ITEMOFFSTONE()

说明：

   取下镶嵌宝石

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 孔位置(0-8)
返回值 |  | 无

使用示例：
function TestDemo()
    --取下镶嵌宝石
    gNPC:ITEMOFFSTONE(gObject, gPlayer, 0, 1)


清空P变量

清空P变量

   function CLEARVARP()

说明：

   清空P变量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --清空P变量
    gNPC:CLEARVARP(gObject, gPlayer)


增加隐藏元素属性

增加隐藏元素属性

   function ADDHUMNEWVALUE()

说明：

   增加隐藏元素属性。此命令只调整本命令对应的元素属性值，而不会改变装备自带的属性值。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 属性(0-20)
参数四 | string | 控制符(+ - =)
参数五 | integer | 值(1-100)
参数六 | integer | 时间(秒) 1-21亿，0或空则为在线一直有效
返回值 |  | 无

属性：
属性 | 描述
0 | 暴击几率增加 1~100%
1 | 增加攻击伤害 1~100%
2 | 物理伤害减少 1~100%
3 | 魔法伤害减少 1~100%
4 | 忽视目标防御 1~100%
5 | 所有伤害反弹 1~100%
6 | 增加杀人暴率 1~100%
7 | 人物体力增加 1~100%
8 | 人物魔力增加 1~100%
9 | 怒气恢复增加 1~100%
10 | 合击攻击增加 1~100%
11 | 增加杀怪暴率 1~100%
12 | 不支持
13 | 增加防止麻痹 1~100%
14 | 增加防止护身 1~100%
15 | 增加防止复活 1~100%
16 | 增加防止全毒 1~100%
17 | 增加防止诱惑 1~100%
18 | 增加防止火墙 1~100%
19 | 增加防止冰冻 1~100%
20 | 增加防止蛛网 1~100%

使用示例：
function TestDemo()
    --增加隐藏元素属性 此属性仅自己在状态栏元素综合属性中查看
    --将人物的暴击几率调整为10，假如人身上的装备暴击几率原来为5，则最终人物身上的暴击几率为 10 + 5
    gNPC:ADDHUMNEWVALUE(gObject, gPlayer, 0, '=', 10, 100)


退出国家

退出国家

   function EXITNATION()

说明：

   退出国家

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --退出国家
    gNPC:EXITNATION(gObject, gPlayer)


成为国王

成为国王

   function SETNATIONKING()

说明：

   成为国王

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 国家编号
返回值 |  | 无

使用示例：
function TestDemo()
    --成为国王
    gNPC:SETNATIONKING(gObject, gPlayer, 1)


假人系统自定义教程

假人系统自定义教程

第一步 假人配置：

首先需要在指定文件中增加假人角色名称，跟玩家名称类似(D:\MirServer\Mir200\Envir\DummyNameList.txt)中，然后在QMANAGE.txt管理脚本中增加假人登录功能。脚本命令如下：

[@Login]
#IF
;检测是否是假人
ISDUMMY
#ACT
;设置假人配置文件。 如果不设置假人配置文件，默认读取 D:\MirServer\Mir200\Envir\DummyConfig\假人名称.txt
;格式 SETDUMMYCONFIGFILENAME 文件路径
SETDUMMYCONFIGFILENAME ..\QuestDiary\智能陪练\一级女法陪练.txt

;读取假人配置文件，将配置文件中的参数读取到假人，这句必须要的。
LOADDUMMYCONFIGFILE

;更改攻击模式
;攻击模式(英雄无效)
;0-全体攻击(主动攻击) 1-和平攻击(不PK) 2-夫妻攻击 3-师徒攻击 4-编组攻击 5-行会攻击
;6-红名攻击(不主动攻击，受攻击后反击)

第二步 定义假人登录脚本：
[@Login]
#IF
;检测是否是假人
ISDUMMY
#ACT
;从配置文件列表中随机获取一个配置文件
GETRANDOMLINETEXT ..\QuestDiary\智能陪练\假人配置文件列表.txt <$STR(S10)>
SETDUMMYCONFIGFILENAME <$STR(S10)>
LOADDUMMYCONFIGFILE
MOVR D0 6
ChangeAttatckMode <$STR(D0)>
;从配置文件列表中随机获取一个配置文件,给英雄使用
GETRANDOMLINETEXT ..\QuestDiary\智能陪练\假人英雄配置文件列表.txt <$STR(S11)>

;从假人列表或假人英雄列表中获取一个没有登录过的名称
GETDUMMYNAME <$STR(S11)> 1 1
;格式 SETDUMMYHERONAME 英雄名称
SETDUMMYHERONAME <$STR(S11)>
RECALLHERO
DUMMYSTART

第三步 假人自动练功和自动摆摊的相关脚本设定：
[@假人上线自动摆摊]
#IF
ISDUMMY
#ELSEACT
BREAK
;检测是否已经创建过个人商店
#IF
CHECKMYSHOP
#ACT
;停止挂机
DUMMYSTOP
;开始摆摊
SHOPSTALL
#ELSEACT
;如果没有个人商店开始用自己的名字做为商店的名字创建个人商店
CREATEMYSHOP <$USERNAME>
;停止挂机
DUMMYSTOP
;开始摆摊
SHOPSTALL

;自动练功脚本
格式:AutoUseMagic 技能名字 间隔秒。(必须是学过的技能，在非挂机状态，没有攻击目标的情况下才能正常练功)
[@main]
#ACT
AutoUseMagic 雷电术 10


假人自动练功

假人自动练功

   function AUTOUSEMAGIC()

说明：

   假人自动练功。必须是学过的技能，在非挂机状态，没有攻击目标的情况下才能正常练功。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 技能名称
参数四 | integer | 时间(秒)
返回值 |  | 无

使用示例：
function TestDemo()
    --假人自动练功
    gNPC:AUTOUSEMAGIC(gObject, gPlayer, '雷电术', 10)


终止采集

终止采集

   function STOPCOLLECT()

说明：

   终止采集

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --终止采集
    gNPC:STOPCOLLECT(gObject, gPlayer)


获取当前NPC名称

获取当前NPC名称

   function GETNPCNAME()

说明：

   获取当前NPC名称

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量
返回值 |  | 无

使用示例：
function TestDemo()
    --获取当前NPC名称
    gNPC:GETNPCNAME(gObject, gPlayer, 'S1')
    gNPC:MESSAGEBOX(gObject, gPlayer, '当前NPC名称<$STR(S1)>')


脚本命令释放技能

脚本命令释放技能

   function RELEASEMAGIC()

说明：

   脚本命令释放技能。本命令施展技能带动作

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 释放技能ID(支持自定义技能)
参数四 | integer | 技能是否是强化技能(0=普通技能 1=强化技能)
参数五 | integer | 技能等级
参数六 | integer | 技能目标(1=攻击目标 2=自身 )
返回值 |  | 无

使用示例：
function TestDemo()
    --脚本命令释放技能
    gNPC:RELEASEMAGIC(gObject, gPlayer, 26, 0, 3, 1)
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的物理攻击触发了一次3级烈火剑法')


脚本命令释放技能(无动作施展)

脚本命令释放技能(无动作施展)

声明：

   function RELEASEMAGICEX()

说明：

   脚本命令释放技能(无动作施展) 。本命令不支持战士技能，如需要绑定自身动作的技能请使用RELEASEMAGIC。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 释放技能ID(支持自定义技能)
参数四 | integer | 技能是否是强化技能(0=普通技能 1=强化技能)
参数五 | integer | 技能等级
参数六 | integer | 技能目标(1=攻击目标 2=自身 )
参数七 | integer | 是否计算冷却时间(0或空=计算 1= 不计算)
返回值 |  | 无

使用示例：
function TestDemo()
    --脚本命令释放技能(无动作施展)
    gNPC:RELEASEMAGICEX(gObject, gPlayer, 206, 0, 3, 1, 1)
    gNPC:MESSAGEBOX(gObject, gPlayer, '你的雷电术触发特效攻击，对怪物释放了一次强化九重冰咆哮')


高效率INI文件NPC操作

高效率INI文件NPC操作

高效率INI文件NPC操作说明：

  Cache(缓存) ，操作速度会比不带cache的快很多，问题就是，在M2运行过程中，只能用脚本操作，手动操作的无效。如果ini文件不存在手动操作的情况下，就用Cache。
  Cache的特点是，对ini的操作只打开一次，然后一直在内存缓存，所以只命令操作才有效，手动操作无效。关闭引擎时候才会保存到INI文件内，
  引擎运行期间一直内存中运行，所以启动引擎后手动修改INI文件信息是无效的在没有手动操作ini的情况下，推荐用带cache的。不带cache的比较耗时。
  比如提现：操作会删除提现记录属于手动操作，所以不能使用cache，但计算战斗力属于内部引擎操作无手动干预，可以使用带cache的！
声明：

   function WRITECACHECONFIGFILEITEM()

说明：

   创建并写入INI文件

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | string | 节名名称
参数五 | string | 节点下的键名
参数六 | string | 变量名
参数七 | integer | 是否绝对路径(0或空=相对路径 1=绝对路径)
返回值 |  | 无

使用示例：
function TestDemo()
    --写入INI文件，没有创建INI文件会自动创建INI。目录需要自己自行创建
    gNPC:MOV(gObject, gPlayer, 'S1', '无敌英雄')
    gNPC:MOV(gObject, gPlayer, 'S2', '武将极品属性')
    gNPC:MOV(gObject, gPlayer, 'S3', '极品值')
    gNPC:MOV(gObject, gPlayer, 'S4', '1000')
    gNPC:WRITECACHECONFIGFILEITEM(gObject, gPlayer, '..\\QuestDiary\\武将数据\\<$USERNAME>\\<$STR(S1)>.INI',
        '<$STR(S2)>', '<$STR(S3)>', '<$STR(S4)>')
    --以上操作会在QuestDiary\武将数据目录下的玩家角色名创建一个文件夹，并且在文件里面创建无敌英雄.ini的文件。
    --文件内容为：
    --[武将极品属性]
    --极品值=1000
end

声明：

   function READCACHECONFIGFILEITEM()

说明：

   读取INI文件

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | string | 节名名称
参数五 | string | 节点下的键名
参数六 | string | 变量名
参数七 | integer | 是否绝对路径(0或空=相对路径 1=绝对路径)
返回值 |  | 无

使用示例：
function TestDemo()
    --读取INI文件
    gNPC:READCACHECONFIGFILEITEM(gObject, gPlayer, '..\\QuestDiary\\武将数据\\<$USERNAME>\\无敌英雄.INI', '武将极品属性',
        '极品值', '<$STR(S1)>')
end

声明：

   function DELCACHECONFIGFILEITEM()

说明：

   删除INI文件行

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | string | 节名名称
参数五 | string | 节点下的键名
返回值 |  | 无

使用示例：
function TestDemo()
    --删除INI文件行 武将极品属性区块的极品值行被删除
    gNPC:DELCACHECONFIGFILEITEM(gObject, gPlayer, '..\\QuestDiary\\武将数据\\<$USERNAME>\\无敌英雄.INI', '武将极品属性',
        '极品值')
end

声明：

   function DELCACHECONFIGFILESECTION()

说明：

   删除INI文件区块

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | string | 节名名称
返回值 |  | 无

使用示例：
function TestDemo()
    --删除INI文件区块 对应武将极品属性区块被删除
    gNPC:DELCACHECONFIGFILESECTION(gObject, gPlayer, '..\\QuestDiary\\武将数据\\<$USERNAME>\\无敌英雄.INI', '武将极品属性')


读缓存配置项

读缓存配置项

   function READCACHECONFIGFILEITEM()

说明：

   读缓存配置项

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | string | 节名名称
参数五 | string | 节点下的键名
参数六 | string | 变量名
参数七 | integer | 是否绝对路径(0或空=相对路径 1=绝对路径)
返回值 |  | 无

使用示例：
function TestDemo()
    --写INI配置项
    gNPC:MOV(gObject, gPlayer, 'S3', '无敌武将')
    gNPC:WRITECACHECONFIGFILEITEM(gObject, gPlayer, '..\\QuestDiary\\KEY.ini', '<$USERNAME>', '内容', '<$STR(S3)>')
    gNPC:MESSAGEBOX(gObject, gPlayer, '你已经把你输入的内容写到配置文件中KEY.txt')

    --读INI配置项
    gNPC:READCACHECONFIGFILEITEM(gObject, gPlayer, '..\\QuestDiary\\KEY.ini', '<$USERNAME>', '内容', '<$STR(S$配置项内容)>')
    gNPC:MESSAGEBOX(gObject, gPlayer, '读取INI内容为：<$STR(S$配置项内容)>')


写缓存配置项

写缓存配置项

   function WRITECACHECONFIGFILEITEM()

说明：

   写缓存配置项

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | string | 节名名称
参数五 | string | 节点下的键名
参数六 | string | 写入字符串
参数七 | integer | 是否绝对路径(0或空=相对路径 1=绝对路径)
返回值 |  | 无

使用示例：
function TestDemo()
    --写INI配置项
    gNPC:MOV(gObject, gPlayer, 'S3', '无敌武将')
    gNPC:WRITECACHECONFIGFILEITEM(gObject, gPlayer, '..\\QuestDiary\\KEY.ini', '<$USERNAME>', '内容', '<$STR(S3)>')
    gNPC:MESSAGEBOX(gObject, gPlayer, '你已经把你输入的内容写到配置文件中KEY.txt')

    --读INI配置项
    gNPC:READCACHECONFIGFILEITEM(gObject, gPlayer, '..\\QuestDiary\\KEY.ini', '<$USERNAME>', '内容', '<$STR(S$配置项内容)>')
    gNPC:MESSAGEBOX(gObject, gPlayer, '读取INI内容为：<$STR(S$配置项内容)>')


删除配置文件中的一行

删除配置文件中的一行

   function DELCACHECONFIGFILEITEM()

说明：

   删除配置文件中的一行

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | string | 节名名称
参数五 | string | 节点下的键名
返回值 |  | 无

使用示例：
function TestDemo()
    --删除配置文件中的一个区
    gNPC:DELCACHECONFIGFILEITEM(gObject, gPlayer, '..\\QuestDiary\\KEY.ini', '<$USERNAME>', '内容')


删除配置文件中的一个区

删除配置文件中的一个区

   function DELCACHECONFIGFILESECTION()

说明：

   删除配置文件中的一个区

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | string | 节名名称
返回值 |  | 无

使用示例：
function TestDemo()
    --删除配置文件中的一个区
    gNPC:DELCACHECONFIGFILESECTION(gObject, gPlayer, '..\\QuestDiary\\KEY.ini', '<$USERNAME>')


动态创建一个镜像地图

动态创建一个镜像地图

   function ADDMIRRORMAP()

说明：

   动态创建一个镜像地图

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 原地图代码(在地图配置文件中存在的地图)
参数四 | string | 新地图代码(临时使用的地图编号)
参数五 | string | 新地图名(客户端显示的名字)
参数六 | integer | 镜像地图存在的有效时间(秒) 时间到后，此地图将自动回收，并且将地图上的人传送至参数七设置的地图
参数七 | string | 人物退出时返回的地图代码
参数八 | integer | 小地图编号
参数九 | string | 变量名(创建成功会将变量写1，否则写0)
参数十 | string | 是否显示剩余时间(0=剩3分钟显示剩余时间 1=一直显示剩余时间)
参数十一 | string | 人物退出时返回的地图位置(空或0=随机位置 200,300：退出镜像地图返回到200,300的坐标)注意：如果坐标不可达，命令会提示错误
返回值 |  | 无

使用示例：
function TestDemo()
    --动态创建一个镜像地图
    gNPC:ADDMIRRORMAP(gObject, gPlayer, '108', '<$USERNAME>BOOS地图', '冰封决土豪空间', 12 00,'N3' , 0, 'N8', 1,
        '320,334')
    --<$const()避免当变量内容开头字母为系统变量字母二次解析
    gNPC:ADDMIRRORMAP(gObject, gPlayer, '<$const(N3)>', '<$USERNAME>BOOS地图', '冰封决土豪空间', 600, 'N3', 0, 'N8',
        1, '320,334')


删除镜像地图

删除镜像地图

   function DELMIRRORMAP()

说明：

   删除镜像地图

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 镜像地图代码
返回值 |  | 无

使用示例：
function TestDemo()
    --删除镜像地图
    gNPC:DELMIRRORMAP(gObject, gPlayer, '<$USERNAME>BOOS地图')


获取镜像地图时间

获取镜像地图时间

   function GETMIRRORMAPTIME()

说明：

   获取镜像地图时间

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 镜像地图代码
参数四 | string | 总时间变量
参数五 | string | 剩余时间变量
返回值 |  | 无

使用示例：
function TestDemo()
    --获取镜像地图时间
    gNPC:GETMIRRORMAPTIME(gObject, gPlayer, '<$USERNAME>BOOS地图', 'N100', 'N200')
    gNPC:MESSAGEBOX(gObject, gPlayer, '地图的总有效时间为<$STR(N100)>\\剩余时间为<$STR(N200)> ')


重新设置镜像地图时间

重新设置镜像地图时间

   function SETMIRRORMAPTIME()

说明：

   重新设置镜像地图时间

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 镜像地图代码
参数四 | integer | 时间值
参数五 | integer | 是否重新计算时间(留空=重新设置的时间减少已使用时间 1=重新计算时间)
返回值 |  | 无

使用示例：
function TestDemo()
    --重新设置镜像地图时间
    gNPC:SETMIRRORMAPTIME(gObject, gPlayer, '<$USERNAME>BOOS地图', 1800, 1)


停止地图魔法播放

停止地图魔法播放

   function DELMAPEFFECT()

说明：

   停止地图魔法播放。停止哪个特效通过参数来判断，参数一致的特效将被停止

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图名称
参数四 | integer | X坐标
参数五 | integer | Y坐标
参数六 | integer | WIL文件序号
参数七 | integer | 开始图片数
参数八 | integer | 播放图片张数(-1为无限次数)
参数九 | integer | 播放速度(毫秒)
参数十 | integer | 播放效果(0=普通播放 1=特效播放)
参数十一 | integer | 亮度(0-5) 0表示没有亮度，在关闭禁止免蜡时有效
参数十二 | integer | ID
返回值 |  | 无

使用示例：
function TestDemo()
    --停止地图魔法播放
    gNPC:DELMAPEFFECT(gObject, gPlayer, '3', 330, 330, 1, 10, 20, 1, 200, 1, 3, 1)


播放MP3文件

播放MP3文件

   function PLAYMUSICEX()

说明：

   播放MP3文件。播放网络上的MP3文件,或者本地MP3文件。如果是本地文件会自动搜索客户端Music目录中同名文件。不受声音关闭影响（只能关闭电脑喇叭方式关闭）

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | MP3文件名称
返回值 |  | 无

使用示例：
function TestDemo()
    --播放MP3文件
    gNPC:PLAYMUSICEX(gObject, gPlayer, '100.MP3')


修改宝宝外观

修改宝宝外观

   function CHANGESLAVEAPPR()

说明：

   修改宝宝外观

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 外观代码
参数四 | string | 宝宝名称(*或空=所有宝宝)
参数五 | integer | 外观有效时间(分钟) 0或空=不检测时间
返回值 |  | 无

使用示例：
function TestDemo()
    --修改宝宝外观
    gNPC:CHANGESLAVEAPPR(gObject, gPlayer, 72, '神兽', 60)


修改宝宝属性

修改宝宝属性

   function CHANGESLAVEABILITY()

说明：

   修改宝宝属性。修改完后不会重新计算宝宝属性，需要使用RECALCSLAVEABILITY重算。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 属性(0: HP 1: MaxHP 2:MP 3:MaxMP 4:AC1 5:AC2 6:MAC1 7:MAC2 8:DC1 9:DC2 10:MC1 11:MC2 12:SC1 13:SC2 14:攻击速度 15:移动速度 30:属性有效时间(分钟，空或0表示不检测时间))
参数四 | integer | 属性值
返回值 |  | 无

使用示例：
function TestDemo()
    --修改宝宝属性 所有宝宝攻击速度和移动速度增加，有效时间30分钟
    gNPC:CHANGESLAVEABILITY(gObject, gPlayer, 14, 100)
    gNPC:CHANGESLAVEABILITY(gObject, gPlayer, 15, 100)
    gNPC:CHANGESLAVEABILITY(gObject, gPlayer, 30, 30)
    gNPC:RECALCSLAVEABILITY(gObject, gPlayer)


修改宝宝属性

修改宝宝属性

   function CHANGESLAVEABILITYEX()

说明：

   修改宝宝属性。修改完后不会重新计算宝宝属性，需要使用RECALCSLAVEABILITY重算。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 属性(0: HP 1: MaxHP 2:MP 3:MaxMP 4:AC1 5:AC2 6:MAC1 7:MAC2 8:DC1 9:DC2 10:MC1 11:MC2 12:SC1 13:SC2 14:攻击速度 15:移动速度 30:属性有效时间(分钟，空或0表示不检测时间))
参数四 | integer | 属性值
参数四 | integer | 值类型(0=数值 1=百分比)
返回值 |  | 无

使用示例：
function TestDemo()
    --修改宝宝属性 所有宝宝攻击速度和移动速度加快了10%，有效时间30分钟
    gNPC:CHANGESLAVEABILITY(gObject, gPlayer, 14, -10, 1)
    gNPC:CHANGESLAVEABILITY(gObject, gPlayer, 15, -10, 1)
    gNPC:CHANGESLAVEABILITY(gObject, gPlayer, 30, 30)
    gNPC:RECALCSLAVEABILITY(gObject, gPlayer)


重算宝宝属性

重算宝宝属性

   function RECALCSLAVEABILITY()

说明：

   重算宝宝属性

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --修改宝宝属性 所有宝宝攻击速度和移动速度增加，有效时间30分钟
    gNPC:CHANGESLAVEABILITY(gObject, gPlayer, 14, 100)
    gNPC:CHANGESLAVEABILITY(gObject, gPlayer, 15, 100)
    gNPC:CHANGESLAVEABILITY(gObject, gPlayer, 30, 30)
    --重算宝宝属性
    gNPC:RECALCSLAVEABILITY(gObject, gPlayer)


特修身上装备

特修身上装备

   function REPAIRALL()

说明：

   特修身上装备。在物品规则列表中限制物品的不会被修理。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --特修身上装备
    gNPC:REPAIRALL(gObject, gPlayer)


调整修改下次攻击伤害比例

调整修改下次攻击伤害比例

   function SETNEXTDAMAGE()

说明：

   调整修改下次攻击伤害比例

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 下次伤害百分比(不能为0和负数)
返回值 |  | 无

使用示例：
function TestDemo()
    --调整修改下次攻击伤害比例  下次攻击伤害提高到300%
    gNPC:SETNEXTDAMAGE(gObject, gPlayer, 300)


附加范围伤害效果

附加范围伤害效果

   function RANGEHARM()

说明：

   附加范围伤害效果

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | X坐标
参数四 | integer | Y坐标
参数五 | integer | 范围
参数六 | integer | 伤害值
参数七 | integer | 附加效果(0=无 1=击退 2=冻结 3=麻痹 4=吸血 5=吸蓝 6真实伤害 7石化 8冰冻 9蛛网效果 10红毒 11绿毒 12定身 13瘫痪 14防禁锢)
参数八 | integer | 附加属性值 分别对应 击退距离 冻结时间 麻痹时间 吸血值 吸蓝值 真实伤害值(真实伤害无视防御不无视护身)
参数九 | integer | 是否检查防冻结/麻痹/石化/冰冻/蛛网/红毒/绿毒属性(0: 直接设置状态 1：检查后设置状态)
参数十 | integer | 目标(0或空=所有目标 1=仅人物 2=仅怪物)
参数十一 | integer | WIL序号
参数十二 | integer | 开始图片
参数十三 | integer | 播放张数
参数十四 | integer | 播放速度
参数十五 | integer | 是否透明绘制(0或空=普通绘制 1= 透明绘制)
参数十六 | integer | 是否物理属性攻击(1=物理属性则目标以防御来抵御伤害 0或者空= 目标则以魔御来抵御伤害) 注意当参数16=1的时候范围攻击会触发QF里的[@attack],当参数16=0的时候会触发QF里的[@MagicAttack]如果百分之百触发尽量避免死循环否则可能卡死
参数十七 | integer | 百分比伤害(0或空=参数6的值1=最大血量百分比2=最大血量千分比3=最大血量万分比4=当前血量百分比5=当前血量千分比6=当前血量万分比)
参数十八 | integer | 指定地图(0或空=当前地图范围坐标 非空为指定地图范围坐标)
返回值 |  | 无

使用示例：
function TestDemo()
    --附加范围伤害 当前地图 坐标 333 333 范围8之内所有可以攻击的目标都受到100点伤害 并且被击退5格
    gNPC:RANGEHARM(gObject, gPlayer, 333, 333, 8, 100, 1, 5, 0, 0)


附加范围伤害效果

附加范围伤害效果

   function RANGEHARMEX()

说明：

   附加范围伤害效果。支持伤害触发

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | X坐标
参数四 | integer | Y坐标
参数五 | integer | 范围
参数六 | integer | 伤害值
参数七 | integer | 附加效果(0=无 1=击退 2=冻结 3=麻痹 4=吸血 5=吸蓝 6真实伤害 7石化 8冰冻 9蛛网效果 10红毒 11绿毒 12定身 13瘫痪 14防禁锢)
参数八 | integer | 附加属性值 分别对应 击退距离 冻结时间 麻痹时间 吸血值 吸蓝值 真实伤害值(真实伤害无视防御不无视护身)
参数九 | integer | 是否检查防冻结/麻痹/石化/冰冻/蛛网/红毒/绿毒属性(0: 直接设置状态 1：检查后设置状态)
参数十 | integer | 目标(0或空=所有目标 1=仅人物 2=仅怪物)
参数十一 | integer | 触发选项(0=所有目标触发 1= 仅触发一次)
参数十二 | integer | 触发几率(仅对所有目标触发，值越小几率越高)
参数十三 | integer | WIL序号
参数十四 | integer | 开始图片
参数十五 | integer | 播放张数
参数十六 | integer | 播放速度
参数十七 | integer | 是否透明绘制(0或空=普通绘制 1=透明绘制)
参数十八 | integer | 是否物理属性攻击(1=物理属性则目标以防御来抵御伤害 0或者空= 目标则以魔御来抵御伤害) 注意当参数16=1的时候范围攻击会触发QF里的[@attack],当参数16=0的时候会触发QF里的[@MagicAttack]如果百分之百触发尽量避免死循环否则可能卡死
参数十九 | integer | 百分比伤害(0或空=参数6的值1=最大血量百分比2=最大血量千分比3=最大血量万分比4=当前血量百分比5=当前血量千分比6= 当前血量万分比)
参数二十 | integer | 指定地图(0或空=当前地图范围坐标 非空为指定地图范围坐标)
返回值 |  | 无

使用示例：
function TestDemo()
    --伤害触发
    gNPC:RANGEHARMEX(gObject, gPlayer, 333, 333, 8, 100, 4, 100, 0, 0, 0, 10)


解除英雄强制和平模式限制

解除英雄强制和平模式限制

   function CANCELHEROFORCEPEACEMODE()

说明：

   解除英雄强制和平模式限制。当引擎设置英雄强制和平模式时候，可以用此命令进行解除。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 命令有效时间(秒 0为一直有效)
返回值 |  | 无

使用示例：
function TestDemo()
    --解除英雄强制和平模式限制
    gNPC:CANCELHEROFORCEPEACEMODE(gObject, gPlayer, 0)


减少合击怒气恢复间隔

减少合击怒气恢复间隔

   function DECADDANGRYVALUETIME()

说明：

   减少合击怒气恢复间隔

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 减少值
参数四 | integer | 命令有效时间(秒 0为一直有效)
返回值 |  | 无

使用示例：
function TestDemo()
    --减少合击怒气恢复间隔 怒气恢复间隔减少500毫秒，有效时间：200秒
    gNPC:DECADDANGRYVALUETIME(gObject, gPlayer, 500, 200)


设置暴击威力

设置暴击威力

   function SETBLASTHITRATE()

说明：

   设置暴击威力

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 威力(百分比)
参数四 | integer | 命令有效时间(秒 0为一直有效)
返回值 |  | 无

使用示例：
function TestDemo()
    --设置暴击威力 持续5秒1.2倍的暴击威力
    gNPC:SETBLASTHITRATE(gObject, gPlayer, 120, 5)


使用外置默认浏览器打开网站

使用外置默认浏览器打开网站

   function OPENURL()

说明：

   使用外置默认浏览器打开网站

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 网站地址
返回值 |  | 无

使用示例：
function TestDemo()
    --使用外置默认浏览器打开网站
    gNPC:OPENURL(gObject, gPlayer, 'http://www.GXXM2.com')


隐藏/显示屏幕SetClientBuff图标

隐藏/显示屏幕SetClientBuff图标

   function SHOWCLIENTBUFF()

说明：

   隐藏/显示屏幕SetClientBuff图标

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 图标编号(1-200) 0代表所有
参数四 | integer | 状态(1=显示 0=隐藏)
返回值 |  | 无

使用示例：
function TestDemo()
    --隐藏所有BUFF图标
    gNPC:SHOWCLIENTBUFF(gObject, gPlayer, 0, 0)
    --显示编号5的BUFF图标
    gNPC:SHOWCLIENTBUFF(gObject, gPlayer, 5, 1)


开启仓库

开启仓库

   function OPENSTORATGE()

说明：

   开启仓库

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 仓库号(2-3)
参数四 | integer | 是否开启(0=关闭 1=开启)
返回值 |  | 无

使用示例：
function TestDemo()
    --检查2号仓库是否开启
    if not gNPC:CHECKSTORAGEOPEN(gObject, gPlayer, 2) then
        --开启仓库
        gNPC:OPENSTORATGE(gObject, gPlayer, 2, 1)


嘲讽吸怪

嘲讽吸怪

   function DOTAUNT()

说明：

   嘲讽吸怪

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 范围
参数四 | integer | 吸怪最低等级
参数五 | integer | 是否瞬移过来(0=走动 1= 瞬移)
参数六 | integer | 是否检测怪物已经有攻击目标(0=不检测 1=不吸引已经有了攻击目标的怪物)
返回值 |  | 无

使用示例：
function TestDemo()
    --嘲讽吸怪 范围5格内等级低于101级的的怪物对你攻击
    gNPC:DOTAUNT(gObject, gPlayer, 5, 100)


删除队友

删除队友

   function DELETEGROUPMENBER()

说明：

   删除队友。只有队长才能用此命令,才会生效

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 队友名称
返回值 |  | 无

使用示例：
function TestDemo()
    --删除队友
    gNPC:DELETEGROUPMENBER(gObject, gPlayer, '东方大道')


自动退出组队

自动退出组队

   function EXITGROUP()

说明：

   自动退出组队

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --自动退出组队
    gNPC:EXITGROUP(gObject, gPlayer)


物品数据库字段详解

物品数据库字段详解

Stditem字段详解：
Idx

属性表示数据库的序列号(记住序号不要重复)

Name

物品的名称

Stdmode 装备属性
编号 | 描述
10 | 男衣
11 | 女衣
5 | 单手
6 | 双手
30 | 蜡烛类
22 | 毒药，符类
42 | 制作原料
Shape (衣服显示穿上得样子,首饰代表其特殊功能)
“5”表示“灵魂战衣”的样子。
“4”表示“魔法长袍”的样子。
“3”表示“重盔甲”的样子。
19~21 ：项链
为19时，ac2和mac2代表魔法躲避和幸运
为20时，ac2为准确，mac2为敏捷
为21时，ac为攻击速度+,ac2为体力恢复，mac为攻击速度-,mac2为魔法恢复
24~26 ：手镯
为24时，ac2代表准确，mac2代表敏捷
为26时，ac和ac2分别代表物理防御上限和下限，mac和mac2分别代表魔法防御上限和下限
22~23 ：戒指
为22时，ac和ac2分别代表物理防御上限和下限，mac和mac2分别代表魔法防御上限和下限
为23时，ac代表攻击速度+ ， ac2代表中毒躲避+ ，mac为攻击速-, mac2代表中毒恢复+

记忆头盔125
记忆戒指122
记忆手镯124 天地合一
记忆项链123
魔血戒指133
虹魔戒指136
魔血项链134 mp转hp
虹魔手镯137 吸hp
魔血手镯135
虹魔项链138
神秘戒指130
祈祷戒指128
神秘腰带131 随机属性
祈祷手镯126
神秘头盔132
祈祷头盔129
隐身戒指111
传送戒指112
麻痹戒指113
复活戒指114
火焰戒指115
治愈戒指116
幸运戒指117
护身戒指118
负载戒指119
技巧项链120
探测项链121
恢复hp/mp113
对于武器来说： 当shape值和reserved值分别为 30 和 12 时，武器一旦拿上就不能取下，只到死后消失 (血剑)
当仅reserved值为 8 时，武器拿上可以取下，但是一旦战斗死亡，就会消失
当Source值为1-10时为武器强度增加1至10,Source值为-1至 -50时为神圣增加1至50(强度可降低武器掉持久,神圣破不死系怪物(Undead 0=死系;1=不死系)
的防御 魔御和一些对人物来说未知的神秘功能)
Weight

属性是物件重量

Looks(显示衣服物品栏里样子和在装备栏里的样子)

"重盔甲(男)"or"战神盔甲(男)"or"钢盔甲(男)" 62

"魔法长袍(男)"or"恶魔长袍(男)"or"圣龙魔袍(男)" 63

"灵魂战衣(男)"or"幽灵战衣(男)"or"泰坦战衣(男)" 64

"重盔甲(女)"or"战神盔甲(女)"or"钢盔甲(女)" 82

"魔法长袍(女)"or"恶魔长袍(女)"or"圣龙魔袍(女)" 83

"灵魂战衣(女)"or"幽灵战衣(女)"or"泰坦战衣(女)" 84

Duramax

物件持久的属性：这里的变量中"1000"表示1个持久度,那么"40000"就表示40个持久度了!

衣服和武器的属性
"ac" 防御力下限
"ac2" 防御力上限
"mac" 魔防下限
"mac2" 魔防上限
"dc" 物理攻击力下限
"dc2" 物理攻击力上限 超过了255带在身上攻击是会减成0
"mc" 魔法攻击力下限
"mc2" 魔法攻击力上限
"sc" 道术下限
"sc2" 道术上限
"needlevel" 需要等级
"price" 价格
首饰的属性
 "ac2" 表示准确
 "mac2" 表示敏捷
 "ac" 表示防御下限
 "ac2" 表示防御上限
 "mac" 表示魔御下限
 "mac2" 表示魔御上限
药剂的属性
 强效金疮药：hp +90
 数据库体现：
 ac 90
 强效太阳水：hp +50 mp +80
 数据库体现：
 ac 50
 mac 80
 这样看来，这里的
 ac 表示 hp前值（注 hp：200/300，200为前值，300为后值。）
 mac 表示 mp前值
 特殊的:
 一些不常见的特殊药剂：
 生命强化水：生命力暂时提升120秒（120秒内hp后值+50）
 数据库体现：
 ac 50
 mac2 120
 魔法强化水：魔法力暂时提升120秒（120秒内mp后值+50）
 mac 50
 mac2 120
 那么这里的
 ac 表示hp后值
 mac 表示mp后值
 mac2 表示时间了
 大家知道 苹果 是每项属性都暂时增加240秒，他的ac2中是2，那么应该和武器一样，ac2表示准确了！
Stock

是否为库存品

Need表示限制种类
0 为等级限制
1 为攻击限制
2 为魔法限制
3 为道术限制
18-21为增加内功恢复速度
Needlevel

表示了(Need)限制的具体数量

Color

物品在地面颜色的显示设置

OverLap

物品叠加功能

Color

物品在地面颜色的显示设置

VALUE

VALUE 0-15 分别对应13种元素属性

expand5

衣服：expand5 = 0表示衣服内观和外观带头发。 =1则表示内外观不带发型.


根据物品数据库idx直接得到物品

根据物品数据库idx直接得到物品

   function GIVEIDX()

说明：

   根据物品数据库idx直接得到物品

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 数据库IDX编号
参数四 | integer | 数量
返回值 |  | 无

使用示例：
function TestDemo()
    --根据物品数据库idx直接得到物品
    gNPC:GIVEIDX(gObject, gPlayer, 10, 1)


通过IDX字段取数据库字段值

通过IDX字段取数据库字段值

   function GETDBIDXITEMFIELDVALUE()

说明：

   通过IDX字段取数据库字段值

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 数据库IDX编号
参数四 | string | 数据库字段名
参数五 | string | 变量
返回值 |  | 无

使用示例：
function TestDemo()
    --通过IDX字段取数据库字段值
    gNPC:GETDBIDXITEMFIELDVALUE(gObject, gPlayer, 10, 'Name', 'S100')
    gNPC:MESSAGEBOX(gObject, gPlayer, 'idx=10的物品Name字段为<$STR(S100)>')


打开拍卖行

打开拍卖行

   function OPENAUCTIONVIEW()

说明：

   打开拍卖行。 允许拍卖物品请在M2列表信息2内的物品规则处添加。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --打开拍卖行
    gNPC:OPENAUCTIONVIEW(gObject, gPlayer)


载入爆率配置

载入爆率配置

   function LOADMONITEMS()

说明：

   载入爆率配置

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 怪物名称
参数四 | string | 配置文件名
参数五 | string | @区段(可以为空)
返回值 |  | 无

使用示例：
function TestDemo()
    --载入爆率配置
    gNPC:LOADMONITEMS(gObject, gPlayer, '白骨巨巫[BOSS]', 'MonItems\\白骨巨巫[BOSS].txt')


恢复默认爆率配置

恢复默认爆率配置

   function RESETMONITEMS()

说明：

   恢复默认爆率配置

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 怪物名称
返回值 |  | 无

使用示例：
function TestDemo()
    --恢复默认爆率配置
    gNPC:RESETMONITEMS(gObject, gPlayer, '白骨巨巫[BOSS]')


恢得所有默认爆率配置

恢得所有默认爆率配置

   function RESETALLMONITEMS()

说明：

   恢得所有默认爆率配置

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --恢得所有默认爆率配置
    gNPC:RESETALLMONITEMS(gObject, gPlayer)


通过怪物名字取数据库字段值

通过怪物名字取数据库字段值

   function GETDBMONSTERFIELDVALUE()

说明：

   通过怪物名字取数据库字段值

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 怪物名称
参数四 | string | 数据库字段名
参数五 | string | 变量
返回值 |  | 无

使用示例：
function TestDemo()
    --通过怪物名字取数据库字段值
    gNPC:GETDBMONSTERFIELDVALUE(gObject, gPlayer, '白骨巨巫[BOSS]', 'HP', '<$STR(N1)>')
    gNPC:MESSAGEBOX(gObject, gPlayer, '白骨巨巫[BOSS]的HP值为<$STR(N1)>')


召唤宝宝（魔王岭）

召唤宝宝（魔王岭）

声明：

   function GETDBMONSTERFIELDVALUE()

说明：

   召唤宝宝（魔王岭）

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 宝宝名称
参数四 | integer | X坐标
参数五 | integer | Y坐标
参数六 | integer | 视觉范围
参数七 | integer | 是否隐藏主人名称(0=隐藏 1=隐藏)
参数八 | integer | 宝宝是否升级(0=宝宝升级 1=宝宝不升级)
返回值 |  | 无

使用示例：
function TestDemo()
    --召唤宝宝（魔王岭）
    gNPC:RECALLMOBEX2(gObject, gPlayer, '魔王岭弓箭手', 51, 43, 8, 1, 1)


初始化守关信息

初始化守关信息

   function SETGUARDIANLEVELINFO()

说明：

   初始化守关信息。防页游天关系统。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 关卡号
参数四 | integer | 总波数
参数五 | string | 守护雕像名称
参数六 | integer | 守护雕像坐标X
参数七 | integer | 守护雕像坐标Y
参数八 | integer | 刷怪坐标X
参数九 | integer | 刷怪坐标Y
参数十 | string | 奖励物品一
参数十一 | string | 奖励物品二
参数十二 | string | 奖励物品三
参数十三 | string | 奖励物品四
返回值 |  | 无

使用示例：
function TestDemo()
    --初始化守关信息
    gNPC:SETGUARDIANLEVELINFO(gObject, gPlayer, 1, 5, '天关雕像', 44, 27, 52, 27, '黑铁矿石', '鸡肉', '护身符',
        '强效金创药')
    gNPC:SETGUARDIANLEVELBATCHINFO(gObject, gPlayer, 1, '白野猪:2|稻草人:4|僵尸1:5', 0, 0, 1, 1)
    gNPC:SETGUARDIANLEVELBATCHINFO(gObject, gPlayer, 2, '白野猪:4|稻草人:6|僵尸1:5', 0, 0, 1, 1)
    gNPC:SETGUARDIANLEVELBATCHINFO(gObject, gPlayer, 3, '白野猪:6|稻草人:8|僵尸1:8', 1, 1, 0, 0)
    gNPC:SETGUARDIANLEVELBATCHINFO(gObject, gPlayer, 4, '白野猪:8|稻草人:10|僵尸1:10', 1, 1, 1, 1)
    gNPC:SETGUARDIANLEVELBATCHINFO(gObject, gPlayer, 5, '白野猪:10|稻草人:10|尸王1:1', 1, 2, 1, 1)
    gNPC:DELAYGOTO(gObject, gPlayer, 3000, '@开始闯关')


设置每波信息

设置每波信息

   function SETGUARDIANLEVELBATCHINFO()

说明：

   设置每波信息。防页游天关系统。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 第几波
参数四 | string | 怪物名称:数量|怪物名称:数量|怪物名称:数量
参数五 | integer | 本波奖励物品一数量
参数六 | integer | 本波奖励物品二数量
参数七 | integer | 本波奖励物品三数量
参数八 | integer | 本波奖励物品四数量
返回值 |  | 无

使用示例：
function TestDemo()
    --初始化守关信息
    gNPC:SETGUARDIANLEVELINFO(gObject, gPlayer, 1, 5, '天关雕像', 44, 27, 52, 27, '黑铁矿石', '鸡肉', '护身符',
        '强效金创药')
    gNPC:SETGUARDIANLEVELBATCHINFO(gObject, gPlayer, 1, '白野猪:2|稻草人:4|僵尸1:5', 0, 0, 1, 1)
    gNPC:SETGUARDIANLEVELBATCHINFO(gObject, gPlayer, 2, '白野猪:4|稻草人:6|僵尸1:5', 0, 0, 1, 1)
    gNPC:SETGUARDIANLEVELBATCHINFO(gObject, gPlayer, 3, '白野猪:6|稻草人:8|僵尸1:8', 1, 1, 0, 0)
    gNPC:SETGUARDIANLEVELBATCHINFO(gObject, gPlayer, 4, '白野猪:8|稻草人:10|僵尸1:10', 1, 1, 1, 1)
    gNPC:SETGUARDIANLEVELBATCHINFO(gObject, gPlayer, 5, '白野猪:10|稻草人:10|尸王1:1', 1, 2, 1, 1)
    gNPC:DELAYGOTO(gObject, gPlayer, 3000, '@开始闯关')


开始闯关

开始闯关

   function STARTGUARDIANLEVEL()

说明：

   开始闯关。防页游天关系统。 宝宝请务必使用REAC= 155的自定义怪物。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --开始闯关
    gNPC:STARTGUARDIANLEVEL(gObject, gPlayer)


给予角色有限时间的复活功能

给予角色有限时间的复活功能

   function SETREBORN()

说明：

   给予角色有限时间的复活功能。此命令不受复活间隔控制，可以按照设置参数无限复活，按需使用。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 复活次数
参数四 | integer | 命令持续有效时间(秒)
返回值 |  | 无

使用示例：
function TestDemo()
    --给予角色有限时间的复活功能 设置复活10次，有效时间5分钟
    gNPC:SETREBORN(gObject, gPlayer, 10, 300)


NPC界面上向上滚动提示信息

NPC界面上向上滚动提示信息

   function SENDMOVEHINTMSG()

说明：

   NPC界面上向上滚动提示信息

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文字信息
参数四 | integer | 文字颜色(0-255)
参数五 | integer | 背景颜色(0-255)
参数六 | integer | X坐标
参数七 | integer | Y坐标
返回值 |  | 无

使用示例：
function TestDemo()
    --NPC界面上向上滚动提示信息
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '金币不足\\金币不足', 249, 0, 10, 60)


中止循环脚本运行次数

中止循环脚本运行次数

   function ENDLOOP()

说明：

   中止循环脚本运行次数

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --中止循环脚本运行次数
    gNPC:ENDLOOP(gObject, gPlayer)


获取装备宝石数量

获取装备宝石数量

   function GETITEMSTONECOUNT()

说明：

   获取装备宝石数量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | string | 宝石名称(不区分名字用*或all代表所有)
参数五 | string | 变量
返回值 |  | 无

使用示例：
function TestDemo()
    --获取装备宝石数量
    gNPC:GETITEMSTONECOUNT(gObject, gPlayer, 1, '*', 'N10')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '你的【<$WEAPON>】上面共有宝石：<$STR(N10)>', 249, 0, 10, 60)


获取身上所有装备宝石数量

获取身上所有装备宝石数量

   function GETSTONECOUNT()

说明：

   获取身上所有装备宝石数量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 宝石名称(不区分名字用*或all代表所有)
参数四 | string | 变量
返回值 |  | 无

使用示例：
function TestDemo()
    --获取身上所有装备宝石数量
    gNPC:GETSTONECOUNT(gObject, gPlayer, '*', 'N10')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '你的身上所有宝石共有宝石：<$STR(N10)>', 249, 0, 10, 60)


显示自定义UI中自定义按钮

显示自定义UI中自定义按钮

   function SHOWCUSTOMBUTTON()

说明：

   显示自定义UI中自定义按钮

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 界面UI中自定义按钮编号
参数四 | integer | 是否显示(0=隐藏 1=显示)
返回值 |  | 无

编号：
编号 | 描述
0-9 | 主界面
20-24 | 背包界面
30-32 | 老行会界面
40-42 | 系统商铺
50-52 | 新行会界面
60-62 | 人物装备界面
70-71 | 人物时装界面
80-82 | 人物状态界面
90-92 | 人物属性界面
100-102 | 人物称号界面
110-112 | 人物技能界面
120-129 | 人物出战界面
130-132 | 神佑
140-142 | 首饰盒
300-302 | 内功状态
310-312 | 内功技能
320-322 | 内功经络
330-332 | 内功连击
800-802 | 他人装备
810-812 | 他人时装
820-822 | 他人称号
830-832 | 他人神佑
840-842 | 他人首饰盒
850-858 | 宠物界面

使用示例：
function TestDemo()
    --显示自定义UI中自定义按钮
    gNPC:SHOWCUSTOMBUTTON(gObject, gPlayer, 2, 1)


百分比计算命令

百分比计算命令

   function CALCPERCENT()

说明：

   百分比计算命令

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 数值
参数四 | integer | 百分比
参数五 | string | 结果变量
返回值 |  | 无

使用示例：
function TestDemo()
    --百分比计算命令
    gNPC:CALCPERCENT(gObject, gPlayer, 200, 5, 'N1')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '200的5%为<$STR(N1)>', 249, 0, 10, 60)


替换字符命令

替换字符命令

   function TEXTREPLACE()

说明：

   替换字符命令

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 字符串内容
参数四 | string | 待替换的内容
参数五 | string | 新的内容
参数六 | string | 保存变量
参数七 | integer | 是否区分大小写(0或空=不区分 1=区分)
参数八 | integer | 是否只替换一处(0或空=全部替换 1=只替换 一处)
返回值 |  | 无

使用示例：
function TestDemo()
    --替换字符命令
    gNPC:TEXTREPLACE(gObject, gPlayer, 'AAABBBAAA', 'AAA', '字母', 'S1', 0, 0)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '替换的内容为<$STR(S1)>', 249, 0, 10, 60)


分割字符串

分割字符串

   function TEXTSPLIT()

说明：

   分割字符串

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 分隔符号
参数四 | string | 待分隔的字符串
参数五 | string | 保存分隔后的字符串变量(只指定第一个，后面的递增)
参数六 | string | 保存分隔后的字符串数量变量
返回值 |  | 无

使用示例：
function TestDemo()
    --分割字符串
    gNPC:TEXTSPLIT(gObject, gPlayer, '|', 'aaa|bbb|ccc|ddddd|eeeeee', 's1', 'N1')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '共计分割<$STR(N1)>个变量分别为：<$STR(s1)>,<$STR(s2)>,<$STR(s3)>,<$STR(s4)>,<$STR(s5)>',
        249, 0, 10, 60)


取字符串长度

取字符串长度

   function TEXTLENGTH()

说明：

   取字符串长度

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 字符串
参数四 | string | 保存变量
返回值 |  | 无

使用示例：
function TestDemo()
    --取字符串长度
    gNPC:TEXTLENGTH(gObject, gPlayer, '这是一个测试文字aaabbbccc', 'N1')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '字符串长度为：<$STR(N1)>',
        249, 0, 10, 60)


获取背包中某物品的数量

获取背包中某物品的数量

   function GETBAGITEMCOUNT()

说明：

   获取背包中某物品的数量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 物品名称
参数四 | string | 保存变量
参数五 | integer | 是否计算OK框中的物品(0或空=计算OK框中的物品 1=不计算)
返回值 |  | 无

使用示例：
function TestDemo()
    --获取背包中某物品的数量
    gNPC:GETBAGITEMCOUNT(gObject, gPlayer, '封印石', 'N1')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '你的背包中共有<$STR(N1)>个封印石',
        249, 0, 10, 60)


在文件的固定行替换写入内容

在文件的固定行替换写入内容

   function WRITELINE()

说明：

   在文件的固定行替换写入内容。文件不存在写入失败，行号从0开始，替换写入，当行不存在时，插入到最后一行 。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件名
参数四 | string | 行号(从0开始)
参数五 | integer | 文字内容
参数六 | integer | 是否绝对路径(0或空=相对路径 1=绝对路径)
返回值 |  | 无

使用示例：
function TestDemo()
    --在文件的固定行替换写入内容
    gNPC:WRITELINE(gObject, gPlayer, 'D:\\测试内容.txt', 1, '写入一段文字', 1)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '文本内容已经被更改',
        249, 0, 10, 60)


在文件的指定行插入一行内容

在文件的指定行插入一行内容

   function INSERTLINE()

说明：

   在文件的指定行插入一行内容。文件不存在写入失败，行号从0开始。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件名
参数四 | string | 行号(从0开始)
参数五 | integer | 文字内容
参数六 | integer | 是否绝对路径(0或空=相对路径 1=绝对路径)
返回值 |  | 无

使用示例：
function TestDemo()
    --在文件的指定行插入一行内容
    gNPC:INSERTLINE(gObject, gPlayer, 'D:\\测试内容.txt', 1, '插入一段文字', 1)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '第2行插入了新的内容',
        249, 0, 10, 60)


获取某地图人物数量

获取某地图人物数量

   function GETMAPHUMANCOUNT()

说明：

   获取某地图人物数量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | integer | 是否计算假人(0=计算 1=不计算)
参数五 | string | 保存变量
返回值 |  | 无

使用示例：
function TestDemo()
    --获取某地图人物数量
    gNPC:GETMAPHUMANCOUNT(gObject, gPlayer, 'N3', 1, 'N1')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '地图N3一共有<$STR(N1)>个真实玩家', 249, 0, 10, 60)


获取某地图怪物数量

获取某地图怪物数量

   function GETMAPMONCOUNT()

说明：

   获取某地图怪物数量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | integer | 是否计算宝宝(0=计算 1=不计算)
参数五 | string | 保存变量
返回值 |  | 无

使用示例：
function TestDemo()
    --获取某地图怪物数量
    gNPC:GETMAPMONCOUNT(gObject, gPlayer, 'N3', 1, 'N1')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '地图N3一共有<$STR(N1)>个怪物', 249, 0, 10, 60)


清空变量

清空变量

   function CLEARVAR()

说明：

   清空变量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量名
参数四 | integer | 数量
返回值 |  | 无

使用示例：
function TestDemo()
    --清空变量
    gNPC:CLEARVAR(gObject, gPlayer, 'S0', 5)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, 'S0-S4全部清空', 249, 0, 10, 60)


技能转换

技能转换

   function CONVERTSKILL()

说明：

   技能转换

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 原有技能名称
参数四 | string | 转换技能名称
返回值 |  | 无

使用示例：
function TestDemo()
    --技能转换
    gNPC:CONVERTSKILL(gObject, gPlayer, '野蛮冲撞', '雷霆剑法')


清掉地图某范围的怪物

清掉地图某范围的怪物

   function KILLMAPMON()

说明：

   清掉地图某范围的怪物

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | integer | X坐标
参数五 | integer | Y坐标
参数六 | integer | 范围
参数七 | string | 怪物名称(*表示不判断名称)
参数八 | integer | 是否爆出物品(0=不爆 1=爆出)
参数九 | integer | 是否清理尸体(0或空=不清理 1=清理)
返回值 |  | 无

使用示例：
function TestDemo()
    --清掉地图某范围的怪物
    gNPC:KILLMAPMON(gObject, gPlayer, '3', 333, 333, 10, '*', 0)


添加对话框

添加对话框

   function ADDDLG()

说明：

   添加对话框。可用于主界面任务引导。不支持 ITEMBOX: INPUTNUM: INPUTTEXT。并且点击触发只能是数字。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 对话框编号(1-50)
参数四 | integer | WIL文件序号
参数五 | integer | 图片开始编号
参数六 | integer | 是否可以移动(0=不能 1=可以)
参数七 | string | 界面X坐标:界面Y坐标
参数八 | string | 文字偏移X:文字偏移Y
参数九 | integer | 位置(0-30)
参数十 | integer | 内容
返回值 |  | 无

位置：
位置 | 描述
0 | 按钮不可移动
1 | 按钮可以移动
2 | 人物装备栏
3 | 人物背包栏
4 | 英雄装备栏
5 | 英雄背包栏
6 | 聊天框左侧龙界面
7 | 聊天框右侧等级界面
8 | 商铺界面
9 | 时装界面
10 | 英雄时装栏
11 | 人物技能栏
12 | 英雄技能栏
13 | 人物称号栏
14 | 英雄称号栏
15 | 人物状态栏
16 | 英雄状态栏
17 | 人物属性栏
18 | 英雄属性栏
19 | 人物出战栏
20 | 行会界面
21 | 详细属性位置
22 | 宠物界面
23 | 宠物背包
24 | 人物首饰盒
25 | 英雄首饰盒
26 | 人物神佑
27 | 英雄神佑
28 | 无效
29 | 新任务窗口界面
30 | 小地图界面

使用示例：
function TestDemo()
    --添加对话框
    gNPC:ADDDLG(gObject, gPlayer, 1, 62, 1285, 1, '10:20', '30:40', 0,
        '>GXX引擎官方网站|253#GXX引擎官方网站：^254#www.GXXM2.com>\\<当前时间：/SCOLOR=251><$DATETIME>\\<按钮点击/@1>\\<关闭/@exit>')


添加对话框

添加对话框

   function ADDDLGEX()

说明：

   添加对话框。可用于主界面任务引导。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 对话框编号(1-50)
参数四 | integer | WIL文件序号
参数五 | integer | 图片开始编号
参数六 | integer | 是否可以移动(0=不能 1=可以)
参数七 | string | 界面X坐标:界面Y坐标
参数八 | string | 文字偏移X:文字偏移Y
参数九 | integer | 位置(0-30)
参数十 | string | 文件名
参数十一 | integer | 是否绝对路径(0=相对路径 1=绝对路径)
返回值 |  | 无

位置：
位置 | 描述
0 | 按钮不可移动
1 | 按钮可以移动
2 | 人物装备栏
3 | 人物背包栏
4 | 英雄装备栏
5 | 英雄背包栏
6 | 聊天框左侧龙界面
7 | 聊天框右侧等级界面
8 | 商铺界面
9 | 时装界面
10 | 英雄时装栏
11 | 人物技能栏
12 | 英雄技能栏
13 | 人物称号栏
14 | 英雄称号栏
15 | 人物状态栏
16 | 英雄状态栏
17 | 人物属性栏
18 | 英雄属性栏
19 | 人物出战栏
20 | 行会界面
21 | 详细属性位置
22 | 宠物界面
23 | 宠物背包
24 | 人物首饰盒
25 | 英雄首饰盒
26 | 人物神佑
27 | 英雄神佑
28 | 无效
29 | 新任务窗口界面
30 | 小地图界面

使用示例：
function TestDemo()
    --添加对话框
    gNPC:ADDDLGEX(gObject, gPlayer, 1, 62, 1285, 1, '10,20', '30:40', 0, 'D:\\测试内容.txt', 1)


删除对话框

删除对话框

   function DELDLG()

说明：

   删除对话框

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 对话框编号(1-50)
参数四 | integer | 是否删除自己(0或空=删除自己的对话框 1=删除全服的对话框)
返回值 |  | 无

使用示例：
function TestDemo()
    --删除对话框
    gNPC:DELDLG(gObject, gPlayer, 1, 1)


回收指定物品数据库IDX物品

回收指定物品数据库IDX物品

   function TAKEBAGITEMEX()

说明：

   回收指定物品数据库IDX物品

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 物品IDX编号(支持多个连续的物品编号,编号之间用|分隔)
参数四 | integer | 回收数量
参数五 | integer | 每个物品增加元宝值
参数六 | integer | 每个物品增加金币值
参数七 | integer | 每个物品增加泡点值
参数八 | integer | 每个物品增加泡点经验值
参数九 | string | 变量(保存实际回收的物品数量)
返回值 |  | 无

使用示例：
function TestDemo()
    --回收指定物品数据库IDX物品
    gNPC:TAKEBAGITEMEX(gObject, gPlayer, '55|60-65|70|100-120|155', 46, 0, 0, 0, 10000, 'N1', 0)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '成功回收<$STR(N1)>个物品，价格为10000经验', 249, 0, 10, 60)


获取人物全身星星数量

获取人物全身星星数量

   function GETUPGRADECOUNT()

说明：

   获取人物全身星星数量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 装备位置(*或all表示所有装备)
参数四 | string | 变量
返回值 |  | 无

使用示例：
function TestDemo()
    --获取人物全身星星数量
    gNPC:GETUPGRADECOUNT(gObject, gPlayer, 'all', 'N1')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '全身一共有<$STR(N1)>个星星', 249, 0, 10, 60)


设置技能伤害防御

设置技能伤害防御

   function SETSKILLPOWER()

说明：

   设置技能伤害防御。 M2-列表信息2-技能威力设置中 全局设置+命令私人设置 = 效果(不想用M2全局的话可以将全局全部设置为0)

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 技能ID
参数四 | string | 控制符(+ - =)
参数五 | integer | 人物伤害增加%
参数六 | integer | 人物伤害增加值
参数七 | integer | 怪物伤害增加%
参数八 | integer | 怪物伤害增加值
参数九 | integer | 防御增加%
参数十 | integer | 防御增加值
参数十一 | integer | 时间(秒 0-65535) 0为一直有效
参数十二 | integer | 是否保存数据库(0=不保存 1=保存)
返回值 |  | 无

使用示例：
function TestDemo()
    --设置技能伤害防御
    gNPC:SETSKILLPOWER(gObject, gPlayer, 66, '=', 100, 0, 100, 0, 0, 0, 0)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '你的开天斩技能对人物伤害增加为原来的2倍(增加100%)，\\对怪物伤害为原来的2倍(增加100%)',
        249, 0, 10, 60)


获取技能伤害防御

获取技能伤害防御

   function GETSKILLPOWER()

说明：

   获取技能伤害防御

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 技能ID
参数四 | string | 人物伤害增加%保存变量
参数五 | string | 人物伤害增加值保存变量
参数六 | string | 怪物伤害增加%保存变量
参数七 | string | 怪物伤害增加值保存变量
参数八 | string | 防御增加%保存变量
参数九 | string | 防御增加值保存变量
参数十 | string | 时间保存变量
参数十一 | string | 是否保存数据库保存变量
返回值 |  | 无

使用示例：
function TestDemo()
    --获取技能伤害防御
    gNPC:GETSKILLPOWER(gObject, gPlayer, 66, 'N1', 'N2', 'N3', 'N4', 'N5', 'N6', 'N7')


打开宠物界面命令

打开宠物界面命令

   function OPENGAMEPETDLG()

说明：

   打开宠物界面命令

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --打开宠物界面命令
    gNPC:OPENGAMEPETDLG(gObject, gPlayer, 1, 1)


设置宠物攻击力倍数

设置宠物攻击力倍数

   function SETGAMEPETATTACKHUMPOWERRATE()

说明：

   设置宠物攻击力倍数

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 攻击人物威力倍率(0不攻击人物,当前值除以100为实际倍数)
返回值 |  | 无

使用示例：
function TestDemo()
    --设置宠物攻击力倍数
    gNPC:SETGAMEPETATTACKHUMPOWERRATE(gObject, gPlayer, 100)


扩展背包页数

扩展背包页数

   function EXTBAGPAGECOUNT()

说明：

   扩展背包页数。每一页背包最多可加40格。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 页数(1-4)
返回值 |  | 无

使用示例：
function TestDemo()
    --扩展背包页数
    gNPC:EXTBAGPAGECOUNT(gObject, gPlayer, '+', 2)


扩展背包开启格数

扩展背包开启格数

   function EXTBAGOPENITEMCOUNT()

说明：

   扩展背包开启格数。每一页背包最多可加40格。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 格子数量
返回值 |  | 无

使用示例：
function TestDemo()
    --扩展背包开启格数
    gNPC:EXTBAGOPENITEMCOUNT(gObject, gPlayer, '+', 20)


打开客户端相关界面

打开客户端相关界面

   function OPENCLIENTDLG()

说明：

   打开客户端相关界面

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 界面编号(1:系统商铺 2:个人商店 3:任务 4:日志 5:小地图 6:交易 7:行会 8:组队 9:关系 10:帮助 11:排行榜 12:挑战 13:私聊信息 14:属性点分配)
参数四 | integer | 是否设置坐标(0=不设置 1=设置)
参数五 | integer | X坐标
参数六 | integer | Y坐标
返回值 |  | 无

使用示例：
function TestDemo()
    --打开客户端相关界面
    gNPC:OPENCLIENTDLG(gObject, gPlayer, 1, 1, 100, 10)


添加自动排列按钮

添加自动排列按钮

   function ADDARRBUTTON()

说明：

   添加自动排列按钮。不在一个位置的按钮不要放到一个分组中，不然坐标会计算错误(比如，一个在背包，一个在主界面，然后放到一个分组)

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 分组编号(1-7)
参数四 | integer | 按钮点击后的脚本触发序号，触发QF里面的[@ArrButtonClickX]X即为触发序号
参数五 | integer | WIL补丁序号，此序号在M2-查看-列表信息二-WIL资源里面编辑
参数六 | integer | 按钮默认图片
参数七 | integer | 鼠标经过图片
参数八 | integer | 按钮按下图片
参数九 | integer | 位置(0=不能移动 1=可以移动 2=人物装备栏 3=人物背包栏 4=英雄装备栏 5=英雄背包栏 6= 聊天框左侧龙界面7=聊天框右侧等级界面8=商铺界面 9=时装界面 10=英雄时装 11=技能栏 12=英雄技能栏 13=称号栏 14=英雄称号栏 15=状态栏 16=英雄状态栏 17=属性栏 18=英雄属性栏 19=人物出战栏 20=行会界面 21=详细属性位置 22=宠物界面 24=人物首饰盒 25=英雄首饰盒 26=人物神佑 27=英雄神佑)
参数十 | string | 按钮上面显示的文字标题,-1时为空标题(用于不显示标题)
参数十一 | string | 鼠标移动到按钮显示的悬浮框备注信息
返回值 |  | 无

使用示例：
function TestDemo()
    --添加自动排列按钮
    gNPC:ADDARRBUTTON(gObject, gPlayer, 1, 21, 0, 241, 242, 243, 3, '标题1', '这是提示文字')


删除自动排列按钮

删除自动排列按钮

   function DELARRBUTTON()

说明：

   删除自动排列按钮

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 按钮点击后的脚本触发序号，触发QF里面的[@ArrButtonClickX]X即为触发序号
返回值 |  | 无

使用示例：
function TestDemo()
    --删除自动排列按钮
    gNPC:DELARRBUTTON(gObject, gPlayer, 21)


调整宠物等级

调整宠物等级

   function CHANGEGAMEPETLEVEL()

说明：

   调整宠物等级

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - = )
参数四 | integer | 等级数
返回值 |  | 无

使用示例：
function TestDemo()
    --调整宠物等级
    gNPC:CHANGEGAMEPETLEVEL(gObject, gPlayer, '+', 1)


设置宝宝属性

设置宝宝属性

   function CHANGEGAMEPETABILITY()

说明：

   设置宝宝属性。 修改的属性不保存，当收回宠物再重新召唤时，属性值还原。此命令调整设置间隔，如需灵活修改间隔可以使用CHANGEGAMEPETABILITYEX。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 属性类型(0: HP 1: MaxHP 2: MP 3: MaxMP 4: AC1 5: AC2 6: MAC1 7: MAC2 8: DC1 9: DC2 10: MC1 11: MC2 12: SC1 13: SC2 14: 攻击速度 15: 移动速度 30: 属性有效时间(分钟，空或0表示不检测时间))
参数四 | integer | 值
返回值 |  | 无

使用示例：
function TestDemo()
    --设置宝宝属性
    gNPC:CHANGEGAMEPETABILITY(gObject, gPlayer, 1, 1000)
    gNPC:CHANGEGAMEPETABILITY(gObject, gPlayer, 3, 1000)
    gNPC:CHANGEGAMEPETABILITY(gObject, gPlayer, 30, 30)
    gNPC:RECALCGAMEPETABILITY(gObject, gPlayer)


设置宝宝属性

设置宝宝属性

   function CHANGEGAMEPETABILITYEX()

说明：

   设置宝宝属性。此命令支持累加,但是之前的数据要RECALCGAMEPETABILITY刷新存。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 属性类型(0: HP 1: MaxHP 2: MP 3: MaxMP 4: AC1 5: AC2 6: MAC1 7: MAC2 8: DC1 9: DC2 10: MC1 11: MC2 12: SC1 13: SC2 14: 攻击速度 15: 移动速度 30: 属性有效时间(分钟，空或0表示不检测时间))
参数四 | integer | 值(0=绝对值 1=百分比)
返回值 |  | 无

使用示例：
function TestDemo()
    gNPC:RECALLMOB(gObject, gPlayer, '白野猪', 7, 30, 1)
    --设置宝宝属性
    gNPC:CHANGEGAMEPETABILITY(gObject, gPlayer, 1, 1000)
    gNPC:CHANGEGAMEPETABILITY(gObject, gPlayer, 4, 100)
    gNPC:CHANGEGAMEPETABILITY(gObject, gPlayer, 5, 100)
    gNPC:RECALCGAMEPETABILITY(gObject, gPlayer)

    --开始修改宝宝属性
    --宝宝防御下限增加10点
    gNPC:CHANGEGAMEPETABILITYEX(gObject, gPlayer, 4, 10)
    --宝宝防御上限增加10点
    gNPC:CHANGEGAMEPETABILITYEX(gObject, gPlayer, 5, 10)
    --宝宝攻速增加10%
    gNPC:CHANGEGAMEPETABILITYEX(gObject, gPlayer, 14, -10, 1)
    --宝宝移速增加10%
    gNPC:CHANGEGAMEPETABILITYEX(gObject, gPlayer, 15, -10, 1)
    --重算宝宝属性
    gNPC:RECALCGAMEPETABILITY(gObject, gPlayer)
    --宝宝攻击10%
    gNPC:CHANGEGAMEPETABILITYEX(gObject, gPlayer, 4, 10, 1)
    gNPC:CHANGEGAMEPETABILITYEX(gObject, gPlayer, 5, 10, 1)
    gNPC:RECALCGAMEPETABILITY(gObject, gPlayer)


重新计算宠物属性

重新计算宠物属性

   function CHANGEGAMEPETABILITY()

说明：

   重新计算宠物属性(修改属性后，手动调用计算，可多次修改后一次计算)

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：
function TestDemo()
    --重新计算宠物属性
    gNPC:RECALCGAMEPETABILITY(gObject, gPlayer)


获取当前召唤宠物的属性修改值

获取当前召唤宠物的属性修改值

   function GETGAMEPETABILITY()

说明：

   获取当前召唤宠物的属性修改值

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 属性类型(0: HP 1: MaxHP 2: MP 3: MaxMP 4: AC1 5: AC2 6: MAC1 7: MAC2 8: DC1 9: DC2 10: MC1 11: MC2 12: SC1 13: SC2 14: 攻击速度 15: 移动速度 30: 属性有效时间(分钟，空或0表示不检测时间))
参数四 | string | 变量
返回值 |  | 无

使用示例：
function TestDemo()
    --获取当前召唤宠物的属性修改值
    gNPC:GETGAMEPETABILITY(gObject, gPlayer, 14, 'N100')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '你的宠物攻击速度为：<$STR(N100)>', 249, 0, 10, 60)


获取当前召唤宠物的属性修改值

获取当前召唤宠物的属性修改值

   function GETGAMEPETABILITYEX()

说明：

   获取当前召唤宠物的属性修改值

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 属性类型(0: HP 1: MaxHP 2: MP 3: MaxMP 4: AC1 5: AC2 6: MAC1 7: MAC2 8: DC1 9: DC2 10: MC1 11: MC2 12: SC1 13: SC2 14: 攻击速度 15: 移动速度 30: 属性有效时间(分钟，空或0表示不检测时间))
参数四 | string | 变量
返回值 |  | 无

使用示例：
function TestDemo()
    --获取当前召唤宠物的属性修改值
    gNPC:GETGAMEPETABILITYEX(gObject, gPlayer, 14, 'N100')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '你的宠物攻击速度为：<$STR(N100)>', 249, 0, 10, 60)


自定义修改宠物名字

自定义修改宠物名字

   function CHANGEGAMEPETNAME()

说明：

   自定义修改宠物名字（不保存，重新召唤恢复）

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 新名称
返回值 |  | 无

使用示例：
function TestDemo()
    if gNPC:CHECKCALLGAMEPET(gObject, gPlayer, '大花') then
        --自定义修改宠物名字
        gNPC:CHANGEGAMEPETNAME(gObject, gPlayer, '大花')
        gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '你的宠物名字更改为【大花】', 249, 0, 10, 60)


修改当前召唤的宠物外观/脸型

修改当前召唤的宠物外观/脸型

   function CHANGEGAMEPETAPPR()

说明：

   修改当前召唤的宠物外观/脸型

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 新的外观编号，对应数据库自定义怪物Appr字段
参数四 | integer | 有效时间(分钟)
返回值 |  | 无

使用示例：
function TestDemo()
    if gNPC:CHECKCALLGAMEPET(gObject, gPlayer, '黑暗王子') then
        --修改当前召唤的宠物外观/脸型
        gNPC:CHANGEGAMEPETAPPR(gObject, gPlayer, 5039, 30)
        gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '你的宠物已经变成了万年蛤精·咕咕，有效时间30分钟', 249, 0,
            10, 60)


将宠物变成蛋放回到背包

将宠物变成蛋放回到背包

   function GAMEPETTOBAG()

说明：

   将宠物变成蛋放回到背包

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 宠物序号
返回值 |  | 无

使用示例：
function TestDemo()
    --将宠物变成蛋放回到背包
    gNPC:GAMEPETTOBAG(gObject, gPlayer, 0)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '你的宠物已经变成蛋放回到背包了', 249, 0, 10, 60)


获取宠物列表中宠物数量

获取宠物列表中宠物数量

   function GETGAMEPETLISTCOUNT()

说明：

   获取宠物列表中宠物数量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量名
返回值 |  | 无

使用示例：
function TestDemo()
    --获取宠物列表中宠物数量
    gNPC:GETGAMEPETLISTCOUNT(gObject, gPlayer, 'N200')
    gNPC:GETRECALGAMEPETINDEX(gObject, gPlayer, 'N201')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '你的宠物列表共有宠物：<$STR(N200)>个\\当前召唤的宠物序号是：<$STR(N201)>',
        249, 0, 10, 60)


获取当前召唤的宠物在列表中的顺序

获取当前召唤的宠物在列表中的顺序

   function GETRECALGAMEPETINDEX()

说明：

   获取当前召唤的宠物在列表中的顺序

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量名
返回值 |  | 无

使用示例：
function TestDemo()
    --获取宠物列表中宠物数量
    gNPC:GETGAMEPETLISTCOUNT(gObject, gPlayer, 'N200')
    gNPC:GETRECALGAMEPETINDEX(gObject, gPlayer, 'N201')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '你的宠物列表共有宠物：<$STR(N200)>个\\当前召唤的宠物序号是：<$STR(N201)>',
        249, 0, 10, 60)


调整宠物蛋属性

调整宠物蛋属性

   function CHANGEGAMEPETEGGABIL()

说明：

   调整宠物蛋属性

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 物品位置(-1或boxitem0-boxitem7)
参数四 | integer | 属性类型(1=等级 2= HP3=MP 4=Exp 5=MaxHP 6=MaxMP 7=MaxEXP 8=防御下限 9=防御上限 10=魔防下限 11=魔防上限 12=攻击下限 13=攻击上限 14=魔法下限 15=魔法上限 16= 道术下限17=道术上限)
参数五 | string | 控制符(+ - =)
参数六 | integer | 数值
返回值 |  | 无

使用示例：
function TestDemo()
    gNPC:GIVEGAMEPET(gObject, gPlayer, '黑暗王子')
    --调整宠物蛋属性
    gNPC:CHANGEGAMEPETEGGABIL(gObject, gPlayer, -1, 2, '+', 1000)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '宠物蛋的HP增加1000', 249, 0, 10, 60)


获取宠物蛋属性

获取宠物蛋属性

   function GETGAMEPETEGGABIL()

说明：

   获取宠物蛋属性

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 物品位置(-1或boxitem0-boxitem7)
参数四 | integer | 属性类型(1=等级 2= HP3=MP 4=Exp 5=MaxHP 6=MaxMP 7=MaxEXP 8=防御下限 9=防御上限 10=魔防下限 11=魔防上限 12=攻击下限 13=攻击上限 14=魔法下限 15=魔法上限 16= 道术下限17=道术上限)
参数五 | integer | 变量名
返回值 |  | 无

使用示例：
function TestDemo()
    --获取宠物蛋属性
    gNPC:GETGAMEPETEGGABIL(gObject, gPlayer, -1, 2, 'N12')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '宠物蛋的HP为<$STR(N12)>', 249, 0, 10, 60)


召唤宠物

召唤宠物

   function RECALLGAMEPET()

说明：

   召唤宠物

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 宠物名(当为空时，表示召唤最后一次召唤的宝宝）
返回值 |  | 无

使用示例：
function TestDemo()
    --召唤宠物
    gNPC:RECALLGAMEPET(gObject, gPlayer)


打开宠物背包

打开宠物背包

   function OPENGAMEPETBAG()

说明：

   打开宠物背包。坐标X、坐标Y均为0时，表示不设置坐标。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | X坐标
参数四 | integer | Y坐标
返回值 |  | 无

使用示例：
function TestDemo()
    --打开宠物背包
    gNPC:OPENGAMEPETBAG(gObject, gPlayer, 0, 0)


设置当前召唤的宠物是否可捡物

设置当前召唤的宠物是否可捡物

   function SETGAMEPETENABLEPICK()

说明：

   设置当前召唤的宠物是否可捡物

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 参考值(0=由宠物设置中的"允许宠物捡取物品"选项决定 1=允许捡物 2=禁止捡物)
返回值 |  | 无

使用示例：
function TestDemo()
    --设置当前召唤的宠物是否可捡物
    gNPC:SETGAMEPETENABLEPICK(gObject, gPlayer, 1)


自动排列自定义按钮倒计时触发

自动排列自定义按钮倒计时触发

   function SETARRBUFF()

说明：

   自动排列自定义按钮倒计时触发。(是不指定坐标，而指定分组的)具体参阅 引擎--选项-》客户端设置-》按钮自动排列

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 分组编号(1-7)
参数四 | integer | 按钮点击后的脚本触发序号(1-50)，触发QF里面的[@ArrBuffClickX]X即为触发序号
参数五 | integer | WIL文件序号
参数六 | integer | 开始图片序号
参数七 | integer | 倒计时时间(-1时按钮 >0是倒计时)
参数八 | integer | 剩余多少时间开始闪烁
参数九 | integer | 闪烁图片开始序号
参数十 | integer | 闪烁图片数量
参数十一 | string | 文字备注
参数十二 | integer | 倒计时X坐标
参数十三 | integer | 倒计时Y坐标
参数十四 | integer | 配合倒计时时间使用参数(>0时参数15生效)
参数十五 | integer | 倒计时结束后图片序号
返回值 |  | 无

使用示例：
function TestDemo()
    --自动排列自定义按钮倒计时触发
    gNPC:SETARRBUFF(gObject, gPlayer, 1, 1, 0, 241, 10, 3, 130, 4, '测试倒计时功能')


关闭自动排列自定义按钮倒计时触发

关闭自动排列自定义按钮倒计时触发

   function CLOSEARRBUFF()

说明：

   关闭自动排列自定义按钮倒计时触发

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 分组编号(1-7)
返回值 |  | 无

使用示例：
function TestDemo()
    --关闭自动排列自定义按钮倒计时触发
    gNPC:CLOSEARRBUFF(gObject, gPlayer, 1)


隐藏/显示屏幕SetArrBuff图标

隐藏/显示屏幕SetArrBuff图标

   function SHOWARRBUFF()

说明：

   隐藏/显示屏幕SetArrBuff图标

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 分组编号(1-7)
参数四 | integer | 是否显示(0=隐藏 1=显示)
返回值 |  | 无

使用示例：
function TestDemo()
    --自动排列自定义按钮倒计时触发
    gNPC:SETARRBUFF(gObject, gPlayer, 1, 1, 0, 241, 10, 3, 130, 4, '测试倒计时功能')
    --隐藏屏幕SetArrBuff图标
    gNPC:SHOWARRBUFF(gObject, gPlayer, 1, 0)


装备自定义文字内容

装备自定义文字内容

简介：

   每件装备可以自定义一条文字内容，显示在装备提示信息中自定义属性的上方，可以用作自定义属性的标签，
也可用于对装备作某种补充说明或记录某项关键信息。比如当武器升级成功时，可以记录下升级者名称；
又或者可以记录武器杀死过的最高等级人物名称。自定义文字内容最长可以有128个字符，支持使用\进行换行。

--------------------------------
1.设置装备自定义文字内容
格式：SetCustomItemText 装备位置 文字内容
--------------------------------
2.设置装备自定义文字颜色
格式：SetCustomItemTextColor 装备位置 文字颜色(0~255)
--------------------------------
3.获取装备自定义文字内容
格式：GetCustomItemText 装备位置 变量
--------------------------------
4.获取装备自定义文字颜色
格式：GetCustomItemTextColor 装备位置 变量

;＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
装备自定义属性
说明：1.每件装备最多支持20条自定义属性(编号为0-19)，每条自定义属性拥有3个值，分别用$$1、$$2、$$3表示。
2.设置了一条自定义属性之后，这条自定义属性并不知道自己应该加到攻击上、魔法上，还是其他属性上，也不知道要如何显示。因此要将其与系统预设的属性进行绑定，才能发挥作用。比如将其与系统预设的第1条属性绑定就是加防御，与第2条预设属性绑定就是加魔防，以此类推。
3.系统共设计了60条预设属性供自定义属性绑定，其中第1条是加防御，第2条是加魔防，第3条是加攻击，第4条是加魔法，第5条是加道术，第6条是加HP，第7条是加MP；第8-60条为无属性，也就是绑定第8-60条只会显示，并不会自动增加装备的某种属性，如果想要使这些属性具有某种效果，需要自己通过脚本实现。
4.综上所述，要正确使用自定义属性，大致需要分为三个步骤：一是设置自定义属性的值；二是绑定预设属性；三是设置显示模式。其中绑定属性和设置显示模式使用同一个脚本命令，只是参数不同而已。

----------------------
一、设置自定义属性的值
格式：SetCustomItemValueEx 装备位置 属性编号(0-19) 操作符(+-=) 值1 值2 值3
功能：使指定位置装备上，指定自定义属性的$$1=值1、$$2=值2、$$3=值3。
例如：SetCustomItemValueEx 1 0 = 3 4 5，就是设置了手上武器的第0条自定义属性的3个值分别为：$$1=3、$$2=4、$$3=5。
装备位置：
0 盔甲
1 武器
2 勋章/照明物（蜡烛，此物品属性升级无效）
3 项链
4 头盔
5 右手镯
6 左手镯
7 右戒指
8 左戒指
9 符毒
10 腰带
11 鞋子
12 宝石
13 斗笠
14 军鼓
15 马牌
16 盾牌
17 灵玉
18 时装衣服
19 时装武器
20 时装项链
21 时装头盔
22 时装左手镯
23 时装右手镯
24 时装左戒指
25 时装右戒指
26 时装勋章
27 时装腰带
28 时装靴子
29 时装宝石
30-35 首饰盒
40-51 生肖盒

------------------------------
二、绑定预设属性和设置显示模式
1.系统预设属性：共有60条预设属性可供绑定，可通过“M2→选项→自定义装备属性设置”查看并修改

说明：①有勾选的属性在游戏中才会显示，请根据需要进行勾选；
②每条预设属性右边方框内的文字为该属性在游戏中显示的内容，可自行修改。比如可以把第8条修改为：有$$1%机率使对方麻痹，这时假如有1条自定义属性的$$1=30，并且绑定这条预设属性的时候，在游戏中就会显示成：有30%机率使对方麻痹。
③如果显示的内容中没有使用到$$1、$$2、$$3中的任何一个，则会自动在末尾显示$$1的值。比如第5条方框中的内容为：道术:+，这时假如有一条自定义属性的$$1=5，且绑定了这个预设属性，那在游戏中将显示为：道术:+5。
④装备不能绑定与自己不兼容的属性。比如武器是没有防御、魔防等属性的，那武器上的自定义属性就不可以绑定这些预设属性，也就是不能让武器自动加防御、魔防等属性。
--------------------------------
2.绑定预设属性和设置显示模式
●绑定预设属性和设置显示模式使用的都是同一个命令，详细使用方法如下：
格式：SetCustomItemAbil 装备位置 属性编号(0~19) 项目(0~4) 属性值
功能：绑定预设属性，设置自定义属性的颜色、显示位置等特征，具体就是将参数3指定的项目，设置为参数4给出的值
说明：
参数3=0：表示要设置自定义属性的显示颜色，参数4=颜色值(0~255)
参数3=1：表示要把自定义属性绑定到某条预设属性上，参数4=需要绑定的预设属性编号
参数3=2：表示要设置自定义属性的显示顺序，排序靠前的显示在上面，排序靠后的显示在下面，排序相同的显示在同一行。参数4=显示顺序号(0~255)
参数3=3：表示要设置自定义属性作用模式，参数4=(0,1,2)，其中0=直接加点数；1=单件百分比；2=全身百分比。比如：一条自定义属性的$$1=10，且绑定了第3条预设属性（加攻击），如果把作用模式设成0，那就是直接+10点攻击；如果设成1，那就是加这件装备攻击的10%；如果设成2，那就是加全身攻击的10%。
参数3=4：表示要把自定义属性显示到哪个模块，参数4=模块编号(0-14)
模块编号如下：
0. 默认位置(和9相同)
1. 装备名称
2. 顶行描述
3. 装备图标(Ask)
4. 升级次数(星星)
5. 自定义进度条
6. 基础属性
7. 凹槽信息
8. 元素属性
9. 自定义属性
10.投保信息
11.物品来源
12.卖给商店
13.套装信息
14.物品描述
示例：设置手上武器的第0条自定义属性，将其设置成单件+50%的魔法，并以黄色文字显示在装备名称栏：
#ACT
;设置手上武器的第0条自定义属性值$$1=50,$$2=0,$$3=0
SetCustomItemValueEx 1 0 = 50 0 0
;设置第0条自定义属性的文字颜色为黄色(颜色值=151)
SetCustomItemAbil 1 0 0 151
;把第0条自定义属性与第4条预设属性(加魔法属性)绑定起来
SetCustomItemAbil 1 0 1 4
;设置第0条自定义属性显示顺序为1
SetCustomItemAbil 1 0 2 1
;设置第0条自定义属性按单件百分比计算
SetCustomItemAbil 1 0 3 1
;让第0条自定义属性显示在装备名称栏(模块号1)
SetCustomItemAbil 1 0 4 1
效果图：

-------------------
三、其它相关脚本命令
1.检测自定义属性值
格式：CheckCustomItemValue 装备位置 属性位置(0~19) (检测符><=) 检测值 值位置(0或空=检测$$1的值，1=检测$$2的值，2=检测$$3的值)
功能：检测指定自定义属性的值是否符合要求
示例：
#IF
CheckCustomItemValue 1 0 > 10
#ACT
SENDMSG 6 武器的第一条自定义属性的$$1值大于10
--------------------------------
2.检测绑定预设属性的编号
格式：CheckCustomItemBindType 装备位置 属性位置(0~19) (检测符><=) 绑定编号(0~60)
功能：检测自定义属性绑定的预设属性编号是否符合要求
说明：绑定编号和M2中的预设属性编号对应，0表示没有绑定
示例：
#IF
CheckCustomItemBindType 1 0 = 1
#ACT
SENDMSG 6 你的武器第0条自定义属性绑定的是防御属性
--------------------------------
3.设置自定义装备属性值(早期版)
格式：SetCustomItemValue 装备位置 属性位置(0~19) (控制符+-=) 属性值
说明：功能是设置一条自定义属性的$$1值，这是早期版的命令，没有办法设置$$2和$$3的值。
--------------------------------
4.设置自定义装备属性值(新版)
格式：SetCustomItemValueEx 装备位置 属性位置(0-19) 值1 值2 值3
功能：设置装备自定义属性的 $$1、$$2、$$3值
--------------------------------
5.获取装备的自定义属性值(早期版)
格式：GetCustomItemValue 装备位置 属性位置(0~19) 变量1 变量2 值位置(0或空=取$$1的值，1=取$$2的值，2=取$$3的值)
说明：变量1保存自定义属性值，变量2保存属性作用模式(0=直接加点数，1=单件百分比，2=全身百分比)，这是早期版的命令，一次只能取一个值，无法同时获取$$1、$$2、$$3的值
示例：
#ACT
GetCustomItemValue 1 0 N1 N2
SENDMSG 6 你武器的第0条自定义属性的$$1=<$STR(N1)>，作用模式是：<$STR(N2)>
--------------------------------
6.获取装备的自定义属性值(新版)
格式：GetCustomItemValueEx 装备位置 属性位置 变量1 变量2 变量3 变量4
功能：获取指定装备的某条自定义属性的值，与早期版的差异就是可以同时获取到$$2和$$3的值
说明：1.变量1保存该条自定义属性的作用模式(0=直接加点数，1=单件百分比，2=全身百分比)
2.变量2-变量4分别保存$$1、$$2、$$3的值
--------------------------------
7.获取自定义属性特征
格式：GetCustomItemAbil装备位置 属性位置(0~19) 属性类型(0~4) 变量名
功能：获取自定义属性的颜色、序号等特征，存入参数四指定的变量中
说明：
参数3=0：获取该属性显示的颜色(0~255)
参数3=1：获取该属性绑定哪个预设属性(0~60，0表示没有绑定)
参数3=2：获取在属性框里的显示序号(0~255；显示位置值相同的显示在同一行)
参数3=3：获取该属性的作用模式(0=直接加点数；1=单件百分比；2=全身百分比)
示例：
#ACT
GetCustomItemAbil 1 0 0 <$STR(N1)>
SENDMSG 6 武器的第0条自定义属性的颜色为<$STR(N1)>
--------------------------------
8.获取人物身上某条预设属性的总和
格式：GetAllCustomItemValue 预设属性编号 变量1 变量2 值位置(0=$$1,1=$$2,2=$$3) 变量3
功能：获取装备所有的自定义属性中，绑定某条预设属性的点数总和。
说明：1.预设属性编号与M2中的60条预设属性对应。比如1，就是绑定AC，2就是绑定MAC……
2.变量1=直接加点数之和；
3.变量2=单件百分比之和
4.变量3=全身百分比之和
5.值位置=0时统计$$1的和，=1时统计$$2的和，=2时统计$$3的和
示例：
#act
GetAllCustomItemValue 3 N1 N2 0 N3
SENDMSG 6 提示：您一共拥有自定义攻击属性：+<$STR(N1)>点、+<$STR(N2)>%(单件)、+<$STR(N3)>%(全身)！

----------------------------
四、装备自定义属性的高级显示
1.支持自定义颜色
●自定义属性显示支持自定义颜色，格式：{内容|颜色值}。比如：把一条预设属性方框内的显示内容设为：{魔|249}法：+，则“魔”字会显示成颜色值为249的红色。
--------------------------------
2.支持选择性显示
●使用^分隔，当分隔内容中的变量值为0时，该部分的内容不显示。比如：把一条预设属性方框内的显示内容设为：^攻击$1  ^魔法$2  ^道术$3，则当$$1=0时，不显示攻击部分内容，$$2=0时不显示魔法部分内容，$$3=0时不显示道术部分，如果全部为零，则该属性不会显示。
--------------------------------
3.支持换行
●自定义属性支持使用“\”分行显示
--------------------------------
4.支持TEXT变量显示
●格式为：<TEXT:行数>。即，如果把一条预设属性方框内的显示内容设为：<TEXT:1>，则绑定该预设属性将显示“M2→选项→自定义装备属性设置→text变量”里第1行的内容，而且行数支持使用$$1、$$2、$$3变量。比如：<TEXT$1>，当$$1=1时，显示TEXT列表中的第1行；当$$1=2时，显示TEXT列表中的第2行。
示例：
① 通过“M2→选项→自定义装备属性设置”，将第8条预设属性的显示内容设为：<TEXT$1>，如下图：

② 通过“M2→选项→自定义装备属性设置→text变量”，设置TEXT列表的第1行和第2行分别为：
{攻击时，有|146}{[$$2%]|021}{机率使目标冰冻$$3秒|146}
{攻击时，有|146}{[$$2%]|021}{几率偷去敌人$$3%生命值|146}
如下图：

③ 设置一条自定义属性， $$1=1或2，$$2=50，$$3=20，然后绑定第8个预设属性，如：
#ACT
;设置手上武器的第0条自定义属性值$$1=1或2,$$2=50,$$3=20
MOVR P1 1 3
SetCustomItemValueEx 1 0 = <$STR(P1)> 50 20
;把第0条自定义属性与第8条预设属性绑定起来
SetCustomItemAbil 1 0 1 8
;设置第0条自定义属性显示顺序为3
SetCustomItemAbil 1 0 2 3
;设置第0条自定义属性按点数计算
SetCustomItemAbil 1 0 3 0
④ 则该条自定义属性有可能显示为：“攻击时，有50%几率使目标冰冻20秒”，也有可能显示为：“攻击时，有50%几率偷去敌人20%生命值”，如下图：

因此，只要给$$1赋不同的值，该属性就可以显示不同的内容。当然，仅仅是显示而已，想要真正达到效果，需要自己通过脚本实现。
--------------------------------
5.根据Text变量行数，统计全身属性的合计值
格式：GetAllCustomItemValueByTextLine 预设属性编号 属性值类型 Text变量行数 变量1 变量2 变量3
说明：1.预设属性编号与M2中的60条预设属性对应。比如1，就是绑定AC，2就是绑定MAC……
2.属性值类型（-1:不限；0:点数；1: 单件百分比；2:全身百分比）
3.变量1-变量3：分别为$$1-$$3的合计值

简介：每件装备可以自定义一条文字内容，显示在装备提示信息中自定义属性的上方，可以用作自定义属性的标签，
也可用于对装备作某种补充说明或记录某项关键信息。比如当武器升级成功时，可以记录下升级者名称；
又或者可以记录武器杀死过的最高等级人物名称。自定义文字内容最长可以有128个字符，支持使用\进行换行。

--------------------------------
1.设置装备自定义文字内容
格式：SetCustomItemText 装备位置 文字内容
--------------------------------
2.设置装备自定义文字颜色
格式：SetCustomItemTextColor 装备位置 文字颜色(0~255)
--------------------------------
3.获取装备自定义文字内容
格式：GetCustomItemText 装备位置 变量
--------------------------------
4.获取装备自定义文字颜色
格式：GetCustomItemTextColor 装备位置 变量

;＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
装备自定义属性
说明：1.每件装备最多支持20条自定义属性(编号为0-19)，每条自定义属性拥有3个值，分别用$$1、$$2、$$3表示。
2.设置了一条自定义属性之后，这条自定义属性并不知道自己应该加到攻击上、魔法上，还是其他属性上，也不知道要如何显示。因此要将其与系统预设的属性进行绑定，才能发挥作用。比如将其与系统预设的第1条属性绑定就是加防御，与第2条预设属性绑定就是加魔防，以此类推。
3.系统共设计了60条预设属性供自定义属性绑定，其中第1条是加防御，第2条是加魔防，第3条是加攻击，第4条是加魔法，第5条是加道术，第6条是加HP，第7条是加MP；第8-60条为无属性，也就是绑定第8-60条只会显示，并不会自动增加装备的某种属性，如果想要使这些属性具有某种效果，需要自己通过脚本实现。
4.综上所述，要正确使用自定义属性，大致需要分为三个步骤：一是设置自定义属性的值；二是绑定预设属性；三是设置显示模式。其中绑定属性和设置显示模式使用同一个脚本命令，只是参数不同而已。

----------------------
一、设置自定义属性的值
格式：SetCustomItemValueEx 装备位置 属性编号(0-19) 操作符(+-=) 值1 值2 值3
功能：使指定位置装备上，指定自定义属性的$$1=值1、$$2=值2、$$3=值3。
例如：SetCustomItemValueEx 1 0 = 3 4 5，就是设置了手上武器的第0条自定义属性的3个值分别为：$$1=3、$$2=4、$$3=5。
装备位置：
0 盔甲
1 武器
2 勋章/照明物（蜡烛，此物品属性升级无效）
3 项链
4 头盔
5 右手镯
6 左手镯
7 右戒指
8 左戒指
9 符毒
10 腰带
11 鞋子
12 宝石
13 斗笠
14 军鼓
15 马牌
16 盾牌
17 灵玉
18 时装衣服
19 时装武器
20 时装项链
21 时装头盔
22 时装左手镯
23 时装右手镯
24 时装左戒指
25 时装右戒指
26 时装勋章
27 时装腰带
28 时装靴子
29 时装宝石
30-35 首饰盒
40-51 生肖盒

------------------------------
二、绑定预设属性和设置显示模式
1.系统预设属性：共有60条预设属性可供绑定，可通过“M2→选项→自定义装备属性设置”查看并修改

说明：①有勾选的属性在游戏中才会显示，请根据需要进行勾选；
②每条预设属性右边方框内的文字为该属性在游戏中显示的内容，可自行修改。比如可以把第8条修改为：有$$1%机率使对方麻痹，这时假如有1条自定义属性的$$1=30，并且绑定这条预设属性的时候，在游戏中就会显示成：有30%机率使对方麻痹。
③如果显示的内容中没有使用到$$1、$$2、$$3中的任何一个，则会自动在末尾显示$$1的值。比如第5条方框中的内容为：道术:+，这时假如有一条自定义属性的$$1=5，且绑定了这个预设属性，那在游戏中将显示为：道术:+5。
④装备不能绑定与自己不兼容的属性。比如武器是没有防御、魔防等属性的，那武器上的自定义属性就不可以绑定这些预设属性，也就是不能让武器自动加防御、魔防等属性。
--------------------------------
2.绑定预设属性和设置显示模式
●绑定预设属性和设置显示模式使用的都是同一个命令，详细使用方法如下：
格式：SetCustomItemAbil 装备位置 属性编号(0~19) 项目(0~4) 属性值
功能：绑定预设属性，设置自定义属性的颜色、显示位置等特征，具体就是将参数3指定的项目，设置为参数4给出的值
说明：
参数3=0：表示要设置自定义属性的显示颜色，参数4=颜色值(0~255)
参数3=1：表示要把自定义属性绑定到某条预设属性上，参数4=需要绑定的预设属性编号
参数3=2：表示要设置自定义属性的显示顺序，排序靠前的显示在上面，排序靠后的显示在下面，排序相同的显示在同一行。参数4=显示顺序号(0~255)
参数3=3：表示要设置自定义属性作用模式，参数4=(0,1,2)，其中0=直接加点数；1=单件百分比；2=全身百分比。比如：一条自定义属性的$$1=10，且绑定了第3条预设属性（加攻击），如果把作用模式设成0，那就是直接+10点攻击；如果设成1，那就是加这件装备攻击的10%；如果设成2，那就是加全身攻击的10%。
参数3=4：表示要把自定义属性显示到哪个模块，参数4=模块编号(0-14)
模块编号如下：
0. 默认位置(和9相同)
1. 装备名称
2. 顶行描述
3. 装备图标(Ask)
4. 升级次数(星星)
5. 自定义进度条
6. 基础属性
7. 凹槽信息
8. 元素属性
9. 自定义属性
10.投保信息
11.物品来源
12.卖给商店
13.套装信息
14.物品描述
示例：设置手上武器的第0条自定义属性，将其设置成单件+50%的魔法，并以黄色文字显示在装备名称栏：
#ACT
;设置手上武器的第0条自定义属性值$$1=50,$$2=0,$$3=0
SetCustomItemValueEx 1 0 = 50 0 0
;设置第0条自定义属性的文字颜色为黄色(颜色值=151)
SetCustomItemAbil 1 0 0 151
;把第0条自定义属性与第4条预设属性(加魔法属性)绑定起来
SetCustomItemAbil 1 0 1 4
;设置第0条自定义属性显示顺序为1
SetCustomItemAbil 1 0 2 1
;设置第0条自定义属性按单件百分比计算
SetCustomItemAbil 1 0 3 1
;让第0条自定义属性显示在装备名称栏(模块号1)
SetCustomItemAbil 1 0 4 1
效果图：

-------------------
三、其它相关脚本命令
1.检测自定义属性值
格式：CheckCustomItemValue 装备位置 属性位置(0~19) (检测符><=) 检测值 值位置(0或空=检测$$1的值，1=检测$$2的值，2=检测$$3的值)
功能：检测指定自定义属性的值是否符合要求
示例：
#IF
CheckCustomItemValue 1 0 > 10
#ACT
SENDMSG 6 武器的第一条自定义属性的$$1值大于10
--------------------------------
2.检测绑定预设属性的编号
格式：CheckCustomItemBindType 装备位置 属性位置(0~19) (检测符><=) 绑定编号(0~60)
功能：检测自定义属性绑定的预设属性编号是否符合要求
说明：绑定编号和M2中的预设属性编号对应，0表示没有绑定
示例：
#IF
CheckCustomItemBindType 1 0 = 1
#ACT
SENDMSG 6 你的武器第0条自定义属性绑定的是防御属性
--------------------------------
3.设置自定义装备属性值(早期版)
格式：SetCustomItemValue 装备位置 属性位置(0~19) (控制符+-=) 属性值
说明：功能是设置一条自定义属性的$$1值，这是早期版的命令，没有办法设置$$2和$$3的值。
--------------------------------
4.设置自定义装备属性值(新版)
格式：SetCustomItemValueEx 装备位置 属性位置(0-19) 值1 值2 值3
功能：设置装备自定义属性的 $$1、$$2、$$3值
--------------------------------
5.获取装备的自定义属性值(早期版)
格式：GetCustomItemValue 装备位置 属性位置(0~19) 变量1 变量2 值位置(0或空=取$$1的值，1=取$$2的值，2=取$$3的值)
说明：变量1保存自定义属性值，变量2保存属性作用模式(0=直接加点数，1=单件百分比，2=全身百分比)，这是早期版的命令，一次只能取一个值，无法同时获取$$1、$$2、$$3的值
示例：
#ACT
GetCustomItemValue 1 0 N1 N2
SENDMSG 6 你武器的第0条自定义属性的$$1=<$STR(N1)>，作用模式是：<$STR(N2)>
--------------------------------
6.获取装备的自定义属性值(新版)
格式：GetCustomItemValueEx 装备位置 属性位置 变量1 变量2 变量3 变量4
功能：获取指定装备的某条自定义属性的值，与早期版的差异就是可以同时获取到$$2和$$3的值
说明：1.变量1保存该条自定义属性的作用模式(0=直接加点数，1=单件百分比，2=全身百分比)
2.变量2-变量4分别保存$$1、$$2、$$3的值
--------------------------------
7.获取自定义属性特征
格式：GetCustomItemAbil装备位置 属性位置(0~19) 属性类型(0~4) 变量名
功能：获取自定义属性的颜色、序号等特征，存入参数四指定的变量中
说明：
参数3=0：获取该属性显示的颜色(0~255)
参数3=1：获取该属性绑定哪个预设属性(0~60，0表示没有绑定)
参数3=2：获取在属性框里的显示序号(0~255；显示位置值相同的显示在同一行)
参数3=3：获取该属性的作用模式(0=直接加点数；1=单件百分比；2=全身百分比)
示例：
#ACT
GetCustomItemAbil 1 0 0 <$STR(N1)>
SENDMSG 6 武器的第0条自定义属性的颜色为<$STR(N1)>
--------------------------------
8.获取人物身上某条预设属性的总和
格式：GetAllCustomItemValue 预设属性编号 变量1 变量2 值位置(0=$$1,1=$$2,2=$$3) 变量3
功能：获取装备所有的自定义属性中，绑定某条预设属性的点数总和。
说明：1.预设属性编号与M2中的60条预设属性对应。比如1，就是绑定AC，2就是绑定MAC……
2.变量1=直接加点数之和；
3.变量2=单件百分比之和
4.变量3=全身百分比之和
5.值位置=0时统计$$1的和，=1时统计$$2的和，=2时统计$$3的和
示例：
#act
GetAllCustomItemValue 3 N1 N2 0 N3
SENDMSG 6 提示：您一共拥有自定义攻击属性：+<$STR(N1)>点、+<$STR(N2)>%(单件)、+<$STR(N3)>%(全身)！

----------------------------
四、装备自定义属性的高级显示
1.支持自定义颜色
●自定义属性显示支持自定义颜色，格式：{内容|颜色值}。比如：把一条预设属性方框内的显示内容设为：{魔|249}法：+，则“魔”字会显示成颜色值为249的红色。
--------------------------------
2.支持选择性显示
●使用^分隔，当分隔内容中的变量值为0时，该部分的内容不显示。比如：把一条预设属性方框内的显示内容设为：^攻击$1  ^魔法$2  ^道术$3，则当$$1=0时，不显示攻击部分内容，$$2=0时不显示魔法部分内容，$$3=0时不显示道术部分，如果全部为零，则该属性不会显示。
--------------------------------
3.支持换行
●自定义属性支持使用“\”分行显示
--------------------------------
4.支持TEXT变量显示
●格式为：<TEXT:行数>。即，如果把一条预设属性方框内的显示内容设为：<TEXT:1>，则绑定该预设属性将显示“M2→选项→自定义装备属性设置→text变量”里第1行的内容，而且行数支持使用$$1、$$2、$$3变量。比如：<TEXT$1>，当$$1=1时，显示TEXT列表中的第1行；当$$1=2时，显示TEXT列表中的第2行。
示例：
① 通过“M2→选项→自定义装备属性设置”，将第8条预设属性的显示内容设为：<TEXT$1>，如下图：

② 通过“M2→选项→自定义装备属性设置→text变量”，设置TEXT列表的第1行和第2行分别为：
{攻击时，有|146}{[$$2%]|021}{机率使目标冰冻$$3秒|146}
{攻击时，有|146}{[$$2%]|021}{几率偷去敌人$$3%生命值|146}
如下图：

③ 设置一条自定义属性， $$1=1或2，$$2=50，$$3=20，然后绑定第8个预设属性，如：
#ACT
;设置手上武器的第0条自定义属性值$$1=1或2,$$2=50,$$3=20
MOVR P1 1 3
SetCustomItemValueEx 1 0 = <$STR(P1)> 50 20
;把第0条自定义属性与第8条预设属性绑定起来
SetCustomItemAbil 1 0 1 8
;设置第0条自定义属性显示顺序为3
SetCustomItemAbil 1 0 2 3
;设置第0条自定义属性按点数计算
SetCustomItemAbil 1 0 3 0
④ 则该条自定义属性有可能显示为：“攻击时，有50%几率使目标冰冻20秒”，也有可能显示为：“攻击时，有50%几率偷去敌人20%生命值”，如下图：

因此，只要给$$1赋不同的值，该属性就可以显示不同的内容。当然，仅仅是显示而已，想要真正达到效果，需要自己通过脚本实现。
--------------------------------
5.根据Text变量行数，统计全身属性的合计值
格式：GetAllCustomItemValueByTextLine 预设属性编号 属性值类型 Text变量行数 变量1 变量2 变量3
说明：1.预设属性编号与M2中的60条预设属性对应。比如1，就是绑定AC，2就是绑定MAC……
2.属性值类型（-1:不限；0:点数；1: 单件百分比；2:全身百分比）
3.变量1-变量3：分别为$$1-$$3的合计值


设置自定义属性值

设置自定义属性值

   function SETCUSTOMITEMVALUEEX()

说明：

   设置自定义属性的值(使指定位置装备上，指定自定义属性的$$1=值1、$$2=值2、$$3= 值3)

  装备自定义属性说明：
  1.每件装备最多支持20条自定义属性(编号为0-19)，每条自定义属性拥有3个值，分别用$$1、$$2、$$3表示。
  2 .设置了一条自定义属性之后，这条自定义属性并不知道自己应该加到攻击上、魔法上，还是其他属性上，也不知道要如何显示。因此要将其与系统预设的属性进行绑定，才能发挥作用。
    比如将其与系统预设的第1条属性绑定就是加防御，与第2条预设属性绑定就是加魔防，以此类推。
  3.系统共设计了60条预设属性供自定义属性绑定，其中第1条是加防御，第2条是加魔防，第3条是加攻击，第4条是加魔法，第5条是加道术，第6条是加HP，第7条是加MP；
    第8-60条为无属性，也就是绑定第8-60条只会显示，并不会自动增加装备的某种属性，如果想要使这些属性具有某种效果，需要自己通过脚本实现。
  4 .综上所述，要正确使用自定义属性，大致需要分为三个步骤：一是设置自定义属性的值；二是绑定预设属性；三是设置显示模式。其中绑定属性和设置显示模式使用同一个脚本命令，
    只是参数不同而已。
参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 属性编号(0-19)
参数五 | string | 控制符(+ - =)
参数六 | integer | 属性值1
参数七 | integer | 属性值2
参数八 | integer | 属性值3
返回值 |  | 无

使用示例：
function TestDemo()
    --自定义属性赋值
    --设置了手上武器的第0条自定义属性的3个值分别为：$$1=3、$$2=4、$$3=5
    gNPC:SETCUSTOMITEMVALUEEX(gObject, gPlayer, 1, 0, '=', 3, 4, 5)


获取自定义属性值

获取自定义属性值

   function GETCUSTOMITEMVALUEEX()

说明：

   获取指定装备的某条自定义属性的值

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 属性编号(0-19)
参数五 | integer | 变量1(保存该条自定义属性的作用模式(0=直接加点数，1=单件百分比，2=全身百分比))
参数六 | string | 变量2(保存$$1的值)
参数七 | string | 变量3(保存$$2的值)
参数八 | string | 变量4(保存$$3的值)
返回值 |  | 无

使用示例：
function TestDemo()
    --获取自定义属性值
    gNPC:GETCUSTOMITEMVALUEEX(gObject, gPlayer, 1, 0, 0, 'N10', 'N11', 'N22')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '手上武器的第0条自定义属性的3个值分<$STR(N10)><$STR(N11)><$STR(N12)>',
        249, 0, 10, 60)


获取物品属性值

获取物品属性值

   function GETITEMFIELDVALUE()

说明：

   获取物品属性值

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | string | 属性名称
参数五 | string | 变量名
返回值 |  | 无

属性名称：
属性名称 | 描述
makeindex | 制作索引
dura | 持久
duramax | 最大持久
upgradecount | 星星数量
name | 装备名称
name_g | 装备名称(含改名)
stdmode | 装备属性值
shape | 衣服显示穿上得样子,首饰代表其特殊功能
looks | 显示衣服物品栏里样子和在装备栏里的样子
color | 物品在地面颜色的显示设置
hp |
mp |
lac |
hac |
lmac |
hmac |
ldc |
hdc |
lmc |
hmc |
lsc |
hsc |
idx | 数据库的序列号
need |
needlevel |
price | 价格
element-element23 | 天生元素
expand1-expand5 |
InsuranceCurrency | 保金类型
InsuranceGold | 投保金额
InsuranceCount | 投保次数
Value0-Value13 | 极品属性
uelement0-uelement23 | 元素属性(非数据库)

使用示例：

function TestDemo()
    --设置物品属性值
    gNPC:SETITEMFIELDVALUE(gObject, gPlayer, 0, 'uelement3', '100')
    --获取物品属性值
    gNPC:GETITEMFIELDVALUE(gObject, gPlayer, 0, 'uelement3', 'S10')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '衣服的uelement3属性为：<$STR(S10)>', 249, 0, 10, 60)


设置物品属性值

设置物品属性值

   function SETITEMFIELDVALUE()

说明：

   设置物品属性值

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | string | 属性名称(支持dura, duramax, upgradecount, Value0-Value13, uelement0-uelement23)
参数五 | string | 属性值
返回值 |  | 无

使用示例：

function TestDemo()
    --设置物品属性值
    gNPC:SETITEMFIELDVALUE(gObject, gPlayer, 0, 'uelement3', '100')
    --获取物品属性值
    gNPC:GETITEMFIELDVALUE(gObject, gPlayer, 0, 'uelement3', 'S10')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '衣服的uelement3属性为：<$STR(S10)>', 249, 0, 10, 60)


增加爆怪物物品

增加爆怪物物品

   function SCATTERMONITEMS()

说明：

   增加爆怪物物品。免去杀怪过程直接触发爆率文件

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 怪物名称
返回值 |  | 无

使用示例：

function TestDemo()
    --增加爆怪物物品
    gNPC:SCATTERMONITEMS(gObject, gPlayer, '迪伽雷克斯[BOSS]')


NPC命令开启/关闭时装外显

NPC命令开启/关闭时装外显

   function SHOWFASHION()

说明：

   NPC命令开启/关闭时装外显

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 是否显示(0=关闭 1= 显示)
返回值 |  | 无

使用示例：

function TestDemo()
    --NPC命令关闭时装外显
    gNPC:SHOWFASHION(gObject, gPlayer, 0)


添加宠物技能

添加宠物技能

   function ADDGAMEPETMAGIC()

说明：

   添加宠物技能

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 技能名称
返回值 |  | 无

使用示例：

function TestDemo()
    --添加宠物技能
    gNPC:ADDGAMEPETMAGIC(gObject, gPlayer, '雷霆剑法')


删除宠物技能

删除宠物技能

   function DELGAMEPETMAGIC()

说明：

   删除宠物技能

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 技能名称
返回值 |  | 无

使用示例：

function TestDemo()
    --删除宠物技能
    gNPC:DELGAMEPETMAGIC(gObject, gPlayer, '雷霆剑法')


调整背包负重

调整背包负重

   function ADDMAXWEIGHT()

说明：

   调整背包负重

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | string | 值
返回值 |  | 无

使用示例：

function TestDemo()
    --调整背包负重
    gNPC:ADDMAXWEIGHT(gObject, gPlayer, '+', 100)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '扩展背包最大重量：<$AddMaxBW> ', 249, 0, 10, 60)


修改内力值

修改内力值

   function CHANGENGPOINT()

说明：

   修改内力值

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 值
参数五 | string | 是否百分比(%=百分比 空或其他数值=具体数值)
返回值 |  | 无

使用示例：

function TestDemo()
    --修改内力值
    gNPC:CHANGENGPOINT(gObject, gPlayer, '+', 10, '%')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '增加总内力10%的内力值', 249, 0, 10, 60)


修改地图内怪物属性

修改地图内怪物属性

   function CHANGEMONABILITY()

说明：

   修改地图内怪物属性。在原属性的基本上进行加减操作。尽量不要一次对太多的怪进行操作，重算属性会占用引擎cpu 负担过大可能导致引擎卡顿。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码(self =当前所在地图)
参数四 | string | 怪物名称(*=所有怪物)
参数五 | integer | 参数类型(0=HP 1=MaxHP 2=MP 3=MaxMP 4=AC1 5=AC2 6=MAC1 7=MAC2 8=DC1 9=DC2 10=MC1 11=MC2 12=SC1 13=SC2 14=攻击速度 15=移动间隔 30=属性有效时间(分钟，空或0表示不检测时间))
参数六 | string | 控制符(+ - =)
参数七 | integer | 值类型(0=点 1=百分比)
参数八 | integer | X坐标
参数九 | integer | Y坐标
参数十 | integer | 范围(当前坐标及范围均为空的时候，表示所有范围)
返回值 |  | 无

使用示例：

function TestDemo()
    --减少技能冷却时间
    --减年幼巨猿50%的MaxHP
    gNPC:CHANGEMONABILITY(gObject, gPlayer, '108', '年幼巨猿', 1, '=', -50, 1, 325, 323, 10)
    --减年幼巨猿10点的防御下限
    gNPC:CHANGEMONABILITY(gObject, gPlayer, '108', '年幼巨猿', 4, '=', -10, 0, 325, 323, 10)
    --减年幼巨猿10点的防御上限
    gNPC:CHANGEMONABILITY(gObject, gPlayer, '108', '年幼巨猿', 5, '=', -10, 0, 325, 323, 10)
    --加年幼巨猿50点的攻击下限
    gNPC:CHANGEMONABILITY(gObject, gPlayer, '108', '年幼巨猿', 8, '=', 50, 0, 325, 323, 10)
    --加年幼巨猿50点的攻击上限
    gNPC:CHANGEMONABILITY(gObject, gPlayer, '108', '年幼巨猿', 9, '=', 50, 0, 325, 323, 10)
    --设置有效时间
    gNPC:CHANGEMONABILITY(gObject, gPlayer, '108', '年幼巨猿', 30, '+', 2)
    --重算怪物属性
    gNPC:RECALCMONABILITY(gObject, gPlayer, '108', '年幼巨猿', 325, 323, 10)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '土城坐标325 345范围10内的年幼巨猿属性已经刷新 有效时间2分钟',
        249, 0, 10, 60)


刷新地图内怪物属性

刷新地图内怪物属性

   function RECALCMONABILITY()

说明：

   刷新地图内怪物属性

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码(self =当前所在地图)
参数四 | string | 怪物名称(*=所有怪物)
参数五 | integer | X坐标
参数六 | integer | Y坐标
参数七 | integer | 范围(当前坐标及范围均为空的时候，表示所有范围)
返回值 |  | 无

使用示例：

function TestDemo()
    --减少技能冷却时间
    --减年幼巨猿50%的MaxHP
    gNPC:CHANGEMONABILITY(gObject, gPlayer, '108', '年幼巨猿', 1, '=', -50, 1, 325, 323, 10)
    --减年幼巨猿10点的防御下限
    gNPC:CHANGEMONABILITY(gObject, gPlayer, '108', '年幼巨猿', 4, '=', -10, 0, 325, 323, 10)
    --减年幼巨猿10点的防御上限
    gNPC:CHANGEMONABILITY(gObject, gPlayer, '108', '年幼巨猿', 5, '=', -10, 0, 325, 323, 10)
    --加年幼巨猿50点的攻击下限
    gNPC:CHANGEMONABILITY(gObject, gPlayer, '108', '年幼巨猿', 8, '=', 50, 0, 325, 323, 10)
    --加年幼巨猿50点的攻击上限
    gNPC:CHANGEMONABILITY(gObject, gPlayer, '108', '年幼巨猿', 9, '=', 50, 0, 325, 323, 10)
    --设置有效时间
    gNPC:CHANGEMONABILITY(gObject, gPlayer, '108', '年幼巨猿', 30, '+', 2)
    --重算怪物属性
    gNPC:RECALCMONABILITY(gObject, gPlayer, '108', '年幼巨猿', 325, 323, 10)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '土城坐标325 345范围10内的年幼巨猿属性已经刷新 有效时间2分钟',
        249, 0, 10, 60)


减少技能冷却时间

减少技能冷却时间

   function SETSKILLDECCD()

说明：

   减少技能冷却时间

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 技能名称
参数四 | string | 控制符(+ - =)
参数五 | integer | 时间(秒)
返回值 |  | 无

使用示例：

function TestDemo()
    --修改触发技能物品的Expand3,Expand4
    gNPC:SETSKILLITEMVALUE(gObject, gPlayer, '龙影剑法', '=', 2)
    gNPC:SETSKILLDECCD(gObject, gPlayer, '龙影剑法', '+', 1)
    --获取减多少技能冷却时间
    gNPC:GETSKILLDECCD(gObject, gPlayer, '龙影剑法', 'N10')
    gNPC:GETSKILLCD(gObject, gPlayer, '龙影剑法', 'N20')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '龙影剑法缩短CD时间<$Str(N10)>秒，当前冷确时间为<$Str(N20)>秒',
        249, 0, 10, 60)


获取减多少技能冷却时间

获取减多少技能冷却时间

   function SETSKILLDECCD()

说明：

   获取减多少技能冷却时间

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 技能名称
参数四 | string | 变量名
返回值 |  | 无

使用示例：

function TestDemo()
    --修改触发技能物品的Expand3,Expand4
    gNPC:SETSKILLITEMVALUE(gObject, gPlayer, '龙影剑法', '=', 2)
    gNPC:SETSKILLDECCD(gObject, gPlayer, '龙影剑法', '+', 1)
    --获取减多少技能冷却时间
    gNPC:GETSKILLDECCD(gObject, gPlayer, '龙影剑法', 'N10')
    gNPC:GETSKILLCD(gObject, gPlayer, '龙影剑法', 'N20')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '龙影剑法缩短CD时间<$Str(N10)>秒，当前冷确时间为<$Str(N20)>秒',
        249, 0, 10, 60)


获取当前的技能冷却时间

获取当前的技能冷却时间

   function GETSKILLCD()

说明：

   获取当前的技能冷却时间

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 技能名称
参数四 | string | 变量名
返回值 |  | 无

使用示例：

function TestDemo()
    --修改触发技能物品的Expand3,Expand4
    gNPC:SETSKILLITEMVALUE(gObject, gPlayer, '龙影剑法', '=', 2)
    gNPC:SETSKILLDECCD(gObject, gPlayer, '龙影剑法', '+', 1)
    --获取减多少技能冷却时间
    gNPC:GETSKILLDECCD(gObject, gPlayer, '龙影剑法', 'N10')
    gNPC:GETSKILLCD(gObject, gPlayer, '龙影剑法', 'N20')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '龙影剑法缩短CD时间<$Str(N10)>秒，当前冷确时间为<$Str(N20)>秒',
        249, 0, 10, 60)


修改触发技能物品的Expand3,Expand4

修改触发技能物品的Expand3,Expand4

   function SETSKILLITEMVALUE()

说明：

   修改触发技能物品的Expand3,Expand4

 佩戴装备触发技能设置参数
  说明：佩戴装备触发技能，类似火焰戒指和治愈戒指，
  不同的是当人物已经学习了技能则不触发增加，拿下装备也不会删除自身学习的技能，只删除触发增加的

  自定义佩戴装备获得指定技能（类似火焰戒指）：
  衣服，武器，照明物，时装衣服，时装武器：
  AniCount = 210
  其他类型（首饰，不支持马牌）设置：
  Shape = 210
  Expand3：装备对应的 MagicID
  Expand4：技能等级，是否为强化等级
  Expand4计算方式：
  等级 * 10 + 是否为强化等级(0：普通等级；非0：强化等级）；如: 91 强化9重
  佩戴时候如果已经学习了对应技能则不增加，拿下时只删除触发增加的，原来学习的不删除！

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | Expand3值
参数五 | integer | Expand4值
返回值 |  | 无

使用示例：

function TestDemo()
    --修改触发技能物品的Expand3,Expand4
    gNPC:SETSKILLITEMVALUE(gObject, gPlayer, 40, 1, 30)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '子鼠神佑触发技能学习火球术3级', 249, 0, 10, 60)


读取触发技能物品的Expand3,Expand4

读取触发技能物品的Expand3,Expand4

   function SETSKILLITEMVALUE()

说明：

   读取触发技能物品的Expand3,Expand4

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | string | 变量1(保存Expand3值)
参数五 | string | 变量2(保存Expand4值)
返回值 |  | 无

使用示例：

function TestDemo()
    --读取触发技能物品的Expand3,Expand4
    gNPC:GETSKILLITEMVALUE(gObject, gPlayer, 40, 'N14', 'N15')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '读取技能ID:<$STR(N14)>，等级:<$STR(N15)>', 249, 0, 10, 60)


获取技能信息

获取技能信息

   function SETSKILLITEMVALUE()

说明：

   获取技能信息

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 技能名称
参数四 | integer | 值类型(0=技能等级 1=强化等级 2=技能点数)
参数五 | string | 变量
返回值 |  | 无

使用示例：

function TestDemo()
    --获取技能信息
    gNPC:GETMAGICINFO(gObject, gPlayer, '金刚不坏', 0, 'N1')
    gNPC:GETMAGICINFO(gObject, gPlayer, '金刚不坏', 1, 'N2')
    gNPC:GETMAGICINFO(gObject, gPlayer, '金刚不坏', 2, 'N3')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '技能等级：<$str(N1)>，强化等级：<$str(N2)>，技能点：<$str(N3)>',
        249, 0, 10, 60)


根据Text变量行数查看全身无绑定属性的合计值

根据Text变量行数查看全身无绑定属性的合计值

   function GETALLCUSTOMITEMVALUEBYTEXTLINE()

说明：

   根据Text变量行数查看全身无绑定属性的合计值

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 属性位置(1=绑定AC 2=绑定MAC 3=绑定DC 4=绑定MC 5=绑定SC 6=绑定MaxHP 7=绑定MaxMP 8-60=绑定无属性)
参数四 | integer | 属性值类型(-1=不限 0= 点数1=单件百分比 2=全身百分比)
参数五 | integer | Text变量行数
参数六 | string | 变量1(属性值1合计)
参数七 | string | 变量2(属性值2合计)
参数八 | string | 变量3(属性值3合计)
返回值 |  | 无

使用示例：

function TestDemo()
    --根据Text变量行数查看全身无绑定属性的合计值
    gNPC:GETALLCUSTOMITEMVALUEBYTEXTLINE(gObject, gPlayer, 22, -1, 3, 'N1', 'N2', 'N3')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '合计（值1：<$Str(N1)>；值2：<$Str(N2)>；值3：<$Str(N3)>）',
        249, 0, 10, 60)


收回宠物NPC命令

收回宠物NPC命令

   function RETAKEGAMEPET()

说明：

   收回宠物NPC命令

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：

function TestDemo()
    --收回宠物NPC命令
    gNPC:RETAKEGAMEPET(gObject, gPlayer)


直接从宠物列表中删除宠物

直接从宠物列表中删除宠物

   function DELETEGAMEPET()

说明：

   直接从宠物列表中删除宠物

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 宠物序号(序号0开始)
返回值 |  | 无

使用示例：

function TestDemo()
    --直接从宠物列表中删除宠物
    gNPC:DELETEGAMEPET(gObject, gPlayer, 1)


设置宠物不攻击

设置宠物不攻击

   function GAMEPETSETATTACKOPTION()

说明：

   设置宠物不攻击

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 类型
参数四 | integer | 值
参数五 | integer | 有效时间(0为在线有效)
返回值 |  | 无

类型：
类型 | 描述 | 值
0 | 允许宠物攻击 | 当值=0时，宠物是否攻击随全局参数；当值=1时，允许宠物攻击；当值=2时，禁止宠物攻击
1 | 怪物不攻击宠物 | 当值=0时，随全局参数；当值=1时，开启此功能
2 | 宠物不受任何攻击 | 当值=0时，随全局参数；当值=1时，开启此功能

使用示例：

function TestDemo()
    --设置宠物不攻击
    gNPC:GAMEPETSETATTACKOPTION(gObject, gPlayer, 0, 1)


打开角色出售对话框

打开角色出售对话框

   function GAMEPETSETATTACKOPTION()

说明：

   打开角色出售对话框

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：

function TestDemo()
    --打开角色出售对话框
    gNPC:OPENADDSELLPLAYERDLG(gObject, gPlayer)


中止添加角色出售

中止添加角色出售

   function BREAKADDSELLPLAYER()

说明：

   中止添加角色出售。仅用于 QFunction-[@PlayerSelling]中

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：

function TestDemo()
    --中止添加角色出售
    gNPC:BREAKADDSELLPLAYER(gObject, gPlayer)


获取委托自己出售的角色数量

获取委托自己出售的角色数量

   function GETSELLPLAYERCOUNT()

说明：

   获取委托自己出售的角色数量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量
返回值 |  | 无

使用示例：

function TestDemo()
    --获取委托自己出售的角色数量
    gNPC:GETSELLPLAYERCOUNT(gObject, gPlayer, 'N1')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '委托自己出售的角色数量为：<$STR(N1)>', 249, 0, 10, 60)


取消某个委托自己出售的角色

取消某个委托自己出售的角色

   function DELSELLPLAYER()

说明：

   取消某个委托自己出售的角色

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 角色名
返回值 |  | 无

使用示例：

function TestDemo()
    --取消某个委托自己出售的角色
    gNPC:DELSELLPLAYER(gObject, gPlayer, '无敌')


打开取消角色出售对话框

打开取消角色出售对话框

   function GETSELLPLAYERCOUNT()

说明：

   打开取消角色出售对话框

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：

function TestDemo()
    --打开取消角色出售对话框
    gNPC:OPENDELSELLPLAYERDLG(gObject, gPlayer)


打开角色出售商店

打开角色出售商店

   function OPENSELLPLAYERSHOPDLG()

说明：

   打开角色出售商店

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量
返回值 |  | 无

使用示例：

function TestDemo()
    --打开角色出售商店
    gNPC:OPENSELLPLAYERSHOPDLG(gObject, gPlayer)


杀怪物品自动入包

杀怪物品自动入包

   function OPENAUTODROPITEMTOBAG()

说明：

   杀怪物品自动入包。本命令仅最后一次执行有效。启用人物杀怪入包,默认按查看-列表信息一捡取列表和优先捡取列表进行捡物，如需按照内挂配置进行捡物，需要开选项开启或命令开启。 人物捡物同步内挂配置/英雄捡物同步内挂配置；位置：查看——>列表信息二——>内挂捡取。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 对象(1=自己 2=宝宝 3=自己+宝宝)
参数四 | integer | 时间(秒 0或空=在线一直有效)
返回值 |  | 无

使用示例：

function TestDemo()
    --杀怪物品自动入包
    gNPC:OPENAUTODROPITEMTOBAG(gObject, gPlayer, 3)


关闭物品自动入包

关闭物品自动入包

   function CLOSEAUTODROPITEMTOBAG()

说明：

   关闭物品自动入包

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：

function TestDemo()
    --关闭物品自动入包
    gNPC:CLOSEAUTODROPITEMTOBAG(gObject, gPlayer)


杀怪物品自动拾取

杀怪物品自动拾取

   function OPENAUTOPICKITEM()

说明：

   杀怪物品自动拾取

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 对象(1=自身 2=宝宝 3=自己+宝宝)
参数四 | integer | 有效时间(秒 0或空=在线一直有效)
参数五 | integer | 范围(0=走到物品上面开始捡取 >=0为范围捡取)
参数六 | integer | 是否秒捡(0或空=1个个的捡取范围内的可捡物品 1=秒 捡范围内的所有可捡物品)
参数七 | integer | 是否捡取丢弃物品(0=不捡取 1=捡取)
参数八 | integer | 是否捡取人物爆出的物品(0=不捡取 1=捡取)
参数九 | integer | 物品掉地上多长时间才能捡取(毫秒)
参数十 | string | 是否进入主人背包(仅多级脚本H.时有效)
返回值 |  | 无

使用示例：

function TestDemo()
    --杀怪物品自动拾取
    --设置角色自动捡起自己打怪和自己宝宝打怪爆出以角色自身坐标为中心3格内内挂设置可捡物品，时间在线一直有效
    --挨个捡、不捡丢弃、不捡他人爆出，爆出物品后5秒开始捡
    gNPC:OPENAUTOPICKITEM(gObject, gPlayer, 3, 0, 3, 0, 0, 0, 5000)


关闭物品自动拾取

关闭物品自动拾取

   function CLOSEAUTOPICKITEM()

说明：

   关闭物品自动拾取

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：

function TestDemo()
    --关闭物品自动拾取
    gNPC:CLOSEAUTOPICKITEM(gObject, gPlayer)


强行捡起他人打怪爆出未到冷却时间的物品

强行捡起他人打怪爆出未到冷却时间的物品

   function FORCEPICKITEM()

说明：

   强行捡起他人打怪爆出未到冷却时间的物品。一般用于自定义技能触发执行脚本，执行脚本后捡起自己脚下物品

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：

function TestDemo()
    --强行捡起他人打怪爆出未到冷却时间的物品
    gNPC:FORCEPICKITEM(gObject, gPlayer)


中断宠物技能学习

中断宠物技能学习

   function BREAKGAMEPETTRAININGMAGIC()

说明：

   中断宠物技能学习

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：

function TestDemo()
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer,
        '<$GamePetName>准备学习技能（技能编号 :<$GamePetMagicID>；技能名 :<$GamePetMagicName>)，技能位置<$GamePetMagicIndex>',
        249, 0, 10, 60)
    --中断宠物技能学习
    gNPC:BREAKGAMEPETTRAININGMAGIC(gObject, gPlayer)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '已经中断了宠物技能学习', 249, 0, 10, 60)


获取当前召唤宠物技能数量

获取当前召唤宠物技能数量

   function GETGAMEPETMAGICCOUNT()

说明：

   获取当前召唤宠物技能数量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量名
返回值 |  | 无

使用示例：

function TestDemo()
    if gNPC:CHECKCALLGAMEPET(gObject, gPlayer) then
        --获取当前召唤宠物技能数量
        gNPC:GETGAMEPETMAGICCOUNT(gObject, gPlayer, 'N1')
        gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '你当前宠物一个学习了<$Str(N1)>个技能', 249, 0, 10, 60)
    else
        gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '你还没有召唤宠物', 249, 0, 10, 60)


获取当前召唤宠物技能位置对应技能信息

获取当前召唤宠物技能位置对应技能信息

   function GETGAMEPETMAGICINFO()

说明：

   获取当前召唤宠物技能位置对应技能信息

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 技能位置
参数四 | string | 技能ID变量
参数五 | string | 技能名变量
返回值 |  | 无

使用示例：

function TestDemo()
    if gNPC:CHECKCALLGAMEPET(gObject, gPlayer) then
        --获取当前召唤宠物技能位置对应技能信息
        gNPC:GETGAMEPETMAGICINFO(gObject, gPlayer, 0, 'N1', 'S1')
        gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '你当前宠物技能0信息为（技能编号：<$Str(N1)>，技能名称：<$Str(S1)>）',
            249, 0, 10, 60)
    else
        gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '你还没有召唤宠物', 249, 0, 10, 60)


设置当前召唤宠物某个技能位置技能

设置当前召唤宠物某个技能位置技能

   function GIVEGAMEPETMAGIC()

说明：

   设置当前召唤宠物某个技能位置技能

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 技能位置
参数四 | string | 技能名称
返回值 |  | 无

使用示例：

function TestDemo()
    if gNPC:CHECKCALLGAMEPET(gObject, gPlayer) then
        --设置当前召唤宠物某个技能位置技能 如果该技能位置已经学习过技能，再学习会被覆盖
        gNPC:GIVEGAMEPETMAGIC(gObject, gPlayer, 0, '蛊毒术')
    else
        gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '你还没有召唤宠物', 249, 0, 10, 60)


领取捡物精灵

领取捡物精灵

   function GIVEGAMEPETEX()

说明：

   领取捡物精灵

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 宠物名称
返回值 |  | 无

使用示例：

function TestDemo()
    if gNPC:CHECKCALLGAMEPET(gObject, gPlayer) then
        gNPC:RECALLGAMEPET(gObject, gPlayer, '大刀兵[S阶]')
    else
        --领取捡物精灵
        gNPC:GIVEGAMEPETEX(gObject, gPlayer, '大刀兵[S阶]')


关联背包物品

关联背包物品

   function SETGAMEPETENABLEPICK()

说明：

   关联背包物品。需在[@StdModeFuncExX]X代表物品编号

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 物品MakeIndex(唯一ID)
返回值 |  | 无

使用示例：

function TestDemo()
    --关联背包物品
    gNPC:LINKBAGITEM(gObject, gPlayer, '<$UseItemMakeIndex>')


将关联物品从背包删除

将关联物品从背包删除

   function SETGAMEPETENABLEPICK()

说明：

   将关联物品从背包删除将关联物品从背包删除

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 物品数量(用于叠加物品，0整个物品删除，大于0从叠加中删除指定数量)
返回值 |  | 无

使用示例：

function TestDemo()
    --关联背包物品
    gNPC:LINKBAGITEM(gObject, gPlayer, '<$UseItemMakeIndex>')
    --将关联物品从背包删除
    gNPC:DELLINKITEM(gObject, gPlayer)


从文件中随机获取一行字符串

从文件中随机获取一行字符串

   function GETCACHERANDOMTEXT()

说明：

   从文件中随机获取一行字符串

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | string | 变量
参数五 | integer | 指定行(1-10000) 没有指定行时随机取某一行的字符串
返回值 |  | 无

使用示例：

function TestDemo()
    --从文件中随机获取一行字符串
    gNPC:GETCACHERANDOMTEXT(gObject, gPlayer, '..\\QuestDiary\\测试.txt', 'S10', 5)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '取出的字符串是:<$STR(S10)>', 249, 0, 10, 60)


播放地图魔法特效（仅自己可见）

播放地图魔法特效（仅自己可见）

声明：

   function SELFMAPEFFECT()

说明：

   播放地图魔法特效（仅自己可见）

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | integer | X坐标
参数五 | integer | Y坐标
参数六 | integer | WIL文件序号
参数七 | integer | 开始图片数量
参数八 | integer | 播放图片张数
参数九 | integer | 播放次数(-1为无限次数)
参数十 | integer | 播放速度(毫秒)
参数十一 | integer | 播放效果(0=普通播放 1=特效播放)
参数十二 | integer | 亮度(0-5) 0=没有亮度，在关闭禁止免蜡时有效
参数十三 | integer | ID
返回值 |  | 无

使用示例：

function TestDemo()
    --播放地图魔法特效（仅自己可见）
    gNPC:SELFMAPEFFECT(gObject, gPlayer, 'N3', 330, 330, 1, 10, 20, 1, 200, 1, 3, 1)


改变行会掌门人

改变行会掌门人

   function SETGUILDMASTER()

说明：

   改变行会掌门人。如果已经是行会会长，则调用无效。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 是否为正掌门人(1=正会长 2= 副会长)
返回值 |  | 无

使用示例：

function TestDemo()
    --改变行会掌门人
    gNPC:SETGUILDMASTER(gObject, gPlayer, 1)


设置摸鱼模式

设置摸鱼模式

   function SETSECRETMODE()

说明：

   设置摸鱼模式

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | integer | 控制参数(可随意组合(各值相加即可))
参数五 | string | 统一显示名称
参数六 | integer | 统一显示衣服
参数七 | integer | 统一显示武器
返回值 |  | 无

控制参数：
控制参数 | 描述
0 | 取消摸鱼模式
01 | 禁止说话
02 | 禁止名字颜色
04 | 禁止看对方装备
08 | 统一名称，参数四为指定显示的名字
16 | 统一 装备外观，参数五为指定衣服外观，参数六为指定武器外观
32 | 是否百分比显血，是否人物、影响HP以百分比显示
64 | 隐藏称号显示
128 | 隐藏顶戴花翎

使用示例：

function TestDemo()
    --设置摸鱼模式
    gNPC:SETSECRETMODE(gObject, gPlayer, 'N3', 31, '摸鱼', 9, 34)


人物变身

人物变身

   function CHANGEAPPR()

说明：

   人物变身。自定义怪物Appr在数据库Appr的基础上加100000。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | Appr代码
参数四 | integer | 时间(秒)
返回值 |  | 无

使用示例：

function TestDemo()
    --人物变身
    gNPC:CHANGEAPPR(gObject, gPlayer, 105045, 60)


获取技能快捷键

获取技能快捷键

   function GETSKILLKEY()

说明：

   获取技能快捷键

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 技能名称
参数四 | string | 变量
返回值 |  | 无

使用示例：

function TestDemo()
    --设置技能快捷键
    gNPC:GETSKILLKEY(gObject, gPlayer, '屠龙剑法', 'N1')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '你的屠龙剑法设置快捷键为<$STR(N1)>', 249, 0, 10, 60)


设置技能快捷键

设置技能快捷键

   function SETSKILLKEY()

说明：

   设置技能快捷键

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 技能名称
参数四 | integer | 快捷键值(49-56对应F1-F8 69-76对应Ctrl+F1-Ctrl+F8 97-122对应A-Z)
返回值 |  | 无

使用示例：

function TestDemo()
    --设置技能快捷键
    gNPC:SETSKILLKEY(gObject, gPlayer, '屠龙剑法', 76)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '你的屠龙剑法设置快捷键为Ctrl+F8', 249, 0, 10, 60)


设置1字节数字标记

设置1字节数字标记

   function SETITEMADDBYTE()

说明：

   设置1字节数字标记

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 序号(0-19)
参数五 | integer | 值
返回值 |  | 无

使用示例：

function TestDemo()
    --设置1字节数字标记
    gNPC:SETITEMADDBYTE(gObject, gPlayer, 0, 0, 10)
    --设置4字节数字标记
    gNPC:SETITEMADDINT(gObject, gPlayer, 0, 0, 100)
    --设置文本标记
    gNPC:SETITEMADDTEXT(gObject, gPlayer, 0, 0, '我自己加的文字')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '衣服自定标记设置完成', 249, 0, 10, 60)


设置4字节数字标记

设置4字节数字标记

   function SETITEMADDINT()

说明：

   设置4字节数字标记

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 序号(0-9)
参数五 | integer | 值
返回值 |  | 无

使用示例：

function TestDemo()
    --设置1字节数字标记
    gNPC:SETITEMADDBYTE(gObject, gPlayer, 0, 0, 10)
    --设置4字节数字标记
    gNPC:SETITEMADDINT(gObject, gPlayer, 0, 0, 100)
    --设置文本标记
    gNPC:SETITEMADDTEXT(gObject, gPlayer, 0, 0, '我自己加的文字')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '衣服自定标记设置完成', 249, 0, 10, 60)


设置文本标记

设置文本标记

   function SETITEMADDTEXT()

说明：

   设置文本标记

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 序号(0-1)
参数五 | integer | 文本(最多20个英文字符)
返回值 |  | 无

使用示例：

function TestDemo()
    --设置1字节数字标记
    gNPC:SETITEMADDBYTE(gObject, gPlayer, 0, 0, 10)
    --设置4字节数字标记
    gNPC:SETITEMADDINT(gObject, gPlayer, 0, 0, 100)
    --设置文本标记
    gNPC:SETITEMADDTEXT(gObject, gPlayer, 0, 0, '我自己加的文字')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '衣服自定标记设置完成', 249, 0, 10, 60)


读取1字节数字标记

读取1字节数字标记

   function GETITEMADDBYTE()

说明：

   读取1字节数字标记

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 序号(0-19)
参数五 | string | 变量
返回值 |  | 无

使用示例：

function TestDemo()
    --读取1字节数字标记
    gNPC:GETITEMADDBYTE(gObject, gPlayer, 0, 0, 'N0')
    --读取4字节数字标记
    gNPC:GETITEMADDINT(gObject, gPlayer, 0, 0, 'N1')
    --读取文本标记
    gNPC:GETITEMADDTEXT(gObject, gPlayer, 0, 0, 'S1')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '衣服自定义标记读取：单字节值(0)=<$STR(n0)>，4字节值(0)=<$STR(n1)>，文本值(0)=<$STR(s1)> ',
        249, 0, 10, 60)


读取4字节数字标记

读取4字节数字标记

   function GETITEMADDINT()

说明：

   读取4字节数字标记

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 序号(0-9)
参数五 | string | 变量
返回值 |  | 无

使用示例：

function TestDemo()
    --读取1字节数字标记
    gNPC:GETITEMADDBYTE(gObject, gPlayer, 0, 0, 'N0')
    --读取4字节数字标记
    gNPC:GETITEMADDINT(gObject, gPlayer, 0, 0, 'N1')
    --读取文本标记
    gNPC:GETITEMADDTEXT(gObject, gPlayer, 0, 0, 'S1')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '衣服自定义标记读取：单字节值(0)=<$STR(n0)>，4字节值(0)=<$STR(n1)>，文本值(0)=<$STR(s1)> ',
        249, 0, 10, 60)


读取文本标记

读取文本标记

   function GETITEMADDTEXT()

说明：

   读取文本标记

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
参数四 | integer | 序号(0-1)
参数五 | string | 变量
返回值 |  | 无

使用示例：

function TestDemo()
    --读取1字节数字标记
    gNPC:GETITEMADDBYTE(gObject, gPlayer, 0, 0, 'N0')
    --读取4字节数字标记
    gNPC:GETITEMADDINT(gObject, gPlayer, 0, 0, 'N1')
    --读取文本标记
    gNPC:GETITEMADDTEXT(gObject, gPlayer, 0, 0, 'S1')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '衣服自定义标记读取：单字节值(0)=<$STR(n0)>，4字节值(0)=<$STR(n1)>，文本值(0)=<$STR(s1)> ',
        249, 0, 10, 60)


设置被怪物攻击时伤害吸收

设置被怪物攻击时伤害吸收

   function STRUCKDAMAGEABSORB()

说明：

   设置被怪物攻击时伤害吸收

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 怪物名称(*表示所有怪物)
参数四 | integer | 吸收几率(1-100)
参数五 | integer | 伤害吸收比例(1-100)
参数六 | integer | 有效时间(秒)
返回值 |  | 无

使用示例：

function TestDemo()
    --设置被怪物攻击时伤害吸收
    gNPC:STRUCKDAMAGEABSORB(gObject, gPlayer, '白野猪', 50, 80, 30)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '50%几率吸收白野猪80%的伤害，有效时间30秒', 249, 0, 10, 60)


秒杀保护

秒杀保护

   function PROTECTHP()

说明：

   秒杀保护

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 检测血量
参数四 | integer | 保留血量
参数五 | integer | 有效时间(秒)
参数六 | integer | 参数四是否为百分比(0=不是 1= 是)
返回值 |  | 无

使用示例：

function TestDemo()
    --秒杀保护
    gNPC:PROTECTHP(gObject, gPlayer, 90, 10, 360, 1)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer,
        '你的血量在大于等于90%的情况下，如果有人可以一刀秒杀你，你不会被秒杀，\\而是把你的血量降低到10%，并且触发QF字段',
        249, 0, 10, 60)


同步内挂捡物开启

同步内挂捡物开启

   function ENABLEUSECLIENTPICKITEMS()

说明：

   同步内挂捡物开启

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 开启状态(0=关闭 1= 开启)
返回值 |  | 无

使用示例：

function TestDemo()
    --扩展背包页数
    gNPC:ENABLEUSECLIENTPICKITEMS(gObject, gPlayer, '=', 5)
    --扩展背包开启格数
    gNPC:EXTBAGOPENITEMCOUNT(gObject, gPlayer, '+', 200)
    --杀怪物品自动拾取
    gNPC:OPENAUTOPICKITEM(gObject, gPlayer, 1, 0, 7, 1, 0, 0, 500)
    --同步内挂捡物开启
    gNPC:ENABLEUSECLIENTPICKITEMS(gObject, gPlayer, 1)


修改宝宝身体颜色

修改宝宝身体颜色

   function SETSLAVEBODYCOLOR()

说明：

   修改宝宝身体颜色

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 宝宝名称(*表示所有宝宝)
参数四 | integer | 颜色(0-255)0表示不改变颜色
参数五 | integer | 时间(秒)0表示一直有效
参数六 | integer | 颜色类型(0=固定颜色 1= 转生颜色中配置的颜色 自动变色)
返回值 |  | 无

使用示例：

function TestDemo()
    --修改宝宝身体颜色
    gNPC:SETSLAVEBODYCOLOR(gObject, gPlayer, '*', 253, 100, 0)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '你的所有宝宝都变成紫色了', 249, 0, 10, 60)


修改地图怪物名称

修改地图怪物名称

   function CHANGEMAPMONNAME()

说明：

   修改地图怪物名称

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | integer | X坐标(当X、Y都为0时，表示地图所有范围)
参数五 | integer | Y坐标(当X、Y都为0时，表示地图所有范围)
参数六 | integer | 范围(比如范围= 3时表示3*3的范围)
参数七 | string | 原来怪物名称(*不判断名称)
参数八 | string | 新怪物名称
返回值 |  | 无

使用示例：

function TestDemo()
    --修改地图怪物名称
    gNPC:CHANGEMAPMONNAME(gObject, gPlayer, '3', 0, 0, 0, '羊', '喜羊羊')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '你已经将盟重地图中的所有羊改名为喜羊羊了', 249, 0, 10, 60)


改变怪物外观

改变怪物外观

   function CHANGEMAPMONAPPR()

说明：

   改变怪物外观

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | integer | X坐标(当X、Y都为0时，表示地图所有范围)
参数五 | integer | Y坐标(当X、Y都为0时，表示地图所有范围)
参数六 | integer | 范围(比如范围= 3时表示3*3的范围)
参数七 | string | 怪物名称(*不判断名称)
参数八 | integer | Appr代码
参数九 | integer | 有效时间(分钟)
返回值 |  | 无

使用示例：

function TestDemo()
    --改变怪物外观
    gNPC:CHANGEMAPMONAPPR(gObject, gPlayer, '3', 0, 0, 0, '羊', 161, 1)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '你已经将盟重地图中的所有羊显示成鹿外观，有效时间1分钟',
        249, 0, 10, 60)


获取地图上分身数量

获取地图上分身数量

   function CHANGEMAPMONAPPR()

说明：

   获取地图上分身数量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | integer | X坐标(当X、Y都为0时，表示地图所有范围)
参数五 | integer | Y坐标(当X、Y都为0时，表示地图所有范围)
参数六 | integer | 范围(比如范围= 3时表示3*3的范围)
参数七 | string | 变量
返回值 |  | 无

使用示例：

function TestDemo()
    --获取地图上分身数量
    gNPC:GETMAPHUMCLONECOUNT(gObject, gPlayer, 'N3', 0, 0, 0, 'N1')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '你已经将盟重地图中共有分身<$STR(N1)>个',
        249, 0, 10, 60)


禁止物品掉落

禁止物品掉落

   function STOPDROPITEM()

说明：

   禁止物品掉落

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：

function TestDemo()
    --禁止物品掉落
    gNPC:STOPDROPITEM(gObject, gPlayer)


强制怪物爆出物品、怪物掉落/爆出物品

强制怪物爆出物品、怪物掉落/爆出物品

   function MONDROPITEMS()

说明：

   强制怪物爆出物品、怪物掉落/爆出物品

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 怪物名称
参数四 | string | 物品名称
参数五 | integer | 物品数量
返回值 |  | 无

使用示例：

function TestDemo()
    --怪物掉落/爆出物品
    gNPC:MONDROPITEMS(gObject, gPlayer, '湖泊树妖[BOSS]', '远古-布巴克的救赎凯（女）', 1)


强制怪物爆出物品、怪物掉落/爆出物品

强制怪物爆出物品、怪物掉落/爆出物品

   function MONDROPITEMSEX()

说明：

   强制怪物爆出物品、怪物掉落/爆出物品。掉落物品支持掉落提示和怪物掉落触发

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 怪物名称
参数四 | string | 物品名称
参数五 | integer | 物品数量
返回值 |  | 无

使用示例：

function TestDemo()
    --怪物掉落/爆出物品
    gNPC:MONDROPITEMS(gObject, gPlayer, '湖泊树妖[BOSS]', '远古-布巴克的救赎凯（女）', 1)


人物攻击和被攻击掉血前触发，修改当前伤害血量

人物攻击和被攻击掉血前触发，修改当前伤害血量

   function CHANGEDAMAGEVALUE()

说明：

   人物攻击和被攻击掉血前触发，修改当前伤害血量。仅用以下触发使用(人物攻击目标掉血前：@AttackDamage  英雄攻击目标掉血前：@HeroAttackDamage
   人物被攻击掉血前：@StruckDamage  英雄被攻击掉血前：@HeroStruckDamage)。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 类型(0=数值 1=百分比)
参数四 | string | 控制符(+ - =)
参数五 | integer | 值
返回值 |  | 无

使用示例：

function TestDemo()
    --人物攻击和被攻击掉血前触发，修改当前伤害血量
    gNPC:CHANGEDAMAGEVALUE(gObject, gPlayer, 0, '+', 10)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '人物攻击目标，掉血量为<$DamageValue>，攻击加成10点血量',
        249, 0, 10, 60)


从文本里随机获取一组不相同的字符

从文本里随机获取一组不相同的字符

   function GETMULTIRANDOMTEXT()

说明：

    从文本里随机获取一组不相同的字符

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | string | 获取数量
参数五 | string | 保存变量(不输入括号的变量，非自定义变量，如:S1)
参数六 | string | 保存实际获取数量的变量
参数七 | integer | 是否绝对路径(0或空=相对路径 1=绝对路径)
返回值 |  | 无

使用示例：

function TestDemo()
    --从文本里随机获取一组不相同的字符
    gNPC:GETMULTIRANDOMTEXT(gObject, gPlayer, '..\\QuestDiary\\测试.txt', 10, 'S1', 'N1')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '在“测试.txt”文件里，随机获取10个不相同的字符，保存在变量S1~S10里面，实际获取到字符数量为:<$STR(N1)>',
        249, 0, 10, 60)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, 'S1=<$STR(S1)>', 249, 0, 10, 60)


获取一组不相同的随机数

获取一组不相同的随机数

   function GETMULTIRANDOMNUMBER()

说明：

    获取一组不相同的随机数

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 最小值
参数四 | integer | 最大值
参数五 | integer | 数量(最多200)
参数六 | string | 变量(不输入括号的变量，非自定义变量，如:N1)
参数七 | string | 保存实际获取数量的变量
返回值 |  | 无

使用示例：

function TestDemo()
    --获取一组不相同的随机数
    gNPC:GETMULTIRANDOMNUMBER(gObject, gPlayer, 100, 1000, 10, 'N1', 'M1')
    gNPC:SENDCENTERMSG(gObject, gPlayer, 180, 251, 'N10=<$STR(N10)>', 0)
    gNPC:SENDCENTERMSG(gObject, gPlayer, 180, 251, 'N9=<$STR(N9)>', 0)
    gNPC:SENDCENTERMSG(gObject, gPlayer, 180, 251, 'N8=<$STR(N8)>', 0)
    gNPC:SENDCENTERMSG(gObject, gPlayer, 180, 251, 'N7=<$STR(N7)>', 0)
    gNPC:SENDCENTERMSG(gObject, gPlayer, 180, 251, 'N6=<$STR(N6)>', 0)
    gNPC:SENDCENTERMSG(gObject, gPlayer, 180, 251, 'N5=<$STR(N5)>', 0)
    gNPC:SENDCENTERMSG(gObject, gPlayer, 180, 251, 'N4=<$STR(N4)>', 0)
    gNPC:SENDCENTERMSG(gObject, gPlayer, 180, 251, 'N3=<$STR(N3)>', 0)
    gNPC:SENDCENTERMSG(gObject, gPlayer, 180, 251, 'N2=<$STR(N2)>', 0)
    gNPC:SENDCENTERMSG(gObject, gPlayer, 180, 251, 'N1=<$STR(N1)>', 0)
    gNPC:SENDCENTERMSG(gObject, gPlayer, 180, 251, '获取10个不一样的随机数，范围在100到1000之间，保存在N1~N10变量里，实际获取到随机数的数量为:<$STR(M1)>.',
        0)


中断技能

中断技能

   function STOPMAGIC()

说明：

    中断技能。当人物使用技能前，自身触发。触发字段[@BeginMagic]

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：

function TestDemo()
    --当人物使用技能前自身触发员
    if gNPC:EQUAL(gObject, gPlayer, '<$MagicName>', '野蛮冲撞') and gNPC:EQUAL(gObject, gPlayer, '<$MagicTargetRace>', 0) then
        --中断技能
        gNPC:STOPMAGIC(gObject, gPlayer)
        gNPC:SENDCENTERMSG(gObject, gPlayer, 180, 251, '无法对其释放野蛮冲撞', 0)


获取地图人数

获取地图人数

   function GETMAPHUMCOUNT()

说明：

    获取地图人数

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | integer | 是否包含假人(0=不包含 1=包含)
参数五 | string | 返回人数保存变量
返回值 |  | 无

使用示例：

function TestDemo()
    --获取地图人数
    gNPC:GETMAPHUMCOUNT(gObject, gPlayer, 'N3', 1, 'N1')
    gNPC:SENDCENTERMSG(gObject, gPlayer, 180, 251, '当前土城有<$STR(N1)>人', 0)


按当前HP值的比例来加减HP

按当前HP值的比例来加减HP

   function ADDHPPEREX()

说明：

    按当前HP值的比例来加减HP

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 比例值
参数五 | integer | 比例类型(0或空=百分比 1=千分比 2=万分比)
返回值 |  | 无

使用示例：

function TestDemo()
    --按当前HP值的比例来加减HP
    gNPC:ADDHPPEREX(gObject, gPlayer, '+', 30)
    gNPC:SENDCENTERMSG(gObject, gPlayer, 180, 251, '你的血增加了30%', 0)


按当前MP值的比例来加减MP

按当前MP值的比例来加减MP

   function ADDMPPEREX()

说明：

    按当前MP值的比例来加减MP

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 比例值
参数五 | integer | 比例类型(0或空=百分比 1=千分比 2=万分比)
返回值 |  | 无

使用示例：

function TestDemo()
    --按当前MP值的比例来加减MP
    gNPC:ADDMPPEREX(gObject, gPlayer, '+', 30)
    gNPC:SENDCENTERMSG(gObject, gPlayer, 180, 251, '你的蓝量增加了30%', 0)


移动指定地图坐标的怪物到新的地图位置

移动指定地图坐标的怪物到新的地图位置

   function MOVEMAPMONTOPOS()

说明：

    移动指定地图坐标的怪物到新的地图位置。注意：Mir200\Envir\MoveMapMonToPosDisable.txt 文本中包含的怪物都不会被MOVEMAPMONTOPOS命令移走。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 怪物名称(*不匹配怪物名称)
参数四 | string | 原地图代码
参数五 | integer | 原地图X坐标
参数六 | integer | 原地图Y坐标
参数七 | integer | 原范围
参数八 | string | 新地图代码
参数九 | integer | 新地图X坐标
参数十 | integer | 新地图Y坐标
参数十一 | integer | 新范围
返回值 |  | 无

使用示例：

function TestDemo()
    --移动指定地图坐标的怪物到新的地图位置
    gNPC:MOVEMAPMONTOPOS(gObject, gPlayer, '黄牛', '108', 129, 179, 50, 'N3', 330, 300, 10)
    gNPC:SENDCENTERMSG(gObject, gPlayer, 180, 251, '你已经将绿野仙踪(129,179)50格范围内的黄牛传到了盟重省(330,330) 范围10以内',
        0)


爆率透视

爆率透视

   function PREVIEWMONDROPITEM()

说明：

   爆率透视

   脚本命令执行可透视鼠标指向的怪物爆率
   允许透视怪物在列表信息一中添加
   禁止透视物品在列表信息二物品规则添加
   列表信息一 爆率刷新时间解释：
   参数为0时 透视怪提前获取爆率，只要怪物不被杀死爆率永远不刷新
   参数大于0时 透视怪提前获取爆率，怪物被自己透视后，等达到设置时间后怪物恢复到初始状态,也就可以再次透视获取新的爆率,（怪需满血状态）
   参数等于0时 怪物被自己透视后，只要怪物不被杀死其他人不可透死此怪（因考虑内存使用不允许多人同时透视一个怪，因为爆率每个人都不一样，
   多人可透视需要消耗大量内存进行缓存）
   参数大于0时 怪物被自己透视后，等达到设置时间后爆率刷新，任何人可透视此怪，被一个人透视后其他人则不可透视（因考虑内存使用不允许多人
   同时透视一个怪，因为爆率每个人都不一样，多人可透视需要消耗大量内存进行缓存）

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 最多可显示透视物品数量(0或空=所有物品)
返回值 |  | 无

使用示例：

function TestDemo()
    --透视爆率 不限制透视物品数量
    gNPC:PREVIEWMONDROPITEM(gObject, gPlayer)


修改指定账号的注册信息

修改指定账号的注册信息

   function CHANGEACCOUNTINFO()

说明：

   修改指定账号的注册信息。需要指定账号，从密码开始内容均为修改内容。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 账号
参数四 | string | 密码
参数五 | string | 用户名
参数六 | string | 生日
参数七 | string | 提问1
参数八 | string | 回答1
参数九 | string | 提问2
参数十 | string | 回答2
参数十一 | string | 邮箱地址(可以为空)
参数十二 | integer | 手机(可以为空)
参数十三 | string | 二级密码(可以为空)
返回值 |  | 无

使用示例：

function TestDemo()
    --修改指定账号的注册信息
    gNPC:CHANGEACCOUNTINFO(gObject, gPlayer, 'a1234', '1234', '1234', '2019/01/01', 1, 2, 3, 4)


调整宝宝攻击人物威力(数值)

调整宝宝攻击人物威力(数值)

声明：

   function SETSLAVEATTACKHUMPOWERRATEEX()

说明：

   调整宝宝攻击人物威力(数值)

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 宝宝名称
参数四 | string | 控制符(+ - =)
参数五 | integer | 值
返回值 |  | 无

使用示例：

function TestDemo()
    --调整宝宝攻击人物威力(数值)
    gNPC:SETSLAVEATTACKHUMPOWERRATEEX(gObject, gPlayer, '黑暗王子', '+', 50)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '神兽增加50点攻击人物威力', 249, 0, 10, 60)


获取宝宝攻击人物威力

获取宝宝攻击人物威力

   function GETSLAVEATTACKHUMPOWERRATE()

说明：

   获取宝宝攻击人物威力

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 宝宝名称
参数四 | string | 变量
返回值 |  | 无

使用示例：

function TestDemo()
    --获取宝宝攻击人物威力
    gNPC:GETSLAVEATTACKHUMPOWERRATE(gObject, gPlayer, '黑暗王子', 'N11')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '神兽当前攻击人物威力值为<$STR(N11)>', 249, 0, 10, 60)


调整宠物攻击人物威力(数值)

调整宠物攻击人物威力(数值)

声明：

   function SETGAMEPETATTACKHUMPOWERRATEEX()

说明：

   调整宠物攻击人物威力(数值)

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 值
返回值 |  | 无

使用示例：

function TestDemo()
    --调整宠物攻击人物威力(数值)
    gNPC:SETGAMEPETATTACKHUMPOWERRATEEX(gObject, gPlayer, '+', 100)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '增加100点攻击人物威力', 249, 0, 10, 60)


获取宠物攻击人物威力

获取宠物攻击人物威力

   function GETGAMEPETATTACKHUMPOWERRATE()

说明：

   获取宠物攻击人物威力

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量
返回值 |  | 无

使用示例：

function TestDemo()
    --获取宠物攻击人物威力
    gNPC:GETGAMEPETATTACKHUMPOWERRATE(gObject, gPlayer, 'N11')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '当前攻击人物威力值为<$STR(N11)>', 249, 0, 10, 60)


根据排名中的名次获取玩家名称

根据排名中的名次获取玩家名称

   function GETRANKLEVELBYNO()

说明：

   根据排名中的名次获取玩家名称

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 排行榜(1-等级榜 2-战士榜 3-法师榜 4-道士榜)
参数四 | integer | 名次
参数五 | string | 玩家名字变量
返回值 |  | 无

使用示例：

function TestDemo()
    --根据排名获取名字
    gNPC:GETRANKNAMEBYNO(gObject, gPlayer, 1, 5, 'S1')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '个人榜第5名的人是：<$STR(S1)>', 249, 0, 10, 60)


根据玩家名称获取排名中的名次

根据玩家名称获取排名中的名次

   function GETRANKNOBYNAME()

说明：

   根据玩家名称获取排名中的名次

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 排行榜(1-等级榜 2-战士榜 3-法师榜 4-道士榜)
参数四 | string | 名字
参数五 | string | 名次变量
返回值 |  | 无

使用示例：

function TestDemo()
    --根据名字获取排名
    gNPC:GETRANKNOBYNAME(gObject, gPlayer, 1, '无敌', 'N1')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '个人榜名叫无敌的人排名为：<$STR(N1)>', 249, 0, 10, 60)


根据排名中的等级获取玩家名称

根据排名中的等级获取玩家名称

   function GETRANKLEVELBYNO()

说明：

   根据排名中的等级获取玩家名称

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 排行榜(1-等级榜 2-战士榜 3-法师榜 4-道士榜)
参数四 | integer | 名次
参数五 | string | 玩家等级变量
返回值 |  | 无

使用示例：

function TestDemo()
    --根据排名获取等级
    gNPC:GETRANKNAMEBYNO(gObject, gPlayer, 1, 1, 'S1')
    gNPC:GETRANKLEVELBYNO(gObject, gPlayer, 1, 1, 'N1')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '个人榜第1名的人是：<$STR(S1)>，等级为<$STR(N1)>', 249, 0, 10, 60)


根据玩家名称获取排名中的等级

根据玩家名称获取排名中的等级

   function GETRANKLEVELBYNAME()

说明：

   根据玩家名称获取排名中的等级

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 排行榜(1-等级榜 2-战士榜 3-法师榜 4-道士榜)
参数四 | string | 玩家名称
参数五 | string | 玩家等级变量
返回值 |  | 无

使用示例：

function TestDemo()
    --根据玩家名称获取排名中的等级
    gNPC:GETRANKLEVELBYNAME(gObject, gPlayer, 1, '无敌', 'N2')
    gNPC:GETRANKNOBYNAME(gObject, gPlayer, 1, '无敌', 'N1')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '无敌在个人榜中的排名为：<$STR(N1)>，等级为<$STR(N2)>', 249, 0,
        10, 60)


暂停游戏刷怪

暂停游戏刷怪

   function STOPM2MAKEMON()

说明：

   暂停游戏刷怪

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 是否暂停(0=不暂停 1= 暂停)
返回值 |  | 无

使用示例：

function TestDemo()
    --检测是否暂停刷怪
    if gNPC:CHECKSTOPM2MAKEMON(gObject, gPlayer) then
        --暂停游戏刷怪
        gNPC:STOPM2MAKEMON(gObject, gPlayer, 0)
        gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '现在已经恢复M2刷怪', 249, 0, 10, 60)


修改地图怪物名称

修改地图怪物名称

   function CHANGEMAPMONNAMEEX()

说明：

   修改地图怪物名称。修改名字后爆率依然读取源名字怪物爆率

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 地图代码
参数四 | integer | X坐标(当X、Y坐标范围均为0时表示地图所有范围)
参数五 | integer | Y坐标
参数六 | integer | 范围(比如范围= 3时表示3*3)
参数七 | string | 原怪物名称(*表示不判断)
参数八 | string | 新怪物名称
返回值 |  | 无

使用示例：

function TestDemo()
    --修改地图怪物名称
    gNPC:CHANGEMAPMONNAMEEX(gObject, gPlayer, 'N3', 0, 0, 0, '稻草人', '白野猪')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '你已经将盟重地图中的所有稻草人改名为白野猪了', 249, 0,
        10, 60)


中止传送戒指传送

中止传送戒指传送

   function STOPTELEPORT()

说明：

   中止传送戒指传送

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：

function TestDemo()
    --中止传送戒指传送
    gNPC:STOPTELEPORT(gObject, gPlayer)


设置物品来源

设置物品来源

   function SETTHROWITEMFROM()

说明：

   设置物品来源

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 物品来源(0-9) 0=未知 1=GM制造 2=脚本 3=商店购买 4=打怪掉落 5=系统给予 6=挖矿得到 7=宝箱取得 8=挖肉得到 9=捕捉得到
参数四 | string | 地图代码
参数五 | string | 杀死怪物名称
参数六 | string | 经手人名称
参数七 | string | 日期(yyyy-mm-dd)
参数八 | string | 时间(hh:nn:ss)
返回值 |  | 无

使用示例：

function TestDemo()
    --设置物品来源
    gNPC:SETTHROWITEMFROM(gObject, gPlayer, 4, '108', '黄牛', '杀人者', '2023-01-11', '10:00:00')
    gNPC:THROWITEM(gObject, gPlayer, '<$map>', '<$x>', '<$y>', 1, '暗·撒卡兰紫的项链', '1|0')


刷新透视爆率

刷新透视爆率

   function PREVIEWMONDROPITEMREFRESH()

说明：

   刷新透视爆率。 刷新一次表示重置一次爆率，相当于正常流程刷新一次杀死一次怪物

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 最多显示数量
参数四 | integer | 刷新条件(0=仅刷新有间隔的透视怪物 1=无条件刷新)
返回值 |  | 无

使用示例：

function TestDemo()
    --刷新透视爆率
    gNPC:PREVIEWMONDROPITEMREFRESH(gObject, gPlayer, 10, 1)


技能CD清零

技能CD清零

   function CLEARSKILLCD()

说明：

   技能CD清零

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 技能名称
返回值 |  | 无

使用示例：

function TestDemo()
    --技能CD清零
    gNPC:CLEARSKILLCD(gObject, gPlayer, '烈火剑法')


增加中止行会成员添加

增加中止行会成员添加

   function STOPHUMANJOINGUILD()

说明：

   增加中止行会成员添加。仅限增加加入行会成员前触发QF.[@BeforeJoinGuild] 中使用触发(老行会:行会老大添加成员时触发，新行会：行会老大接受申请前触发)

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：

function TestDemo()
    --增加中止行会成员添加
    gNPC:STOPHUMANJOINGUILD(gObject, gPlayer)


强制掉落人物身上的装备

强制掉落人物身上的装备

   function HUMANDROPUSEITEM()

说明：

   强制掉落人物身上的装备

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
返回值 |  | 无

使用示例：

function TestDemo()
    --强制掉落人物身上的装备
    gNPC:HUMANDROPUSEITEM(gObject, gPlayer, 1)


循环

循环

   function WHILE()

说明：

   循环

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 变量/值
参数四 | string | 检测符(> < =)
参数五 | string | 变量/值
返回值 |  | 无

使用示例：

function TestDemo()
    gNPC:MOV(gObject, gPlayer, 'N12', 1)
    --开始循环
    gNPC:WHILE(gObject, gPlayer, 'N12', '<', 10)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '你当前N12变量的值为：<$STR(N12)>', 249, 0, 10, 60)
    gNPC:INC(gObject, gPlayer, 'N12', 1)
    --结束循环
    gNPC:ENDWHILE(gObject, gPlayer)


结束循环

结束循环

   function ENDWHILE()

说明：

   结束循环

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：

function TestDemo()
    gNPC:MOV(gObject, gPlayer, 'N12', 1)
    --开始循环
    gNPC:WHILE(gObject, gPlayer, 'N12', '<',10)
    gNPC:MESSAGEBOX(gObject, gPlayer, '你当前N12变量的值为：<$STR(N12)>')
    gNPC:INC(gObject, gPlayer, 'N12', 1)
    --结束循环
    gNPC:ENDWHILE(gObject, gPlayer)


调整合击怒气值

调整合击怒气值

   function SETANGRYVALUE()

说明：

   调整合击怒气值

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 控制符(+ - =)
参数四 | integer | 值
参数五 | integer | 是否为百分比(0=点数 1=百分比)
返回值 |  | 无

使用示例：

function TestDemo()
    --调整合击怒气值
    gNPC:SETANGRYVALUE(gObject, gPlayer, '+', 5, 0)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '你的英雄怒气增加了5个点', 249, 0, 10, 60)


上下马

上下马

   function UPORDOWNHORSE()

说明：

   上下马

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：

function TestDemo()
    --上下马
    gNPC:UPORDOWNHORSE(gObject, gPlayer)


复制文件

复制文件

   function COPYFILE()

说明：

   复制文件

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 源文件
参数四 | string | 目标文件
参数五 | integer | 是否覆盖目标(0=覆盖 1=目标已存在不覆盖)
返回值 |  | 无

使用示例：

function TestDemo()
    --复制文件
    gNPC:COPYFILE(gObject, gPlayer, '..\\QuestDiary\\测试.txt', 'D:\\测试.txt', 0)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '文件复制成功', 249, 0, 10, 60)


停止播放音乐

停止播放音乐

   function STOPSOUND()

说明：

   停止播放音乐

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件位置
参数四 | integer | 停止模式(0=播放给自己 1=播放给全服 2=播放给同一地图 4=播放给同屏人物)
返回值 |  | 无

使用示例：

function TestDemo()
    --停止播放音乐
    gNPC:STOPSOUND(gObject, gPlayer, 'Wav\\1.wav', 0)


获取行会人数脚本命令

获取行会人数脚本命令

   function GETGUILDMEMBERCOUNT()

说明：

   获取行会人数脚本命令

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 行会名称
参数四 | string | 保存变量(行会不存在返回0)
参数五 | integer | 返回人数类型(0或空=行会总人数 1=行会当前在线成员人数)
返回值 |  | 无

使用示例：

function TestDemo()
    --获取行会人数脚本命令
    gNPC:GETGUILDMEMBERCOUNT(gObject, gPlayer, '<$guildname>', 'N$人数')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '你的行会人数:<$STR(N$人数)> ', 249, 0, 10, 60)


四则表达式运算

四则表达式运算

   function FORMULATION()

说明：

   四则表达式运算

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 通用的数学表达式 支持的单参数数学函数有：tan、sin、cos、sinh、cosh、arctan、cotan、arg、exp、ln、log10、log2、sqr、sqrt、abs、trunc、int、ceil、floor、heav、sign、zero、ph、rnd、random
参数四 | string | 保存变量
返回值 |  | 无

使用示例：

function TestDemo()
    --数学表达式运算
    gNPC:FORMULATION(gObject, gPlayer, 'trunc(100/9)', 'N1')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '<$STR(N1)>', 249, 0, 10, 60)


NPC命令设置聊天框物品

NPC命令设置聊天框物品

   function SETSAYITEM()

说明：

   NPC命令设置聊天框物品

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 物品MakeIndex(唯一ID)
返回值 |  | 无

使用示例：

function TestDemo()
    --NPC命令设置聊天框物品 以下内容可放在穿脱装备下触发
    gNPC:SETSAYITEM(gObject, gPlayer, '<$CurItemMakeIndex>', '[<$CurItemName>]')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, ' {[<$CurItemName>]/<$CurItemMakeIndex>}', 249, 0, 10, 60)


获取指定位置的物品数量

获取指定位置的物品数量

   function GETITEMCOUNT()

说明：

   获取指定位置的物品数量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 位置(0=背包 1=装备栏 2=首饰盒 3=神佑栏 4=普通仓库 5=无限仓库 6=摆摊)
参数四 | string | 物品名称
参数五 | string | 变量
返回值 |  | 无

使用示例：

function TestDemo()
    --获取指定位置的物品数量
    gNPC:GETITEMCOUNT(gObject, gPlayer, 0, '黑暗王子', 'N0')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '背包中黑暗王子的数量为<$STR(N0)>', 249, 0, 10, 60)


隐身状态属性

隐身状态属性

   function HIDEMODEEX()

说明：

   隐身状态属性。如同隐身戒指。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 时间
参数四 | integer | 是否半透明(0=否 1=是)
返回值 |  | 无

使用示例：

function TestDemo()
    --隐身状态属性
    gNPC:HIDEMODEEX(gObject, gPlayer, 5, 1)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '你已经拥有隐身属性了', 249, 0, 10, 60)


中止装备取下

中止装备取下

   function STOPTAKEOFF()

说明：

   中止装备取下。QF触发：人物取下装备前触发：[@BeginTakeOff]  英雄取下装备前触发：[@HeroBeginTakeOff]

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：

function TestDemo()
    --中止装备取下
    gNPC:STOPTAKEOFF(gObject, gPlayer)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer,
        '你身上的物品位置：<$CurItemPos>，名称：<$CurItemName>，改名名称：(<$G_CurItemName>)，ID：<$CurItemMakeIndex> 在当前地图禁止更换！',
        249, 0, 10, 60)


停止个人商店物品上架/下架

停止个人商店物品上架/下架

   function STOPSHOPITEM()

说明：

   停止个人商店物品上架/下架。QF触发：个人商店上架物品到出售：[@BeginShopItemUp] 个人商店从出售下架物品：[@BeginShopItemDown]

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：

function TestDemo()
    --停止个人商店物品上架/下架
    gNPC:STOPSHOPITEM(gObject, gPlayer)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer,
        '禁止上架物品到商铺<$UserShopName>，物品数据库名：<$CURITEMNAME>；物品名：<$G_CURITEMNAME>；物品数量：<$CurItemOverlapCount>；ID：<$CurItemMakeIndex>；
        售价：<$CurItemPrices><$CurItemMoneyType>(货币类型值：<$CurItemMoneyTypeValue>)',249, 0, 10, 60)


根据物品名称将背包物品放入仓库

根据物品名称将背包物品放入仓库

   function BAGITEMTOSTORAGE()

说明：

   根据物品名称将背包物品放入仓库

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 物品名称
参数四 | integer | 仓库类型(0或空=普通仓库 1=无限仓库)
参数五 | string | 变量(保存实际存放数量)
返回值 |  | 无

使用示例：

function TestDemo()
    --根据物品名称将背包物品放入仓库
    gNPC:BAGITEMTOSTORAGE(gObject, gPlayer, '真命天子', 0, 'N22')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '背包的真命天子有<$STR(N22)>保存到普通仓库中', 249, 0, 10, 60)


根据物品ID将背包物品放入仓库

根据物品ID将背包物品放入仓库

   function BAGITEMTOSTORAGEIDX()

说明：

   根据物品ID将背包物品放入仓库

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 数据库物品IDX
参数四 | integer | 仓库类型(0或空=普通仓库 1=无限仓库)
参数五 | string | 变量(保存实际存放数量)
返回值 |  | 无

使用示例：

function TestDemo()
    --根据物品ID将背包物品放入仓库
    gNPC:BAGITEMTOSTORAGEIDX(gObject, gPlayer, 481, 0, 'N22')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '背包的IDX为481的物品有<$STR(N22)>保存到普通仓库中', 249, 0, 10, 60)


文本字符交替/文本字符替换

文本字符交替/文本字符替换

   function EXCHANGELINETEXT()

说明：

   文本字符交替/文本字符替换。可以将文本进行排名，交替换位置，一般用于捐献榜、拍行榜脚本。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件名
参数四 | integer | 行数1(大于0=指定行 小于0=取倒数第几行)
参数五 | string | 变量1
参数六 | integer | 行数2(大于0=指定行 小于0=取倒数第几行)
参数七 | string | 变量2
返回值 |  | 无

使用示例：

function TestDemo()
    --文本字符交替
    gNPC:EXCHANGELINETEXT(gObject, gPlayer, 'd:\\测试.txt', 1, 'S1', -1, 'S2')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '已经将d:\\测试.txt中的第1行和最后1行进行交换，交行后：第1行的值为<$STR(S1)>,最后一行的值为<$STR(S2)>',
        249, 0, 10, 60)


高效率缓存文本字符交替/文本字符替换

高效率缓存文本字符交替/文本字符替换

   function CACHEEXCHANGELINETEXT()

说明：

   高效率缓存文本字符交替/文本字符替换

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件名
参数四 | integer | 行数1(大于0=指定行 小于0=取倒数第几行)
参数五 | string | 变量1
参数六 | integer | 行数2(大于0=指定行 小于0=取倒数第几行)
参数七 | string | 变量2
返回值 |  | 无

使用示例：

function TestDemo()
    --高效率缓存文本字符交替/文本字符替换
    gNPC:CACHEEXCHANGELINETEXT(gObject, gPlayer, 'd:\\测试.txt', 1, 'S1', -1, 'S2')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '已经将d:\\测试.txt中的第1行和最后1行进行交换，交行后：第1行的值为<$STR(S1)>,最后一行的值为<$STR(S2)>',
        249, 0, 10, 60)


人物中止穿装备

人物中止穿装备

   function STOPTAKEON()

说明：

   人物中止穿装备。QF触发：人物穿戴装备前触发：[@BeginTakeOn] 英雄穿戴装备前触发：[@HeroBeginTakeOn]

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：

function TestDemo()
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer,
        'Begin穿装备：位置:<$CurItemPos>，物品:<$CurItemName>(<$G_CurItemName>)，ID:<$CurItemMakeIndex>',
        249, 0, 10, 60)
    --人物中止穿装备
    gNPC:STOPTAKEON(gObject, gPlayer)


回收指定位置装备

回收指定位置装备

   function TAKEPOSW()

说明：

   回收指定位置装备

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 装备位置
返回值 |  | 无

使用示例：

function TestDemo()
    --回收指定位置装备
    gNPC:TAKEPOSW(gObject, gPlayer, 1)
    gNPC:TAKEPOSW(gObject, gPlayer, 30)
    gNPC:TAKEPOSW(gObject, gPlayer, 40)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '武器，首饰1，生肖1已被回收', 249, 0, 10, 60)


打开NPC对话框

打开NPC对话框

   function CLICKNPC()

说明：

   打开NPC对话框。要求在NPC可对话范围内才有效

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | NPC名称
返回值 |  | 无

使用示例：

function TestDemo()
    --打开NPC对话框
    gNPC:CLICKNPC(gObject, gPlayer, '测试二')


按坐标打开对话框

按坐标打开对话框

   function CLICKNPCLOCAL()

说明：

   按坐标打开对话框。要求在NPC可对话范围内才有效

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | NPC所在X坐标
参数四 | integer | NPC所在Y坐标
返回值 |  | 无

使用示例：

function TestDemo()
    --按坐标打开对话框
    gNPC:CLICKNPCLOCAL(gObject, gPlayer, 332, 328)


引导区域点击

引导区域点击

   function GUIDE()

说明：

   引导区域点击。引导可以点击的区域，点击以后会触发QF字段的 [@ClientGuideX] X代表触发ID

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 类型(为0时代表自定UI里的控件引导)
参数四 | integer | 触发ID
参数五 | integer | 控件ID(0=主界面 2=人物装备栏 3=人物背包栏 4=英雄装备栏 5=英雄背包栏 6=聊天框左侧龙界面 7=聊天框右侧等级界面 8=商铺界面 9=时装界面 10=英雄时装 11=技能栏 12=英雄技能栏 13=称号栏 14=英雄称号栏 15=状态栏 16=英雄状态栏 17=属性栏 18=英雄属性栏 19=人物出战栏 20=行会界面 21=详细属性位置 22=宠物界面 23=宠物背包 24=人物首饰 25=英雄首饰 26=人物神佑 27=英雄神佑 28右侧切换按钮 29任务界面)
参数六 | string | 引导提示文字
参数七 | string | 控件名称(类名获取 查看自定义UI的控件标题)
返回值 |  | 无

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 类型(为1时代表道具引导)
参数四 | integer | 触发ID
参数五 | integer | 控件ID(0=人物背包栏 1=人物装备栏)
参数六 | string | 引导提示文字
参数七 | integer | 道具唯一ID
返回值 |  | 无

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 类型(为2时代表按钮引导)
参数四 | integer | 触发ID
参数五 | integer | BUTTON的触发序号
参数六 | string | 引导提示文字
返回值 |  | 无

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 类型(为99时代表NPC界面引导)
参数四 | integer | 触发ID
参数五 | integer | 新脚本前的编号ID
参数六 | string | 引导提示文字
返回值 |  | 无

使用示例：

function TestDemo()
    --引导区域点击 类型=0
    gNPC:GUIDE(gObject, gPlayer, 0, 1, 3, '点击整理一下', 'DItemBagArrange')
    --引导区域点击 类型=1
    gNPC:GUIDE(gObject, gPlayer, 1, 1, 0, '双击使用物品', 3023)
    --引导区域点击 类型=2
    gNPC:GUIDE(gObject, gPlayer, 2, 1, 1, '引导1号按钮')
    --引导区域点击 类型=99
    gNPC:GUIDE(gObject, gPlayer, 99, 1, 22, '点这里')


切割字符串自动保存到变量

切割字符串自动保存到变量

   function EXTRACTSTRINGEX()

说明：

   切割字符串自动保存到变量

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 切割符号
参数四 | string | 切割内容
参数五 | string | 保存变量
返回值 |  | 无

使用示例：

function TestDemo()
    gNPC:MOV(gObject, gPlayer, 'S$切割内容', '裁决之仗,A,天魔神甲,B,圣战戒指,C')
    --切割字符串自动保存到变量
    gNPC:EXTRACTSTRINGEX(gObject, gPlayer, ',', ' <$STR(S$切割内容)>', 'S$切割后内容', 'N$切割数量')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer,
        '提示:<$STR(N$切割数量)>个变量。<$STR(S$切割后内容1)><$STR(S$切割后内容2)><$STR(S$切割后内容3)><$STR(S$切割后内容4)><$STR(S$切割后内容5)><$STR(S$切割后内容6)>',
        249, 0, 10, 60)


读取文本行数

读取文本行数

   function GETTEXTLINECOUNT()

说明：

   读取文本行数

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 文件路径
参数四 | string | 保存变量
返回值 |  | 无

使用示例：

function TestDemo()
    --读取文本行数
    gNPC:GETTEXTLINECOUNT(gObject, gPlayer, '..\\QuestDiary\\角色名单.txt', 'N$行数')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '提示:角色名单.txt文件共有<$STR(N$行数)>行内容', 249, 0, 10, 60)


设置自定义货币

设置自定义货币

   function MONEY()

说明：

   设置自定义货币。此功能目前没有经过详细测试，建议RMB点类比较重要的货币暂且不要使用此功能。 自定义货币设置路径：Mir200\Envir\CustomMoney.txt  如果没有请自动创建。
   格式：货币名称|组|序号|是否记录日志|是否个人商店可用|预留|是否拍卖行可用|是否角色交易可用
   例子：绑定元宝|1|1|1|0|0|0|0
         元宝|1|2|1|1|0|0|0
         RMB点|2|1|1|1|0|1|1
   货币显示常量：<#MONEY(绑定元宝)>  <#MONEY(元宝)>  <#MONEY(RMB点)>

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 拓展自定义货币名称
参数四 | string | 控制符(+ -)
参数五 | integer | 货币数量
返回值 |  | 无

使用示例：

function TestDemo()
    --设置自定义货币
    gNPC:MONEY(gObject, gPlayer, '元宝', '+', 1000)


关联扣除货币命令

关联扣除货币命令

   function CHANGEBINDMONEY()

说明：

   关联扣除货币命令。关联扣除根据分组扣除货币,分组序号由低到高扣除。比如扣除绑定元宝,绑定元宝不足时会扣除元宝。

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 绑定货币名称
参数四 | integer | 货币数量
返回值 |  | 无

使用示例：

function TestDemo()
    --关联扣除货币命令
    gNPC:CHANGEBINDMONEY(gObject, gPlayer, '绑定元宝', 1000)


取两个时间之间的相差

取两个时间之间的相差

   function GETINTERVAL()

说明：

   取两个时间之间的相差。服务器的时间格式修改为:yyyy-M-d,否则会提示该命令的时间格式错误

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | stirng | 时间1
参数四 | stirng | 时间2
参数五 | integer | 比较类型(0=年 1=月 2=星期 3=天 4=小时 5=分钟 6=秒)
参数六 | stirng | 保存变量
返回值 |  | 无

使用示例：

function TestDemo()
    --取两个时间之间的相差
    gNPC:GETINTERVAL(gObject, gPlayer, '<$datetime>', '<$YEAR>-<$MONTH>-<$DAY>,23:59:59', 6, 'S$时间')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '距离当天结束还剩余<$STR(S$时间)>秒', 249, 0, 10, 60)


打开客户端界面

打开客户端界面

   function OPENDLG()

说明：

   打开客户端界面

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 状态(0=打开 1=关闭)
参数四 | integer | 界面编号(2=人物装备栏 3=人物背包栏 4=英雄装备栏 5=英雄背包栏 6=聊天框左侧龙界面 7=聊天框右侧等级界面 8=商铺界面 9=时装界面 10=英雄时装 11=技能栏 12=英雄技能栏 13=称号栏 14=英雄称号栏 15=状态栏 16=英雄状态栏 17=属性栏 18=英雄属性栏 19=人物出战栏 20=行会界面 21=详细属性位置 22=宠物界面 23=宠物背包 24=人物首饰 25=英雄首饰 26=人物神佑 27= 英雄神佑)
返回值 |  | 无

使用示例：

function TestDemo()
    --打开客户端界面
    gNPC:OPENDLG(gObject, gPlayer, 0, 3)


通过唯一ID将物品放入OK框

通过唯一ID将物品放入OK框

   function GIVEBOXITEMEX()

说明：

   通过唯一ID将物品放入OK框

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | OK框编号(0-31)
参数四 | integer | 唯一ID
返回值 |  | 无

使用示例：

function TestDemo()
    --通过唯一ID将物品放入OK框
    gNPC:GIVEBOXITEMEX(gObject, gPlayer, 20, '<$UseItemMakeIndex>')


脚本性能原子钟

脚本性能原子钟

   function PRINTUSETIME()

说明：

   脚本性能原子钟。检测一段脚本的执行时间单位(微秒) 1000微秒=1秒钟  数值越低说明脚本执行效率越高

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 执行状态(1=脚本开始 2=脚本结束)
参数四 | stirng | 保存变量
返回值 |  | 无

使用示例：

function TestDemo()
    --脚本性能原子钟
    gNPC:PRINTUSETIME(gObject, gPlayer, 1)
    --以下执行Call脚本，执行后停止
    --#CALL[\测试.txt] @我是真的很复杂
    gNPC:PRINTUSETIME(gObject, gPlayer, 2, 'N0')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '提示:脚本执行耗时<$STR(N0)>秒', 249, 0, 10, 60)


脚本命令开启行会战

脚本命令开启行会战

   function GUILDWAR()

说明：

   脚本命令开启行会战。只有行会掌门人才可以使用

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 目标行会名称
返回值 |  | 无

使用示例：

function TestDemo()
    --脚本命令开启行会战
    gNPC:GUILDWAR(gObject, gPlayer, '蓝方')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '提示:您对蓝方宣战了..', 249, 0, 10, 60)


获取宝宝所在位置信息

获取宝宝所在位置信息

   function GETSLAVEPOSITION()

说明：

   获取宝宝所在位置信息

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 宝宝名称
参数四 | string | 变量1(保存所在位置MAP)
参数五 | string | 变量2(保存所在位置X坐标)
参数六 | string | 变量3(保存所在位置Y坐标)
返回值 |  | 无

使用示例：

function TestDemo()
    --获取宝宝所在位置信息
    gNPC:GETSLAVEPOSITION(gObject, gPlayer, '黑暗王子', 'N$地图', 'N$X坐标', 'N$Y坐标')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '您的黑暗王子在<$STR(N$地图)>坐标(<$STR(N$X坐标)>,<$STR(N$Y坐标)>)',
        249, 0, 10, 60)


禁止退出行会

禁止退出行会

   function STOPEXITGUILD()

说明：

   禁止退出行会。人物被开除或者退出行会前QF的触发[@ExitGuildBefore]

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：

function TestDemo()
    --禁止退出行会
    gNPC:STOPEXITGUILD(gObject, gPlayer)


给予聚满经验的聚灵珠

给予聚满经验的聚灵珠

   function GIVEFULLBEAD()

说明：

   给予聚满经验的聚灵珠

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 聚灵珠名称
参数四 | Integer | 数量
返回值 |  | 无

使用示例：

function TestDemo()
    --给予聚满经验的聚灵珠
    gNPC:GIVEFULLBEAD(gObject, gPlayer, '聚灵珠(大)', 5)


扣除聚集满经验的聚灵珠

扣除聚集满经验的聚灵珠

   function TAKEFULLBEAD()

说明：

   扣除聚集满经验的聚灵珠

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 聚灵珠名称
参数四 | Integer | 数量
返回值 |  | 无

使用示例：

function TestDemo()
    if gNPC:CHECKFULLBEAD(gObject, gPlayer, '聚灵珠(大)', '>', 4) then
        --扣除聚集满经验的聚灵珠
        gNPC:TAKEFULLBEAD(gObject, gPlayer, '聚灵珠(大)', 5)


清除人物仓库所有物品

清除人物仓库所有物品

   function CLEARSTORAGEITEM()

说明：

   清除人物仓库所有物品

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 仓库类型(1=普通仓库 2=无限仓库)
返回值 |  | 无

使用示例：

function TestDemo()
    --清除人物仓库所有物品
    gNPC:CLEARSTORAGEITEM(gObject, gPlayer, 2)


禁止使用聚灵珠

禁止使用聚灵珠

   function CLEARSTORAGEITEM()

说明：

   禁止使用聚灵珠。使用聚灵珠触发QF中的[@BeginUseBead]

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：

function TestDemo()
    --禁止使用聚灵珠
    gNPC:STOPUSEBEAD(gObject, gPlayer)


获取全身装备的原始数据字段合计值

获取全身装备的原始数据字段合计值

   function GETALLDBITEMFIELDVALUE()

说明：

   获取全身装备的原始数据字段合计值

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 字段名称
参数四 | string | 保存变量(所有穿戴合计结果)
返回值 |  | 无

使用示例：

function TestDemo()
    --获取物品原始各项数据库字段值参数
    gNPC:GETALLDBITEMFIELDVALUE(gObject, gPlayer,'shape', 'N1')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '提示:你身上装备的Shape共有<$STR(N1)>点！', 249, 0, 10, 60)


通过技能名称取数据库字段值

通过技能名称取数据库字段值

   function GETDBMAGICFIELDVALUE()

说明：

   通过技能名称取数据库字段值

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 技能名称
参数四 | string | 字段名称
参数五 | string | 保存变量
返回值 |  | 无

使用示例：

function TestDemo()
    --通过技能名称取数据库字段值
    gNPC:GETDBMAGICFIELDVALUE(gObject, gPlayer, '精准剑法', 'power', 'N1')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '提示:精准剑法的基础威力为<$STR(N1)>点！', 249, 0, 10, 60)


通过技能ID取数据库字段值

通过技能ID取数据库字段值

   function GETDBMAGICIDFIELDVALUE()

说明：

   通过技能ID取数据库字段值

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 技能ID
参数四 | string | 字段名称
参数五 | string | 保存变量
返回值 |  | 无

使用示例：

function TestDemo()
    --通过技能ID取数据库字段值
    gNPC:GETDBMAGICIDFIELDVALUE(gObject, gPlayer, 3, 'power', 'N1')
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '提示:精准剑法的基础威力为<$STR(N1)>点！', 249, 0, 10, 60)


禁止参与竞拍

禁止参与竞拍

   function STOPAUCTIONBUY()

说明：

   禁止参与竞拍。购买之前触发QF中的[@BeginAuctionBuy]，购买完成取回商品QF中的[@AuctionItemTakeBack]

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
返回值 |  | 无

使用示例：

function TestDemo()
    --禁止参与竞拍
    gNPC:STOPAUCTIONBUY(gObject, gPlayer)


打开隔位野蛮

打开隔位野蛮

   function SETSPACEMOTAEBO()

说明：

   打开隔位野蛮。使用此命令需关闭M2野蛮冲撞技能参数界面中隔位野蛮选项

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | integer | 时间(-1=关闭 0=在线一直有效 >0=具体数值秒)
返回值 |  | 无

使用示例：

function TestDemo()
    --打开隔位野蛮
    gNPC:SETSPACEMOTAEBO(gObject, gPlayer, 5)
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '隔位野蛮开启5秒钟', 249, 0, 10, 60)


按给定概率随机获取分割后的字符串

按给定概率随机获取分割后的字符串

   function RANDOMSPLIT()

说明：

   按给定概率随机获取分割后的字符串

参数：

 | 数据类型 | 描述
参数一 | TBaseObject | 基本对象
参数二 | TPlayerObject | 玩家对象
参数三 | string | 需要获取随机的字符串 字符串#概率|字符串#概率 字符串分割符“|”(字符串顺序无要求)
参数四 | integer | 0~2（0=参数4返回“字符串” 1=参数4返回“概率值” 2=参数4返回“字符串#概率值”）
参数五 | string | 随机得到的结果所保存的变量
参数六 | integer | 0~2（0=参数6返回“字符串|字符串|字符串” 1=参数6返回“概率值|概率值|概率值” 2=参数6返回“字符串#概率值|字符串#概率值”)
参数七 | string | 剩余的结果所保存的变量
返回值 |  | 无

使用示例：

function TestDemo()
    --按给定概率随机获取分割后的字符串
    gNPC:RANDOMSPLIT(gObject, gPlayer, '木剑#2|裁决#1|怒斩#3|屠龙#5', 0, 'S$结果', 2, 'S$剩余')
    --总事件数(概率分母)：11=2+1+3+5
    gNPC:SENDMOVEHINTMSG(gObject, gPlayer, '随机取到字符串：<$str(S$结果)>，剩余的字符串值：<$str(S$剩余)>',
        249, 0, 10, 60)


TVariableDB [自定义变量类]

GXX引擎 Lua脚本接口 > TVariableDB [自定义变量类] >
TVariableDB

TVariableDB介绍：

    TVariableDB为自定义变量类

支持自定义变量的类型
类 | 类名称
TDBItemObject | 数据库物品类
TDBMagicObject | 数据库技能类
TDBMonObject | 数据库怪物类
TEnvirnoment | 地图环境对象类
TGuild | 行会对象类
THeroObject | 英雄对象类
TNormNpc | NPC对象类
TPlayObject | 玩家对象类
TSystem | 系统对象类
TUserItemObject | 用户物品类
TUserMagicObject | 用户魔法类


方法

GXX引擎 Lua脚本接口> TVariableDB [自定义变量类] >
TVariableDB

自定义变量类：

方法名称 | 描述
LoadVariables | 读取对象变量值
SaveVariables | 保存对象变量值
DeleteVariables | 删除对象变量值


读取对象变量值

GXX引擎 Lua脚本接口 > TVariableDB [自定义变量类] > 方法 >
读取对象变量值

声明：

    function LoadVariables()

说明：

    保存对象变量值

参数：

 | 数据类型 | 描述
参数一 | 字符串表 | 变量名称表
返回值 | 表 | 变量值表

使用示例：

function TestDemo()
    print('----------LoadVariables.gSystem----------')
    gSystem:LoadVariables({ 'StrVar', 'IntVar', 'BoolVar' })
    print(gSystem.StrVar)
    print(gSystem.IntVar)
    print(gSystem.BoolVar)

    print('----------LoadVariables.gNPC----------')
    gNPC:LoadVariables({ 'StrVar', 'IntVar', 'BoolVar' })
    print(gNPC.StrVar)
    print(gNPC.IntVar)
    print(gNPC.BoolVar)

    print('----------LoadVariables.gPlayer----------')
    gPlayer:LoadVariables({ 'StrVar', 'IntVar', 'BoolVar' })
    print(gPlayer.StrVar)
    print(gPlayer.IntVar)
    print(gPlayer.BoolVar)


保存对象变量值

GXX引擎 Lua脚本接口 > TVariableDB [自定义变量类] > 方法 >
保存对象变量值

声明：

    function SaveVariables()

说明：

    保存对象变量值

参数：

 | 数据类型 | 描述
参数一 | 字符串表 | 变量名称表
返回值 |  | 无

使用示例：

function TestDemo()
    print('----------SaveVariables.gSystem----------')
    gSystem.StrVar = 'gSystem.StrVar'
    gSystem.IntVar = 100
    gSystem.BoolVar = true
    gSystem:SaveVariables({ 'StrVar', 'IntVar', 'BoolVar' })
    print(gSystem.StrVar)
    print(gSystem.IntVar)
    print(gSystem.BoolVar)

    print('----------SaveVariables.gNPC----------')
    gNPC.StrVar = 'gNPC.StrVar'
    gNPC.IntVar = 200
    gNPC.BoolVar = true
    gNPC:SaveVariables({ 'StrVar', 'IntVar', 'BoolVar' })
    print(gNPC.StrVar)
    print(gNPC.IntVar)
    print(gNPC.BoolVar)

    print('----------SaveVariables.gPlayer----------')
    gPlayer.StrVar = 'gPlayer.StrVar'
    gPlayer.IntVar = 300
    gPlayer.BoolVar = true
    gPlayer:SaveVariables({ 'StrVar', 'IntVar', 'BoolVar' })
    print(gPlayer.StrVar)
    print(gPlayer.IntVar)
    print(gPlayer.BoolVar)


删除对象变量值

GXX引擎 Lua脚本接口 > TVariableDB [自定义变量类] > 方法 >
删除对象变量值

声明：

    function DeleteVariables()

说明：

    删除对象变量值

参数：

 | 数据类型 | 描述
参数一 | 字符串表 | 变量名称表
返回值 |  | 无

使用示例：

function TestDemo()
    print('----------DeleteVariables.gSystem----------')
    gSystem:DeleteVariables({ 'StrVar', 'IntVar', 'BoolVar' })
    print(gSystem.StrVar)
    print(gSystem.IntVar)
    print(gSystem.BoolVar)

    print('----------DeleteVariables.gNPC----------')
    gNPC:DeleteVariables({ 'StrVar', 'IntVar', 'BoolVar' })
    print(gNPC.StrVar)
    print(gNPC.IntVar)
    print(gNPC.BoolVar)

    print('----------DeleteVariables.gPlayer----------')
    gPlayer:DeleteVariables({ 'StrVar', 'IntVar', 'BoolVar' })
    print(gPlayer.StrVar)
    print(gPlayer.IntVar)
    print(gPlayer.BoolVar)