Ir para conteúdo

Featured Replies

Postado
kIolmn5.png 
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 code
init 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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo