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,",")