📄 主界面.frm
字号:
GK(i) = GK(i) & GetPixel(h1, Packet(i).X + j, Packet(i).Y) & "[" & j + 1 & "]"
Next j
If GK(i) = YPstrs Then Exit For
Next i
MoveToP Packet(i), 1 '银票在包裹的位置
MouseLD
LinShiP.X = Packet(3).X '330,确定 按钮在屏幕的位置
LinShiP.Y = Packet(3).Y + 336 '450
MoveToP LinShiP, 1
MouseLD
Guan
End Sub
Private Sub LingPiao() '领票的过程
JinBP 当前Maps
If 商人YesNo = False Then '首先判断是否是商人
MoveToP 帮派BaiHu(1), 1 '白虎堂 总管 的坐标
MouseLD
MoveToP 帮派BaiHu(4), 1 '申请成为商人的坐标
MouseLD
商人YesNo = True
End If
MoveToP 帮派BaiHu(1), 1 '白虎堂 总管 的坐标
MouseLD
MoveToP 帮派BaiHu(2), 1
MouseLD
Sleep 500
MouseLD
End Sub
'*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Sub Get_Price(商人胖瘦 As String) '商品名称,价格,数量,买价。存到数据库
Dim h1 As Long, i As Long, GK(1 To 3) As String 'GK用于记录商品的颜色值组合227-278-329
h1 = GetDC(0)
For i = 1 To 10
GK(1) = GK(1) & GetPixel(h1, Packet(1).X + i - 1, Packet(1).Y) & "[" & i & "]" '227
GK(2) = GK(2) & GetPixel(h1, Packet(2).X + i - 1, Packet(2).Y) & "[" & i & "]" '279
GK(3) = GK(3) & GetPixel(h1, Packet(3).X + i - 1, Packet(3).Y) & "[" & i & "]" '329
Next i
ReleaseDC 0, h1
LinShiP.X = 240
LinShiP.Y = 80
MoveToP LinShiP, 1
LinShiP.Y = 100
For i = 1 To 3
Select Case GK(i) '这个部分的数据可能经常需要维护
Case 佛珠.Pixels
LinShiP.X = 240 + 51 * (i - 1)
MoveToP LinShiP, 1
MouseLD
ReFreshDB 商人胖瘦, "商品佛珠", OCR(313, 343, 50, 10, 0, &H101000, &HF80000), OCR(190 + 51 * (i - 1), 102, 50, 10, &HF8FCF8, &HF8FCF8, &HF8FCF8)
Case 纸扇.Pixels
LinShiP.X = 240 + 51 * (i - 1)
MoveToP LinShiP, 1
MouseLD
ReFreshDB 商人胖瘦, "商品纸扇", OCR(313, 343, 50, 10, 0, &H101000, &HF80000), OCR(190 + 51 * (i - 1), 102, 50, 10, &HF8FCF8, &HF8FCF8, &HF8FCF8)
Case 刀.Pixels
LinShiP.X = 240 + 51 * (i - 1)
MoveToP LinShiP, 1
MouseLD
ReFreshDB 商人胖瘦, "商品武器", OCR(313, 343, 50, 10, 0, &H101000, &HF80000), OCR(190 + 51 * (i - 1), 102, 50, 10, &HF8FCF8, &HF8FCF8, &HF8FCF8)
Case 帽子.Pixels
LinShiP.X = 240 + 51 * (i - 1)
MoveToP LinShiP, 1
MouseLD
ReFreshDB 商人胖瘦, "商品帽子", OCR(313, 343, 50, 10, 0, &H101000, &HF80000), OCR(190 + 51 * (i - 1), 102, 50, 10, &HF8FCF8, &HF8FCF8, &HF8FCF8)
Case 酒.Pixels
LinShiP.X = 240 + 51 * (i - 1)
MoveToP LinShiP, 1
MouseLD
ReFreshDB 商人胖瘦, "商品酒", OCR(313, 343, 50, 10, 0, &H101000, &HF80000), OCR(190 + 51 * (i - 1), 102, 50, 10, &HF8FCF8, &HF8FCF8, &HF8FCF8)
Case 蜡烛.Pixels
LinShiP.X = 240 + 51 * (i - 1)
MoveToP LinShiP, 1
MouseLD
ReFreshDB 商人胖瘦, "商品蜡烛", OCR(313, 343, 50, 10, 0, &H101000, &HF80000), OCR(190 + 51 * (i - 1), 102, 50, 10, &HF8FCF8, &HF8FCF8, &HF8FCF8)
Case 面粉.Pixels
LinShiP.X = 240 + 51 * (i - 1)
MoveToP LinShiP, 1
MouseLD
ReFreshDB 商人胖瘦, "商品面粉", OCR(313, 343, 50, 10, 0, &H101000, &HF80000), OCR(190 + 51 * (i - 1), 102, 50, 10, &HF8FCF8, &HF8FCF8, &HF8FCF8)
Case 鹿茸.Pixels
LinShiP.X = 240 + 51 * (i - 1)
MoveToP LinShiP, 1
MouseLD
ReFreshDB 商人胖瘦, "商品鹿茸", OCR(313, 343, 50, 10, 0, &H101000, &HF80000), OCR(190 + 51 * (i - 1), 102, 50, 10, &HF8FCF8, &HF8FCF8, &HF8FCF8)
Case 符.Pixels
LinShiP.X = 240 + 51 * (i - 1)
MoveToP LinShiP, 1
MouseLD
ReFreshDB 商人胖瘦, "商品符", OCR(313, 343, 50, 10, 0, &H101000, &HF80000), OCR(190 + 51 * (i - 1), 102, 50, 10, &HF8FCF8, &HF8FCF8, &HF8FCF8)
Case 人参.Pixels
LinShiP.X = 240 + 51 * (i - 1)
MoveToP LinShiP, 1
MouseLD
ReFreshDB 商人胖瘦, "商品人参", OCR(313, 343, 50, 10, 0, &H101000, &HF80000), OCR(190 + 51 * (i - 1), 102, 50, 10, &HF8FCF8, &HF8FCF8, &HF8FCF8)
Case 铜油.Pixels
LinShiP.X = 240 + 51 * (i - 1)
MoveToP LinShiP, 1
MouseLD
ReFreshDB 商人胖瘦, "商品铜油", OCR(313, 343, 50, 10, 0, &H101000, &HF80000), OCR(190 + 51 * (i - 1), 102, 50, 10, &HF8FCF8, &HF8FCF8, &HF8FCF8)
Case 铃铛.Pixels
LinShiP.X = 240 + 51 * (i - 1)
MoveToP LinShiP, 1
MouseLD
ReFreshDB 商人胖瘦, "商品铃铛", OCR(313, 343, 50, 10, 0, &H101000, &HF80000), OCR(190 + 51 * (i - 1), 102, 50, 10, &HF8FCF8, &HF8FCF8, &HF8FCF8)
Case 纸钱.Pixels
LinShiP.X = 240 + 51 * (i - 1)
MoveToP LinShiP, 1
MouseLD
ReFreshDB 商人胖瘦, "商品纸钱", OCR(313, 343, 50, 10, 0, &H101000, &HF80000), OCR(190 + 51 * (i - 1), 102, 50, 10, &HF8FCF8, &HF8FCF8, &HF8FCF8)
Case 项链.Pixels
LinShiP.X = 240 + 51 * (i - 1)
MoveToP LinShiP, 1
MouseLD
ReFreshDB 商人胖瘦, "商品项链", OCR(313, 343, 50, 10, 0, &H101000, &HF80000), OCR(190 + 51 * (i - 1), 102, 50, 10, &HF8FCF8, &HF8FCF8, &HF8FCF8)
Case 夜明珠.Pixels
LinShiP.X = 240 + 51 * (i - 1)
MoveToP LinShiP, 1
MouseLD
ReFreshDB 商人胖瘦, "商品夜明珠", OCR(313, 343, 50, 10, 0, &H101000, &HF80000), OCR(190 + 51 * (i - 1), 102, 50, 10, &HF8FCF8, &HF8FCF8, &HF8FCF8)
End Select
Next i
End Sub
'********************************************************************************************************
'自动跑商模块,这个部分主要是逻辑的问题。
'逻辑上分为买入和卖出,它们都分别用循环实现,买入完成跳入卖出循环,卖出完成跳入买入循环。
'直到银票钱数达到交票的触发器,触发交票模块
'********************************************************************************************************
'买入循环与卖出循环分别编写,它们都带有各自的参数,卖出循环带入参数是现有商品种类,带出参数是人物现在地点
'买入循环带入参数是人物地点,带出参数是商品的种类,从而实现两个循环的循环执行。
'交票模块单独编写,用触发器控制
'********************************************************************************************************
Private Sub ZDPaoSHang(Maps As String, 是否携带何种商品 As String) '自动跑商,包括切换Maps、人物移动和买卖商品循环
If BeforeWindow <> Str2 Then SetForegroundWindow FindWindow(vbNullString, Str2)
If BeforeWindow <> Str2 Then MsgBox "没有登陆梦幻西游,请登陆", vbOKOnly, "登陆提示"
If BeforeWindow <> Str2 Then Exit Sub
当前Maps = Maps
LingPiao
If 是否携带何种商品 = "" Then
买Ring 当前Maps
Else
卖Ring 当前Maps
End If
End Sub
'*******************买循环部分********************
Function PzOrSz(地点 As String) As String
Dim i As Long, P(3) As Long, S(3) As Long, Nms(3) As Long
Rcs.Open "select * from 地图表表 where 名称 = " & Chr(34) & 地点 & Chr(34), Cn, adOpenStatic, adLockOptimistic
If Rcs.Fields("胖瘦LowBuy").Value <> "" Then
PzOrSz = Rcs.Fields("胖瘦LowBuy").Value
Rcs.Close
Else
Rs.Open "select * from 临时商品价格表", Cn, adOpenStatic, adLockOptimistic
Select Case 地点
Case "长安城"
Rs.MoveFirst
Do Until Rs.EOF
Select Case Rs.Fields("商品名称").Value
Case "商品佛珠"
P(1) = Rs.Fields("胖子买价").Value
S(1) = Rs.Fields("瘦子买价").Value
Case "商品纸扇"
P(2) = Rs.Fields("胖子买价").Value
S(2) = Rs.Fields("瘦子买价").Value
Case "商品武器"
P(3) = Rs.Fields("胖子买价").Value
S(3) = Rs.Fields("瘦子买价").Value
End Select
Rs.MoveNext
Loop
Case "地府"
Rs.MoveFirst
Do Until Rs.EOF
Select Case Rs.Fields("商品名称").Value
Case "商品项链"
P(1) = Rs.Fields("胖子买价").Value
S(1) = Rs.Fields("瘦子买价").Value
Case "商品纸钱"
P(2) = Rs.Fields("胖子买价").Value
S(2) = Rs.Fields("瘦子买价").Value
Case "商品夜明珠"
P(3) = Rs.Fields("胖子买价").Value
S(3) = Rs.Fields("瘦子买价").Value
End Select
Rs.MoveNext
Loop
Case "傲来国"
Rs.MoveFirst
Do Until Rs.EOF
Select Case Rs.Fields("商品名称").Value
Case "商品帽子"
P(1) = Rs.Fields("胖子买价").Value
S(1) = Rs.Fields("瘦子买价").Value
Case "商品酒"
P(2) = Rs.Fields("胖子买价").Value
S(2) = Rs.Fields("瘦子买价").Value
Case "商品蜡烛"
P(3) = Rs.Fields("胖子买价").Value
S(3) = Rs.Fields("瘦子买价").Value
End Select
Rs.MoveNext
Loop
Case "北俱芦洲"
Rs.MoveFirst
Do Until Rs.EOF
Select Case Rs.Fields("商品名称").Value
Case "商品人参"
P(1) = Rs.Fields("胖子买价").Value
S(1) = Rs.Fields("瘦子买价").Value
Case "商品铜油"
P(2) = Rs.Fields("胖子买价").Value
S(2) = Rs.Fields("瘦子买价").Value
Case "商品铃铛"
P(3) = Rs.Fields("胖子买价").Value
S(3) = Rs.Fields("瘦子买价").Value
End Select
Rs.MoveNext
Loop
Case "长寿村"
Rs.MoveFirst
Do Until Rs.EOF
Select Case Rs.Fields("商品名称").Value
Case "商品面粉"
P(1) = Rs.Fields("胖子买价").Value
S(1) = Rs.Fields("瘦子买价").Value
Case "商品鹿茸"
P(2) = Rs.Fields("胖子买价").Value
S(2) = Rs.Fields("瘦子买价").Value
Case "商品符"
P(3) = Rs.Fields("胖子买价").Value
S(3) = Rs.Fields("瘦子买价").Value
End Select
Rs.MoveNext
Loop
End Select
Rs.Close
Dim m As Long
For i = 1 To 3
If P(i) > 0 And S(i) > 0 Then
If P(i) >= S(i) Then
PzOrSz = "瘦子"
Else
PzOrSz = "胖子"
End If
End If
Next i
Rcs.Fields("胖瘦LowBuy").Value = PzOrSz
Rcs.Close
End If
End Function
Sub 买WhatGood(NowMaps As String, 商人 As String) '分析买哪种商品
Dim bp(3) As Long
Rs.Open "select * from 临时商品价格表", Cn, adOpenStatic, adLockOptimistic
Select Case NowMaps
Case "长寿村"
Rs.MoveFirst
Do Until Rs.EOF
If Rs.Fields(商人 & "买价").Value = 0 Then
Rs.MoveNext
Else
If Rs.Fields("商品名称").Value = "商品符" Then
If Rs.Fields(商人 & "买价").Value < Rs.Fields("Buy").Value And Rs.Fields(商人 & "数量").Value > 20 Then
NeedBuyGood.Pixels = Rs.Fields("像素字符").Value
NeedBuyGood.Price = Rs.Fields(商人 & "买价").Value
Exit Do
End If
End If
If Rs.Fields("商品名称").Value = "商品鹿茸" Then
If Rs.Fields(商人 & "买价").Value < Rs.Fields("Buy").Value And Rs.Fields(商人 & "数量").Value > 20 Then
NeedBuyGood.Pixels = Rs.Fields("像素字符").Value
NeedBuyGood.Price = Rs.Fields(商人 & "买价").Value
Exit Do
End If
End If
If Rs.Fields("商品名称").Value = "商品面粉" Then
If Rs.Fields(商人 & "买价").Value < Rs.Fields("Buy").Value And Rs.Fields(商人 & "数量").Value > 20 Then
NeedBuyGood.Pixels = Rs.Fields("像素字符").Value
NeedBuyGood.Price = Rs.Fields(商人 & "买价").Value
Exit Do
End If
End If
Rs.MoveNext
End If
Loop
'-----------------------------------------------
Case "北俱芦洲"
Rs.MoveFirst
Do Until Rs.EOF
If Rs.Fields(商人 & "买价").Value = 0 Then
Rs.MoveNext
Else
If Rs.Fields("商品名称").Value = "商品铜油" Then
If Rs.Fields(商人 & "买价").Value < Rs.Fields("Buy").Value And Rs.Fields(商人 & "数量").Value > 20 Then
NeedBuyGood.Pixels = Rs.Fields("像素字符").Value
NeedBuyGood.Price = Rs.Fields(商人 & "买价").Value
Exit Do
End If
End If
If Rs.Fields("商品名称").Value = "商品铃铛" Then
If Rs.Fields(商人 & "买价").Value < Rs.Fields("Buy").Value And Rs.Fields(商人 & "数量").Value > 20 Then
NeedBuyGood.Pixels = Rs.Fields("像素字符").Value
NeedBuyGood.Price = Rs.Fields(商人 & "买价").Value
Exit Do
End If
End If
If Rs.Fields("商品名称").Value = "商品人参" Then
If Rs.Fields(商人 & "买价").Value < Rs.Fields("Buy").Value And Rs.Fields(商人 & "数量").Value > 20 Then
NeedBuyGood.Pixels = Rs.Fields("像素字符").Value
NeedBuyGood.Price = Rs.Fields(商人 & "买价").Value
Exit Do
End If
End If
Rs.MoveNext
End If
Loop
'-----------------------------------------------
Case "地府"
Rs.MoveFirst
Do Until Rs.EOF
If Rs.Fields(商人 & "买价").Value = 0 Then
Rs.MoveNext
Else
If Rs.Fields("商品名称").Value = "商品纸钱" Then
If Rs.Fields(商人 & "买价").Value < Rs.Fields("Buy").Value And Rs.Fields(商人 & "数量").Value > 20 Then
NeedBuyGood.Pixels = Rs.Fields("像素字符").Value
NeedBuyGood.Price = Rs.Fields(商人 & "买价").Value
Exit Do
End If
End If
If Rs.Fields("商品名称").Value = "商品项链" Then
If Rs.Fields(商人 & "买价").Value < Rs.Fields("Buy").Value And Rs.Fields(商人 & "数量").Value > 20 Then
NeedBuyGood.Pixels = Rs.Fields("像素字符").Value
NeedBuyGood.Price = Rs.Fields(商人 & "买价").Value
Exit Do
End If
End If
If Rs.Fields("商品名称").Value = "商品夜明珠" Then
If Rs.Fields(商人 & "买价").Value < Rs.Fields("Buy").Value And Rs.Fields(商人 & "数量").Value > 20 Then
NeedBuyGood.Pixels = Rs.Fields("像素字符").Value
NeedBuyGood.Price = Rs.Fields(商人 & "买价").Value
Exit Do
End If
End If
Rs.MoveNext
End If
Loop
'-----------------------------------------------
Case "傲来国"
Rs.MoveFirst
Do Until Rs.EOF
If Rs.Fields(商人 & "买价").Value = 0 Then
Rs.MoveNext
Else
If Rs.Fields("商品名称").Value = "商品酒" Then
If Rs.Fields(商人 & "买价").Value < Rs.Fields("Buy").Value And Rs.Fields(商人 & "数量").Value > 20 Then
NeedBuyGood.Pixels = Rs.Fields("像素字符").Value
NeedBuyGood.Price = Rs.Fields(商人 & "买价").Value
Exit Do
End If
End If
If Rs.Fields("商品名称").Value = "商品帽子" Then
If Rs.Fields(商人 & "买价").Value < Rs.Fields("Buy").Value And Rs.Fields(商人 & "数量").Value > 20 Then
NeedBuyGood.Pixels = Rs.Fields("像素字符").Value
NeedBuyGood.Price = Rs.Fields(商人 & "买价").Value
Exit Do
End If
End If
If Rs.Fields("商品名称").Value = "商品蜡烛" Then
If Rs.Fields(商人 & "买价").Value < Rs.Fields("Buy").Value And Rs.Fields(商人 & "数量").Value > 20 Then
NeedBuyGood.Pixels = Rs.Fields("像素字符").Value
NeedBuyGood.Price = Rs.Fields(商人 & "买价").Value
Exit Do
End If
End If
Rs.MoveNext
End If
Loop
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -