Postado Outubro 14, 2015 9 anos Persistent Code init start -- Version 2.0.1 function GetWeaponPC() SkillType = findweapontype() local SkillNames = {'axe','sword','club','no weapon','distance weapon'} if table.find(SkillNames,SkillType) then if SkillType == 'axe' then return $axepc elseif SkillType == 'sword' then return $swordpc elseif SkillType == 'club' then return $clubpc elseif SkillType == 'no weapon' then return $fistpc elseif SkillType == 'distance weapon' then return $distancepc end else return $mlevelpc end end local Config = { {name = 'Weapon', _starttime = $timems, _skill = GetWeaponPC(), _traceskill = 0, _timers = {0}, _try = 0, _finalTime = {}}, {name = 'Magic', _starttime = $timems, _skill = $mlevelpc, _traceskill = 0, _timers = {0}, _try = 0, _finalTime = {}}, {name = 'Shielding', _starttime = $timems, _skill = $shieldingpc, _traceskill = 0, _timers = {0}, _try = 0, _finalTime = {}}, {name = 'Fishing', _starttime = $timems, _skill = $fishingpc, _traceskill = 0, _timers = {0}, _try = 0, _finalTime = {}} } init end auto(100) local Skills = { {name = 'Weapon', _skill = GetWeaponPC(), _left = _left or 0, _avgTime = _avgTime or 0, _advanceTime = _advanceTime or 0}, {name = 'Magic', _skill = $mlevelpc, _left = _left or 0, _avgTime = _avgTime or 0, _advanceTime = _advanceTime or 0}, {name = 'Shielding', _skill = $shieldingpc, _left = _left or 0, _avgTime = _avgTime or 0, _advanceTime = _advanceTime or 0}, {name = 'Fishing', _skill = $fishingpc, _left = _left or 0, _avgTime = _avgTime or 0, _advanceTime = _advanceTime or 0} } for ic = 1,#Config do for is = 1,#Skills do if Skills[is].name == Config[ic].name then if Config[ic]._skill ~= Skills[is]._skill then Config[ic]._traceskill = $timems - Config[ic]._starttime if Config[ic]._try > 0 then table.insert(Config[ic]._timers,Config[ic]._traceskill) end Config[ic]._starttime = $timems Config[ic]._skill = Skills[is]._skill for it = 1,#Config[ic]._timers do if it > 3 then table.remove(Config[ic]._timers,1) end end Config[ic]._try = Config[ic]._try + 1 end Skills[is]._left = 100 - Skills[is]._skill Skills[is]._avgTime = table.average(Config[ic]._timers) Skills[is]._advanceTime = Skills[is]._left * Skills[is]._avgTime Skills[is]._timeLeft = math.floor(Skills[is]._advanceTime / 1000) end end end function SkillTimer(skill) curTime = math.floor($charactertime / 1000) if Skills[1]._timeLeft ~= _Tracker.lastSkillPrediction then _Tracker.lastSkillPrediction = Skills[1]._timeLeft _Tracker.timeSkillPredictionChanged = curTime end if Skills[2]._timeLeft ~= _Tracker.lastMagicPrediction then _Tracker.lastMagicPrediction = Skills[2]._timeLeft _Tracker.timeMagicPredictionChanged = curTime end if Skills[3]._timeLeft ~= _Tracker.lastShieldingPrediction then _Tracker.lastShieldingPrediction = Skills[3]._timeLeft _Tracker.timeShieldingPredictionChanged = curTime end if Skills[4]._timeLeft ~= _Tracker.lastFishingPrediction then _Tracker.lastFishingPrediction = Skills[4]._timeLeft _Tracker.timeFishingPredictionChanged = curTime end if skill == 'Weapon' then return math.max(math.round(Skills[1]._timeLeft - curTime + _Tracker.timeSkillPredictionChanged), 1) elseif skill == 'Magic' then return math.max(math.round(Skills[2]._timeLeft - curTime + _Tracker.timeMagicPredictionChanged), 1) elseif skill == 'Shielding' then return math.max(math.round(Skills[3]._timeLeft - curTime + _Tracker.timeShieldingPredictionChanged), 1) elseif skill == 'Fishing' then return math.max(math.round(Skills[4]._timeLeft - curTime + _Tracker.timeFishingPredictionChanged), 1) end end if time(SkillTimer('Weapon')) ~= '1' then showWeapon = time(SkillTimer('Weapon')) else showWeapon = 'Calculating' end if time(SkillTimer('Magic')) ~= '1' then showMagic = time(SkillTimer('Magic')) else showMagic = 'Calculating' end if time(SkillTimer('Shielding')) ~= '1' then showShielding = time(SkillTimer('Shielding')) else showShielding = 'Calculating' end if time(SkillTimer('Fishing')) ~= '1' then showFishing = time(SkillTimer('Fishing')) else showFishing = 'Calculating' end HUD codeinit start -- DO NOT EDIT BELOW THIS LINE local HUD = { Restart = -1, Position = {$clientwin.left, $worldwin.bottom}, Auxiliar = {0, 0}, ColumnWidth = {125, 12}, Moving = false, Blue = {0.0, color(90, 12, 15, 20), 0.23, color(98, 13, 17, 20), 0.76, color(52, 6, 9, 20)}, Black = {0.0, color(75, 75, 75, 20), 0.23, color(45, 45, 45, 20), 0.76, color(19, 19, 19, 20)}, Orange = {0.0, color(120, 120, 120, 20), 0.23, color(100, 100, 100, 20), 0.76, color(35, 35, 35, 20)}, Green = {0.0, color(65, 96, 12, 20), 0.23, color(67, 99, 13, 20), 0.76, color(36, 52, 6, 20)}, Red = {0.0, color(90, 12, 15, 20), 0.23, color(98, 13, 17, 20), 0.76, color(52, 6, 9, 20)}, } showWeapon = showWeapon or 0 showShielding = showShielding or 0 showMagic = showMagic or 0 showFishing = showFishing or 0 local tempPos = $chardb:getvalue('SkillTimer.TH', 'POSITION') if tempPos then tempPos = tempPos:explode(":") HUD.Position = {tonumber(tempPos[1]), tonumber(tempPos[2])} end Time = Time or tosec(os.date("%X")) filterinput(false, true, false, false) setfontstyle('Tahoma', 8, 75) setfillstyle('gradient', 'linear', 2, 0, 0, 0, 14) setfontstyle('Tahoma', 8, 75, 0xFFFFFF, 1, color(0, 0, 0, 20)) function inputevents(e) if e.type == IEVENT_RMOUSEDOWN or e.type == IEVENT_MMOUSEDOWN then HUD.Moving, HUD.Auxiliar = true, {$cursor.x - HUD.Position[1], $cursor.y - HUD.Position[2]} elseif e.type == IEVENT_RMOUSEUP or e.type == IEVENT_MMOUSEUP then HUD.Moving = false elseif e.type == IEVENT_LMOUSEUP then if e.elementid == HUD.Restart then SkillTable = {} CalculateTry = 0 ShieldingTable = {} ShieldingCalculateTry = 0 MagicTable = {} MagicCalculateTry = 0 end end end local function displaytext(text, x, y, c) addgradcolors(unpack(c)) local w, h = measurestring(text) HUD.ColumnWidth[1], HUD.ColumnWidth[2] = math.max(HUD.ColumnWidth[1], w or 0), math.max(HUD.ColumnWidth[2], h or 0) local t = drawroundrect(x, y, HUD.ColumnWidth[1] + 7, HUD.ColumnWidth[2], 2, 2) drawtext(text, x + 2, y + math.floor(HUD.ColumnWidth[2] / 4) - 2.55) return t end init end if HUD.Moving then auto(10) HUD.Position = {$cursor.x - HUD.Auxiliar[1], $cursor.y - HUD.Auxiliar[2]} $chardb:setvalue('SkillTimer.TH', 'POSITION', table.concat(HUD.Position, ':')) end local x, y = 0, 0 displaytext(" Skill Timer", x, y, HUD.Blue) addgradcolors(unpack(HUD.Green)) w, h = measurestring("RESET") HUD.Restart = drawroundrect(x - w + HUD.ColumnWidth[1], y, w + 7, h, 2, 2) drawtext("RESET", 5 + x - w + HUD.ColumnWidth[1], y + math.floor(h / 4) - 2.4) y = y + 16 displaytext(' Weapon Timer: '..showWeapon, x, y, HUD.Black) y = y + 16 displaytext(' Shielding Timer: '..showShielding, x,y, HUD.Black) y = y + 16 displaytext(' Magic Level Timer: '..showMagic, x,y, HUD.Black) y = y + 16 displaytext(' Fishing Timer: '..showFishing, x,y, HUD.Black) setposition(unpack(HUD.Position)) Créditos: tibiawindbot
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.