[关闭]
@steak 2020-08-03T22:04:02.000000Z 字数 12401 阅读 773

烈火WOW LUA函数说明

使用前注意事项
* 把游戏的 界面设置--> 鼠标--> 点击走路 钩上
* 把游戏的 选项-->按键设置-->与目标互动 设置成V键


有兴趣开发脚本的可以email cbcsam@gmail.com 申请开发者待遇


移动类

移动(X坐标,Y坐标,Z坐标)

参数坐标
用于移动人物
无逻辑 等于在地图点击了一处坐标 无返回

  1. 移动(20.55,-123.33,-55.55)

MoveTo(X坐标,Y坐标,Z坐标)

参数坐标
用于移动人物
有逻辑 确保人物一定到那里函数才返回 下一句

  1. MoveTo(20.55,-123.33,-55.55)

MoveRoute(INI文件名,方向)

参数 文件名 方向
用于读取INI文件的坐标集
方向 0 正向 1反向

  1. MoveRoute("玛拉顿-复活点到石门.ini",0) --正向读取坐标集
  2. MoveRoute("玛拉顿-葬影村到石门.ini",1)--反向读取坐标集

读取的ini文件格式

  1. [路线]
  2. 点数=11
  3. 0=-354,-2557,96
  4. 1=-378,-2558,96
  5. 2=-461,-2642,96
  6. 3=-529,-2846,92
  7. 4=-608,-2855,93
  8. 5=-705,-2842,95
  9. 6=-667,-2951,96
  10. 7=-835,-3082,97
  11. 8=-926,-3202,92
  12. 9=-977,-3207,94
  13. 10=-1045,-3147,92

跑图路径(TXT文件名,方向)

参数 string 文件名,int 方向

这个是读取TXT格式的函数 必须加载core库才能执行
具有判断人物状态功能 如人物死了会返回false

  1. 跑图路径("玛拉顿-复活点到石门.txt",0) --正向读取坐标集
  2. 跑图路径("玛拉顿-葬影村到石门.txt",1)--反向读取坐标集

TXT的文件格式 一行一个坐标

  1. -1443.49,1973.37,85.49
  2. -1449.26,1990.21,85.80
  3. -1464.03,2037.79,63.98
  4. -1510.50,2116.60,62.87
  5. -1474.23,2201.34,90.47
  6. -1472.07,2260.81,93.44
  7. -1487.66,2319.90,93.27
  8. -1428.84,2415.16,90.30
  9. -1383.43,2485.56,88.82
  10. -1372.78,2539.68,103.55
  11. -1386.24,2589.95,111.56
  12. -1375.58,2650.03,111.56
  13. -1340.97,2670.84,111.56
  14. -1270.76,2678.91,111.56
  15. -1190.59,2718.95,111.28
  16. -1174.64,2765.82,112.06
  17. -1262.18,2853.97,113.71
  18. -1358.07,2850.79,114.56
  19. -1426.13,2896.92,134.55
  20. -1423.38,2924.45,136.37

取信息类

getstate()

无参数 返回人物状态
1 正常状态
2 近战状态
3 远战状态
4 捡物状态
5 剥皮完成状态
6 死亡状态
7 昏迷状态
8 飞行状态

  1. if getstate() == 3 or getstate() == 4 then
  2. print("人物正被攻击中")
  3. end

getman()

无参数 返回数组
取得人物状态当前信息

  1. man=getman()
  2. print("人物血量"..man.hp)
  3. print("人物最大血量"..man.maxhp)
  4. print("人物法力值"..man.mp)
  5. print("人物最大法力值"..man.maxmp)
  6. print("人物x坐标"..man.x)
  7. print("人物y坐标"..man.y)
  8. print("人物z坐标"..man.z)
  9. print("BUFF总数:"..man.buffnum)
  10. if BUFF检查(man.buff,"2086")==true then
  11. print("人物变成幽灵状态")
  12. end

getpets()

无参数 返回数组
取得宠物状态当前信息
宠物的距离是宠物离人物多少的跑离
饱食值 大于600000 绿色 小于350000 红色 600000~350000 黄色

  1. pet=getpets()
  2. print("宠物血量"..pet.hp)
  3. print("宠物最大血量"..pet.maxhp)
  4. print("宠物法力值"..pet.mp)
  5. print("宠物最大法力值"..pet.maxmp)
  6. print("宠物x坐标"..pet.x)
  7. print("宠物y坐标"..pet.y)
  8. print("宠物z坐标"..pet.z)
  9. print("宠物饱食值"..pet.food)
  10. print("宠物距离"..pet.距离)
  11. print("宠物BUFF总数:"..pet.buffnum)
  12. if BUFF检查(pet.buff,"603")==true then
  13. print("正在补给宠物忠诚度")
  14. end

getmoster(怪物名字,范围区域)

参数 string 怪物名字,int 范围区域
根据怪物名字搜索以人物为中心范围内的怪物目标信息
范围为数值

  1. moster=getmoster(被诅咒的塞雷布拉斯",100)
  2. print("怪物血量"..moster.hp)
  3. print("怪物最大血量"..moster.maxhp)
  4. print("怪物法力值"..moster.mp)
  5. print("怪物最大法力值"..moster.maxmp)
  6. print("怪物x坐标"..moster.x)
  7. print("怪物y坐标"..moster.y)
  8. print("怪物z坐标"..moster.z)
  9. print("怪物距离"..moster.距离)
  10. print("怪物BUFF总数:"..moster.buffnum)
  11. if BUFF检查(moster.buff,"37F5")==true then
  12. print("怪物身上有猎人4级印记")
  13. end

BUFF检查(buff,技能ID)

参数 buff,技能ID
buff 用于取怪物宠物或人物的BUFF对象 技能ID是文字类型
返回布尔类型 ture flase

  1. man=getman()
  2. moster=getmoster()
  3. pet=getpet()
  4. if BUFF检查(man.buff,"2086")==true then
  5. print("人物变成幽灵状态")
  6. end
  7. if BUFF检查(pet.buff,"603")==true then
  8. print("正在补给宠物忠诚度")
  9. end
  10. if BUFF检查(moster.buff,"37F5")==true then
  11. print("怪物身上有猎人4级印记")
  12. end

GetOtherNameRange(物品名称,检测范围)

参数 string 物件名称,int 检测范围
以人物为中心点 判决范围内有没指定物件 超过会返回0 找到会返回1
怪物不能检测到

  1. if GetOtherNameRange("幽灵菇",10)==1) then
  2. print("找到幽灵菇")
  3. end
  4. if GetOtherNameRange("邮箱",10)==1) then
  5. print("找到邮箱")
  6. end

GetMonsterNameRange(怪物名称,范围)

参数 string 怪物名称,int 检测范围
检测周边环境有没这个怪物
成功找到返回1
找不到返回0
如果有同名怪物 会任意选一个

  1. print(GetMonsterNameRange("毒劣魔",50))

选怪(怪物名字,范围)

参数 string 怪物名字 int 范围
功能 等于游戏里鼠标左键点选了怪物
成功返回1 失败返回0
如果有同名怪物 会任意选一个

  1. if 选怪("被诅咒的塞雷布拉斯",100)==1 then
  2. print("被诅咒的塞雷布拉斯找到")
  3. end
  4. 选怪("塞雷布拉斯",100) --同上有一样的效果

功能类

显示(文本)

参数 string 文本
可显示在控制台上的文字

  1. 显示("你好")

获取外挂路径()

参数 无
功能 返回外挂当前路径

  1. SetLua(获取外挂路径().."/".."test1.lua",1)

采集(名字,X坐标,Y坐标,Z坐标)

参数 string 名字,float X坐标,Y坐标,Z坐标
相当于点击指定目标的右键
要在游戏中选项打开自动捡取功能
可用于任何物件 如药草 邮箱 宝箱 门口

  1. 采集("幽灵菇",729.65,-112.73,-56.17)
  2. 采集("邮箱",729.65,-112.73,-56.17)
  3. 采集("宝箱",729.65,-112.73,-56.17)

