| 
 | 
 
 楼主 |
发表于 2020-4-29 09:21:54
|
显示全部楼层
 
 
 
 
奇怪,还是不行,已更新新公版diemenglou.lua 
 
457 
 
function dmlInfo() 
    local fn = 'logs\\diemenglou_lost_'..score.id..'.log' 
        local f = io.open(fn,"r") 
        if f then 
           local s = f:read() 
       local avoid 
          if string.find(s,'|') then 
           avoid = utils.split(s,'|') 
           for n = 1,table.getn(_target) do 
              for k,v in pairs(avoid) do 
                     if _target[n] ~= nil and _target[n].name == avoid[k] then 
                    if _target[avoid[k]] == nil then 
                           _target[avoid[k]] = 1 
                                   ColourNote('white','red','上次挑战目标【'.._target[n].name..'】失败【'.._target[avoid[k]]..'】次!') 
                        else 
                           _target[avoid[k]] = _target[avoid[k]] + 1 
                                   ColourNote('white','red','上次挑战目标【'.._target[n].name..'】失败【'.._target[avoid[k]]..'】次!') 
                        end 
                    if _target[avoid[k]] > 1 then 
                               ColourNote('white','red','移除目标【'.._target[n].name..'】') 
                                   messageShow('蝶梦楼全自动挑战模块:因与目标【'.._target[n].name..'】对战成功率过低现自动回避该目标!') 
                               table.remove(_target,n) 
                            end 
                         end 
                  end 
           end 
          end  
        f:close() 
        end 
    if dmlCheckCnt == 1 then 
           _t1 = userLvl - GetVariable('dmlDecreaseLvl') 
           _t2 = userLvl + GetVariable('dmlIncreaseLvl') 
        else 
           _t1 = userLvl - (GetVariable('dmlDecreaseLvl') + GetVariable('dmlNewDecreaseLvl')) 
           _t2 = userLvl + (GetVariable('dmlIncreaseLvl') + GetVariable('dmlNewIncreaseLvl')) 
        end 
    table.sort(_target,sortFunc) 
    if tonumber(GetVariable('dmlMode')) == 1 then 
           for i = 1,table.getn(_target) do 
                   if _target.lvl <= _t1  and _target.rank < userRank then 
                          DeleteTimer('dmlWait') 
                          table.insert(target,{name = _target.name,id = _target.id,rank = _target.rank, lvl = _target.lvl,}) 
                          table.insert(target,{name = _target.name,id = _target.id,rank = _target.rank, lvl = _target.lvl,}) 
                   end 
                   if _target.lvl > _t1  and _target.id ~= score.id then 
              DeleteTimer('dmlWait') 
                          table.insert(target,{name = _target.name,id = _target.id,rank = _target.rank, lvl = _target.lvl,}) 
                          table.insert(target,{name = _target.name,id = _target.id,rank = _target.rank, lvl = _target.lvl,}) 
                   end 
           end 
           ColourNote('doggerblue','black','挑战目标排名等级为','yellow','black','【'.._t1..'】','doggerblue','black','级之上') 
        elseif tonumber(GetVariable('dmlMode')) == 2 then 
           for i = 1,table.getn(_target) do 
                   if _target.lvl > _t1 and _target.id ~= score.id then 
              DeleteTimer('dmlWait') 
                          table.insert(target,{name = _target.name,id = _target.id,rank = _target.rank, lvl = _target.lvl,}) 
                   end 
           end 
           ColourNote('doggerblue','black','挑战目标排名等级为','yellow','black','【'.._t1..'】','doggerblue','black','级之上') 
    elseif tonumber(GetVariable('dmlMode')) == 3 then 
           if GetVariable('dmlPerTargetTwice') == 'no' then 
              if GetVariable('dmlFightOrder') == '上' then 
                     for i = 1,table.getn(_target) do 
                            if _target.rank < userRank then 
                           if _target.lvl > _t1 and _target.lvl < _t2 and _target.id ~= score.id then 
                      DeleteTimer('dmlWait') 
                                  table.insert(target,{name = _target.name,id = _target.id,rank = _target.rank, lvl = _target.lvl,}) 
                           end 
                                   if _target.lvl > _t1 - GetVariable('dmlDecreaseLvl') and _target.lvl < _t2 + GetVariable('dmlIncreaseLvl') then 
                                      table.insert(backupList,{name = _target.name,id = _target.id,rank = _target.rank, lvl = _target.lvl,}) 
                                   end 
                                end 
                 end 
                  elseif GetVariable('dmlFightOrder') == '下' then 
                     for i = 1,table.getn(_target) do 
                            if _target.rank > userRank then 
                           if _target.lvl > _t1 and _target.lvl < _t2 and _target.id ~= score.id then 
                      DeleteTimer('dmlWait') 
                                  table.insert(target,{name = _target.name,id = _target.id,rank = _target.rank, lvl = _target.lvl,}) 
                           end 
                                   if _target.lvl > _t1 - GetVariable('dmlDecreaseLvl') and _target.lvl < _t2 + GetVariable('dmlIncreaseLvl') and _target.id ~= score.id then 
                                      table.insert(backupList,{name = _target.name,id = _target.id,rank = _target.rank, lvl = _target.lvl,}) 
                                   end 
                                end 
                 end 
                  elseif GetVariable('dmlFightOrder') == 'both' then 
                     for i = 1,table.getn(_target) do 
                        if _target.lvl > _t1 and _target.lvl < _t2 and _target.id ~= score.id then 
                   DeleteTimer('dmlWait') 
                               table.insert(target,{name = _target.name,id = _target.id,rank = _target.rank, lvl = _target.lvl,}) 
                        end 
                                if _target.lvl > _t1 - GetVariable('dmlDecreaseLvl') and _target.lvl < _t2 + GetVariable('dmlIncreaseLvl') and _target.id ~= score.id then 
                                   table.insert(backupList,{name = _target.name,id = _target.id,rank = _target.rank, lvl = _target.lvl,}) 
                                end 
                 end 
                  end 
           elseif GetVariable('dmlPerTargetTwice') == 'yes' then 
              if GetVariable('dmlFightOrder') == '上' then 
                     for i = 1,table.getn(_target) do 
                            if _target.rank < userRank then 
                           if _target.lvl > _t1 and _target.lvl < _t2 and _target.id ~= score.id then 
                      DeleteTimer('dmlWait') 
                                  table.insert(target,{name = _target.name,id = _target.id,rank = _target.rank, lvl = _target.lvl,}) 
                                          table.insert(target,{name = _target.name,id = _target.id,rank = _target.rank, lvl = _target.lvl,}) 
                           end 
                                   if _target.lvl > _t1 - GetVariable('dmlDecreaseLvl') and _target.lvl < _t2 + GetVariable('dmlIncreaseLvl') and _target.id ~= score.id then 
                                      table.insert(backupList,{name = _target.name,id = _target.id,rank = _target.rank, lvl = _target.lvl,}) 
                                          table.insert(backupList,{name = _target.name,id = _target.id,rank = _target.rank, lvl = _target.lvl,}) 
                                   end 
                                end 
                 end 
                  elseif GetVariable('dmlFightOrder') == '下' then 
                     for i = 1,table.getn(_target) do 
                            if _target.rank > userRank then 
                           if _target.lvl > _t1 and _target.lvl < _t2 and _target.id ~= score.id then 
                      DeleteTimer('dmlWait') 
                                  table.insert(target,{name = _target.name,id = _target.id,rank = _target.rank, lvl = _target.lvl,}) 
                                          table.insert(target,{name = _target.name,id = _target.id,rank = _target.rank, lvl = _target.lvl,}) 
                           end 
                                   if _target.lvl > _t1 - GetVariable('dmlDecreaseLvl') and _target.lvl < _t2 + GetVariable('dmlIncreaseLvl') and _target.id ~= score.id then 
                                      table.insert(backupList,{name = _target.name,id = _target.id,rank = _target.rank, lvl = _target.lvl,}) 
                                          table.insert(backupList,{name = _target.name,id = _target.id,rank = _target.rank, lvl = _target.lvl,}) 
                                   end 
                                end 
                 end 
                  elseif GetVariable('dmlFightOrder') == 'both' then 
                     for i = 1,table.getn(_target) do 
                        if _target.lvl > _t1 and _target.lvl < _t2 and _target.id ~= score.id then 
                   DeleteTimer('dmlWait') 
                               table.insert(target,{name = _target.name,id = _target.id,rank = _target.rank, lvl = _target.lvl,}) 
                                   table.insert(target,{name = _target.name,id = _target.id,rank = _target.rank, lvl = _target.lvl,}) 
                        end 
                                if _target.lvl > _t1 - GetVariable('dmlDecreaseLvl') and _target.lvl < _t2 + GetVariable('dmlIncreaseLvl') and _target.id ~= score.id then 
                                   table.insert(backupList,{name = _target.name,id = _target.id,rank = _target.rank, lvl = _target.lvl,}) 
                                   table.insert(backupList,{name = _target.name,id = _target.id,rank = _target.rank, lvl = _target.lvl,}) 
                                end 
                 end 
                  end 
       end 
           ColourNote('doggerblue','black','挑战目标排名等级为','yellow','black','【'.._t1..'】','doggerblue','black','级到','yellow','black','【'.._t2..'】','doggerblue','black','级之间') 
        end 
        if table.getn(blackList) > 0 then 
           for i = 1,table.getn(target) do 
                  for p,q in pairs(blackList) do 
                         if target ~= nil then 
                                if string.find(target.id,blackList[p]) then 
                                   table.remove(target,i) 
                                end 
                     end 
                  end 
           end 
           for j = 1,table.getn(backupList) do 
                  for m,n in pairs(blackList) do 
                         if backupList[j] ~= nil then 
                                if string.find(backupList[j].id,blackList[m]) then 
                                   table.remove(backupList,j) 
                                end 
                     end 
                  end 
           end 
        end 
        return dmlConsider() 
end 
 
 
 
 
383 
 
function sortFunc(a,b) 
        if a.lvl ~= b.lvl then 
           return a.lvl > b.lvl 
        else 
           if a.rank ~= b.rank then 
              return a.rank < b.rank 
           end 
        end 
end |   
 
 
 
 |