17173首页 - 免费新游 - 火爆论坛 - 游戏博客 - 游戏播客 - 百科问答 - 网游排行榜 - 网游期待榜
| 通行证 注册
大航海时代OL > > 正文
HodakDu的采集玛瑙脚本(第一版脚本)
2007-03-06           【 加入收藏 / 文章投稿 / 截图上传 / 发表评论
作者:HodakDu 获得积分: Z 投稿总数:

三区一服葡萄牙的HodakDu奉献的采集玛瑙脚本(第一版)


两个月前去埃及北岸采玛瑙,先是找了几个网上的脚本,无论是什么最完美脚本,终级脚本,智能脚本。。。。。。几乎每个脚本都有缺陷,要么人物采集地点乱跑,要么玛瑙600砂6000的摆摊,要么把所有的玛瑙全丢了。。。。。。


世上没有救世主,一切只能靠自己。于是,自己写了个脚本。此脚本特点如下:


1. 1024*768*32位系统分辨率设置,800*600窗口模式运行大航海时代OL;
2. 不需要调整窗口位置,脚本中采用的全部是相对坐标;
3. 快捷方式按键F1,装载按键F7,露天市场按键F9,使用技能按键F11;
4. 采集快捷键F1,吃料理快捷键F2,F3,F4,F5,F6依次为料理1,料理2,料理3,料理4,料理5;
5. 自动判断料理数量,用户可以自定义5种料理,请自行修改“料理恢复数值数组”部分的数值;
6. 自动调整露天市场的价格,可以设置不同的时间段,丢弃不同的货物,销售不同的价格;
7. 脚本编写的相当规范,任何人都能够看懂;
8. 自动喊话,自动保存日志,以观察脚本运行状态;
9. 定时下线,定时关机功能;
10.自动判断疲劳度,自动判断行动力,自动判断网络连接,自动判断船舱容量;
11.日志文件保存在C盘根目录下。


HodakDu使用这个脚本两个月以来,从未出现过任何BUG,本人现在已经不再继续挖玛瑙,因此又编写了各地的挖矿石生产宝石的脚本,以后会陆续提供出来。


目前已经完成的脚本有:
汉堡挂机练铸造脚本、波尔多挂机练工艺脚本:自动使用星书,自动使用身体语言,自动购买原料,自动生产,自动卖出产品,料理和星书足够的情况下,直接挂上到满级,而且能赚近千万的钱。
另外还有波尔图制作料理脚本、各地采矿石加工脚本、特产单个卖出脚本、暴港脚本、护港脚本等等,目前都尚未到公开的时机,请大家耐心等待。


本人算是一个起步比较晚的玩家,但是我的目标是三围全满,六大技能全满,白兵技能全满。呵呵,目前这个愿望即将在月底实现,向本人的生日献礼。


目标实现以后,准备解散目前的商会,重新组建新的商会,准备只招收单项等级40以上的玩家各10名,人不在多,而在精。有兴趣的请联系HodakDu。


最后,感谢在我最初升级的日子里帮助过本人的所有的朋友,坚哥(我从北海回里斯本的时候主动带我使任务得以完成),猪哥(我去伊斯坦布尔造船时,没有加伪装的衣服和鞋子,好心的猪哥帮我买了送出来),还有和我一起冲战等级的老鼠仔兄弟、天外..兄弟、为国..兄弟、火妖兄弟等等。


以下是脚本:


[General]
Description=超级挖玛瑙
BeginHotkey=49
BeginHotkeyMod=2
PauseHotkey=32775
PauseHotkeyMod=0
StopHotkey=123
StopHotkeyMod=0
RunOnce=1
EnableWindow=
Enable=1
[Repeat]
Type=0
Number=1
[CallBack]
OnSetup=
[Comment]
Content=


[Script]
//变量定义开始
//
//三区一服葡萄牙的HodakDu奉献的采集玛瑙脚本(第一版)
//
//功能键代码
//F1=112,F2=113,F3=114,F4=115,F5=116,F6=117
//F7=118,F8=119,F9=120,F10=121,F11=122,F12=123,ESC=27
//丢弃货物中心点坐标
//Pos1=116,138;Pos2=172,138;Pos3=228,138;Pos4=284,138;Pos5=340,138;(X+56)
//Pos6=116,194;Pos7=172,194;Pos8=228,194;Pos9=284,194;Pos10=340,194;(Y+56)
//货物中心点颜色
//姜=4088BB,砂=8B9FB5,玛瑙=5B74A3,石材=B1B8AF
//
//
//快捷键设置
//快捷方式按键F1,装载按键F7,露天市场按键F9,使用技能按键F11
//采集快捷键F1,吃料理快捷键F2,F3,F4,F5,F6依次为料理1,料理2,料理3,料理4,料理5
//
//
//其它设置
UserVar UpdateTimeInterval=8 刷新时间间隔(分钟)
UserVar ShutDownTime="17:45|18:15" 定时关机时间(HH:MM)
UserVar AutoShutDown=0 自动关机设置
UserVar TimeShutDownSet=1 定时关机设置
UserVar AutoSayPrice=1 自动报价设置
UserVar AutoSellGoods=1 自动露天市场设置
UserVar GoodsCount=4 货物种类总数设置
UserVar BloodValueSet=200 行动力维持数值设置
UserVar PriceAdjustValueSet=10 价格调整幅度设置
UserVar OutputMessageSet=0 输出消息设置
//0-输出喊话消息,系统日志记录  3不记录
//1-输出全部消息,系统日志记录  4不记录
//2-公开输出消息,系统日志记录  5不记录
//
//显示消息类型    Ctrl+P:舰队80,Ctrl+S:公开83
VBS Dim OutputType
//
//料理名称数组
VBS Dim Food_Name(5)
//料理恢复数值数组
VBS Dim Food_AddValue(5)
//
VBS Food_Name(1)="海鲜披萨"
VBS Food_AddValue(1)=50
//
VBS Food_Name(2)="希腊肉末茄盒"
VBS Food_AddValue(2)=55
//
VBS Food_Name(3)="土耳其烤牛肉"
VBS Food_AddValue(3)=60
//
VBS Food_Name(4)="荷兰干酪奶汁烤菜"
VBS Food_AddValue(4)=50
//
VBS Food_Name(5)="炸鱼"
VBS Food_AddValue(5)=50
//
//货物中心点颜色数组
VBS Dim Goods_Color(20)
//货物名称数组
VBS Dim Goods_Name(20)
//货物初始价格数组
VBS Dim Goods_Price(20)
//货物价格调整参数数组(12个数字,5表示初始价格,4表示-10%,6表示+10%)
VBS Dim Goods_PriceAdjust(20)
//货物展销价格数组
VBS Dim Goods_SellPrice(20)
//货物展销旧价格
VBS Dim Goods_OldPrice(20)
//上次价格调整时间
VBS Dim OldPriceAdjustTime
//货物设置
VBS Goods_Color(1)="4088BB"
VBS Goods_Name(1)="姜"
VBS Goods_Price(1)=400
VBS Goods_PriceAdjust(1)="000333111111"
//价格调整时间段标记     "000001111122"
//价格调整时间段标记     "024680246802"
//
VBS Goods_Color(2)="8B9FB5"
VBS Goods_Name(2)="砂"
VBS Goods_Price(2)=0
VBS Goods_PriceAdjust(2)="000000000000"
//价格调整时间段标记     "000001111122"
//价格调整时间段标记     "024680246802"
//
VBS Goods_Color(3)="5B74A3"
VBS Goods_Name(3)="玛瑙"
VBS Goods_Price(3)=4000
VBS Goods_PriceAdjust(3)="444666665555"
//价格调整时间段标记     "000001111122"
//价格调整时间段标记     "024680246802"
//
VBS Goods_Color(4)="B1B8AF"
VBS Goods_Name(4)="石材"
VBS Goods_Price(4)=300
VBS Goods_PriceAdjust(4)="000000000000"
//价格调整时间段标记     "000001111122"
//价格调整时间段标记     "024680246802"
//
//时间段数组
VBS Dim Time_Area(13)
//价格时间段设置(HH:MM)
VBS Time_Area(1)="00:00"
VBS Time_Area(2)="02:00"
VBS Time_Area(3)="04:00"
VBS Time_Area(4)="06:00"
VBS Time_Area(5)="08:00"
VBS Time_Area(6)="10:00"
VBS Time_Area(7)="12:00"
VBS Time_Area(8)="14:00"
VBS Time_Area(9)="16:00"
VBS Time_Area(10)="18:00"
VBS Time_Area(11)="20:00"
VBS Time_Area(12)="22:00"
VBS Time_Area(13)="24:00"
//
//当前料理设置
VBS Dim CurrentFoodNo
//结束采集标志
VBS Dim EndFlag
//行动力数值
VBS Dim Blood
//
Plugin hwn = Window.GetKeyFocusWnd()
//变量定义结束
//
//主脚本开始
EndFlag = 0
CurrentFoodNo = 0
OldPriceAdjustTime = 0
If PriceAdjustValueSet < 10
    PriceAdjustValueSet = 10
EndIf
Gosub 建立日志文件
Gosub 当前时间
Message = CurrentTime & "脚本开始......"
Gosub 输出消息
//
Rem 自动采集开始
Gosub 自动采集
//
Rem 完成采集
Gosub 当前时间
Message = CurrentTime & "本次采集结束, 自动登出游戏......"
Gosub 输出消息
Gosub 自动登出
Gosub 自动登出
//
Rem 脚本结束
If AutoShutDown = 1
    Gosub 自动关机
EndIf
//
Beep
Beep
EndScript
//
//主脚本结束
//
//输出消息(参数Message)
Sub 输出消息
    If (Left(Message,3) <> "07-")
        OutputType = 83
        Gosub 显示消息
        Goto 输出消息结束
    EndIf
    If (OutputMessageSet = 1) Or (OutputMessageSet = 4)
        OutputType = 80
        Gosub 显示消息
    EndIf
    If (OutputMessageSet = 2) Or (OutputMessageSet = 5)
        OutputType = 83
        Gosub 显示消息
    EndIf
    If (OutputMessageSet < 3)
        Gosub 写入日志文件
    EndIf
    Rem 输出消息结束
    Beep
Return 输出消息
//建立日志文件
Sub 建立日志文件
    VBS Set File = CreateObject("Scripting.FileSystemObject")
    LogFileName = "C:\日志" & Right("0000" & Year(Date),2) & "-" & Right("00" & Month(Date),2) & "-" & Right("00" & Day(Date),2) & ".TXT"
    If File.FileExists(LogFileName)=0
        VBS Set LogFile = File.CreateTextFile(LogFileName,2)
        VBS LogFile.Close
    EndIf
Return 建立日志文件
//写入日志文件
Sub 写入日志文件
    VBS Set LogFile = File.OpenTextFile(LogFileName,8)
    VBS LogFile.WriteLine(Message)
    VBS LogFile.Close
Return 写入日志文件
//显示消息
Sub 显示消息
    Plugin OldWindow = Window.Foreground()
    If hwn = OldWindow
        VBS Set objIE = CreateObject("InternetExplorer.Application")
        VBS objIE.Navigate("about:blank")
        VBS objIE.document.parentwindow.clipboardData.SetData "text", Message
        VBS objIE.Quit
        Delay 500
        KeyDown 17 1
        If OutputType = 80
            KeyPress 80 1
        Else
            KeyPress 83 1
        EndIf
        KeyUp 17 1
        Delay 500
        KeyDown 17 1
        KeyPress 86 1
        KeyUp 17 1
        Delay 500
        KeyPress 13 1
        Delay 500
    EndIf
Return 显示消息
//坐标转换(参数PosX,PosY)
Sub 坐标转换
    Plugin winRect=Window.GetClientRect(hwn)
    winPoint = Split(winRect, "|", -1, 1)
    AbsX = CInt(winPoint(0)) + PosX
    AbsY = CInt(winPoint(1)) + PosY
    PosX = AbsX
    PosY = AbsY
Return 坐标转换
//移动鼠标到指定点(以窗口为准参数PosX,PosY相对坐标)
Sub 移动鼠标
    Plugin winRect=Window.GetClientRect(hwn)
    winPoint = Split(winRect, "|", -1, 1)
    AbsX = CInt(winPoint(0)) + PosX
    AbsY = CInt(winPoint(1)) + PosY
    MoveTo AbsX AbsY
    PosX = AbsX
    PosY = AbsY
    Delay 500
Return 移动鼠标
//常规吃料理
Sub 常规吃料理
    //F1-快捷方式按键
    Plugin Window.SendKeyPress(hwn,112)
    Delay 1500
    If CurrentFoodNo = 1
        //F2-吃料理快捷键
        Plugin Window.SendKeyPress(hwn,113)
        Goto 常规吃料理结束
    EndIf
    If CurrentFoodNo = 2
        //F3-吃料理快捷键
        Plugin Window.SendKeyPress(hwn,114)
        Goto 常规吃料理结束
    EndIf
    If CurrentFoodNo = 3
        //F4-吃料理快捷键
        Plugin Window.SendKeyPress(hwn,115)
        Goto 常规吃料理结束
    EndIf
    If CurrentFoodNo = 4
        //F5-吃料理快捷键
        Plugin Window.SendKeyPress(hwn,116)
        Goto 常规吃料理结束
    EndIf
    If CurrentFoodNo = 5
        //F6-吃料理快捷键
        Plugin Window.SendKeyPress(hwn,117)
        Goto 常规吃料理结束
    EndIf
    Rem 常规吃料理结束
    Delay 1500
Return 常规吃料理
//前台吃料理
Sub 前台吃料理
    Rem 前台吃料理开始
    VBSCall ReadMemory(&h00998dcc,2,Blood)
    If Blood > BloodValueSet
        Goto 前台吃料理结束
    EndIf
    Plugin Window.SendKeyPress(hwn,27)
    Delay 1000
    Plugin Window.SendKeyPress(hwn,122)
    Delay 1000
    Gosub 常规吃料理
    VBSCall ReadMemory(&h00998dcc,2,NewBlood)
    If NewBlood <= Blood
        CurrentFoodNo = CurrentFoodNo + 1
        If CurrentFoodNo > 5
            Goto 前台吃料理结束
        EndIf
    EndIf
    Goto 前台吃料理开始
    Rem 前台吃料理结束
Return 前台吃料理
//紧急吃料理
Sub 紧急吃料理
    Gosub 窗口初始化
    //F1-快捷方式按键
    Plugin Window.SendKeyPress(hwn,112)
    Delay 1500
    //F2-吃料理快捷键
    Plugin Window.SendKeyPress(hwn,113)
    Delay 1500
    //F11-使用技能(刷新用)
    Plugin Window.SendKeyPress(hwn,122)
    Delay 1500
    //F1-快捷方式按键
    Plugin Window.SendKeyPress(hwn,112)
    Delay 1500
    //F3-吃料理快捷键
    Plugin Window.SendKeyPress(hwn,114)
    Delay 1500
    //F11-使用技能(刷新用)
    Plugin Window.SendKeyPress(hwn,122)
    Delay 1500
    //F1-快捷方式按键
    Plugin Window.SendKeyPress(hwn,112)
    Delay 1500
    //F4-吃料理快捷键
    Plugin Window.SendKeyPress(hwn,115)
    Delay 1500
    //F11-使用技能(刷新用)
    Plugin Window.SendKeyPress(hwn,122)
    Delay 1500
    //F1-快捷方式按键
    Plugin Window.SendKeyPress(hwn,112)
    Delay 1500
    //F5-吃料理快捷键
    Plugin Window.SendKeyPress(hwn,116)
    Delay 1500
    //F11-使用技能(刷新用)
    Plugin Window.SendKeyPress(hwn,122)
    Delay 1500
    //F1-快捷方式按键
    Plugin Window.SendKeyPress(hwn,112)
    Delay 1500
    //F6-吃料理快捷键
    Plugin Window.SendKeyPress(hwn,117)
    Delay 1500
    //F11-使用技能(刷新用)
    Plugin Window.SendKeyPress(hwn,122)
    Delay 1500
    Gosub 窗口初始化
    //再次检查疲劳度
    PosX = 115 : PosY = 100
    Gosub 坐标转换
    IfColor PosX PosY 0080ff 0
        CheckFlag = 1
        Goto 紧急吃料理结束
    Else
        CheckFlag = 0
    EndIf
    Delay 500
    //再次检查行动力
    PosX = 50 : PosY = 115
    Gosub 坐标转换
    IfColor PosX PosY f77cf7 1
        CheckFlag = 1
        Goto 紧急吃料理结束
    Else
        CheckFlag = 0
    EndIf
    Rem 紧急吃料理结束
Return 紧急吃料理
//断线保护
Sub 断线保护
    //断线提示窗口坐标
    PosX = 411 : PosY = 315
    Gosub 坐标转换
    IfColor PosX PosY 3a2815 0
        EndFlag = 1
        Goto 脚本结束
    Else
        Message = Message & "网络连接:正常" & "  "
    EndIf
Return 断线保护
//疲劳度保护
Sub 疲劳度保护
    CheckFlag = 0
    //疲劳度显示坐标
    PosX = 115 : PosY = 100
    Gosub 坐标转换
    IfColor PosX PosY 0080ff 0
        CheckFlag = 1
        Gosub 紧急吃料理
        If CheckFlag = 1
            EndFlag = 1
            Gosub 当前时间
            Message = CurrentTime & "疲劳度过高, 自动登出游戏......"
            Gosub 输出消息
            Gosub 自动登出
            Goto 脚本结束
        EndIf
    EndIf
    Message = Message & "疲劳度:正常" & "  "
Return 疲劳度保护
//无行动力保护
Sub 无行动力保护
    CheckFlag = 0
    //行动力显示坐标
    PosX = 50 : PosY = 115
    Gosub 坐标转换
    IfColor PosX PosY f77cf7 1
        CheckFlag = 1
        Gosub 紧急吃料理
        If CheckFlag = 1
            EndFlag = 1
            Gosub 当前时间
            Message = CurrentTime & "行动力不足, 自动登出游戏......"
            Gosub 输出消息
            Gosub 自动登出
            Goto 脚本结束
        EndIf
    EndIf
    Message = Message & "行动力:正常" & "  "
Return 无行动力保护
//行动力过高处理
Sub 行动力过高处理
    VBSCall ReadMemory(&h00998dcc,2,Blood)
    If Blood > BloodValueSet + 60
        Gosub 当前时间
        Message = CurrentTime & "行动力过高, 追加采集10次......"
        Gosub 输出消息
        For 10
            Gosub 采集一次
        EndFor
    EndIf
Return 行动力过高处理
//自动登出
Sub 自动登出
    //系统按钮坐标
    PosX = 775 : PosY = 20
    Gosub 移动鼠标
    IfColor PosX PosY bbd3ee 0
        LeftClick 1
        Delay 500
        //登出菜单坐标
        PosX = 745 : PosY = 120
        Gosub 移动鼠标
        LeftClick 1
        Delay 500
        //确认窗<是>按钮坐标
        PosX = 370 : PosY = 325
        Gosub 移动鼠标
        IfColor PosX PosY 1e1c17 0
            LeftClick 1
            Delay 500
        EndIf
    EndIf
    Delay 30000
Return 自动登出
//自动关机
Sub 自动关机
    Set ShutDownObj = CreateObject("WScript.Shell")
    VBSCall ShutDownObj.Popup("系统将在30秒后关机!!",5,"自动关机",48)
    Delay 30000
    VBS ShutDownObj.Run "shutdown /f /s /t 0"
Return 自动关机
//定时关机
Sub 定时关机
    If TimeShutDownSet <> 1
        Goto 定时关机结束
    EndIf
    If Len(ShutDownTime) <> 11
        Goto 定时关机结束
    EndIf
    If (Mid(ShutDownTime,3,1) <> ":") Or (Mid(ShutDownTime,6,1) <> "|") Or (Mid(ShutDownTime,9,1) <> ":")
        Goto 定时关机结束
    EndIf
    ShutDownTimeSet = Split(ShutDownTime, "|", -1, 1)
    ShutDownTimeLow = ShutDownTimeSet(0)
    ShutDownTimeHigh = ShutDownTimeSet(1)
    NowTimeSet = Right("00" & Hour(Time),2) & ":" & Right("00" & Minute(Time),2)
    If (NowTimeSet > ShutDownTimeLow) And (NowTimeSet < ShutDownTimeHigh)
        Gosub 当前时间
        Message = CurrentTime & "定时关机时间已到, 自动登出游戏......"
        Gosub 输出消息
        Gosub 自动登出
        Goto 脚本结束
    EndIf
    Rem 定时关机结束
Return 定时关机
//当前时间
Sub 当前时间
    CurrentTime = Right("0000" & Year(Date),2) & "-" & Right("00" & Month(Date),2) & "-" & Right("00" & Day(Date),2)
    CurrentTime = CurrentTime & "/" & Right("00" & Hour(Time),2) & ":" & Right("00" & Minute(Time),2) & ":" & Right("00" & Second(Time),2) & "  "
Return 当前时间
//价格调整
Sub 价格调整
    NowTimeSet = Right("00" & Hour(Time),2) & ":" & Right("00" & Minute(Time),2)
    TimeSetCount = 1
    For 12
        If (NowTimeSet >= Time_Area(TimeSetCount)) And (NowTimeSet < Time_Area(TimeSetCount+1))
            Goto 执行价格调整
        EndIf
        TimeSetCount = TimeSetCount + 1
    EndFor
    Rem 执行价格调整
    If OldPriceAdjustTime <> TimeSetCount
        OldPriceAdjustTime = TimeSetCount
        Gosub 当前时间
        AdjustPriceSetCount = 1
        Message = CurrentTime & "进行价格调整......"
        For GoodsCount
            OldPrice = Goods_SellPrice(AdjustPriceSetCount)
            AdjustPriceValue = Mid(Goods_PriceAdjust(AdjustPriceSetCount), TimeSetCount, 1)
            If AdjustPriceValue = 0
                Goods_SellPrice(AdjustPriceSetCount) = 0
                Goto 继续价格调整
            EndIf
            If AdjustPriceValue = 9
                Goods_SellPrice(AdjustPriceSetCount) = -1
                Goto 继续价格调整
            EndIf
            Goods_SellPrice(AdjustPriceSetCount) = Goods_Price(AdjustPriceSetCount) * (100 + (AdjustPriceValue - 5) * PriceAdjustValueSet) / 100
            If (Goods_Name(AdjustPriceSetCount) <> "")
                Message = Message & Goods_Name(AdjustPriceSetCount) & ":" & Goods_SellPrice(AdjustPriceSetCount) & "  "
            EndIf
            Rem 继续价格调整
            AdjustPriceSetCount = AdjustPriceSetCount + 1
        EndFor
        Gosub 输出消息
    EndIf
Return 价格调整
//料理检查
Sub 料理检查
    Gosub 当前时间
    Message = CurrentTime & "检查料理数量......"
    Gosub 输出消息
    Plugin Window.SendKeyPress(hwn,122)
    Delay 2000
    Plugin Window.SendKeyPress(hwn,112)
    Delay 2000
    PosX = 690
    PosY = 111
    Gosub 坐标转换
    IfColor PosX PosY ffffff 0
        CurrentFoodNo = 1
        Goto 料理检查结束
    EndIf
    PosX = 690
    PosY = 165
    Gosub 坐标转换
    IfColor PosX PosY ffffff 0
        CurrentFoodNo = 2
        Goto 料理检查结束
    EndIf
    PosX = 690
    PosY = 219
    Gosub 坐标转换
    IfColor PosX PosY ffffff 0
        CurrentFoodNo = 3
        Goto 料理检查结束
    EndIf
    PosX = 748
    PosY = 58
    Gosub 坐标转换
    IfColor PosX PosY ffffff 0
        CurrentFoodNo = 4
        Goto 料理检查结束
    EndIf
    PosX = 748
    PosY = 111
    Gosub 坐标转换
    IfColor PosX PosY ffffff 0
        CurrentFoodNo = 5
        Goto 料理检查结束
    EndIf
    Rem 料理检查结束
    Gosub 当前时间
    If CurrentFoodNo = 0
        EndFlag = 1
        Message = CurrentTime & "料理全部用完......, 自动登出游戏......"
        Gosub 输出消息
        Gosub 自动登出
        Goto 脚本结束
    Else
        Gosub 当前时间
        Message = CurrentTime & "当前使用料理: " & Food_Name(CurrentFoodNo)
        Gosub 输出消息
    EndIf
Return 料理检查
//窗口初始化
Sub 窗口初始化
    //ESC键
    Plugin Window.SendKeyPress(hwn,27)
    Delay 500
    Plugin Window.SendKeyPress(hwn,27)
    PosX = 400 : PosY = 300
    Gosub 移动鼠标
    RightClick 1
    Delay 500
Return 窗口初始化
//执行展销货物
Sub 执行展销货物
    If AutoSellGoods <> 1
        GoodsSetCount = 1
        For GoodsCount
            Goods_SellPrice(GoodsSetCount) = Goods_Price(GoodsSetCount)
            GoodsSetCount = GoodsSetCount + 1
        EndFor
    Else
        Gosub 价格调整
        GoodsSetCount = 1
        For GoodsCount
            If (Goods_SellPrice(GoodsSetCount) > 0) And (Goods_Name(GoodsSetCount) <> "")
                Gosub 露天展销
                Goto 完成展销
            EndIf
            GoodsSetCount = GoodsSetCount + 1
        EndFor
        Rem 完成展销
        If AutoSayPrice = 1
            Gosub 自动报价
        EndIf
    EndIf
Return 执行展销货物
//执行丢弃货物
Sub 执行丢弃货物
    GoodsSetCount = 1
    For GoodsCount
        If (Goods_SellPrice(GoodsSetCount) = 0) And (Goods_Name(GoodsSetCount) <> "")
            Gosub 丢弃货物
            Goto 完成丢弃
        EndIf
        GoodsSetCount = GoodsSetCount + 1
    EndFor
    Rem 完成丢弃
Return 执行丢弃货物
//执行定时任务
Sub 执行定时任务
    Plugin OldWindow = Window.Foreground()
    Plugin Window.Active(hwn)
    Delay 500
    Plugin Window.Restore(hwn)
    Delay 500
    Gosub 窗口初始化
    LockMouse
    Gosub 料理检查
    Gosub 前台吃料理
    Gosub 当前时间
    Message = CurrentTime
    Gosub 断线保护
    Gosub 疲劳度保护
    Gosub 无行动力保护
    Gosub 输出消息
    Gosub 行动力过高处理
    If TimeShutDownSet = 1
        Gosub 定时关机
    EndIf
    If EndFlag = 0
        Gosub 执行展销货物
        Delay 500
        Gosub 执行丢弃货物
        Delay 500
        Gosub 当前时间
        Message = CurrentTime & "继续采集......"
        Gosub 输出消息
    EndIf
    UnlockMouse
    //Plugin Window.Min(hwn)
    Plugin Window.Active(OldWindow)
    Delay 500
    Plugin Window.Restore(OldWindow)
Return 执行定时任务
//自动采集
Sub 自动采集
    //
    VBS StartTime = Timer
    Gosub 执行定时任务
    //
    Rem 自动采集循环
    VBS CurrentTime = Timer
    VBS TimeInterval = CurrentTime - StartTime
    If (TimeInterval >= UpdateTimeInterval * 60) Or (TimeInterval < 0)
        Gosub 执行定时任务
        VBS StartTime = Timer
    EndIf
    Gosub 执行采集
    If EndFlag = 0
        Goto 自动采集循环
    EndIf
Return 自动采集
//执行采集
Sub 执行采集
    FoodGetCount = Food_AddValue(CurrentFoodNo) \ 5 - 1
    For FoodGetCount
        Gosub 采集一次
    EndFor
    Gosub 边吃料理边采集
Return 执行采集
//边吃料理边采集
Sub 边吃料理边采集
    Plugin Window.SendKeyPress(hwn,112)
    Delay 1500
    Plugin Window.SendKeyPress(hwn,112)
    Delay 1500
    Gosub 常规吃料理
    Delay 1500
Return 边吃料理边采集
//采集一次
Sub 采集一次
    //F1-快捷方式按键
    Plugin Window.SendKeyPress(hwn,112)
    Delay 1500
    //F1-采集快捷键
    Plugin Window.SendKeyPress(hwn,112)
    Delay 1500
    //F11-使用技能(刷新用)
    Plugin Window.SendKeyPress(hwn,122)
    Delay 4500
Return 采集一次
//丢弃货物
Sub 丢弃货物
    Gosub 当前时间
    Message = CurrentTime & "开始丢弃货物......"
    Gosub 输出消息
    Delay 500
    //F7-丢弃货物
    Plugin Window.SendKeyPress(hwn,118)
    Delay 1000
    For 5
        //丢弃货物按钮坐标
        PosX = 430
        PosY = 365
        Gosub 移动鼠标
        IfColor PosX PosY d5db8c 0
            LeftClick 1
            Delay 500
            Goto 丢弃货物窗口正常
        EndIf
        Delay 1000
    EndFor
    Goto 丢弃货物结束
    Rem 丢弃货物窗口正常
    PosSet = 0
    For GoodsCount
        PosX = 116 + (PosSet Mod 5) * 56
        PosY = 138 + (PosSet \ 5) * 56
        Gosub 坐标转换
        GoodsSetCount = 1
        For GoodsCount
            If Goods_SellPrice(GoodsSetCount) = 0
                IfColor PosX PosY Goods_Color(GoodsSetCount) 0
                    Gosub 选择丢弃
                EndIf
            EndIf
            GoodsSetCount = GoodsSetCount + 1
        EndFor
        PosSet = PosSet + 1
    EndFor
    //检查船装载量
    PosX = 369 : PosY = 360
    Gosub 坐标转换
    IfColor PosX PosY 7c7cf7 0
        Gosub 当前时间
        Message = CurrentTime & "船已经超载, 自动登出游戏......"
        Gosub 输出消息
        Gosub 自动登出
        Goto 脚本结束
    EndIf
    Delay 1000
    //确定按钮坐标
    PosX = 630 : PosY = 390
    Gosub 移动鼠标
    IfColor PosX PosY d4dd84 0
        LeftClick 1
        Delay 500
    EndIf
    Rem 丢弃货物结束
    Gosub 窗口初始化
Return 丢弃货物
//选择丢弃
Sub 选择丢弃
    MoveTo PosX PosY
    Delay 500
    LeftClick 1
    Delay 500
    //Max按钮
    PosX = 116 + (PosSet Mod 5) * 56 + 94 : PosY = 138 + (PosSet \ 5) * 56 + 102
    Gosub 移动鼠标
    LeftClick 1
    Delay 500
    //OK按钮
    PosX = 116 + (PosSet Mod 5) * 56 + 94 : PosY = 138 + (PosSet \ 5) * 56 + 172
    Gosub 移动鼠标
    LeftClick 1
    Delay 500
    PosSet = PosSet - 1
Return 选择丢弃
//露天展销
Sub 露天展销
    Gosub 当前时间
    Message = CurrentTime & "开始露天展销......"
    Gosub 输出消息
    Delay 500
    //F9-露天市场
    Plugin Window.SendKeyPress(hwn,120)
    Delay 1000
    For 5
        PosX = 440
        PosY = 140
        Gosub 坐标转换
        IfColor PosX PosY 44d8e1 0
            Goto 露天展销窗口正常
        EndIf
        Delay 1000
    EndFor
    Goto 露天展销结束
    Rem 露天展销窗口正常
    PosSet = 0
    For GoodsCount
        PosX = 136 + (PosSet Mod 5) * 56
        PosY = 123 + (PosSet \ 5) * 56
        Gosub 坐标转换
        GoodsSetCount = 1
        For GoodsCount
            If Goods_SellPrice(GoodsSetCount) > 0
                IfColor PosX PosY Goods_Color(GoodsSetCount) 0
                    SalesPrice = Goods_SellPrice(GoodsSetCount)
                    MoveTo PosX PosY
                    Delay 500
                    Gosub 选择展销
                    Goods_OldPrice(GoodsSetCount) = Goods_SellPrice(GoodsSetCount)
                EndIf
            EndIf
            GoodsSetCount = GoodsSetCount + 1
        EndFor
        PosSet = PosSet + 1
    EndFor
    //确定按钮坐标
    PosX = 610 : PosY = 405
    Gosub 移动鼠标
    IfColor PosX PosY d1de83 0
        LeftClick 1
        Delay 500
    EndIf
    //变更展销内容按钮坐标
    PosX = 490 : PosY = 405
    Gosub 移动鼠标
    IfColor PosX PosY ccde86 0
        LeftClick 1
        Delay 500
    EndIf
    Rem 露天展销结束
    Gosub 窗口初始化
Return 露天展销
//选择展销
Sub 选择展销
    //价格变化时重新设置价格
    If SalesPrice <> Goods_OldPrice(GoodsSetCount)
        SaveMousePos
        DeleteSet = 0
        For GoodsCount
            PosX = 492 + (DeleteSet Mod 5) * 56
            PosY = 123 + (DeleteSet \ 5) * 56
            Gosub 坐标转换
            IfColor PosX PosY Goods_Color(GoodsSetCount) 0
                MoveTo PosX PosY
                Delay 500
                LeftClick 1
                Delay 500
            EndIf
            DeleteSet = DeleteSet + 1
        EndFor
        RestoreMousePos
        Delay 500
    EndIf
    //设置展销价格
    LeftClick 1
    Delay 500
    //Max按钮
    PosX = 350
    PosY = 220
    Gosub 移动鼠标
    LeftClick 1
    Delay 500
    PosX = 465
    PosY = 393
    Gosub 移动鼠标
    IfColor PosX PosY b4c15e 0
        LeftClick 1
        Delay 500
    Else
        NumPos = 1
        For 5
            NumSet = Mid(SalesPrice,NumPos,1)
            If NumSet = "9"
                PosX = 473 : PosY = 220
            EndIf
            If NumSet = "8"
                PosX = 449 : PosY = 220
            EndIf
            If NumSet = "7"
                PosX = 425 : PosY = 220
            EndIf
            If NumSet = "6"
                PosX = 473 : PosY = 245
            EndIf
            If NumSet = "5"
                PosX = 449 : PosY = 245
            EndIf
            If NumSet = "4"
                PosX = 425 : PosY = 245
            EndIf
            If NumSet = "3"
                PosX = 473 : PosY = 270
            EndIf
            If NumSet = "2"
                PosX = 449 : PosY = 270
            EndIf
            If NumSet = "1"
                PosX = 425 : PosY = 270
            EndIf
            If NumSet = "0"
                PosX = 437 : PosY = 292
            EndIf
            If NumSet <> ""
                Gosub 移动鼠标
                LeftClick 1
            EndIf
            NumPos = NumPos + 1
        EndFor
        PosX = 465
        PosY = 393
        Gosub 移动鼠标
        IfColor PosX PosY b4c15e 0
            LeftClick 1
        EndIf
    EndIf
    Delay 500
    PosSet = PosSet - 1
Return 选择展销
//自动报价
Sub 自动报价
    Message = "出售:"
    GoodsSetCount = 1
    For GoodsCount
        If (Goods_Name(GoodsSetCount) <> "") And (Goods_SellPrice(GoodsSetCount) > 0)
            Message = Message & Goods_Name(GoodsSetCount) & ":" & Goods_SellPrice(GoodsSetCount) & "  "
        EndIf
        GoodsSetCount = GoodsSetCount + 1
    EndFor
    Message = Message & "(欢迎加入 航海英雄联盟 商会)"
    Gosub 输出消息
Return 自动报价


此篇文章为17173玩家原创作品,获得积分奖励 Z。
17173全新积分兑换系统上线 点卡周边等你拿>>>详情点击
关键字:

相关链接

http://dol.17173.com/jingyan/tanxian.shtml

游戏截图
用户: 匿名
史上最强的拼音输入法 下载>>>
评论

我要发布Sogou推广服务

热点标签:
新闻 标题 栏目 文章 图片 链接
热点标签:
新闻 标题 栏目 文章 图片 链接