📄 mod08safe.bas
字号:
Attribute VB_Name = "Mod08Safe"
Option Explicit
Sub ManSafe()
On Error Resume Next
Dim i As Integer
Dim SafeSkillId As String
'技能回血
If (PartHp / PartMaxHp * 100) < Val(Main.TextSafe(6).Text) Then
If Main.CheSafe(8).Value = 1 And PartStat <> 11 Then
For i = 0 To Main.CboSafe(2).ListCount - 1
If InStr(Main.CboSafe(2).List(i), Main.TextSafe(7).Text) > 0 Then
SafeSkillId = Main.TextSafe(7).Text
SafeSkillId = Trim(Left(SafeSkillId, InStr(SafeSkillId, "|") - 2))
CallSkillAttack CDbl(SafeSkillId)
End If
Next i
End If
End If
'药品回血
If (PartHp / PartMaxHp * 100) < Val(Main.TextSafe(0).Text) Then
If Main.CheSafe(0).Value = 1 Then
UseMedi "Red"
End If
End If
'药品回蓝
If (PartMp / PartMaxMp * 100) < Val(Main.TextSafe(1).Text) Then
If Main.CheSafe(1).Value = 1 Then
UseMedi "Blue"
End If
End If
'低血打坐
If (PartHp / PartMaxHp * 100) < Val(Main.TextSafe(2).Text) And SelObjId >= 0 Then
If Main.CheSafe(2).Value = 1 And PartStat <> 11 Then
CallZazen
CancelObj
Exit Sub
End If
End If
'低蓝打坐
If (PartMp / PartMaxMp * 100) < Val(Main.TextSafe(3).Text) And SelObjId >= 0 Then
If Main.CheSafe(3).Value = 1 And PartStat <> 11 Then
CallZazen
CancelObj
Exit Sub
End If
End If
'停止打坐
If PartHp = PartMaxHp And PartMp = PartMaxMp Then
CallUnZazen
SkillListCount = 0
OldSkillListCount = -1
End If
End Sub
''吃药
Sub UseMedi(MediKind As String)
On Error Resume Next
Dim i As Integer, ii As Integer, SeleId As String, UseMediId As String
For i = 0 To Main.Controls("Cbo" & MediKind).ListCount - 1
UseMediId = Trim(Main.Controls("Cbo" & MediKind).List(i))
UseMediId = Trim(Left(UseMediId, InStr(UseMediId, ",") - 1))
For ii = 1 To Main.LVPick(1).ListItems.Count
SeleId = Trim(Main.LVPick(1).ListItems.Item(ii).SubItems(Main.LVPick(1).ColumnHeaders("ID").SubItemIndex))
If SeleId = UseMediId Then
CallUseItem CDbl(SeleId), CDbl(ii - 1)
Wait 1000
Exit Sub
End If
Next ii
Next i
End Sub
''保护队友
Sub SafeTeam()
On Error Resume Next
Dim i As Integer, TeamerI As String, TeamerHp As Integer, TeamerMaxHp As Integer
Dim ii As Integer, SafeSkillId As String
If Main.CheSafe(9).Value = 1 Then
SafeTeamNo = SafeTeamNo + 1
If SafeTeamNo > 60 Then
SafeTeamNo = 1
End If
For i = 0 To 5
If Main.FTeam1(i).Visible = True Then
TeamerI = Main.LabTeam2(2 * i + 1).Caption
TeamerHp = Val(Mid(TeamerI, 1, InStr(TeamerI, "/")))
TeamerMaxHp = Val(Mid(TeamerI, InStr(TeamerI, "/") + 1))
If (TeamerHp / TeamerMaxHp * 100) < Val(Main.TextSafe(9).Text) Then
CallSelectById CDbl(Main.LabTeam2(2 * i).ToolTipText)
For ii = 0 To Main.CboSafe(0).ListCount - 1
If InStr(Main.CboSafe(0).List(ii), Main.TextSafe(8).Text) > 0 Then
SafeSkillId = Main.TextSafe(8).Text
SafeSkillId = Trim(Left(SafeSkillId, InStr(SafeSkillId, "|") - 2))
If (SafeTeamNo Mod 3) = 1 Then
If ReadSDoStat(CDbl(SafeSkillId)) = False Then
CallSkillAttack CDbl(SafeSkillId)
If ReadSDoStat(CDbl(SafeSkillId)) = True Then
Exit Sub
End If
End If
End If
End If
Next ii
End If
End If
Next i
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -