--IniPath = "c:\\config.dat";--设置配置文件路径 必须为全路径 --初始化指定地图放指定技能 function AddUseSkill() --参数1:副本ID --参数2:角色要移动到的坐标x 输入0 表示不移动 --参数3:角色要移动到的坐标y --参数4:当前房间编号x --参数5:当前房间编号y --参数6:BOSS房间编号x --参数7:BOSS房间编号y --参数8:技能ID 0为普通攻击 --参数9:如果为普通攻击 要攻击的最小次数 --参数10:如果为普通攻击 要攻击的最大次数 --参数11:基本职业 --参数12:转职职业 --lua_c_AddMapUseSkill(100002962,676,350,1,1,5,1,4,10,20,16,2); --lua_c_AddMapUseSkill(100002962,0,0,1,1,5,1,0,10,20,16,2); --旅人 lua_c_AddMapUseSkill(100002962,699,336,1,1,5,1,21,0,0,16,2); lua_c_AddMapUseSkill(100002962,456,348,2,1,5,1,21,0,0,16,2); lua_c_AddMapUseSkill(100002962,0,0,2,1,5,1,26,0,0,16,2); lua_c_AddMapUseSkill(100002962,515,321,3,1,5,1,21,0,0,16,2); lua_c_AddMapUseSkill(100002962,0,0,3,1,5,1,26,0,0,16,2); lua_c_AddMapUseSkill(100002962,0,0,3,1,5,1,24,0,0,16,2); lua_c_AddMapUseSkill(100002962,0,0,3,1,5,1,25,0,0,16,2); lua_c_AddMapUseSkill(100002962,0,0,3,1,5,1,32,0,0,16,2); lua_c_AddMapUseSkill(100002962,0,0,3,1,5,1,19,0,0,16,2); lua_c_AddMapUseSkill(100002962,0,0,3,1,5,1,28,0,0,16,2); lua_c_AddMapUseSkill(100002962,317,261,4,1,5,1,21,0,0,16,2); lua_c_AddMapUseSkill(100002962,0,0,4,1,5,1,26,0,0,16,2); lua_c_AddMapUseSkill(100002962,0,0,4,1,5,1,29,0,0,16,2); lua_c_AddMapUseSkill(100002962,0,0,4,1,5,1,24,0,0,16,2); lua_c_AddMapUseSkill(100002962,0,0,4,1,5,1,25,0,0,16,2); lua_c_AddMapUseSkill(100002962,0,0,4,1,5,1,19,0,0,16,2); --lua_c_AddMapUseSkill(100002962,551,369,5,1,5,1,21,0,0,16,2); --lua_c_AddMapUseSkill(100002962,551,369,5,1,5,1,26,0,0,16,2); --旅人 恩山 英豪模式 lua_c_AddMapUseSkill(100002963,699,336,1,1,5,1,21,0,0,16,2); lua_c_AddMapUseSkill(100002963,456,348,2,1,5,1,21,0,0,16,2); lua_c_AddMapUseSkill(100002963,0,0,2,1,5,1,26,0,0,16,2); --lua_c_AddMapUseSkill(100002963,733,332,2,1,5,1,20,0,0,16,2); lua_c_AddMapUseSkill(100002963,810,312,2,1,5,1,20,0,0,16,2); lua_c_AddMapUseSkill(100002963,0,0,2,1,5,1,21,0,0,16,2); lua_c_AddMapUseSkill(100002963,515,321,3,1,5,1,21,0,0,16,2); lua_c_AddMapUseSkill(100002963,0,0,3,1,5,1,26,0,0,16,2); lua_c_AddMapUseSkill(100002963,0,0,3,1,5,1,24,0,0,16,2); lua_c_AddMapUseSkill(100002963,0,0,3,1,5,1,25,0,0,16,2); lua_c_AddMapUseSkill(100002963,0,0,3,1,5,1,32,0,0,16,2); lua_c_AddMapUseSkill(100002963,0,0,3,1,5,1,19,0,0,16,2); lua_c_AddMapUseSkill(100002963,0,0,3,1,5,1,28,0,0,16,2); lua_c_AddMapUseSkill(100002963,317,261,4,1,5,1,21,0,0,16,2); lua_c_AddMapUseSkill(100002963,0,0,4,1,5,1,26,0,0,16,2); lua_c_AddMapUseSkill(100002963,0,0,4,1,5,1,29,0,0,16,2); lua_c_AddMapUseSkill(100002963,0,0,4,1,5,1,24,0,0,16,2); lua_c_AddMapUseSkill(100002963,0,0,4,1,5,1,25,0,0,16,2); lua_c_AddMapUseSkill(100002963,0,0,4,1,5,1,19,0,0,16,2); --缪斯 恩山 英豪模式 lua_c_AddMapUseSkill(100002963,699,336,1,1,5,1,41,0,0,16,1); lua_c_AddMapUseSkill(100002963,0,0,1,1,5,1,42,0,0,16,1); lua_c_AddMapUseSkill(100002963,456,348,2,1,5,1,64,0,0,16,1); lua_c_AddMapUseSkill(100002963,0,0,2,1,5,1,42,0,0,16,1); lua_c_AddMapUseSkill(100002963,810,312,2,1,5,1,41,0,0,16,1); lua_c_AddMapUseSkill(100002963,0,0,2,1,5,1,54,0,0,16,1); end --根据声望做相应的处理 function HandleByRoleRenown() nRenown = lua_c_GetRoleReputation(); lua_c_SplitEquipment();--装备分解的相关操作 --获取当前角色是否免修到期 FreeFix = lua_c_GetExemptionFixExpire(); if FreeFix == 0 then lua_c_SendCenterControl("免修到期,手动购买"); lua_c_sleepRandom(1000*30,1000*60);--随机等待10-20 return end lua_c_InitGame();--初始化技能相关按键 --无色购买 --参数1:无色低于这个数量就购买 --参数2:无色购买的数量 lua_c_BuyColourlessCrystal(500,1000); if nRenown > 34000 then lua_c_OutputDebugString("移动到 恩山"); --副本难度说明: --0 普通 --1 冒险 --2 勇士 --3 王者 --4 噩梦 lua_c_MoveToCopyMapMountain(4,1);--柯涅恩山 参数1:表示副本难度 参数2:是否为英豪 elseif nRenown > 10000 then lua_c_OutputDebugString("移动到 王之摇篮"); lua_c_MoveToCopyMapKingCradle(1);--王之摇篮 参数1:表示副本难度 else lua_c_OutputDebugString("spare"); end end --主线程 function mainThread() --通过USB获取当前计算机是否被控制 --如果被控制就暂停当前的操作 --GetID(); while true do USBdata = lua_c_ReadDataFromUSB();--接收USB的数据 注意这里是阻塞的,有超时延迟,超时了退出阻塞执行后面的代码 HandleUSBdata(USBdata); if g_nRunSign == 1 then --lua_c_OutputDebugString("runing..."); --login(); --lua_c_DnfMain();--账号密码输入模式 nLevel = lua_c_GetRoleLevel(); lua_c_OutputDebugString("当前等级"..nLevel); if nLevel > 0 then--判断角色是否制裁 if lua_c_GetSanction() ~= 0 then lua_c_SendCenterControl("账号制裁"); break; end end if nLevel < 110 then --角色等级小于110做主线的流程 lua_c_DnfMain2();--qq快捷登录模式 else HandleByRoleRenown();--角色等级大于等于110根据声望来做响应的处理 end elseif g_nRunSign == 3 then lua_c_OutputDebugString("exit"); break; end end end --local nRet2 = lua_c_InitCh9329SN(); --调试输出芯片信号 function DeBugUSBInfo() USBInfString = lua_GetUSBStringInfo(); lua_c_OutputDebugString("USB Info:"..USBInfString); end --处理收到的USB数据 function HandleUSBdata(USBdata) nLength = #USBdata;--获取数据长度 if nLength > 0 then local sign = lua_c_StringSub(USBdata,0,2); --提前标识头 lua_c_OutputDebugString("recData:"..USBdata.."sign:"..sign); if sign == "05" then --表示当前需要执行命令 local Command = lua_c_StringSub(USBdata,2,nLength-2); lua_c_OutputDebugString("run Command:"..Command); lua_c_ShellExecute(Command); elseif sign == "06" then --暂停脚本 g_nRunSign = 2; elseif sign == "07" then --继续运行脚本 g_nRunSign = 1; elseif sign == "08" then --退出脚本 g_nRunSign = 3; elseif sign == "09" then --退出并且重新加载lua脚本 --这个批处理主要是重新拷贝一个新的lua脚本来更新 --lua_c_ShellExecute("C:\\Users\\Administrator\\Desktop\\test\\in.bat"); --通过powershell从web服务器上下载文件 --lua_c_ShellExecute("powershell Start-BitsTransfer -Source http://192.168.190.1:8089/luaDemo.lua -Destination C:\Users\Administrator\Desktop\1.lua"); --webserver = "http://192.168.190.1:8089/"; --Driver = "C"; --lua_c_ShellExecute("powershell Invoke-WebRequest '"..webserver.."luaDemo.lua' -OutFile '"..Driver..":\Windows\luaDemo.lua'"); g_nRunSign = 3; elseif sign == "10" then --退出并且重新加载lua脚本 g_strWegamePath = lua_c_StringSub(USBdata,2,nLength-2); lua_c_OutputDebugString("wegamepath:"..g_strWegamePath); elseif sign == "12" then --账号输入完成 lua_c_SendCenterControl("账号输入完成"); lua_c_sleepRandom(1000*1,1000*5); --lua_c_Keyboardkey(43);--按下tab键 切换到密码输入框 --lua_c_sleepRandom(1000*1,1000*10); GetPassword(); g_nRunSign = 1; elseif sign == "14" then --密码输入完成 lua_c_SendCenterControl("密码输入完成"); lua_c_sleepRandom(1000*1,1000*5); --lua_c_Keyboardkey(40);--按下Enter_L键 确认密码输入 lua_c_sleepRandom(1000*1,1000*10); g_nRunSign = 1; end end end --获取dnf hwnd function GetDnfHWND() lua_c_EnumWindows("地下城与勇士:创新世纪");--枚举所有窗口名称为WeGame的窗口句柄 lua_c_sleepRandom(1000*1,1000*3);--随机等待10-20 --查询登录窗口的信息 g_dnfHwnd = lua_c_EnumWindowsIsEn(800,600);--根据上面枚举到的窗口句柄,并且判断窗口大小是否和当前的相同 if g_dnfHwnd ~= 0 then lua_c_OutputDebugString("get dnf hwnd succeed :"..g_dnfHwnd); else lua_c_OutputDebugString("get dnf hwnd failed :"..g_dnfHwnd); end end --鼠标点击主线任务 function MouseClickTask() --鼠标轨迹移动 if g_dnfHwnd ~= 0 then --lua_c_MoveMouseRandomForWindowAndStep(g_dnfHwnd,702,191,779,212,2);--鼠标绝对移动到账号输入框的位置 lua_c_MoveMouseRandomForWindow(g_dnfHwnd,702,191,779,212);--鼠标绝对移动到账号输入框的位置 lua_c_sleepRandom(100,1000); lua_c_newAbsMouseKey(1);--单击鼠标左键 lua_c_sleepRandom(3000,5000); lua_c_newAbsMouseKey(1);--单击鼠标左键 end end --鼠标在指定窗口乱晃悠 function MouseMoveDisorder(hwnd,endx,endy,count) nTime = 0; lua_c_SetForegroundWindow(hwnd);--激活wegame登录窗口 lua_c_sleepRandom(1000*1,1000*5); while true do lua_c_sleepRandom(100,200); lua_c_MoveMouseRandomForWindow(hwnd,0,0,endx,endy); lua_c_sleepRandom(100,500); nTime = nTime + 1; if(nTime >= count) then break; end end end --测试鼠标双击 function TestMouseLeftDouble2() lua_c_sleepRandom(1000*5,1000*10); lua_c_RelMouseKey(4);--双击鼠标左键 end --测试鼠标双击 function TestMouseLeftDouble() lua_c_EnumWindows("WeGame");--枚举所有窗口名称为WeGame的窗口句柄 lua_c_sleepRandom(1000*5,1000*10);--随机等待10-20 --查询登录窗口的信息 hwnd = lua_c_EnumWindowsIsEn(862,486);--根据上面枚举到的窗口句柄,并且判断窗口大小是否和当前的相同 if hwnd ~= 0 then lua_c_SetForegroundWindow(hwnd);--激活wegame登录窗口 lua_c_sleepRandom(1000*1,1000*3); --lua_c_MoveMouseRandomForWindow(hwnd,0,0,862,486);-- --lua_c_sleepRandom(1000*1,1000*2); --lua_c_MoveMouseRandomForWindow(hwnd,0,0,862,486);-- --lua_c_sleepRandom(1000*1,1000*2); --lua_c_MoveMouseRandomForWindow(hwnd,0,0,862,486);-- --lua_c_sleepRandom(1000*1,1000*2); MouseMoveDisorder(hwnd,862,486,50); lua_c_MoveMouseRandomForWindow(hwnd,690,240,780,247);--鼠标绝对移动到账号输入框的位置 lua_c_sleepRandom(1000*1,1000*3); lua_c_RelMouseKey(4);--双击鼠标左键 lua_c_sleepRandom(500,1000); lua_c_RelMouseKey(4);--双击鼠标左键 lua_c_sleepRandom(500,1000); end end --测试输入账号和密码登录 function InPutTest() lua_c_EnumWindows("WeGame");--枚举所有窗口名称为WeGame的窗口句柄 lua_c_sleepRandom(1000*1,1000*5);--随机等待10-20 --查询登录窗口的信息 hwnd = lua_c_EnumWindowsIsEn(862,486);--根据上面枚举到的窗口句柄,并且判断窗口大小是否和当前的相同 if hwnd ~= 0 then --lua_c_SetForegroundWindow(hwnd);--激活wegame登录窗口 lua_c_sleepRandom(1000*1,1000*2); --MouseMoveDisorder(hwnd,862,486,20); lua_c_NewMoveMouseRandomForWindow(hwnd,690,240,780,247);--带轨迹鼠标绝对移动到账号输入框的位置 --lua_c_MoveMouseRandomForWindow(hwnd,690,240,780,247,3); lua_c_sleepRandom(1000*10,1000*20); lua_c_newAbsMouseKey(1);--单击鼠标左键 lua_c_sleepRandom(300,800); lua_c_newAbsMouseKey(3);--双击鼠标左键 lua_c_sleepRandom(5000,8000); lua_c_newKeyBoardString("2222"); lua_c_sleepRandom(500*1,1000); lua_c_newKeyBoard(0,43);--按下tab键 切换到密码输入框 lua_c_sleepRandom(1000*1,1000*2); lua_c_newKeyBoardString("2222"); end end --情况账号 --登录流程2023.2.11 function login() --参数1:class name --参数2:windown name --返回值:int 实际为HWND --hwnd = lua_c_Findwindow("TWINCONTROL","WeGame");-- lua_c_EnumWindows("WeGame");--枚举所有窗口名称为WeGame的窗口句柄 lua_c_sleepRandom(1000*5,1000*10);--随机等待10-20 --查询登录窗口的信息 hwnd = lua_c_EnumWindowsIsEn(862,486);--根据上面枚举到的窗口句柄,并且判断窗口大小是否和当前的相同 if hwnd == 0 then --返回0表示没有查询到登录窗口 lua_c_SendCenterControl("未找到登录窗口");--未找到登录窗口 --运行游戏 rungeame(); else --登录成功后wegame的窗口大小为1280-830 --登录的界面大小为862-486 --rect = lua_c_GetWindowRect(hwnd); --lua_c_OutputDebugString("weGetRect:"..rect["BOOL"].." x1:"..rect["X1"]); lua_c_sleepRandom(1000*5,1000*10); lua_c_SendCenterControl("找到登录窗口");--找到登录窗口 --lua_c_SetForegroundWindow(hwnd);--激活wegame登录窗口 --lua_c_sleepRandom(1000*5,1000*10); --MouseMoveDisorder(hwnd,862,486,50); --lua_c_MoveMouseRandomForWindow(hwnd,690,240,780,247);--鼠标绝对移动到账号输入框的位置 lua_c_NewMoveMouseRandomForWindow(hwnd,690,240,780,247);--带轨迹鼠标绝对移动到账号输入框的位置 lua_c_sleepRandom(1000*3,1000*5); lua_c_newAbsMouseKey(1);--单击鼠标左键 lua_c_sleepRandom(300,800); lua_c_newAbsMouseKey(3);--双击鼠标左键 GetID();--获取登录账号 --lua_c_OutputDebugString("hwnd:"..hwnd); end end --初始化攻击技能 function InitSkill() end --运行wegame function rungeame() --判断wegame路径是否存在 nIsExist = lua_c_FileIsExist(g_strWegamePath); if nIsExist == 0 then--获取到的wegame路径是错误的退出流程 lua_c_OutputDebugString("not find wegame "); lua_c_sleepRandom(1000*5,1000*10);--一定要等待 避免粘包 lua_c_SendCenterControl("10")--发送查询wegame路径的请求给中控 lua_c_sleepRandom(1000*5,1000*10); else --lua_c_OutputDebugString("wegamepath2:"..g_strWegamePath); lua_c_ShellExecute(g_strWegamePath);-- 运行wegame lua_c_SendCenterControl("运行wegame随机等待");--找到登录窗口 lua_c_sleepRandom(1000*30,1000*60);--随机等待30-60秒 end end --通过中控获取登录的账号 function GetID() --移动到输入账号的位置 lua_c_SendCenterControl("11")--发送查询账号 如果查询正常键盘会自动输入不会返回给脚本 --lua_c_sleepRandom(1000*60*30,1000*60*60);--账号输入没有返回值 只能看中控上获取到账号没有 g_nRunSign = 2;--暂停脚本,等待中控端发来完成输入的消息 --if nIsGet == 0 then --表示没有获取到账号 --lua_c_SendCenterControl("未获取到账号") --lua_c_sleepRandom(1000*60*10,1000*60*30); --end end --获取账号密码 function GetPassword() lua_c_SendCenterControl("13")--发送查询密码 g_nRunSign = 2;--暂停脚本,等待中控端发来完成输入的消息 end --登录函数用于wegame登录游戏 function login2() PID = lua_c_GetPid("wegame.exe"); if PID ~= 0 then --wegame已经运行 PID = lua_c_GetPid("TASLogin.exe"); if PID == 0 then--当前wegame已经登录 并且账号也已经登录了 else --开始输出账号和密码的流程 --获取wegame的登录窗口 lua_c_SendCenterControl("获取QQ") end else -- wegame没有运行 --判断wegame路径是否存在 nIsExist = lua_c_FileIsExist(g_strWegamePath); if nIsExist == 0 then--获取到的wegame路径是错误的退出流程 lua_c_OutputDebugString("not find wegame "); lua_c_SendCenterControl("10")--发送查询wegame路径的请求给中控 else --lua_c_OutputDebugString("wegamepath2:"..g_strWegamePath); lua_c_ShellExecute(g_strWegamePath);-- 运行wegame lua_c_sleepRandom(1000*30,1000*60);--随机等待30-60秒 end end end --lua_c_ReadMemoryVAInt 内存读取测试 function ReadInt() --intdata = lua_c_ReadMemoryVAInt(2564,"00") --lua_c_OutputDebugString("read BOOL:"..intdata["BOOL"].." INT:"..intdata["INT"]); --参数1: 通讯pid 1 == wegame.exe 2== dnf.exe --参数2: rva --参数3: 模块名称 --intdata = lua_c_ReadMemoryRVAIntByCommPID(1,"42DE40","TenioTPF.dll"); --lua_c_OutputDebugString("read BOOL:"..intdata["BOOL"].." INT:"..intdata["INT"]); --controlID = lua_c_GetWGControlID(); --lua_c_OutputDebugString("read BOOL:"..controlID["BOOL"].." controlID:"..controlID["ID"]); --获取游戏状态 --GameState = lua_c_GetGameState(); --lua_c_OutputDebugString("read BOOL:"..GameState["BOOL"].." STATE:"..GameState["STATE"]); --Nowvv = lua_c_GetVitalityValue(); --lua_c_OutputDebugString("当前疲劳:"..Nowvv); --nDoorIsOpen = lua_c_DoorIsOpen(); --lua_c_OutputDebugString("当前是否开门:"..nDoorIsOpen); --RoleLevel = lua_c_GetRoleLevel(); --lua_c_OutputDebugString("角色等级:"..RoleLevel); --roomNumber = lua_c_GetRoomNumber(); --lua_c_OutputDebugString("当前房间X:"..roomNumber["X"].."当前房间Y:"..roomNumber["Y"]); --BOSSroomNumber = lua_c_GetBossRoomNumber(); --lua_c_OutputDebugString("BOSS房间X:"..BOSSroomNumber["BossX"].."BOSS房间Y:"..BOSSroomNumber["BossY"]); lua_c_sleepRandom(1000*3,1000*5); lua_c_MoveTo(542,469); --lua_c_DisplayCommMemory(); end --获取主线人物 function MianQuest() lua_c_GetMainQuest(); return end --人物城镇移动 CityMove(GetRand(477, 577), GetRand(330, 350)); --测试使用 function CityMove(); lua_c_sleepRandom(1000*3,1000*5); lua_c_CityMove(550, 570,330, 350); lua_c_OutputDebugString("移动完成"); end --添加能够使用的技能ID function InitRandomSkill() --添加在boss房间使用的技能 或者是任意房间使用的技能 --元素 lua_c_AddUseSkill(307);--index:0 技能名称:圣灵水晶 技能ID:307 CD:307 key:0x4 controlkey:0x0 lua_c_AddUseSkill(70);--index:24 技能名称:第六元素 技能ID:70 CD:70 key:0x16 controlkey:0x0 lua_c_AddUseSkill(59);--index:48 技能名称:极冰盛宴 技能ID:59 CD:59 key:0x7 controlkey:0x0 lua_c_AddUseSkill(56);--index:72 技能名称:冰墙 技能ID:56 CD:56 key:0x9 controlkey:0x0 lua_c_AddUseSkill(31);--index:96 技能名称:雷旋 技能ID:31 CD:31 key:0xa controlkey:0x0 lua_c_AddUseSkill(34);--index:120 技能名称:元素之门 技能ID:34 CD:34 key:0xb controlkey:0x0 lua_c_AddUseSkill(58);--index:192 技能名称:湮灭黑洞 技能ID:58 CD:58 key:0x1a controlkey:0x0 lua_c_AddUseSkill(111);--index:216 技能名称:元素之幕 技能ID:111 CD:111 key:0x8 controlkey:0x0 lua_c_AddUseSkill(74);--index:240 技能名称:陨星幻灭 技能ID:74 CD:74 key:0x15 controlkey:0x0 lua_c_AddUseSkill(55);--index:264 技能名称:天雷 技能ID:55 CD:55 key:0x17 controlkey:0x0 --小魔女 lua_c_AddUseSkill(372);--疯熊火箭拳 lua_c_AddUseSkill(332);--火热的爱意 lua_c_AddUseSkill(333);--蔷薇鞭挞 lua_c_AddUseSkill(334);--疯熊守护 lua_c_AddUseSkill(370);--疯狂乱抓 lua_c_AddUseSkill(336);--疯疯熊坠击 lua_c_AddUseSkill(337);--疯狂召唤 lua_c_AddUseSkill(338);--蔷薇囚狱 lua_c_AddUseSkill(340);--变大吧 疯疯熊 lua_c_AddUseSkill(341);--林中小屋 lua_c_AddUseSkill(346);--哇咔咔 lua_c_AddUseSkill(344);--人偶戏法 lua_c_AddUseSkill(348);--痛苦庭院 lua_c_AddUseSkill(349);--咆哮吧 疯疯熊 --旅人 --lua_c_AddUseSkill(8);--技能名称:营火 技能ID:8 lua_c_AddUseSkill(3);--技能名称:凌跃一击 技能ID:3 lua_c_AddUseSkill(30);--技能名称:神雾兵仗·北极星 技能ID:30 lua_c_AddUseSkill(4);--技能名称:迷雾爆裂 技能ID:4 lua_c_AddUseSkill(32);--技能名称:装置驱动 : 星云 技能ID:32 lua_c_AddUseSkill(5);--技能名称:绝技袭击 技能ID:5 lua_c_AddUseSkill(7);--技能名称:翻月翔击 技能ID:7 lua_c_AddUseSkill(9);--技能名称:迷雾箭雨 技能ID:9 lua_c_AddUseSkill(70);--技能名称:高速机动 技能ID:70 lua_c_AddUseSkill(33);--技能名称:神雾星仗·人马座星云 技能ID:33 lua_c_AddUseSkill(13);--技能名称:三重加速 技能ID:13 lua_c_AddUseSkill(11);--技能名称:驱虫烈火 技能ID:11 lua_c_AddUseSkill(16);--技能名称:细雨 技能ID:16 lua_c_AddUseSkill(17);--技能名称:急流 技能ID:17 lua_c_AddUseSkill(20);-- lua_c_AddUseSkill(21);-- lua_c_AddUseSkill(22);-- lua_c_AddUseSkill(24);-- lua_c_AddUseSkill(26);-- lua_c_AddUseSkill(28);-- lua_c_AddUseSkill(29);--29 --缪斯 lua_c_AddUseSkill(67);--技能名称:梦幻三重奏 技能ID:67 lua_c_AddUseSkill(64);--技能名称:辉光变奏 技能ID:64 lua_c_AddUseSkill(36);--技能名称:热场调音 技能ID:36 lua_c_AddUseSkill(41);--技能名称:乐力全开 : 力 技能ID:41 配合 闪耀旋律 技能ID:60 缪斯之声 技能ID:54 技能名称:街头演出 技能ID:45 技能名称:音波冲击 技能ID:69 使用 --lua_c_AddUseSkill(39);--技能名称:闪亮首秀 技能ID:39 位移技能 lua_c_AddUseSkill(69);--技能名称:音波冲击 技能ID:69 lua_c_AddUseSkill(59);--技能名称:独家演奏 技能ID:59 lua_c_AddUseSkill(54);--技能名称:缪斯之声 技能ID:54 lua_c_AddUseSkill(48);--技能名称:可爱节拍 技能ID:48 lua_c_AddUseSkill(44);--技能名称:主角登场 技能ID:44 lua_c_AddUseSkill(42);--技能名称:乐力全开 : 律 技能ID:42 配合 闪耀旋律 技能ID:60 缪斯之声 技能ID:54 技能名称:街头演出 技能ID:45 技能名称:音波冲击 技能ID:69 使用 lua_c_AddUseSkill(46);--技能名称:动感音符 技能ID:46 lua_c_AddUseSkill(45);--技能名称:街头演出 技能ID:45 lua_c_AddUseSkill(60);--技能名称:闪耀旋律 技能ID:60 index:24 lua_c_AddUseSkill(62);--技能名称:巨星登场 技能ID:62 index:48 lua_c_AddUseSkill(52);--技能名称:音力增强 技能ID:52 index:72 lua_c_AddUseSkill(57);--技能名称:梦想的舞台 技能ID:57 index:96 lua_c_AddUseSkill(65);--技能名称:开场 : 唯我璀璨 技能ID:65 index:120 lua_c_AddUseSkill(68);--技能名称:终曲 : 霓虹蝶梦 技能ID:68 index:144 lua_c_AddUseSkill(58);--技能名称:调音放送 技能ID:58 index:240 --技能名称:缪斯之声 技能ID:54 index:0 --技能名称:乐力全开 : 力 技能ID:41 index:168 --技能名称:乐力全开 : 律 技能ID:42 index:192 --技能名称:可爱节拍 技能ID:48 index:216 --技能名称:闪亮首秀 技能ID:39 index:264 --技能名称:梦幻三重奏 技能ID:67 index:288 --技能名称:辉光变奏 技能ID:64 index:312 --基本职业 8 转职职业 4 御风者一觉 lua_c_AddUseSkill(72);--index:0 技能名称:狂风冲刺 技能ID:72 lua_c_AddUseSkill(85);--index:24 技能名称:风卷残云 技能ID:85 lua_c_AddUseSkill(84);--index:48 技能名称:疾风瞬影闪 技能ID:84 --lua_c_AddUseSkill(58);--index:72 技能名称:瞬移 技能ID:20 lua_c_AddUseSkill(80);--index:96 技能名称:风暴之拳 技能ID:80 lua_c_AddUseSkill(47);--index:120 技能名称:刃风 技能ID:47 lua_c_AddUseSkill(79);--index:144 技能名称:真空旋风破 技能ID:79 lua_c_AddUseSkill(81);--index:168 技能名称:风暴之眼 技能ID:81 lua_c_AddUseSkill(78);--index:192 技能名称:双翼风刃 技能ID:78 lua_c_AddUseSkill(74);--index:216 技能名称:游离之风 技能ID:74 lua_c_AddUseSkill(76);--index:240 技能名称:风鸣冲击 技能ID:76 lua_c_AddUseSkill(77);--index:264 技能名称:朔风牵引 技能ID:77 lua_c_AddUseSkill(73);--index:288 技能名称:回风斩 技能ID:73 --召唤 lua_c_AddUseSkill(312);--技能名称:咒令 : 愤怒咆哮 技能ID:312 CD:312 key:0x4 controlkey:0x0 lua_c_AddUseSkill(85);--技能名称:狂化黑月 技能ID:85 CD:85 key:0x16 controlkey:0x0 lua_c_AddUseSkill(311);--技能名称:契约召唤 : 牛头王库鲁塔 技能ID:311 CD:311 key:0x7 controlkey:0x0 lua_c_AddUseSkill(46);--技能名称:契约召唤 : 路易丝 技能ID:46 CD:46 key:0x9 controlkey:0x0 lua_c_AddUseSkill(76);--技能名称:精灵召唤 : 亡魂默克尔 技能ID:76 CD:76 key:0xa controlkey:0x0 lua_c_AddUseSkill(94);--技能名称:传说召唤 : 月蚀之影 技能ID:94 CD:94 key:0x14 controlkey:0x0 lua_c_AddUseSkill(96);--技能名称:传说召唤 : 逆月者拉莫斯 技能ID:96 CD:96 key:0x1a controlkey:0x0 lua_c_AddUseSkill(82);--技能名称:契约召唤 : 征服者卡西利亚斯 技能ID:82 CD:82 key:0x8 controlkey:0x0 lua_c_AddUseSkill(405);--技能名称:必杀剑·千鬼杀 技能ID:405 CD:405 key:0x15 controlkey:0x0 lua_c_AddUseSkill(45);--技能名称:契约召唤 : 袄索 技能ID:45 CD:45 key:0x17 controlkey:0x0 --添加在非boSS房间使用的技能 --旅人 lua_c_AddUseSkillNotBoss(21); lua_c_AddUseSkillNotBoss(26); lua_c_AddUseSkillNotBoss(24); lua_c_AddUseSkillNotBoss(25); lua_c_AddUseSkillNotBoss(19); lua_c_AddUseSkillNotBoss(28); lua_c_AddUseSkillNotBoss(3);--技能名称:凌跃一击 技能ID:3 lua_c_AddUseSkillNotBoss(30);--技能名称:神雾兵仗·北极星 技能ID:30 lua_c_AddUseSkillNotBoss(4);--技能名称:迷雾爆裂 技能ID:4 lua_c_AddUseSkillNotBoss(32);--技能名称:装置驱动 : 星云 技能ID:32 lua_c_AddUseSkillNotBoss(5);--技能名称:绝技袭击 技能ID:5 lua_c_AddUseSkillNotBoss(7);--技能名称:翻月翔击 技能ID:7 lua_c_AddUseSkillNotBoss(9);--技能名称:迷雾箭雨 技能ID:9 lua_c_AddUseSkillNotBoss(70);--技能名称:高速机动 技能ID:70 --lua_c_AddUseSkillNotBoss(33);--技能名称:神雾星仗·人马座星云 技能ID:33 lua_c_AddUseSkillNotBoss(13);--技能名称:三重加速 技能ID:13 lua_c_AddUseSkillNotBoss(11);--技能名称:驱虫烈火 技能ID:11 lua_c_AddUseSkillNotBoss(16);--技能名称:细雨 技能ID:16 lua_c_AddUseSkillNotBoss(17);--技能名称:急流 技能ID:17 lua_c_AddUseSkillNotBoss(20);-- lua_c_AddUseSkillNotBoss(22);-- lua_c_AddUseSkillNotBoss(29);--29 --缪斯 lua_c_AddUseSkillNotBoss(67);--技能名称:梦幻三重奏 技能ID:67 lua_c_AddUseSkillNotBoss(64);--技能名称:辉光变奏 技能ID:64 lua_c_AddUseSkillNotBoss(36);--技能名称:热场调音 技能ID:36 lua_c_AddUseSkillNotBoss(41);--技能名称:乐力全开 : 力 技能ID:41 配合 闪耀旋律 技能ID:60 缪斯之声 技能ID:54 技能名称:街头演出 技能ID:45 技能名称:音波冲击 技能ID:69 使用 --lua_c_AddUseSkillNotBoss(39);--技能名称:闪亮首秀 技能ID:39 位移技能 lua_c_AddUseSkillNotBoss(69);--技能名称:音波冲击 技能ID:69 lua_c_AddUseSkillNotBoss(59);--技能名称:独家演奏 技能ID:59 lua_c_AddUseSkillNotBoss(54);--技能名称:缪斯之声 技能ID:54 lua_c_AddUseSkillNotBoss(48);--技能名称:可爱节拍 技能ID:48 lua_c_AddUseSkillNotBoss(44);--技能名称:主角登场 技能ID:44 lua_c_AddUseSkillNotBoss(42);--技能名称:乐力全开 : 律 技能ID:42 配合 闪耀旋律 技能ID:60 缪斯之声 技能ID:54 技能名称:街头演出 技能ID:45 技能名称:音波冲击 技能ID:69 使用 lua_c_AddUseSkillNotBoss(46);--技能名称:动感音符 技能ID:46 lua_c_AddUseSkillNotBoss(45);--技能名称:街头演出 技能ID:45 lua_c_AddUseSkillNotBoss(60);--技能名称:闪耀旋律 技能ID:60 index:24 lua_c_AddUseSkillNotBoss(62);--技能名称:巨星登场 技能ID:62 index:48 lua_c_AddUseSkillNotBoss(52);--技能名称:音力增强 技能ID:52 index:72 lua_c_AddUseSkillNotBoss(57);--技能名称:梦想的舞台 技能ID:57 index:96 lua_c_AddUseSkillNotBoss(65);--技能名称:开场 : 唯我璀璨 技能ID:65 index:120 lua_c_AddUseSkillNotBoss(68);--技能名称:终曲 : 霓虹蝶梦 技能ID:68 index:144 lua_c_AddUseSkillNotBoss(58);--技能名称:调音放送 技能ID:58 index:240 --召唤 lua_c_AddUseSkillNotBoss(312);--技能名称:咒令 : 愤怒咆哮 技能ID:312 CD:312 key:0x4 controlkey:0x0 lua_c_AddUseSkillNotBoss(85);--技能名称:狂化黑月 技能ID:85 CD:85 key:0x16 controlkey:0x0 lua_c_AddUseSkillNotBoss(311);--技能名称:契约召唤 : 牛头王库鲁塔 技能ID:311 CD:311 key:0x7 controlkey:0x0 lua_c_AddUseSkillNotBoss(46);--技能名称:契约召唤 : 路易丝 技能ID:46 CD:46 key:0x9 controlkey:0x0 lua_c_AddUseSkillNotBoss(76);--技能名称:精灵召唤 : 亡魂默克尔 技能ID:76 CD:76 key:0xa controlkey:0x0 lua_c_AddUseSkillNotBoss(94);--技能名称:传说召唤 : 月蚀之影 技能ID:94 CD:94 key:0x14 controlkey:0x0 lua_c_AddUseSkillNotBoss(96);--技能名称:传说召唤 : 逆月者拉莫斯 技能ID:96 CD:96 key:0x1a controlkey:0x0 lua_c_AddUseSkillNotBoss(82);--技能名称:契约召唤 : 征服者卡西利亚斯 技能ID:82 CD:82 key:0x8 controlkey:0x0 lua_c_AddUseSkillNotBoss(405);--技能名称:必杀剑·千鬼杀 技能ID:405 CD:405 key:0x15 controlkey:0x0 lua_c_AddUseSkillNotBoss(45);--技能名称:契约召唤 : 袄索 技能ID:45 CD:45 key:0x17 controlkey:0x0 --元素 lua_c_AddUseSkillNotBoss(307);--index:0 技能名称:圣灵水晶 技能ID:307 CD:307 key:0x4 controlkey:0x0 lua_c_AddUseSkillNotBoss(70);--index:24 技能名称:第六元素 技能ID:70 CD:70 key:0x16 controlkey:0x0 lua_c_AddUseSkillNotBoss(59);--index:48 技能名称:极冰盛宴 技能ID:59 CD:59 key:0x7 controlkey:0x0 lua_c_AddUseSkillNotBoss(56);--index:72 技能名称:冰墙 技能ID:56 CD:56 key:0x9 controlkey:0x0 lua_c_AddUseSkillNotBoss(31);--index:96 技能名称:雷旋 技能ID:31 CD:31 key:0xa controlkey:0x0 lua_c_AddUseSkillNotBoss(34);--index:120 技能名称:元素之门 技能ID:34 CD:34 key:0xb controlkey:0x0 lua_c_AddUseSkillNotBoss(58);--index:192 技能名称:湮灭黑洞 技能ID:58 CD:58 key:0x1a controlkey:0x0 lua_c_AddUseSkillNotBoss(111);--index:216 技能名称:元素之幕 技能ID:111 CD:111 key:0x8 controlkey:0x0 lua_c_AddUseSkillNotBoss(74);--index:240 技能名称:陨星幻灭 技能ID:74 CD:74 key:0x15 controlkey:0x0 lua_c_AddUseSkillNotBoss(55);--index:264 技能名称:天雷 技能ID:55 CD:55 key:0x17 controlkey:0x0 end --添加特殊技能 function addSpaeialSkill() --参数1:特殊技能的ID --参数2:特殊技能要配合的技能ID的数量 最多支持5个 --参数3:特殊技能要配合的技能ID的处理方式 1 表示顺序按键 2 表示随机按键 --参数4:配合技能ID1 没有填0 --参数5:配合技能ID2 没有填0 --参数6:配合技能ID3 没有填0 --参数7:配合技能ID4 没有填0 --参数8:配合技能ID5 没有填0 lua_c_AddSpecialSkill(41,2,2,60,54,45,69,0);--技能名称:乐力全开 : 力 技能ID:41 配合 闪耀旋律 技能ID:60 缪斯之声 技能ID:54 技能名称:街头演出 技能ID:45 技能名称:音波冲击 技能ID:69 使用 lua_c_AddSpecialSkill(42,2,2,60,54,45,69,0);--技能名称:乐力全开 : 律 技能ID:42 配合 闪耀旋律 技能ID:60 缪斯之声 技能ID:54 技能名称:街头演出 技能ID:45 技能名称:音波冲击 技能ID:69 使用 end --倍功开启 function StartAttack() --参数1:开启倍功的大小 默认为100 --参数2:开启倍功的等级 lua_c_AddAttack(150,110); end --初始化角色在低血量的时候要是要使用的物品,并且有先后循序,最先找到的最先使用 function InitMedicine() lua_c_AddMedicine(490029119);--无尽之恢复药剂 lua_c_AddMedicine(10319287);--[冒险]恢复药水 lua_c_AddMedicine(2660671);--闪亮的雷米援助 lua_c_AddMedicine(490029488);--升级加速恢复药剂 lua_c_AddMedicine(490029363);--新晋/回归无尽之恢复药剂 end --测试函数 function TestMain(); --lua_c_sleepRandom(1000*3,1000*5); InitMedicine(); InitRandomSkill(); lua_c_DTest(); --GetDnfHWND(); --MouseClickTask(); --lua_c_MainQuestMove(); --lua_c_CityMove(1450, 1452,191, 195); --lua_c_newAbsMouseMove(548,472) --lua_c_sleepRandom(1000*1,1000*2); --lua_c_newAbsMouseKey(1);--单击鼠标左键 --lua_c_sleepRandom(1000*1,1000*2); --lua_c_newKeyBoard(1,46);--L_ctrl + = --lua_c_newAbsMouseMove(512,481) --lua_c_sleepRandom(1000*1,1000*2); --lua_c_newAbsMouseKey(1);--单击鼠标左键 --lua_c_sleepRandom(1000*1,1000*2); --lua_c_newKeyBoard(1,46);--L_ctrl + = --lua_c_newKeyBoard(0,79); lua_c_OutputDebugString("测试完成"); end --初始化函数 function Init() lua_c_sleepRandom(1000*3,1000*5); lua_c_SetOutDebugString(1);--设置lua_c_OutputDebugString有线输出 0为不输出 默认为0 local nRet = lua_c_Init();--初始化 正常返回0 if nRet ~= 0 then lua_c_OutputDebugString("init failed stat:"..nRet); if nRet == 2 then --while true --do --nRet = lua_c_Init(); --lua_c_sleepRandom(1000*3,1000*5); --lua_c_OutputDebugString("init stat:"..nRet); --if nRet ~= 0 then --break; --end --end --lua_c_SendCenterControl("校验失败"); --local nRet2 = lua_c_InitCh9329SN(); --lua_c_OutputDebugString("InitCh9329SN:"..nRet2); end --else --lua_c_OutputDebugString("init failed stat:"..nRet); return false; else lua_c_GoldMapTimeOut(600);--单位为秒 副本超时函数 lua_c_OutputDebugString("init succeed"); end return true; end --初始化无敌共功 function InitInvincible() --0 表示不使用无敌 --1 表示全图开启无敌功能 --2 表示血量低于百分之50开启无敌 --3 表示血量低于百分之50开启无敌 并且血量恢复到百分之70以上关闭无敌 lua_c_InitInvincible(1); end --初始化要在排行行购买的东西 function InitBuyItem() --参数1:购买物品额名称 --参数2: 购买物品低于这个数量触发购买 --参数3:购买物品的数量 lua_c_BuyItme("红色小晶块",200,1000); end --运行QQ function ExecuteQQ() hwnd = lua_c_Findwindow("TXGuiFoundation","QQ"); if hwnd == 0 then lua_c_ShellExecute("C:\\Program Files (x86)\\Tencent\\QQ\\Bin\\QQScLauncher.exe");--运行qq qq快捷登录模式需要提前运行 --lua_c_ShellExecute("D:\\QQ\\Bin\\QQScLauncher.exe");--运行qq qq快捷登录模式需要提前运行 else lua_c_OutputDebugString("QQ hwnd:"..hwnd); end end ---DeBugUSBInfo(); --lua_c_RelMoveMouse(100,100);--鼠标相对移动 --全局变量申请 g_nRunSign = 1;--运行标识,1表示正常运行脚本 2表示暂停脚本 3表示退出脚本 g_strWegamePath = "";--wegame的运行路径 g_dnfHwnd = 0;--保存DNF 窗口的hwnd lua_c_ShellExecute("C:\\tool\\Dbgview.exe"); lua_c_sleepRandom(1000*5,1000*10); --lua_c_SendCenterControl("开始运行"); --ExecuteQQ();--运行QQ --lua_c_sleepRandom(1000*60,1000*120);--开机随机等待 --blInit = Init(); --if blInit == false then -- lua_c_SendCenterControl("初始化失败"); -- return; --end --InitMedicine();--药品使用初始化 --InitRandomSkill();--技能初始化 --InitInvincible();--无敌功能初始化 ----StartAttack();--倍功功能初始化 --AddUseSkill();--初始化特殊副本的使用技能 --addSpaeialSkill();--添加特殊技能 --InitBuyItem();--初始化要购买的物品 --lua_c_SetNotExecuteMainQuestLevel(110);--设置人物等级110级不做主线任务 --mainThread(); --lua_c_GoldMapRunCount(5); --调试数据 lua_c_DispalyMapData();--显示当前地图数据 lua_c_DispalyCityData();--显示当前城镇数据 lua_c_DispalyWindowsSub();--计算窗口差值 --lua_c_DTest();