KeyPress(键盘码,键盘码)

参数 int 键盘码,int 键盘码
点击键盘按键
键盘编码对应键可查百度

  1. KeyPress(0,96) --按1
  2. KeyPress(0,83) --按S
  3. KeyPress(191,96) --按SHIFT+s
  4. KeyPress(17,32) --按ctrl+空格键

喂宠(物品名字)

参数 string 物品名字
使用喂宠技能

  1. pet=getpets()
  2. if pet.food < 600000 then
  3. 喂宠("烤鹌鹑") --宠物变成黄色时就喂食
  4. end

ReleaseSoul()

参数 无
用于释放灵魂 死后变成幽灵状态 函数无返回 判断成功看人物BUFF是否带有2086BUFF

  1. ReleaseSoul()
  2. if BUFF是否存在("2086")==1 then
  3. 显示("变成幽灵成功")
  4. end

ReLive()

参数 无
用于到达尸体附近后复活人物

  1. MoveRoute("死亡捡尸.ini",0) --跑图地图数据文件,方向
  2. MoveTo(死亡坐标x,死亡坐标y,死亡坐标z) --移动x,y,z
  3. ReLive() --复活

MySleep(毫秒)

参数 int 毫秒
功能 延时

  1. MySleep(1000) --等待1

ResetFuben()

参数 无
功能 重置副本 在能重置副本的地方使用 不要在副本里使用,在副本里使用会让游戏马上崩溃

  1. if 计算自己距离(-1443.49,1973.37,85.49)<150 then
  2. ResetFuben() --重置副本
  3. end

计算自己距离(X坐标,Y坐标,Z坐标)

参数 float X坐标,Y坐标,Z坐标
返回:人物与坐标之间的距离

  1. if 计算自己距离(-1443.49,1973.37,85.49)<150 then
  2. MoveRoute("玛拉顿-复活点到石门.ini",0)
  3. elseif 计算自己距离(-1593.08,3149.81,46.49)<150 then
  4. MoveRoute("玛拉顿-葬影村到石门.ini",0)
  5. end

捡尸(距离)

参数 int 距离
功能 以人物为中心点 距离范围内的怪物尸体 通通都会捡取一遍
捡取过的怪物 包括之前中断过的都不会再捡取 遇到要绑定的装备 如绿装蓝装会自动按绑定确认 如果捡尸过程中给怪物攻击 会返回0

返回 1 完成捡尸流程
0 中途遇到怪物攻击中断

  1. while(true) do
  2. if 捡尸(50)==1 then
  3. break
  4. else
  5. 假死.... --不用担心会重复捡尸 之前捡过的不会再去捡
  6. end
  7. end

KillMonster(打怪配置文件.ini)

参数 string 配置文件名.ini
功能 简单的攻击逻辑 自动选取范围内的怪物进行攻击
需要配置一个打怪文件 定义好按键
没有怪物就函数就返回

INI配置文件如下

  1. [基本]
  2. 打怪范围=150
  3. 远战距离=35
  4. 远战按键=3
  5. 远战按键延时=0
  6. 近战距离=5
  7. 近战按键=1
  8. 近战按键延时=6000

智能杀怪(怪物列表,范围)

参数 string 怪物列表,int 范围
返回: 退出标志 0:包满,1:无怪,2:死亡

  1. 杀怪("狮,陆行鸟,钢鬃,龙,狼,马",120)

对准怪物(怪物名字,范围)

参数 string 怪物名 int 范围
功能 执行后可保证面向目标怪物

  1. 对准怪物("枯钳龙虾人",100)

卡死()

参数 无

  1. while(true)do
  2. 卡死()
  3. MySleep(11000)
  4. man=getman()
  5. if man.hp==0 then
  6. ReleaseSoul()
  7. MySleep(3000)
  8. break
  9. }
  10. if BUFF检查(man.buff,"2086") then
  11. 显示("卡死已使用完毕")
  12. break
  13. end
  14. end

面向坐标点(x,y,z)

  1. 面向坐标点(10,10,10)

对准坐标点(x,y,z)

  1. 对准坐标点(10,10,10)

穿门("名字")

  1. 穿门("戈多克内门")

宠物穿门("名字")

  1. 宠物穿门("戈多克内门")

放坐标技能返回(技能ID,x,y,z)

  1. 放坐标技能返回(10,100,100,-10)--暴风雪1 100,100,-10施放
  2. MySleep(8000)

放坐标技能时间(技能ID,释放x,释放y,释放z,目标x,目标y,目标z,怪物名称,距离,释放时间)

  1. ret=放坐标技能时间(10,11.11,11.11,11.11,22,22,22,"戈多克大王,观者者",43,5)
  2. --使用暴风雪1 打坐标11.11,11.11,11.115秒放技能过程中判断22,22,22 坐标43距离内有没戈多克大王,观者者有出现 有或无或技能放完就返回指定的值
  3. if ret==1 then
  4. 技能下完了
  5. elseif ret==2 then
  6. 技能没下完被打断
  7. elseif ret==3 then
  8. 技能没下完
  9. end
  10. ret=放坐标技能时间(10,11.11,11.11,11.11,22,22,22,"所有怪",43,5)
  11. --使用暴风雪1 打坐标11.11,11.11,11.115秒放技能过程中判断22,22,22 坐标43距离内所有怪 有或无或技能放完就返回指定的值
  12. if ret==1 then
  13. 技能下完了
  14. elseif ret==2 then
  15. 技能没下完被打断
  16. elseif ret==3 then
  17. 技能没下完
  18. end

选定坐标怪("名字列表",x,y,z,范围)

  1. x,y,z=选定坐标怪("戈多克,法,蛮",11.11,11.11,11.11,40)
  2. if x~= 0 then
  3. 有怪出现
  4. else
  5. 无怪
  6. end

取坐标怪攻击(怪物列表,x,y,z,范围,对像参数)

  1. boss1=getmoster("观察者克鲁什",100)
  2. if 取坐标怪攻击("观察者克鲁什",boss1.x,boss1.y,boss1.z,100,2)==2 then
  3. 如果怪物目标是打宠物的话流程
  4. end
  5. boss.对像=取坐标怪攻击("戈多克大王",boss.x,boss.y,boss.z,150,1)
  6. boss1.对像=取坐标怪攻击("观察者克鲁什",boss1.x,boss1.y,boss1.z,150,1)
  7. if boss.对像<1 then
  8. boss.对像=取坐标怪攻击("戈多克大王",boss.x,boss.y,boss.z,150,2)
  9. end
  10. if boss1.对像<1 then
  11. boss1.对像=取坐标怪攻击("观察者克鲁什",boss1.x,boss1.y,boss1.z,150,2)
  12. end

取范围内怪的数量("怪物列表",x,y,z,范围)

  1. 取范围内怪的数量("狼,兵",10.00,20.00,30.00,40)

取选中怪物技能和变身值


平台打怪()

  1. if 本地变量.是否矮人==1 then
  2. 设置平台点(785.81,-491.00,-40.01)
  3. elseif 本地变量.是否矮人 == 2 then
  4. 设置平台点(788.49,-491.11,-39.91)
  5. else
  6. 设置平台点(785.81,-489.00,-40.01)
  7. end

然后引怪完后再执行下面代码就可以清怪

  1. 打怪返回 = 平台打怪()
  2. if(打怪返回==0)then
  3. 显示("人物死亡!")
  4. MySleep(3000) --延时毫秒
  5. ReleaseSoul() --释放灵魂
  6. MySleep(10000) --延时毫秒
  7. --护盾保护(false)
  8. Main()
  9. else
  10. --护盾保护(false)
  11. 调试("玛拉顿结束,出本")
  12. 显示("清理浮渣覆盖的袋子")
  13. while true do
  14. if 取身上物品总数("浮渣覆盖的袋子")~= 0 then
  15. 使用物品("浮渣覆盖的袋子")
  16. else
  17. break
  18. end
  19. end
  20. 显示("清理浮渣覆盖的袋子完毕")
  21. local newtime=os.time()
  22. if 本地变量.是否捡物==1 then
  23. 调用脚本(filepath.."路径/1-路径-玛拉顿出本.lua")
  24. if 取背包空格数()>8 or 装备是否需要修理()==0 then
  25. local 时间差=900-(newtime-oldtime)
  26. print(newtime,oldtime,时间差)
  27. if 时间差>0 then
  28. print("防爆本处理",时间差)
  29. for i=1,时间差 do
  30. KeyPress(0,32) --按键组合按键,真实按键
  31. MySleep(1000) --延时毫秒
  32. end
  33. end
  34. end
  35. 小号文件=io.open(filepath.."小号.txt","w+")
  36. 内容=小号文件:write("出副本")
  37. 小号文件:close()
  38. MySleep(2000) --延时毫秒
  39. 走路(751.41,-628.53,-32.75)
  40. while (true) do
  41. if 计算自己距离(-1182.80,2877.43,85.91)<50 or 自身状态()==1 then
  42. break
  43. end
  44. 延时(500)
  45. end
  46. 显示("副本任务完成!")
  47. else
  48. 显示("叫小号去捡物")
  49. 小号文件=io.open(filepath.."小号.txt","w+")
  50. 内容=小号文件:write("去捡物")
  51. 小号文件:close()
  52. 调用脚本(filepath.."路径/1-路径-玛拉顿出本.lua")
  53. while true do
  54. 小号文件=io.open(filepath.."小号.txt","r")
  55. local 内容=小号文件:read()
  56. 小号文件:close()
  57. if 内容=="已捡完" then
  58. break
  59. end
  60. 延时(1000)
  61. end
  62. 走路(751.41,-628.53,-32.75)
  63. while (true) do
  64. if 计算自己距离(-1182.80,2877.43,85.91)<50 or 自身状态()==1 then
  65. break
  66. end
  67. 延时(500)
  68. end
  69. 显示("副本任务完成!")
  70. end
  71. end

按下按键(按键值)和 释放按键(按键值)

-按键值已封装在core

  1. function 按键(key,delay)
  2. local keyvalue
  3. if key == nil then
  4. return
  5. end
  6. if delay==nil then
  7. delay=100
  8. end
  9. if key=="1" then
  10. keyvalue=49
  11. elseif key=="2" then
  12. keyvalue=50
  13. elseif key=="3" then
  14. keyvalue=51
  15. elseif key=="4" then
  16. keyvalue=52
  17. elseif key=="5" then
  18. keyvalue=53
  19. elseif key=="6" then
  20. keyvalue=54
  21. elseif key=="7" then
  22. keyvalue=55
  23. elseif key=="8" then
  24. keyvalue=56
  25. elseif key=="9" then
  26. keyvalue=57
  27. elseif key=="10" then
  28. keyvalue=48
  29. elseif key=="-" then
  30. keyvalue=189
  31. elseif key=="=" then
  32. keyvalue=187
  33. elseif key=="z" then
  34. keyvalue=90
  35. elseif key=="x" then
  36. keyvalue=88
  37. elseif key=="c" then
  38. keyvalue=67
  39. elseif key=="e" then
  40. keyvalue=69
  41. elseif key=="r" then
  42. keyvalue=82
  43. elseif key=="q" then
  44. keyvalue=81
  45. elseif key=="g" then
  46. keyvalue=71
  47. elseif key=="f" then
  48. keyvalue=70
  49. elseif key=="v" then
  50. keyvalue=86
  51. elseif key=="h" then
  52. keyvalue=72
  53. elseif key=="j" then
  54. keyvalue=74
  55. elseif key=="i" then
  56. keyvalue=73
  57. elseif key=="t" then
  58. keyvalue=84
  59. elseif key=="上" then
  60. keyvalue=38
  61. elseif key=="下" then
  62. keyvalue=40
  63. elseif key=="左" then
  64. keyvalue=37
  65. elseif key=="右" then
  66. keyvalue=39
  67. end
  68. 按下按键(keyvalue)
  69. MySleep(delay) --延时毫秒
  70. 释放按键(keyvalue)
  71. end
  72. function 宠物技能(技能序号)
  73. if 技能序号==1 then --攻击
  74. KeyPress(17,49)
  75. elseif 技能序号==2 then --跟随
  76. KeyPress(17,50)
  77. elseif 技能序号==3 then--定在原地
  78. KeyPress(17,51)
  79. elseif 技能序号==4 then--攻击型
  80. KeyPress(17,56)
  81. elseif 技能序号==5 then --防御
  82. KeyPress(17,57)
  83. elseif 技能序号==6 then--被动型
  84. KeyPress(17,48)
  85. end
  86. end

