天龙小蜜写脚本文本例子
2020-03-01 天龙辅助
--1、脚本功能现在属于测试状态,目前开放接口较少,后期将会增加。
--2、关于参数,如果脚本文件名称带[参]则表示有参数。举例:名称为[参]脚本例子,则此脚本有参数。
--3、脚本支持【中文编程】和【标准LUA语法】编程。下面以中文编程举例。
--4、脚本调用游戏的LUA,分为2种。1、不取返回值为:LUA_Call() 2、取返回值为:LUA_取返回值()
--2、关于参数,如果脚本文件名称带[参]则表示有参数。举例:名称为[参]脚本例子,则此脚本有参数。
--3、脚本支持【中文编程】和【标准LUA语法】编程。下面以中文编程举例。
--4、脚本调用游戏的LUA,分为2种。1、不取返回值为:LUA_Call() 2、取返回值为:LUA_取返回值()
--例子将以[修理武器]功能作为演示功能。
------------↓参数设置↓------------
局部变量 是否神器=1 --不是神器填0
局部变量 武器等级=960 --普通武器可以不填等级
局部变量 修理材料="新莽神符6级|新莽神符7级" --多种材料用"|"符号隔开
局部变量 持久下限=0.2 --持久度小于20%开始修理
------------↑参数设置↑------------
局部变量 是否神器=1 --不是神器填0
局部变量 武器等级=960 --普通武器可以不填等级
局部变量 修理材料="新莽神符6级|新莽神符7级" --多种材料用"|"符号隔开
局部变量 持久下限=0.2 --持久度小于20%开始修理
------------↑参数设置↑------------
--功能正式开始
如果 武器等级==960 则
信息框("请设置参数后再使用此功能!右键点击功能,选择设置参数,设置!")
LUA_Call("PushDebugMessage(\"修理武器:请设置参数后再使用此功能!右键点击功能,选择设置参数,设置!\")")
返回
结束
函数 修理装备()
局部变量 持久度
局部变量 武器名称
持久度=到数值(LUA_取返回值("return EnumAction(0,'equip'):GetEquipDur();",1)) --返回值为文本,需经过转换后比较
如果 持久度<持久下限 则
等待安全时间("修理武器")
如果 判断通过安全验证("修理武器")==0 则
LUA_Call("PushDebugMessage(\"修理武器:未通过安全验证,放弃修理!\")")
信息框("未通过安全验证,放弃修理!")
返回
结束
武器名称=LUA_取返回值("return EnumAction(0,'equip'):GetName();")
信息框("开始修理武器:"..武器名称)
LUA_Call("PushDebugMessage(\"开始修理武器:"..武器名称.."\")",1)
如果 是否神器==1 则
修理神器(武器名称)
否则
修理普通武器(武器名称)
结束
否则
信息框("您的神器持久度为["..持久度.."],不需要修理。")
LUA_Call("PushDebugMessage(\"修理武器:当前武器持久度为["..持久度.."]不需要修理!\")",1)
结束
结束
如果 武器等级==960 则
信息框("请设置参数后再使用此功能!右键点击功能,选择设置参数,设置!")
LUA_Call("PushDebugMessage(\"修理武器:请设置参数后再使用此功能!右键点击功能,选择设置参数,设置!\")")
返回
结束
函数 修理装备()
局部变量 持久度
局部变量 武器名称
持久度=到数值(LUA_取返回值("return EnumAction(0,'equip'):GetEquipDur();",1)) --返回值为文本,需经过转换后比较
如果 持久度<持久下限 则
等待安全时间("修理武器")
如果 判断通过安全验证("修理武器")==0 则
LUA_Call("PushDebugMessage(\"修理武器:未通过安全验证,放弃修理!\")")
信息框("未通过安全验证,放弃修理!")
返回
结束
武器名称=LUA_取返回值("return EnumAction(0,'equip'):GetName();")
信息框("开始修理武器:"..武器名称)
LUA_Call("PushDebugMessage(\"开始修理武器:"..武器名称.."\")",1)
如果 是否神器==1 则
修理神器(武器名称)
否则
修理普通武器(武器名称)
结束
否则
信息框("您的神器持久度为["..持久度.."],不需要修理。")
LUA_Call("PushDebugMessage(\"修理武器:当前武器持久度为["..持久度.."]不需要修理!\")",1)
结束
结束
函数 修理神器(武器名称)
如果 获取背包物品数量(修理材料)==0 则 --如果没有修理材料则取材料
取出物品(修理材料,1) --取出身符,取出数量为1
结束
延时 (1000)
如果 获取背包物品数量(修理材料)==0 则 --如果则不能修理,直接返回
LUA_Call("PushDebugMessage(\"修理武器:维修材料不够,放弃修理!\")",1)
返回
结束
如果 取下武器()==0 则 --取下武器,如果取下失败则返回
LUA_Call("PushDebugMessage(\"修理武器:取下装备失败,放弃修理!\")",1)
返回
结束
--条件符合,开始修理
跨图寻路("苏州",355,234)
计次循环 i=1,5 执行
如果 对话NPC("欧冶子")==1 则
NPC二级对话("血浴神兵",0) --参数1:对话文本 参数2:模糊对话,0表示精确 1表示模糊
延时 (1000)
NPC二级对话("神器修理") --支持中文,或者游戏对话文本 #{WMZDXG_0831_01}
延时 (1000)
如果 窗口是否出现("ShenQiRepair")==1 则
右键使用物品(武器名称,1) --参数2为使用次数1次,可省略,默认为1次
延时 (1000)
右键使用物品(修理材料,1)
延时 (1000)
LUA_Call ("setmetatable(_G, {__index = ShenQiRepair_Env});ShenQiRepair_Buttons_Clicked();",1)
延时 (1000)
LUA_Call ("setmetatable(_G, {__index = ShenQiRepair_Env});ShenQiRepair_Close();",1)
延时 (1000)
装备武器(武器名称)
跳出循环
结束
否则
延时(1000)
结束
结束
结束
如果 获取背包物品数量(修理材料)==0 则 --如果没有修理材料则取材料
取出物品(修理材料,1) --取出身符,取出数量为1
结束
延时 (1000)
如果 获取背包物品数量(修理材料)==0 则 --如果则不能修理,直接返回
LUA_Call("PushDebugMessage(\"修理武器:维修材料不够,放弃修理!\")",1)
返回
结束
如果 取下武器()==0 则 --取下武器,如果取下失败则返回
LUA_Call("PushDebugMessage(\"修理武器:取下装备失败,放弃修理!\")",1)
返回
结束
--条件符合,开始修理
跨图寻路("苏州",355,234)
计次循环 i=1,5 执行
如果 对话NPC("欧冶子")==1 则
NPC二级对话("血浴神兵",0) --参数1:对话文本 参数2:模糊对话,0表示精确 1表示模糊
延时 (1000)
NPC二级对话("神器修理") --支持中文,或者游戏对话文本 #{WMZDXG_0831_01}
延时 (1000)
如果 窗口是否出现("ShenQiRepair")==1 则
右键使用物品(武器名称,1) --参数2为使用次数1次,可省略,默认为1次
延时 (1000)
右键使用物品(修理材料,1)
延时 (1000)
LUA_Call ("setmetatable(_G, {__index = ShenQiRepair_Env});ShenQiRepair_Buttons_Clicked();",1)
延时 (1000)
LUA_Call ("setmetatable(_G, {__index = ShenQiRepair_Env});ShenQiRepair_Close();",1)
延时 (1000)
装备武器(武器名称)
跳出循环
结束
否则
延时(1000)
结束
结束
结束
函数 装备武器(装备名称)
计次循环 i=1,5 执行
如果 窗口是否出现("ShenQiRepair") ==1 则
LUA_Call ("setmetatable(_G, {__index = ShenQiRepair_Env});ShenQiRepair_Close();",1)
否则
右键使用物品(装备名称,1) --参数2:为使用次数
结束
延时(1000)
如果 到数值(LUA_取返回值("return EnumAction(0,'equip'):GetID();"))>0 则 --装备成功
跳出循环
结束
结束
结束
计次循环 i=1,5 执行
如果 窗口是否出现("ShenQiRepair") ==1 则
LUA_Call ("setmetatable(_G, {__index = ShenQiRepair_Env});ShenQiRepair_Close();",1)
否则
右键使用物品(装备名称,1) --参数2:为使用次数
结束
延时(1000)
如果 到数值(LUA_取返回值("return EnumAction(0,'equip'):GetID();"))>0 则 --装备成功
跳出循环
结束
结束
结束
函数 取下武器()
计次循环 i=1,5 执行
LUA_Call ("MainMenuBar_SelfEquip_Clicked();",1)
延时 (1000)
如果 窗口是否出现("SelfEquip") 则 --同组命令 等待窗口出现()
LUA_Call ("SelfEquip_Equip_Click(11,0);",1)
延时 (1000)
如果 LUA_取返回值("return EnumAction(0,'equip'):GetID();")=="0" 则 --检测脱下装备成功
LUA_Call("setmetatable(_G, {__index = SelfEquip_Env});SelfEquip_CloseFunction();",1)
延时(500)
返回 1
结束
结束
结束
LUA_Call("setmetatable(_G, {__index = SelfEquip_Env});SelfEquip_CloseFunction();",1)
延时(500)
如果 LUA_取返回值("return EnumAction(0,'equip'):GetID();",1)=="0" 则
返回 1
否则
返回 0
结束
结束
计次循环 i=1,5 执行
LUA_Call ("MainMenuBar_SelfEquip_Clicked();",1)
延时 (1000)
如果 窗口是否出现("SelfEquip") 则 --同组命令 等待窗口出现()
LUA_Call ("SelfEquip_Equip_Click(11,0);",1)
延时 (1000)
如果 LUA_取返回值("return EnumAction(0,'equip'):GetID();")=="0" 则 --检测脱下装备成功
LUA_Call("setmetatable(_G, {__index = SelfEquip_Env});SelfEquip_CloseFunction();",1)
延时(500)
返回 1
结束
结束
结束
LUA_Call("setmetatable(_G, {__index = SelfEquip_Env});SelfEquip_CloseFunction();",1)
延时(500)
如果 LUA_取返回值("return EnumAction(0,'equip'):GetID();",1)=="0" 则
返回 1
否则
返回 0
结束
结束
函数 修理普通武器()
跨图寻路("苏州",355,249)
计次循环 i=1,5 执行
如果 对话NPC("薛菲")==1 则
NPC二级对话("我要修理装备")
延时 (1000)
如果 窗口是否出现("EquipRepair")==1 则
LUA_Call("EquipRepair_ActionButton_Clk( 11 );",1)
延时 (1000)
LUA_Call("EquipRepair_Buttons_Clicked();",1)
延时 (1000)
LUA_Call("EquipRepair_Buttons_Clicked();",1)
延时 (1000)
LUA_Call("setmetatable(_G, {__index = EquipRepair_Env});EquipRepair_Close();",1)
延时 (500)
跳出循环
结束
结束
结束
结束
修理装备()
执行功能("自动存仓") --调用自带功能[其他][自动存仓]功能,存新莽神符。
跨图寻路("苏州",355,249)
计次循环 i=1,5 执行
如果 对话NPC("薛菲")==1 则
NPC二级对话("我要修理装备")
延时 (1000)
如果 窗口是否出现("EquipRepair")==1 则
LUA_Call("EquipRepair_ActionButton_Clk( 11 );",1)
延时 (1000)
LUA_Call("EquipRepair_Buttons_Clicked();",1)
延时 (1000)
LUA_Call("EquipRepair_Buttons_Clicked();",1)
延时 (1000)
LUA_Call("setmetatable(_G, {__index = EquipRepair_Env});EquipRepair_Close();",1)
延时 (500)
跳出循环
结束
结束
结束
结束
修理装备()
执行功能("自动存仓") --调用自带功能[其他][自动存仓]功能,存新莽神符。