LastFightingOperREC=Array(0,0)
//前一次操作记录
ExistPet(0) = -1
//战斗在存在宠物
LRCatchPetArr(2) = 0
While fighting>0
Plugin EnterBattleTimeArray(1)=GetSysInfo.GetTime()
EnterBattleTimeMs=EnterBattleTimeArray(1)-EnterBattleTimeArray(0)
//------------------------------------------------
//操作分析
//
If fighting=1
ActTex = "角色操作"
ElseIf fighting=3
ActTex = "宠物操作"
ElseIf fighting=2
ActTex = "等待"
ElseIf fighting=-1
ActTex = "世界地图画面"
ElseIf fighting=0
ActTex = "非战斗"
Else
ActTex = fighting
EndIf
//ChangeContent "Tex2", "计时:" & EnterBattleTimeMs
//ChangeContent "Tex3", ActTex
//ChangeContent "Tex4", "修正:" & Join(MapMonCr,",")
//根据前一操作判断宠物是否死亡 - 连续角色操作,可再加操作相隔时间大于3秒限际
If fighting=1 and LastFightingOperREC(0)=1
// and EnterBattleTimeMs-LastFightingOperREC(1)>3000
If PetIsDeathB<=0
Gosub 检查宠物生命值是否为0
If PetHpIsZero>0
PetIsDeathB=PetIsDeathB+1
If PetIsDeathB>0
//MsgBox "宠物死亡",0,"PetIsDeathB"
Gosub 宠物忠诚减10
EndIf
EndIf
EndIf
EndIf
If fighting=1 and LastFightingOperREC(0)=1 and EnterBattleTimeMs-LastFightingOperREC(1)<3000
//MsgBox fighting & "|" & LastFightingOperREC(0) & "|" & EnterBattleTimeMs-LastFightingOperREC(1)
Gosub 游戏特殊BUG消除Fr
//Framework程序Flash播放器有效
MapMonCr = Array(0,-30*Int(2*Rnd))
//鼠标怪物不中怪物,用随机函数尝试
EndIf
If fighting=3 and LastFightingOperREC(0)=3 and EnterBattleTimeMs-LastFightingOperREC(1)<3000
Gosub 游戏特殊BUG消除Fr
MapMonCr = Array(0,-30*Int(2*Rnd))
EndIf
If EnterBattleTimeMs<15
FightingCount = FightingCount+1
ChangeContent "Tex5", "战斗:" & CStr(FightingCount)
ChangeContent "Tex6", "精英:" & CStr(EliteFightingCount)
ChangeContent "Tex7", "宠忠诚:" & PetFidelity
ChangeContent "Tex8", "抓宠:" & LRCatchPetArr(1) & "/" & LRCatchPetArr(0)
EndIf
If fighting<>2 And EnterBattleTimeMs>2000
LastFightingOperREC=Array(fighting,EnterBattleTimeMs)
//记录前一个有效操作(角色/宠物)与时间
EndIf
//------------------------------------------------
If fighting=1
If EnterBattleTimeMs>5000
//检查前等待0.5秒,防止前排HP MP 状态检查不正确.
Delay 1000
EndIf
//宠物攻击下不需检查,角色操作下检查
Gosub 检查战斗中的前排生命值
Gosub 检查战斗中的前排法力值
Gosub 检查战斗中的后排生命法力值
If CharacherAtFont>0
If HpPosUnknow(0)<=0
CharacherHpLow=FrontHpLow
CharacherMpLow=FrontMpLow
EndIf
If HpPosUnknow(1)<=0
PetHpLow=BackHpLow
PetMpLow=BackMpLow
EndIf
Else
If HpPosUnknow(1)<=0
CharacherHpLow=BackHpLow
CharacherMpLow=BackMpLow
EndIf
If HpPosUnknow(0)<=0
PetHpLow=FrontHpLow
PetMpLow=FrontMpLow
EndIf
EndIf
//完成以上检查HP MP 状态
//
If EnterBattleTimeMs<=5000 And EliteMonster=0
//战斗前5秒检查是否有精英怪物
Gosub 检查战斗中是否有精英怪物
If LRCatchPetArr(1)<=LRCatchPetArr(0)
Gosub 找宝宝测试S
//ChangeContent "Tex8", "找宝宝:" & Join(ExistPet,",")