物品类

取身上物品总数(物品名字)

参数 string 物品名字
返回 返回物品的总数

  1. print(取身上物品总数("烤鹌鹑"))

买物品(NPC名字,物品编号,物品数量 )

参数 string NPC名字, int 物品编号, int 物品数量
查询物品编号 可用插件idTip去查询
要确保能与NPC互动的距离范围内 不需要打开NPC和选中NPC 站在旁边便可

  1. 买物品("旅店老板希科瓦",159,1)--购买清凉的泉水1
  2. 买物品("图克",2512,1) --购买劣质箭1

商店标的是清泉的泉水 5个 25铜 买一个的价钱就是 25/5 实际扣款5铜
购买10铜200支的劣质箭时 10/200 低过了最少单位值1铜 那买一支箭时 扣款一样是1铜


条件清包(NPC名称,配置文件名)

参数 string npc名称,string 配置文件名
到NPC卖掉身上的道具 在配置的白名单里的物品不会出售

  1. 条件清包("加鲁特","清包配置.ini")

清包配置.ini的配置例子

  1. [不卖物品]
  2. 种类=5
  3. 物品0=宁神花
  4. 物品1=炉石
  5. 物品2=烤鹌鹑
  6. 物品3=幽灵菇
  7. 物品4=锯齿箭

使用物品(物品名称)

参数 string 物品名
功能 使用道具 使用道具必须符合要求 如人物不能移动中
使用物品后要加入延时为安全 不然客户端会崩溃

  1. 使用物品("的泉水") --清凉的泉水
  2. 使用物品("炉石")
  3. Mysleep(5000)
  4. 使用物品("青色迅猛龙之哨")
  5. 使用物品("迅猛龙") --找到身上道具有迅猛龙字样的道具就去用

清空背包(NPC名,不卖物品列表)

参数 string npc名字,string 不卖物品列表
功能 清空背包

  1. 清空背包("高德瑞克","包,清凉的泉水,奶酪")

取背包空格数()

参数 无
功能 返回剩余的空格数


装备是否需要修理()

参数 无
返回 0不需要修理 1需要修理


练级类

逻辑已内置了造水造食 专为法师去量身订造 猎人的是不支持练级

休息()

参数 无
功能 蹲下休息,喝红蓝,直到红蓝满


清空寻路数据()

参数 无
功能 初始化寻路数据


添加寻路数据(x,y,z)

参数 坐标
功能 向智能寻路添加坐标形成走路路径


智能杀怪(怪物列表,等级)

参数 string 怪物列表,int 等级
返回: 退出标志 0:包满,1:死亡 2:到达等级

  1. 杀怪返回=智能杀怪("蜥蜴,鸟,狂吠者,长颈鹿,斑马,破云者,坦卡",24)
  2. if(杀怪返回==0)then --包满
  3. 休息()
  4. 智能寻路(1)
  5. 清空背包("萨努耶·符文图腾")
  6. elseif(杀怪返回==1)then --死亡
  7. x,y,z = 取人物坐标()
  8. 释放灵魂()
  9. 显示("防复活时间太短")
  10. MySleep(30000) --延时毫秒
  11. 设置复活点到开始点()
  12. 单纯寻路(0)
  13. 设置打怪路线() --恢复打怪用路线
  14. 找尸寻路(x,y,z)
  15. 复活()
  16. 休息()
  17. elseif 杀怪返回==2 then
  18. 显示("够等级了"..取人物等级())
  19. end

智能寻路(方向)

参数 int 方向
0:顺序寻路,1:逆序寻路
功能 设置方向是从坐标序列第一行开始执行还是最后一行开始执行

例子:

  1. function Main()
  2. Print("Main_LUA开始!")
  3. 清空寻路数据()
  4. 添加寻路数据(-8894.78,-123.22,81.93)
  5. 添加寻路数据(-8831.99,-170.21,80.06)
  6. 添加寻路数据(-8806.51,-200.14,82.24)
  7. 添加寻路数据(-8849.54,-330.21,69.27)
  8. 添加寻路数据(-8886.66,-339.36,70.22)
  9. while(true)do
  10. 智能寻路(0)
  11. 杀怪返回=智能杀怪("迪菲亚",80)
  12. if(杀怪返回==0)then --包满
  13. 智能寻路(1)
  14. 清空背包("高德瑞克","包,清凉的泉水,奶酪")
  15. elseif(杀怪返回==1)then --无怪
  16. --去下一个打怪点
  17. elseif(杀怪返回==2)then --脱战
  18. 移动到(-8859.29,-278.34,79.13)
  19. 休息()
  20. elseif(杀怪返回==3)then --死亡
  21. break;
  22. end
  23. end
  24. --弹信息窗口("OK!")
  25. Print("Main_LUA结束!")
  26. end

文件操作

记录日志(字符串)

参数 str 字符串
功能 保存在外挂当前目录的LOG文件内

  1. 记录日志("你好!")

保存变量(表)

参数 table 表
功能 保存当前变量转换成JSON格式保存在该帐号文件中

  1. tab={}
  2. tab.次数=5
  3. 保存变量(tab)

读取变量()

参数 无
功能 读取当前帐号的变量文件 一个帐号一个文件 自动获取帐号对应文件 不会因为多开错乱

  1. require("core")
  2. function Main()
  3. array={}
  4. array.次数=5
  5. 保存变量(array)
  6. array=读取变量()
  7. if array~=false then
  8. print("array"..array.次数)
  9. end
  10. end

多线程子程序

SetLUA(LUA文件名,LUA编号0-31)

参数 string LUA文件完整路径,int LUA编号0-31
功能 LUA并不支持多线程 所以这个函数是另外由主线程Main内去执行多一个独立环境的线程

KillLua(LUA编号)

参数 int LUA编号 0~31
结束指定编号的LUA线程 不能在线程内KillLua 自已的编号


线程的LUA文件必须有独立的环境和有加载CORE核心库才能用相应的函数
还必需具备有Main()的函数
线程内所有的变量名数值与主线程无任何关连 主线程里的变量 在子线程里是无法读取无法写入
主线程调用例子:

  1. if state == false then
  2. KillLua(0) --结束LUALUA编号 0-31
  3. else
  4. SetLua("d:\wow_bot\假死保护.lua",0) --开始新LUALUA文件名,LUA编号 0-31
  5. end

子线程例子:

  1. require("core")
  2. require("函数配置")
  3. function Main()
  4. Print("开始线程 假死保护")
  5. while (true) do
  6. if 技能冷却完毕("灵猴守护")==1 and 当前状态()==2 and 当前状态()~=3 then
  7. 释放技能("灵猴守护")
  8. end
  9. 延迟(1000)
  10. end
  11. end

子线程在循环一定要加入延时 不然会卡死
子线程没有循环的话 执行完就会结束


添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注