No login.lua tenta apagar a seguinte linha:
sendMsgToPlayer(cid, 20, "Bem Vindo Ao Pokemon Venetta Server")
info
Grupo: Artesão
Registrado: 28/09/08
Posts: 110
Reputação: +38
Gênero: Masculino
Char no Tibia: ...

No login.lua tenta apagar a seguinte linha:
sendMsgToPlayer(cid, 20, "Bem Vindo Ao Pokemon Venetta Server")
info
Grupo: Infante
Registrado: 27/08/11
Posts: 1.9k
Reputação: +85
Gênero: Masculino
Char no Tibia: Bruno Maciel

Eu ja ate pensei que seja isso porem ja tirei e testei o erro continua e nao sei oque seja ja dei algumas olhada na script pra ver mais ate agora nada =/
info
Grupo: Herói
Registrado: 25/10/11
Posts: 2.2k
Reputação: +862
Gênero: Masculino
Char no Tibia: Sociopata

vai no seu cliente e me manda o game_skill.lua ![]()
info
Grupo: Visconde
Registrado: 07/02/12
Posts: 427
Reputação: +112

Normalmente seu cliente deve tá dizendo um getSto quando loga tenta logar em um char já criado player, ve se ta aparecendo mensagens ao logar provavelmente pode ser aqui o erro
doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
info
Grupo: Infante
Registrado: 27/08/11
Posts: 1.9k
Reputação: +85
Gênero: Masculino
Char no Tibia: Bruno Maciel

Agora, Deadpool disse:vai no seu cliente e me manda o game_skill.lua
skillsWindow = nil
skillsButton = nil
local gyms = {
["Brock0"] = "/images/game/pokemon/clan/8",
["Brock1"] = "/images/game/pokemon/clan/16",
["Misty0"] = "/images/game/pokemon/clan/7",
["Misty1"] = "/images/game/pokemon/clan/15",
["Surge0"] = "/images/game/pokemon/clan/6",
["Surge1"] = "/images/game/pokemon/clan/14",
["Erika0"] = "/images/game/pokemon/clan/5",
["Erika1"] = "/images/game/pokemon/clan/13",
["Sabrina0"] = "/images/game/pokemon/clan/4",
["Sabrina1"] = "/images/game/pokemon/clan/12",
["Koga0"] = "/images/game/pokemon/clan/3",
["Koga1"] = "/images/game/pokemon/clan/11",
["Blaine0"] = "/images/game/pokemon/clan/2",
["Blaine1"] = "/images/game/pokemon/clan/10",
["Kira0"] = "/images/game/pokemon/clan/1",
["Kira1"] = "/images/game/pokemon/clan/9",
}
local imgs = {
[-1] = "/modules/game_skills/img/sem promotion", -- -1 quer dizer esta sem clan...
[1] = "/modules/game_skills/img/volcanic img",
[2] = "/modules/game_skills/img/seavell img",
[3] = "/modules/game_skills/img/orebound img",
[4] = "/modules/game_skills/img/wingeon img",
[5] = "/modules/game_skills/img/malefic img",
[6] = "/modules/game_skills/img/gardestrike img",
[7] = "/modules/game_skills/img/psycraft img",
[8] = "/modules/game_skills/img/naturia img",
[9] = "/modules/game_skills/img/raibolt img",
}
function init()
connect(LocalPlayer, {
onExperienceChange = onExperienceChange,
onLevelChange = onLevelChange,
onHealthChange = onHealthChange,
onManaChange = onManaChange,
onSoulChange = onSoulChange,
onFreeCapacityChange = onFreeCapacityChange,
onTotalCapacityChange = onTotalCapacityChange,
onStaminaChange = onStaminaChange,
onOfflineTrainingChange = onOfflineTrainingChange,
onRegenerationChange = onRegenerationChange,
onSpeedChange = onSpeedChange,
onBaseSpeedChange = onBaseSpeedChange,
onMagicLevelChange = onMagicLevelChange,
onBaseMagicLevelChange = onBaseMagicLevelChange,
onSkillChange = onSkillChange,
onBaseSkillChange = onBaseSkillChange
})
connect(g_game, {
onGameStart = refresh,
onGameEnd = offline
})
connect(g_game, 'onTextMessage', getGym)
connect(g_game, 'onTextMessage', getParams)
connect(g_game, {onGameStart = changeImg})
skillsButton = modules.client_topmenu.addRightGameToggleButton('skillsButton', tr('skills') .. ' (Ctrl+S)', '/modules/game_skills/img/perfil_icon', toggle)
skillsButton:setOn(true)
skillsWindow = g_ui.loadUI('skills', modules.game_interface.getRightPanel()) -- skills
g_keyboard.bindKeyDown('Ctrl+S', toggle)
refresh()
skillsWindow:setup()
end
function init()
connect(LocalPlayer, {
onExperienceChange = onExperienceChange,
onLevelChange = onLevelChange,
onHealthChange = onHealthChange,
onManaChange = onManaChange,
onSoulChange = onSoulChange,
onFreeCapacityChange = onFreeCapacityChange,
onTotalCapacityChange = onTotalCapacityChange,
onStaminaChange = onStaminaChange,
onOfflineTrainingChange = onOfflineTrainingChange,
onRegenerationChange = onRegenerationChange,
onSpeedChange = onSpeedChange,
onBaseSpeedChange = onBaseSpeedChange,
onMagicLevelChange = onMagicLevelChange,
onBaseMagicLevelChange = onBaseMagicLevelChange,
onSkillChange = onSkillChange,
onBaseSkillChange = onBaseSkillChange
})
connect(g_game, {
onGameStart = refresh,
onGameEnd = offline
})
connect(g_game, 'onTextMessage', getGym)
connect(g_game, 'onTextMessage', getParams)
connect(g_game, {onGameStart = changeImg})
skillsButton = modules.client_topmenu.addRightGameToggleButton('skillsButton', tr('skills') .. ' (Ctrl+S)', '/modules/game_skills/img/perfil_icon', toggle)
skillsButton:setOn(true)
skillsWindow = g_ui.loadUI('skills', modules.game_interface.getRightPanel()) -- skills
g_keyboard.bindKeyDown('Ctrl+S', toggle)
refresh()
skillsWindow:setup()
end
function autoUpdateTalks()
local player = g_game.getLocalPlayer()
if not player then return end
----------
g_game.talk("#getGym# Brock")
g_game.talk("#getGym# Misty")
g_game.talk("#getGym# Surge")
g_game.talk("#getGym# Erika")
g_game.talk("#getGym# Sabrina")
g_game.talk("#getGym# Koga")
g_game.talk("#getGym# Blaine")
g_game.talk("#getGym# Kira")
----------
end
function getGym(mode, text)
if not g_game.isOnline() then return end
if mode == MessageModes.Failure then
if text:find("#getBadges#") then
local t = string.explode(text, " ")
local badges = skillsWindow:recursiveGetChildById("gym"..t[2])
badges:setImageSource(gyms[t[2]..""..tonumber(t[3])])
end
end
end
function changeImg()
local player = g_game.getLocalPlayer()
if not player then return end
g_game.talk("#getSto# 86228")
end
function getParams(mode, text)
if not g_game.isOnline() then return end
if mode == MessageModes.Failure then
if text:find("#getSto#") then
local icon = skillsWindow:recursiveGetChildById("clanicon")
if icon then
local t = string.explode(text, " ")
icon:setImageSource(imgs[tonumber(t[2])])
end
end
end
end
function expForLevel(level)
return math.floor((50*level*level*level)/3 - 100*level*level + (850*level)/3 - 200)
end
function expToAdvance(currentLevel, currentExp)
return expForLevel(currentLevel+1) - currentExp
end
function resetSkillColor(id)
local skill = skillsWindow:recursiveGetChildById(id)
local widget = skill:getChildById('value')
widget:setColor('#bbbbbb')
end
function setSkillBase(id, value, baseValue)
if baseValue <= 0 or value < 0 then
return
end
local skill = skillsWindow:recursiveGetChildById(id)
local widget = skill:getChildById('value')
if value > baseValue then
widget:setColor('#008b00') -- green
skill:setTooltip(baseValue .. ' +' .. (value - baseValue))
elseif value < baseValue then
widget:setColor('#b22222') -- red
skill:setTooltip(baseValue .. ' ' .. (value - baseValue))
else
widget:setColor('#bbbbbb') -- default
skill:removeTooltip()
end
end
function setSkillValue(id, value)
local skill = skillsWindow:recursiveGetChildById(id)
local widget = skill:getChildById('value')
widget:setText(value)
end
function setSkillColor(id, value)
local skill = skillsWindow:recursiveGetChildById(id)
local widget = skill:getChildById('value')
widget:setColor(value)
end
function setSkillTooltip(id, value)
local skill = skillsWindow:recursiveGetChildById(id)
local widget = skill:getChildById('value')
widget:setTooltip(value)
end
function setSkillPercent(id, percent, tooltip)
local skill = skillsWindow:recursiveGetChildById(id)
local widget = skill:getChildById('percent')
widget:setPercent(math.floor(percent))
if tooltip then
widget:setTooltip(tooltip)
end
end
function checkAlert(id, value, maxValue, threshold, greaterThan)
if greaterThan == nil then greaterThan = false end
local alert = false
-- maxValue can be set to false to check value and threshold
-- used for regeneration checking
if type(maxValue) == 'boolean' then
if maxValue then
return
end
if greaterThan then
if value > threshold then
alert = true
end
else
if value < threshold then
alert = true
end
end
elseif type(maxValue) == 'number' then
if maxValue < 0 then
return
end
local percent = math.floor((value / maxValue) * 100)
if greaterThan then
if percent > threshold then
alert = true
end
else
if percent < threshold then
alert = true
end
end
end
if alert then
setSkillColor(id, '#b22222') -- red
else
resetSkillColor(id)
end
end
function update()
local offlineTraining = skillsWindow:recursiveGetChildById('offlineTraining')
if not g_game.getFeature(GameOfflineTrainingTime) then
offlineTraining:hide()
else
offlineTraining:show()
end
local regenerationTime = skillsWindow:recursiveGetChildById('regenerationTime')
if not g_game.getFeature(GamePlayerRegenerationTime) then
regenerationTime:hide()
else
regenerationTime:show()
end
end
function refresh()
local player = g_game.getLocalPlayer()
if not player then return end
autoUpdateTalks()
if expSpeedEvent then expSpeedEvent:cancel() end
expSpeedEvent = cycleEvent(checkExpSpeed, 30*1000)
onExperienceChange(player, player:getExperience())
onLevelChange(player, player:getLevel(), player:getLevelPercent())
onHealthChange(player, player:getHealth(), player:getMaxHealth())
onManaChange(player, player:getMana(), player:getMaxMana())
onSoulChange(player, player:getSoul())
onFreeCapacityChange(player, player:getFreeCapacity())
onStaminaChange(player, player:getStamina())
onMagicLevelChange(player, player:getMagicLevel(), player:getMagicLevelPercent())
onOfflineTrainingChange(player, player:getOfflineTrainingTime())
onRegenerationChange(player, player:getRegenerationTime())
onSpeedChange(player, player:getSpeed())
for i=0,6 do
onSkillChange(player, i, player:getSkillLevel(i), player:getSkillLevelPercent(i))
onBaseSkillChange(player, i, player:getSkillBaseLevel(i))
end
update()
local contentsPanel = skillsWindow:getChildById('contentsPanel')
skillsWindow:setContentMinimumHeight(110)
skillsWindow:setContentMaximumHeight(292)
end
function offline()
if expSpeedEvent then expSpeedEvent:cancel() expSpeedEvent = nil end
end
function toggle()
if skillsButton:isOn() then
skillsWindow:close()
skillsButton:setOn(false)
else
skillsWindow:open()
skillsButton:setOn(true)
skillsButton:setOpacity(1.0)
autoUpdateTalks()
end
end
function checkExpSpeed()
local player = g_game.getLocalPlayer()
if not player then return end
local currentExp = player:getExperience()
local currentTime = g_clock.seconds()
if player.lastExps ~= nil then
player.expSpeed = (currentExp - player.lastExps[1][1])/(currentTime - player.lastExps[1][2])
onLevelChange(player, player:getLevel(), player:getLevelPercent())
else
player.lastExps = {}
end
table.insert(player.lastExps, {currentExp, currentTime})
if #player.lastExps > 30 then
table.remove(player.lastExps, 1)
end
end
function onMiniWindowClose()
skillsButton:setOn(false)
skillsButton:setOpacity(0.5)
end
function onSkillButtonClick(button)
local percentBar = button:getChildById('percent')
if percentBar then
percentBar:setVisible(not percentBar:isVisible())
if percentBar:isVisible() then
button:setHeight(21)
else
button:setHeight(21 - 6)
end
end
end
function onExperienceChange(localPlayer, value)
setSkillValue('level', value)
end
function onLevelChange(localPlayer, value, percent)
setSkillValue('experience', localPlayer:getName())
setSkillValue('experiencee', value)
local text = tr('You have %s percent to go', 100 - percent) .. '\n' ..
tr('%s of experience left', expToAdvance(localPlayer:getLevel(), localPlayer:getExperience()))
if localPlayer.expSpeed ~= nil then
local expPerHour = math.floor(localPlayer.expSpeed * 3600)
if expPerHour > 0 then
local nextLevelExp = expForLevel(localPlayer:getLevel()+1)
local hoursLeft = (nextLevelExp - localPlayer:getExperience()) / expPerHour
local minutesLeft = math.floor((hoursLeft - math.floor(hoursLeft))*60)
hoursLeft = math.floor(hoursLeft)
text = text .. '\n' .. tr('%d of experience per hour', expPerHour)
text = text .. '\n' .. tr('Next level in %d hours and %d minutes', hoursLeft, minutesLeft)
end
end
setSkillPercent('level', percent, text)
end
function onHealthChange(localPlayer, health, maxHealth)
setSkillValue('health', health)
checkAlert('health', health, maxHealth, 30)
end
function onManaChange(localPlayer, mana, maxMana)
setSkillValue('mana', mana)
checkAlert('mana', mana, maxMana, 30)
end
function onSoulChange(localPlayer, soul)
setSkillValue('soul', soul)
end
function onFreeCapacityChange(localPlayer, freeCapacity)
setSkillValue('capacity', freeCapacity)
checkAlert('capacity', freeCapacity, localPlayer:getTotalCapacity(), 20)
end
function onTotalCapacityChange(localPlayer, totalCapacity)
checkAlert('capacity', localPlayer:getFreeCapacity(), totalCapacity, 20)
end
function onStaminaChange(localPlayer, stamina)
local hours = math.floor(stamina / 60)
local minutes = stamina % 60
if minutes < 10 then
minutes = '0' .. minutes
end
setSkillValue('stamina', hours .. ":" .. minutes)
end
function onOfflineTrainingChange(localPlayer, offlineTrainingTime)
if not g_game.getFeature(GameOfflineTrainingTime) then
return
end
local hours = math.floor(offlineTrainingTime / 60)
local minutes = offlineTrainingTime % 60
if minutes < 10 then
minutes = '0' .. minutes
end
local percent = 100 * offlineTrainingTime / (12 * 60) -- max is 12 hours
setSkillValue('offlineTraining', hours .. ":" .. minutes)
setSkillPercent('offlineTraining', percent, tr('You have %s percent', percent))
end
function onRegenerationChange(localPlayer, regenerationTime)
if not g_game.getFeature(GamePlayerRegenerationTime) or regenerationTime < 0 then
return
end
local minutes = math.floor(regenerationTime / 60)
local seconds = regenerationTime % 60
if seconds < 10 then
seconds = '0' .. seconds
end
setSkillValue('regenerationTime', minutes .. ":" .. seconds)
checkAlert('regenerationTime', regenerationTime, false, 300)
end
function onSpeedChange(localPlayer, speed)
setSkillValue('speed', speed)
onBaseSpeedChange(localPlayer, localPlayer:getBaseSpeed())
end
function onBaseSpeedChange(localPlayer, baseSpeed)
setSkillBase('speed', localPlayer:getSpeed(), baseSpeed)
end
function onMagicLevelChange(localPlayer, magiclevel, percent)
setSkillValue('magiclevel', magiclevel)
setSkillPercent('magiclevel', percent, tr('You have %s percent to go', 100 - percent))
onBaseMagicLevelChange(localPlayer, localPlayer:getBaseMagicLevel())
end
function onBaseMagicLevelChange(localPlayer, baseMagicLevel)
setSkillBase('magiclevel', localPlayer:getMagicLevel(), baseMagicLevel)
end
function onSkillChange(localPlayer, id, level, percent)
setSkillValue('skillId' .. id, level)
setSkillPercent('skillId2', percent, tr('You have %s percent to go', 100 - percent))
setSkillPercent('skillId3', percent, tr('You have %s percent to go', 100 - percent))
setSkillPercent('skillId4', percent, tr('You have %s percent to go', 100 - percent))
setSkillPercent('skillId5', percent, tr('You have %s percent to go', 100 - percent))
setSkillPercent('skillId6', percent, tr('You have %s percent to go', 100 - percent))
onBaseSkillChange(localPlayer, id, localPlayer:getSkillBaseLevel(id))
end
function onBaseSkillChange(localPlayer, id, baseLevel)
setSkillBase('skillId'..id, localPlayer:getSkillLevel(id), baseLevel)
end
Agora, KarlKalvin disse:Normalmente seu cliente deve tá dizendo um getSto quando loga tenta logar em um char já criado player, ve se ta aparecendo mensagens ao logar provavelmente pode ser aqui o erro
doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
e vo ve se o deadpool consegui ajuda mais em si vo da uma olhada nisso tbem preciso muito de ajuda nisso.
Editado Novembro 25 por brunoo1996
info
Grupo: Herói
Registrado: 25/10/11
Posts: 2.2k
Reputação: +862
Gênero: Masculino
Char no Tibia: Sociopata

usa:
skillsWindow = nilskillsButton = nillocal gyms = { ["Brock0"] = "/images/game/pokemon/clan/8", ["Brock1"] = "/images/game/pokemon/clan/16", ["Misty0"] = "/images/game/pokemon/clan/7", ["Misty1"] = "/images/game/pokemon/clan/15", ["Surge0"] = "/images/game/pokemon/clan/6", ["Surge1"] = "/images/game/pokemon/clan/14", ["Erika0"] = "/images/game/pokemon/clan/5", ["Erika1"] = "/images/game/pokemon/clan/13", ["Sabrina0"] = "/images/game/pokemon/clan/4", ["Sabrina1"] = "/images/game/pokemon/clan/12", ["Koga0"] = "/images/game/pokemon/clan/3", ["Koga1"] = "/images/game/pokemon/clan/11", ["Blaine0"] = "/images/game/pokemon/clan/2", ["Blaine1"] = "/images/game/pokemon/clan/10", ["Kira0"] = "/images/game/pokemon/clan/1", ["Kira1"] = "/images/game/pokemon/clan/9",}local imgs = { [-1] = "/modules/game_skills/img/sem promotion", -- -1 quer dizer esta sem clan... [1] = "/modules/game_skills/img/volcanic img", [2] = "/modules/game_skills/img/seavell img", [3] = "/modules/game_skills/img/orebound img", [4] = "/modules/game_skills/img/wingeon img", [5] = "/modules/game_skills/img/malefic img", [6] = "/modules/game_skills/img/gardestrike img", [7] = "/modules/game_skills/img/psycraft img", [8] = "/modules/game_skills/img/naturia img", [9] = "/modules/game_skills/img/raibolt img",}function init() connect(LocalPlayer, { onExperienceChange = onExperienceChange, onLevelChange = onLevelChange, onHealthChange = onHealthChange, onManaChange = onManaChange, onSoulChange = onSoulChange, onFreeCapacityChange = onFreeCapacityChange, onTotalCapacityChange = onTotalCapacityChange, onStaminaChange = onStaminaChange, onOfflineTrainingChange = onOfflineTrainingChange, onRegenerationChange = onRegenerationChange, onSpeedChange = onSpeedChange, onBaseSpeedChange = onBaseSpeedChange, onMagicLevelChange = onMagicLevelChange, onBaseMagicLevelChange = onBaseMagicLevelChange, onSkillChange = onSkillChange, onBaseSkillChange = onBaseSkillChange }) connect(g_game, { onGameStart = refresh, onGameEnd = offline }) connect(g_game, 'onTextMessage', getGym) connect(g_game, 'onTextMessage', getParams) connect(g_game, {onGameStart = changeImg}) skillsButton = modules.client_topmenu.addRightGameToggleButton('skillsButton', tr('skills') .. ' (Ctrl+S)', '/modules/game_skills/img/perfil_icon', toggle) skillsButton:setOn(true) skillsWindow = g_ui.loadUI('skills', modules.game_interface.getRightPanel()) -- skills g_keyboard.bindKeyDown('Ctrl+S', toggle) refresh() skillsWindow:setup()endfunction init() connect(LocalPlayer, { onExperienceChange = onExperienceChange, onLevelChange = onLevelChange, onHealthChange = onHealthChange, onManaChange = onManaChange, onSoulChange = onSoulChange, onFreeCapacityChange = onFreeCapacityChange, onTotalCapacityChange = onTotalCapacityChange, onStaminaChange = onStaminaChange, onOfflineTrainingChange = onOfflineTrainingChange, onRegenerationChange = onRegenerationChange, onSpeedChange = onSpeedChange, onBaseSpeedChange = onBaseSpeedChange, onMagicLevelChange = onMagicLevelChange, onBaseMagicLevelChange = onBaseMagicLevelChange, onSkillChange = onSkillChange, onBaseSkillChange = onBaseSkillChange }) connect(g_game, { onGameStart = refresh, onGameEnd = offline }) connect(g_game, 'onTextMessage', getGym) connect(g_game, 'onTextMessage', getParams) connect(g_game, {onGameStart = changeImg}) skillsButton = modules.client_topmenu.addRightGameToggleButton('skillsButton', tr('skills') .. ' (Ctrl+S)', '/modules/game_skills/img/perfil_icon', toggle) skillsButton:setOn(true) skillsWindow = g_ui.loadUI('skills', modules.game_interface.getRightPanel()) -- skills g_keyboard.bindKeyDown('Ctrl+S', toggle) refresh() skillsWindow:setup()endfunction autoUpdateTalks() local player = g_game.getLocalPlayer() if not player then return end---------- -- g_game.talk("#getGym# Brock") -- g_game.talk("#getGym# Misty") -- g_game.talk("#getGym# Surge") -- g_game.talk("#getGym# Erika") -- g_game.talk("#getGym# Sabrina") -- g_game.talk("#getGym# Koga") -- g_game.talk("#getGym# Blaine") -- g_game.talk("#getGym# Kira")----------endfunction getGym(mode, text) if not g_game.isOnline() then return end if mode == MessageModes.Failure then if text:find("#getBadges#") thenlocal t = string.explode(text, " ")local badges = skillsWindow:recursiveGetChildById("gym"..t[2])badges:setImageSource(gyms[t[2]..""..tonumber(t[3])])endendendfunction changeImg() local player = g_game.getLocalPlayer() if not player then return end g_game.talk("#getSto# 86228")endfunction getParams(mode, text)if not g_game.isOnline() then return end if mode == MessageModes.Failure then if text:find("#getSto#") then local icon = skillsWindow:recursiveGetChildById("clanicon") if icon then local t = string.explode(text, " ") icon:setImageSource(imgs[tonumber(t[2])]) end end endendfunction expForLevel(level) return math.floor((50*level*level*level)/3 - 100*level*level + (850*level)/3 - 200)endfunction expToAdvance(currentLevel, currentExp) return expForLevel(currentLevel+1) - currentExpendfunction resetSkillColor(id) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') widget:setColor('#bbbbbb')endfunction setSkillBase(id, value, baseValue) if baseValue <= 0 or value < 0 then return end local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') if value > baseValue then widget:setColor('#008b00') -- green skill:setTooltip(baseValue .. ' +' .. (value - baseValue)) elseif value < baseValue then widget:setColor('#b22222') -- red skill:setTooltip(baseValue .. ' ' .. (value - baseValue)) else widget:setColor('#bbbbbb') -- default skill:removeTooltip() endendfunction setSkillValue(id, value) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') widget:setText(value)endfunction setSkillColor(id, value) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') widget:setColor(value)endfunction setSkillTooltip(id, value) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') widget:setTooltip(value)endfunction setSkillPercent(id, percent, tooltip) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('percent') widget:setPercent(math.floor(percent)) if tooltip then widget:setTooltip(tooltip) endendfunction checkAlert(id, value, maxValue, threshold, greaterThan) if greaterThan == nil then greaterThan = false end local alert = false -- maxValue can be set to false to check value and threshold -- used for regeneration checking if type(maxValue) == 'boolean' then if maxValue then return end if greaterThan then if value > threshold then alert = true end else if value < threshold then alert = true end end elseif type(maxValue) == 'number' then if maxValue < 0 then return end local percent = math.floor((value / maxValue) * 100) if greaterThan then if percent > threshold then alert = true end else if percent < threshold then alert = true end end end if alert then setSkillColor(id, '#b22222') -- red else resetSkillColor(id) endendfunction update() local offlineTraining = skillsWindow:recursiveGetChildById('offlineTraining') if not g_game.getFeature(GameOfflineTrainingTime) then offlineTraining:hide() else offlineTraining:show() end local regenerationTime = skillsWindow:recursiveGetChildById('regenerationTime') if not g_game.getFeature(GamePlayerRegenerationTime) then regenerationTime:hide() else regenerationTime:show() endendfunction refresh() local player = g_game.getLocalPlayer() if not player then return end autoUpdateTalks() if expSpeedEvent then expSpeedEvent:cancel() end expSpeedEvent = cycleEvent(checkExpSpeed, 30*1000) onExperienceChange(player, player:getExperience()) onLevelChange(player, player:getLevel(), player:getLevelPercent()) onHealthChange(player, player:getHealth(), player:getMaxHealth()) onManaChange(player, player:getMana(), player:getMaxMana()) onSoulChange(player, player:getSoul()) onFreeCapacityChange(player, player:getFreeCapacity()) onStaminaChange(player, player:getStamina()) onMagicLevelChange(player, player:getMagicLevel(), player:getMagicLevelPercent()) onOfflineTrainingChange(player, player:getOfflineTrainingTime()) onRegenerationChange(player, player:getRegenerationTime()) onSpeedChange(player, player:getSpeed()) for i=0,6 do onSkillChange(player, i, player:getSkillLevel(i), player:getSkillLevelPercent(i)) onBaseSkillChange(player, i, player:getSkillBaseLevel(i)) end update() local contentsPanel = skillsWindow:getChildById('contentsPanel') skillsWindow:setContentMinimumHeight(110) skillsWindow:setContentMaximumHeight(292)endfunction offline() if expSpeedEvent then expSpeedEvent:cancel() expSpeedEvent = nil endendfunction toggle() if skillsButton:isOn() then skillsWindow:close() skillsButton:setOn(false) else skillsWindow:open() skillsButton:setOn(true) skillsButton:setOpacity(1.0) autoUpdateTalks() endendfunction checkExpSpeed() local player = g_game.getLocalPlayer() if not player then return end local currentExp = player:getExperience() local currentTime = g_clock.seconds() if player.lastExps ~= nil then player.expSpeed = (currentExp - player.lastExps[1][1])/(currentTime - player.lastExps[1][2]) onLevelChange(player, player:getLevel(), player:getLevelPercent()) else player.lastExps = {} end table.insert(player.lastExps, {currentExp, currentTime}) if #player.lastExps > 30 then table.remove(player.lastExps, 1) endendfunction onMiniWindowClose() skillsButton:setOn(false) skillsButton:setOpacity(0.5)endfunction onSkillButtonClick(button) local percentBar = button:getChildById('percent') if percentBar then percentBar:setVisible(not percentBar:isVisible()) if percentBar:isVisible() then button:setHeight(21) else button:setHeight(21 - 6) end endendfunction onExperienceChange(localPlayer, value) setSkillValue('level', value)endfunction onLevelChange(localPlayer, value, percent) setSkillValue('experience', localPlayer:getName()) setSkillValue('experiencee', value) local text = tr('You have %s percent to go', 100 - percent) .. '\n' .. tr('%s of experience left', expToAdvance(localPlayer:getLevel(), localPlayer:getExperience())) if localPlayer.expSpeed ~= nil then local expPerHour = math.floor(localPlayer.expSpeed * 3600) if expPerHour > 0 then local nextLevelExp = expForLevel(localPlayer:getLevel()+1) local hoursLeft = (nextLevelExp - localPlayer:getExperience()) / expPerHour local minutesLeft = math.floor((hoursLeft - math.floor(hoursLeft))*60) hoursLeft = math.floor(hoursLeft) text = text .. '\n' .. tr('%d of experience per hour', expPerHour) text = text .. '\n' .. tr('Next level in %d hours and %d minutes', hoursLeft, minutesLeft) end end setSkillPercent('level', percent, text)endfunction onHealthChange(localPlayer, health, maxHealth) setSkillValue('health', health) checkAlert('health', health, maxHealth, 30)endfunction onManaChange(localPlayer, mana, maxMana) setSkillValue('mana', mana) checkAlert('mana', mana, maxMana, 30)endfunction onSoulChange(localPlayer, soul) setSkillValue('soul', soul)endfunction onFreeCapacityChange(localPlayer, freeCapacity) setSkillValue('capacity', freeCapacity) checkAlert('capacity', freeCapacity, localPlayer:getTotalCapacity(), 20)endfunction onTotalCapacityChange(localPlayer, totalCapacity) checkAlert('capacity', localPlayer:getFreeCapacity(), totalCapacity, 20)endfunction onStaminaChange(localPlayer, stamina) local hours = math.floor(stamina / 60) local minutes = stamina % 60 if minutes < 10 then minutes = '0' .. minutes end setSkillValue('stamina', hours .. ":" .. minutes)endfunction onOfflineTrainingChange(localPlayer, offlineTrainingTime) if not g_game.getFeature(GameOfflineTrainingTime) then return end local hours = math.floor(offlineTrainingTime / 60) local minutes = offlineTrainingTime % 60 if minutes < 10 then minutes = '0' .. minutes end local percent = 100 * offlineTrainingTime / (12 * 60) -- max is 12 hours setSkillValue('offlineTraining', hours .. ":" .. minutes) setSkillPercent('offlineTraining', percent, tr('You have %s percent', percent))endfunction onRegenerationChange(localPlayer, regenerationTime) if not g_game.getFeature(GamePlayerRegenerationTime) or regenerationTime < 0 then return end local minutes = math.floor(regenerationTime / 60) local seconds = regenerationTime % 60 if seconds < 10 then seconds = '0' .. seconds end setSkillValue('regenerationTime', minutes .. ":" .. seconds) checkAlert('regenerationTime', regenerationTime, false, 300)endfunction onSpeedChange(localPlayer, speed) setSkillValue('speed', speed) onBaseSpeedChange(localPlayer, localPlayer:getBaseSpeed())endfunction onBaseSpeedChange(localPlayer, baseSpeed) setSkillBase('speed', localPlayer:getSpeed(), baseSpeed)endfunction onMagicLevelChange(localPlayer, magiclevel, percent) setSkillValue('magiclevel', magiclevel) setSkillPercent('magiclevel', percent, tr('You have %s percent to go', 100 - percent)) onBaseMagicLevelChange(localPlayer, localPlayer:getBaseMagicLevel())endfunction onBaseMagicLevelChange(localPlayer, baseMagicLevel) setSkillBase('magiclevel', localPlayer:getMagicLevel(), baseMagicLevel)endfunction onSkillChange(localPlayer, id, level, percent) setSkillValue('skillId' .. id, level) setSkillPercent('skillId2', percent, tr('You have %s percent to go', 100 - percent)) setSkillPercent('skillId3', percent, tr('You have %s percent to go', 100 - percent)) setSkillPercent('skillId4', percent, tr('You have %s percent to go', 100 - percent)) setSkillPercent('skillId5', percent, tr('You have %s percent to go', 100 - percent)) setSkillPercent('skillId6', percent, tr('You have %s percent to go', 100 - percent)) onBaseSkillChange(localPlayer, id, localPlayer:getSkillBaseLevel(id))endfunction onBaseSkillChange(localPlayer, id, baseLevel) setSkillBase('skillId'..id, localPlayer:getSkillLevel(id), baseLevel)end
info
Grupo: Infante
Registrado: 27/08/11
Posts: 1.9k
Reputação: +85
Gênero: Masculino
Char no Tibia: Bruno Maciel

Agora, Deadpool disse:usa:
skillsWindow = nilskillsButton = nillocal gyms = { ["Brock0"] = "/images/game/pokemon/clan/8", ["Brock1"] = "/images/game/pokemon/clan/16", ["Misty0"] = "/images/game/pokemon/clan/7", ["Misty1"] = "/images/game/pokemon/clan/15", ["Surge0"] = "/images/game/pokemon/clan/6", ["Surge1"] = "/images/game/pokemon/clan/14", ["Erika0"] = "/images/game/pokemon/clan/5", ["Erika1"] = "/images/game/pokemon/clan/13", ["Sabrina0"] = "/images/game/pokemon/clan/4", ["Sabrina1"] = "/images/game/pokemon/clan/12", ["Koga0"] = "/images/game/pokemon/clan/3", ["Koga1"] = "/images/game/pokemon/clan/11", ["Blaine0"] = "/images/game/pokemon/clan/2", ["Blaine1"] = "/images/game/pokemon/clan/10", ["Kira0"] = "/images/game/pokemon/clan/1", ["Kira1"] = "/images/game/pokemon/clan/9",}local imgs = { [-1] = "/modules/game_skills/img/sem promotion", -- -1 quer dizer esta sem clan... [1] = "/modules/game_skills/img/volcanic img", [2] = "/modules/game_skills/img/seavell img", [3] = "/modules/game_skills/img/orebound img", [4] = "/modules/game_skills/img/wingeon img", [5] = "/modules/game_skills/img/malefic img", [6] = "/modules/game_skills/img/gardestrike img", [7] = "/modules/game_skills/img/psycraft img", [8] = "/modules/game_skills/img/naturia img", [9] = "/modules/game_skills/img/raibolt img",}function init() connect(LocalPlayer, { onExperienceChange = onExperienceChange, onLevelChange = onLevelChange, onHealthChange = onHealthChange, onManaChange = onManaChange, onSoulChange = onSoulChange, onFreeCapacityChange = onFreeCapacityChange, onTotalCapacityChange = onTotalCapacityChange, onStaminaChange = onStaminaChange, onOfflineTrainingChange = onOfflineTrainingChange, onRegenerationChange = onRegenerationChange, onSpeedChange = onSpeedChange, onBaseSpeedChange = onBaseSpeedChange, onMagicLevelChange = onMagicLevelChange, onBaseMagicLevelChange = onBaseMagicLevelChange, onSkillChange = onSkillChange, onBaseSkillChange = onBaseSkillChange }) connect(g_game, { onGameStart = refresh, onGameEnd = offline }) connect(g_game, 'onTextMessage', getGym) connect(g_game, 'onTextMessage', getParams) connect(g_game, {onGameStart = changeImg}) skillsButton = modules.client_topmenu.addRightGameToggleButton('skillsButton', tr('skills') .. ' (Ctrl+S)', '/modules/game_skills/img/perfil_icon', toggle) skillsButton:setOn(true) skillsWindow = g_ui.loadUI('skills', modules.game_interface.getRightPanel()) -- skills g_keyboard.bindKeyDown('Ctrl+S', toggle) refresh() skillsWindow:setup()endfunction init() connect(LocalPlayer, { onExperienceChange = onExperienceChange, onLevelChange = onLevelChange, onHealthChange = onHealthChange, onManaChange = onManaChange, onSoulChange = onSoulChange, onFreeCapacityChange = onFreeCapacityChange, onTotalCapacityChange = onTotalCapacityChange, onStaminaChange = onStaminaChange, onOfflineTrainingChange = onOfflineTrainingChange, onRegenerationChange = onRegenerationChange, onSpeedChange = onSpeedChange, onBaseSpeedChange = onBaseSpeedChange, onMagicLevelChange = onMagicLevelChange, onBaseMagicLevelChange = onBaseMagicLevelChange, onSkillChange = onSkillChange, onBaseSkillChange = onBaseSkillChange }) connect(g_game, { onGameStart = refresh, onGameEnd = offline }) connect(g_game, 'onTextMessage', getGym) connect(g_game, 'onTextMessage', getParams) connect(g_game, {onGameStart = changeImg}) skillsButton = modules.client_topmenu.addRightGameToggleButton('skillsButton', tr('skills') .. ' (Ctrl+S)', '/modules/game_skills/img/perfil_icon', toggle) skillsButton:setOn(true) skillsWindow = g_ui.loadUI('skills', modules.game_interface.getRightPanel()) -- skills g_keyboard.bindKeyDown('Ctrl+S', toggle) refresh() skillsWindow:setup()endfunction autoUpdateTalks() local player = g_game.getLocalPlayer() if not player then return end---------- -- g_game.talk("#getGym# Brock") -- g_game.talk("#getGym# Misty") -- g_game.talk("#getGym# Surge") -- g_game.talk("#getGym# Erika") -- g_game.talk("#getGym# Sabrina") -- g_game.talk("#getGym# Koga") -- g_game.talk("#getGym# Blaine") -- g_game.talk("#getGym# Kira")----------endfunction getGym(mode, text) if not g_game.isOnline() then return end if mode == MessageModes.Failure then if text:find("#getBadges#") thenlocal t = string.explode(text, " ")local badges = skillsWindow:recursiveGetChildById("gym"..t[2])badges:setImageSource(gyms[t[2]..""..tonumber(t[3])])endendendfunction changeImg() local player = g_game.getLocalPlayer() if not player then return end g_game.talk("#getSto# 86228")endfunction getParams(mode, text)if not g_game.isOnline() then return end if mode == MessageModes.Failure then if text:find("#getSto#") then local icon = skillsWindow:recursiveGetChildById("clanicon") if icon then local t = string.explode(text, " ") icon:setImageSource(imgs[tonumber(t[2])]) end end endendfunction expForLevel(level) return math.floor((50*level*level*level)/3 - 100*level*level + (850*level)/3 - 200)endfunction expToAdvance(currentLevel, currentExp) return expForLevel(currentLevel+1) - currentExpendfunction resetSkillColor(id) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') widget:setColor('#bbbbbb')endfunction setSkillBase(id, value, baseValue) if baseValue <= 0 or value < 0 then return end local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') if value > baseValue then widget:setColor('#008b00') -- green skill:setTooltip(baseValue .. ' +' .. (value - baseValue)) elseif value < baseValue then widget:setColor('#b22222') -- red skill:setTooltip(baseValue .. ' ' .. (value - baseValue)) else widget:setColor('#bbbbbb') -- default skill:removeTooltip() endendfunction setSkillValue(id, value) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') widget:setText(value)endfunction setSkillColor(id, value) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') widget:setColor(value)endfunction setSkillTooltip(id, value) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') widget:setTooltip(value)endfunction setSkillPercent(id, percent, tooltip) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('percent') widget:setPercent(math.floor(percent)) if tooltip then widget:setTooltip(tooltip) endendfunction checkAlert(id, value, maxValue, threshold, greaterThan) if greaterThan == nil then greaterThan = false end local alert = false -- maxValue can be set to false to check value and threshold -- used for regeneration checking if type(maxValue) == 'boolean' then if maxValue then return end if greaterThan then if value > threshold then alert = true end else if value < threshold then alert = true end end elseif type(maxValue) == 'number' then if maxValue < 0 then return end local percent = math.floor((value / maxValue) * 100) if greaterThan then if percent > threshold then alert = true end else if percent < threshold then alert = true end end end if alert then setSkillColor(id, '#b22222') -- red else resetSkillColor(id) endendfunction update() local offlineTraining = skillsWindow:recursiveGetChildById('offlineTraining') if not g_game.getFeature(GameOfflineTrainingTime) then offlineTraining:hide() else offlineTraining:show() end local regenerationTime = skillsWindow:recursiveGetChildById('regenerationTime') if not g_game.getFeature(GamePlayerRegenerationTime) then regenerationTime:hide() else regenerationTime:show() endendfunction refresh() local player = g_game.getLocalPlayer() if not player then return end autoUpdateTalks() if expSpeedEvent then expSpeedEvent:cancel() end expSpeedEvent = cycleEvent(checkExpSpeed, 30*1000) onExperienceChange(player, player:getExperience()) onLevelChange(player, player:getLevel(), player:getLevelPercent()) onHealthChange(player, player:getHealth(), player:getMaxHealth()) onManaChange(player, player:getMana(), player:getMaxMana()) onSoulChange(player, player:getSoul()) onFreeCapacityChange(player, player:getFreeCapacity()) onStaminaChange(player, player:getStamina()) onMagicLevelChange(player, player:getMagicLevel(), player:getMagicLevelPercent()) onOfflineTrainingChange(player, player:getOfflineTrainingTime()) onRegenerationChange(player, player:getRegenerationTime()) onSpeedChange(player, player:getSpeed()) for i=0,6 do onSkillChange(player, i, player:getSkillLevel(i), player:getSkillLevelPercent(i)) onBaseSkillChange(player, i, player:getSkillBaseLevel(i)) end update() local contentsPanel = skillsWindow:getChildById('contentsPanel') skillsWindow:setContentMinimumHeight(110) skillsWindow:setContentMaximumHeight(292)endfunction offline() if expSpeedEvent then expSpeedEvent:cancel() expSpeedEvent = nil endendfunction toggle() if skillsButton:isOn() then skillsWindow:close() skillsButton:setOn(false) else skillsWindow:open() skillsButton:setOn(true) skillsButton:setOpacity(1.0) autoUpdateTalks() endendfunction checkExpSpeed() local player = g_game.getLocalPlayer() if not player then return end local currentExp = player:getExperience() local currentTime = g_clock.seconds() if player.lastExps ~= nil then player.expSpeed = (currentExp - player.lastExps[1][1])/(currentTime - player.lastExps[1][2]) onLevelChange(player, player:getLevel(), player:getLevelPercent()) else player.lastExps = {} end table.insert(player.lastExps, {currentExp, currentTime}) if #player.lastExps > 30 then table.remove(player.lastExps, 1) endendfunction onMiniWindowClose() skillsButton:setOn(false) skillsButton:setOpacity(0.5)endfunction onSkillButtonClick(button) local percentBar = button:getChildById('percent') if percentBar then percentBar:setVisible(not percentBar:isVisible()) if percentBar:isVisible() then button:setHeight(21) else button:setHeight(21 - 6) end endendfunction onExperienceChange(localPlayer, value) setSkillValue('level', value)endfunction onLevelChange(localPlayer, value, percent) setSkillValue('experience', localPlayer:getName()) setSkillValue('experiencee', value) local text = tr('You have %s percent to go', 100 - percent) .. '\n' .. tr('%s of experience left', expToAdvance(localPlayer:getLevel(), localPlayer:getExperience())) if localPlayer.expSpeed ~= nil then local expPerHour = math.floor(localPlayer.expSpeed * 3600) if expPerHour > 0 then local nextLevelExp = expForLevel(localPlayer:getLevel()+1) local hoursLeft = (nextLevelExp - localPlayer:getExperience()) / expPerHour local minutesLeft = math.floor((hoursLeft - math.floor(hoursLeft))*60) hoursLeft = math.floor(hoursLeft) text = text .. '\n' .. tr('%d of experience per hour', expPerHour) text = text .. '\n' .. tr('Next level in %d hours and %d minutes', hoursLeft, minutesLeft) end end setSkillPercent('level', percent, text)endfunction onHealthChange(localPlayer, health, maxHealth) setSkillValue('health', health) checkAlert('health', health, maxHealth, 30)endfunction onManaChange(localPlayer, mana, maxMana) setSkillValue('mana', mana) checkAlert('mana', mana, maxMana, 30)endfunction onSoulChange(localPlayer, soul) setSkillValue('soul', soul)endfunction onFreeCapacityChange(localPlayer, freeCapacity) setSkillValue('capacity', freeCapacity) checkAlert('capacity', freeCapacity, localPlayer:getTotalCapacity(), 20)endfunction onTotalCapacityChange(localPlayer, totalCapacity) checkAlert('capacity', localPlayer:getFreeCapacity(), totalCapacity, 20)endfunction onStaminaChange(localPlayer, stamina) local hours = math.floor(stamina / 60) local minutes = stamina % 60 if minutes < 10 then minutes = '0' .. minutes end setSkillValue('stamina', hours .. ":" .. minutes)endfunction onOfflineTrainingChange(localPlayer, offlineTrainingTime) if not g_game.getFeature(GameOfflineTrainingTime) then return end local hours = math.floor(offlineTrainingTime / 60) local minutes = offlineTrainingTime % 60 if minutes < 10 then minutes = '0' .. minutes end local percent = 100 * offlineTrainingTime / (12 * 60) -- max is 12 hours setSkillValue('offlineTraining', hours .. ":" .. minutes) setSkillPercent('offlineTraining', percent, tr('You have %s percent', percent))endfunction onRegenerationChange(localPlayer, regenerationTime) if not g_game.getFeature(GamePlayerRegenerationTime) or regenerationTime < 0 then return end local minutes = math.floor(regenerationTime / 60) local seconds = regenerationTime % 60 if seconds < 10 then seconds = '0' .. seconds end setSkillValue('regenerationTime', minutes .. ":" .. seconds) checkAlert('regenerationTime', regenerationTime, false, 300)endfunction onSpeedChange(localPlayer, speed) setSkillValue('speed', speed) onBaseSpeedChange(localPlayer, localPlayer:getBaseSpeed())endfunction onBaseSpeedChange(localPlayer, baseSpeed) setSkillBase('speed', localPlayer:getSpeed(), baseSpeed)endfunction onMagicLevelChange(localPlayer, magiclevel, percent) setSkillValue('magiclevel', magiclevel) setSkillPercent('magiclevel', percent, tr('You have %s percent to go', 100 - percent)) onBaseMagicLevelChange(localPlayer, localPlayer:getBaseMagicLevel())endfunction onBaseMagicLevelChange(localPlayer, baseMagicLevel) setSkillBase('magiclevel', localPlayer:getMagicLevel(), baseMagicLevel)endfunction onSkillChange(localPlayer, id, level, percent) setSkillValue('skillId' .. id, level) setSkillPercent('skillId2', percent, tr('You have %s percent to go', 100 - percent)) setSkillPercent('skillId3', percent, tr('You have %s percent to go', 100 - percent)) setSkillPercent('skillId4', percent, tr('You have %s percent to go', 100 - percent)) setSkillPercent('skillId5', percent, tr('You have %s percent to go', 100 - percent)) setSkillPercent('skillId6', percent, tr('You have %s percent to go', 100 - percent)) onBaseSkillChange(localPlayer, id, localPlayer:getSkillBaseLevel(id))endfunction onBaseSkillChange(localPlayer, id, baseLevel) setSkillBase('skillId'..id, localPlayer:getSkillLevel(id), baseLevel)end
Bom na quele bug se conseguil arruma ^.^
porem aparece esta mensagem agora. \/
01:26 Account Manager: Please read the latest message that I have specified, I don't understand the current requested action.
info
Grupo: Herói
Registrado: 25/10/11
Posts: 2.2k
Reputação: +862
Gênero: Masculino
Char no Tibia: Sociopata

desculpa, esqueci de mais um..
skillsWindow = nilskillsButton = nillocal gyms = { ["Brock0"] = "/images/game/pokemon/clan/8", ["Brock1"] = "/images/game/pokemon/clan/16", ["Misty0"] = "/images/game/pokemon/clan/7", ["Misty1"] = "/images/game/pokemon/clan/15", ["Surge0"] = "/images/game/pokemon/clan/6", ["Surge1"] = "/images/game/pokemon/clan/14", ["Erika0"] = "/images/game/pokemon/clan/5", ["Erika1"] = "/images/game/pokemon/clan/13", ["Sabrina0"] = "/images/game/pokemon/clan/4", ["Sabrina1"] = "/images/game/pokemon/clan/12", ["Koga0"] = "/images/game/pokemon/clan/3", ["Koga1"] = "/images/game/pokemon/clan/11", ["Blaine0"] = "/images/game/pokemon/clan/2", ["Blaine1"] = "/images/game/pokemon/clan/10", ["Kira0"] = "/images/game/pokemon/clan/1", ["Kira1"] = "/images/game/pokemon/clan/9",}local imgs = { [-1] = "/modules/game_skills/img/sem promotion", -- -1 quer dizer esta sem clan... [1] = "/modules/game_skills/img/volcanic img", [2] = "/modules/game_skills/img/seavell img", [3] = "/modules/game_skills/img/orebound img", [4] = "/modules/game_skills/img/wingeon img", [5] = "/modules/game_skills/img/malefic img", [6] = "/modules/game_skills/img/gardestrike img", [7] = "/modules/game_skills/img/psycraft img", [8] = "/modules/game_skills/img/naturia img", [9] = "/modules/game_skills/img/raibolt img",}function init() connect(LocalPlayer, { onExperienceChange = onExperienceChange, onLevelChange = onLevelChange, onHealthChange = onHealthChange, onManaChange = onManaChange, onSoulChange = onSoulChange, onFreeCapacityChange = onFreeCapacityChange, onTotalCapacityChange = onTotalCapacityChange, onStaminaChange = onStaminaChange, onOfflineTrainingChange = onOfflineTrainingChange, onRegenerationChange = onRegenerationChange, onSpeedChange = onSpeedChange, onBaseSpeedChange = onBaseSpeedChange, onMagicLevelChange = onMagicLevelChange, onBaseMagicLevelChange = onBaseMagicLevelChange, onSkillChange = onSkillChange, onBaseSkillChange = onBaseSkillChange }) connect(g_game, { onGameStart = refresh, onGameEnd = offline }) connect(g_game, 'onTextMessage', getGym) connect(g_game, 'onTextMessage', getParams) connect(g_game, {onGameStart = changeImg}) skillsButton = modules.client_topmenu.addRightGameToggleButton('skillsButton', tr('skills') .. ' (Ctrl+S)', '/modules/game_skills/img/perfil_icon', toggle) skillsButton:setOn(true) skillsWindow = g_ui.loadUI('skills', modules.game_interface.getRightPanel()) -- skills g_keyboard.bindKeyDown('Ctrl+S', toggle) refresh() skillsWindow:setup()endfunction init() connect(LocalPlayer, { onExperienceChange = onExperienceChange, onLevelChange = onLevelChange, onHealthChange = onHealthChange, onManaChange = onManaChange, onSoulChange = onSoulChange, onFreeCapacityChange = onFreeCapacityChange, onTotalCapacityChange = onTotalCapacityChange, onStaminaChange = onStaminaChange, onOfflineTrainingChange = onOfflineTrainingChange, onRegenerationChange = onRegenerationChange, onSpeedChange = onSpeedChange, onBaseSpeedChange = onBaseSpeedChange, onMagicLevelChange = onMagicLevelChange, onBaseMagicLevelChange = onBaseMagicLevelChange, onSkillChange = onSkillChange, onBaseSkillChange = onBaseSkillChange }) connect(g_game, { onGameStart = refresh, onGameEnd = offline }) connect(g_game, 'onTextMessage', getGym) connect(g_game, 'onTextMessage', getParams) connect(g_game, {onGameStart = changeImg}) skillsButton = modules.client_topmenu.addRightGameToggleButton('skillsButton', tr('skills') .. ' (Ctrl+S)', '/modules/game_skills/img/perfil_icon', toggle) skillsButton:setOn(true) skillsWindow = g_ui.loadUI('skills', modules.game_interface.getRightPanel()) -- skills g_keyboard.bindKeyDown('Ctrl+S', toggle) refresh() skillsWindow:setup()endfunction autoUpdateTalks() local player = g_game.getLocalPlayer() if not player then return end---------- -- g_game.talk("#getGym# Brock") -- g_game.talk("#getGym# Misty") -- g_game.talk("#getGym# Surge") -- g_game.talk("#getGym# Erika") -- g_game.talk("#getGym# Sabrina") -- g_game.talk("#getGym# Koga") -- g_game.talk("#getGym# Blaine") -- g_game.talk("#getGym# Kira")----------endfunction getGym(mode, text) if not g_game.isOnline() then return end if mode == MessageModes.Failure then if text:find("#getBadges#") thenlocal t = string.explode(text, " ")local badges = skillsWindow:recursiveGetChildById("gym"..t[2])badges:setImageSource(gyms[t[2]..""..tonumber(t[3])])endendendfunction changeImg() local player = g_game.getLocalPlayer() if not player then return end-- g_game.talk("#getSto# 86228")endfunction getParams(mode, text)if not g_game.isOnline() then return end if mode == MessageModes.Failure then if text:find("#getSto#") then local icon = skillsWindow:recursiveGetChildById("clanicon") if icon then local t = string.explode(text, " ") icon:setImageSource(imgs[tonumber(t[2])]) end end endendfunction expForLevel(level) return math.floor((50*level*level*level)/3 - 100*level*level + (850*level)/3 - 200)endfunction expToAdvance(currentLevel, currentExp) return expForLevel(currentLevel+1) - currentExpendfunction resetSkillColor(id) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') widget:setColor('#bbbbbb')endfunction setSkillBase(id, value, baseValue) if baseValue <= 0 or value < 0 then return end local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') if value > baseValue then widget:setColor('#008b00') -- green skill:setTooltip(baseValue .. ' +' .. (value - baseValue)) elseif value < baseValue then widget:setColor('#b22222') -- red skill:setTooltip(baseValue .. ' ' .. (value - baseValue)) else widget:setColor('#bbbbbb') -- default skill:removeTooltip() endendfunction setSkillValue(id, value) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') widget:setText(value)endfunction setSkillColor(id, value) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') widget:setColor(value)endfunction setSkillTooltip(id, value) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') widget:setTooltip(value)endfunction setSkillPercent(id, percent, tooltip) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('percent') widget:setPercent(math.floor(percent)) if tooltip then widget:setTooltip(tooltip) endendfunction checkAlert(id, value, maxValue, threshold, greaterThan) if greaterThan == nil then greaterThan = false end local alert = false -- maxValue can be set to false to check value and threshold -- used for regeneration checking if type(maxValue) == 'boolean' then if maxValue then return end if greaterThan then if value > threshold then alert = true end else if value < threshold then alert = true end end elseif type(maxValue) == 'number' then if maxValue < 0 then return end local percent = math.floor((value / maxValue) * 100) if greaterThan then if percent > threshold then alert = true end else if percent < threshold then alert = true end end end if alert then setSkillColor(id, '#b22222') -- red else resetSkillColor(id) endendfunction update() local offlineTraining = skillsWindow:recursiveGetChildById('offlineTraining') if not g_game.getFeature(GameOfflineTrainingTime) then offlineTraining:hide() else offlineTraining:show() end local regenerationTime = skillsWindow:recursiveGetChildById('regenerationTime') if not g_game.getFeature(GamePlayerRegenerationTime) then regenerationTime:hide() else regenerationTime:show() endendfunction refresh() local player = g_game.getLocalPlayer() if not player then return end autoUpdateTalks() if expSpeedEvent then expSpeedEvent:cancel() end expSpeedEvent = cycleEvent(checkExpSpeed, 30*1000) onExperienceChange(player, player:getExperience()) onLevelChange(player, player:getLevel(), player:getLevelPercent()) onHealthChange(player, player:getHealth(), player:getMaxHealth()) onManaChange(player, player:getMana(), player:getMaxMana()) onSoulChange(player, player:getSoul()) onFreeCapacityChange(player, player:getFreeCapacity()) onStaminaChange(player, player:getStamina()) onMagicLevelChange(player, player:getMagicLevel(), player:getMagicLevelPercent()) onOfflineTrainingChange(player, player:getOfflineTrainingTime()) onRegenerationChange(player, player:getRegenerationTime()) onSpeedChange(player, player:getSpeed()) for i=0,6 do onSkillChange(player, i, player:getSkillLevel(i), player:getSkillLevelPercent(i)) onBaseSkillChange(player, i, player:getSkillBaseLevel(i)) end update() local contentsPanel = skillsWindow:getChildById('contentsPanel') skillsWindow:setContentMinimumHeight(110) skillsWindow:setContentMaximumHeight(292)endfunction offline() if expSpeedEvent then expSpeedEvent:cancel() expSpeedEvent = nil endendfunction toggle() if skillsButton:isOn() then skillsWindow:close() skillsButton:setOn(false) else skillsWindow:open() skillsButton:setOn(true) skillsButton:setOpacity(1.0) autoUpdateTalks() endendfunction checkExpSpeed() local player = g_game.getLocalPlayer() if not player then return end local currentExp = player:getExperience() local currentTime = g_clock.seconds() if player.lastExps ~= nil then player.expSpeed = (currentExp - player.lastExps[1][1])/(currentTime - player.lastExps[1][2]) onLevelChange(player, player:getLevel(), player:getLevelPercent()) else player.lastExps = {} end table.insert(player.lastExps, {currentExp, currentTime}) if #player.lastExps > 30 then table.remove(player.lastExps, 1) endendfunction onMiniWindowClose() skillsButton:setOn(false) skillsButton:setOpacity(0.5)endfunction onSkillButtonClick(button) local percentBar = button:getChildById('percent') if percentBar then percentBar:setVisible(not percentBar:isVisible()) if percentBar:isVisible() then button:setHeight(21) else button:setHeight(21 - 6) end endendfunction onExperienceChange(localPlayer, value) setSkillValue('level', value)endfunction onLevelChange(localPlayer, value, percent) setSkillValue('experience', localPlayer:getName()) setSkillValue('experiencee', value) local text = tr('You have %s percent to go', 100 - percent) .. '\n' .. tr('%s of experience left', expToAdvance(localPlayer:getLevel(), localPlayer:getExperience())) if localPlayer.expSpeed ~= nil then local expPerHour = math.floor(localPlayer.expSpeed * 3600) if expPerHour > 0 then local nextLevelExp = expForLevel(localPlayer:getLevel()+1) local hoursLeft = (nextLevelExp - localPlayer:getExperience()) / expPerHour local minutesLeft = math.floor((hoursLeft - math.floor(hoursLeft))*60) hoursLeft = math.floor(hoursLeft) text = text .. '\n' .. tr('%d of experience per hour', expPerHour) text = text .. '\n' .. tr('Next level in %d hours and %d minutes', hoursLeft, minutesLeft) end end setSkillPercent('level', percent, text)endfunction onHealthChange(localPlayer, health, maxHealth) setSkillValue('health', health) checkAlert('health', health, maxHealth, 30)endfunction onManaChange(localPlayer, mana, maxMana) setSkillValue('mana', mana) checkAlert('mana', mana, maxMana, 30)endfunction onSoulChange(localPlayer, soul) setSkillValue('soul', soul)endfunction onFreeCapacityChange(localPlayer, freeCapacity) setSkillValue('capacity', freeCapacity) checkAlert('capacity', freeCapacity, localPlayer:getTotalCapacity(), 20)endfunction onTotalCapacityChange(localPlayer, totalCapacity) checkAlert('capacity', localPlayer:getFreeCapacity(), totalCapacity, 20)endfunction onStaminaChange(localPlayer, stamina) local hours = math.floor(stamina / 60) local minutes = stamina % 60 if minutes < 10 then minutes = '0' .. minutes end setSkillValue('stamina', hours .. ":" .. minutes)endfunction onOfflineTrainingChange(localPlayer, offlineTrainingTime) if not g_game.getFeature(GameOfflineTrainingTime) then return end local hours = math.floor(offlineTrainingTime / 60) local minutes = offlineTrainingTime % 60 if minutes < 10 then minutes = '0' .. minutes end local percent = 100 * offlineTrainingTime / (12 * 60) -- max is 12 hours setSkillValue('offlineTraining', hours .. ":" .. minutes) setSkillPercent('offlineTraining', percent, tr('You have %s percent', percent))endfunction onRegenerationChange(localPlayer, regenerationTime) if not g_game.getFeature(GamePlayerRegenerationTime) or regenerationTime < 0 then return end local minutes = math.floor(regenerationTime / 60) local seconds = regenerationTime % 60 if seconds < 10 then seconds = '0' .. seconds end setSkillValue('regenerationTime', minutes .. ":" .. seconds) checkAlert('regenerationTime', regenerationTime, false, 300)endfunction onSpeedChange(localPlayer, speed) setSkillValue('speed', speed) onBaseSpeedChange(localPlayer, localPlayer:getBaseSpeed())endfunction onBaseSpeedChange(localPlayer, baseSpeed) setSkillBase('speed', localPlayer:getSpeed(), baseSpeed)endfunction onMagicLevelChange(localPlayer, magiclevel, percent) setSkillValue('magiclevel', magiclevel) setSkillPercent('magiclevel', percent, tr('You have %s percent to go', 100 - percent)) onBaseMagicLevelChange(localPlayer, localPlayer:getBaseMagicLevel())endfunction onBaseMagicLevelChange(localPlayer, baseMagicLevel) setSkillBase('magiclevel', localPlayer:getMagicLevel(), baseMagicLevel)endfunction onSkillChange(localPlayer, id, level, percent) setSkillValue('skillId' .. id, level) setSkillPercent('skillId2', percent, tr('You have %s percent to go', 100 - percent)) setSkillPercent('skillId3', percent, tr('You have %s percent to go', 100 - percent)) setSkillPercent('skillId4', percent, tr('You have %s percent to go', 100 - percent)) setSkillPercent('skillId5', percent, tr('You have %s percent to go', 100 - percent)) setSkillPercent('skillId6', percent, tr('You have %s percent to go', 100 - percent)) onBaseSkillChange(localPlayer, id, localPlayer:getSkillBaseLevel(id))endfunction onBaseSkillChange(localPlayer, id, baseLevel) setSkillBase('skillId'..id, localPlayer:getSkillLevel(id), baseLevel)end
info
Grupo: Infante
Registrado: 27/08/11
Posts: 1.9k
Reputação: +85
Gênero: Masculino
Char no Tibia: Bruno Maciel

Agora, Deadpool disse:desculpa, esqueci de mais um..
skillsWindow = nilskillsButton = nillocal gyms = { ["Brock0"] = "/images/game/pokemon/clan/8", ["Brock1"] = "/images/game/pokemon/clan/16", ["Misty0"] = "/images/game/pokemon/clan/7", ["Misty1"] = "/images/game/pokemon/clan/15", ["Surge0"] = "/images/game/pokemon/clan/6", ["Surge1"] = "/images/game/pokemon/clan/14", ["Erika0"] = "/images/game/pokemon/clan/5", ["Erika1"] = "/images/game/pokemon/clan/13", ["Sabrina0"] = "/images/game/pokemon/clan/4", ["Sabrina1"] = "/images/game/pokemon/clan/12", ["Koga0"] = "/images/game/pokemon/clan/3", ["Koga1"] = "/images/game/pokemon/clan/11", ["Blaine0"] = "/images/game/pokemon/clan/2", ["Blaine1"] = "/images/game/pokemon/clan/10", ["Kira0"] = "/images/game/pokemon/clan/1", ["Kira1"] = "/images/game/pokemon/clan/9",}local imgs = { [-1] = "/modules/game_skills/img/sem promotion", -- -1 quer dizer esta sem clan... [1] = "/modules/game_skills/img/volcanic img", [2] = "/modules/game_skills/img/seavell img", [3] = "/modules/game_skills/img/orebound img", [4] = "/modules/game_skills/img/wingeon img", [5] = "/modules/game_skills/img/malefic img", [6] = "/modules/game_skills/img/gardestrike img", [7] = "/modules/game_skills/img/psycraft img", [8] = "/modules/game_skills/img/naturia img", [9] = "/modules/game_skills/img/raibolt img",}function init() connect(LocalPlayer, { onExperienceChange = onExperienceChange, onLevelChange = onLevelChange, onHealthChange = onHealthChange, onManaChange = onManaChange, onSoulChange = onSoulChange, onFreeCapacityChange = onFreeCapacityChange, onTotalCapacityChange = onTotalCapacityChange, onStaminaChange = onStaminaChange, onOfflineTrainingChange = onOfflineTrainingChange, onRegenerationChange = onRegenerationChange, onSpeedChange = onSpeedChange, onBaseSpeedChange = onBaseSpeedChange, onMagicLevelChange = onMagicLevelChange, onBaseMagicLevelChange = onBaseMagicLevelChange, onSkillChange = onSkillChange, onBaseSkillChange = onBaseSkillChange }) connect(g_game, { onGameStart = refresh, onGameEnd = offline }) connect(g_game, 'onTextMessage', getGym) connect(g_game, 'onTextMessage', getParams) connect(g_game, {onGameStart = changeImg}) skillsButton = modules.client_topmenu.addRightGameToggleButton('skillsButton', tr('skills') .. ' (Ctrl+S)', '/modules/game_skills/img/perfil_icon', toggle) skillsButton:setOn(true) skillsWindow = g_ui.loadUI('skills', modules.game_interface.getRightPanel()) -- skills g_keyboard.bindKeyDown('Ctrl+S', toggle) refresh() skillsWindow:setup()endfunction init() connect(LocalPlayer, { onExperienceChange = onExperienceChange, onLevelChange = onLevelChange, onHealthChange = onHealthChange, onManaChange = onManaChange, onSoulChange = onSoulChange, onFreeCapacityChange = onFreeCapacityChange, onTotalCapacityChange = onTotalCapacityChange, onStaminaChange = onStaminaChange, onOfflineTrainingChange = onOfflineTrainingChange, onRegenerationChange = onRegenerationChange, onSpeedChange = onSpeedChange, onBaseSpeedChange = onBaseSpeedChange, onMagicLevelChange = onMagicLevelChange, onBaseMagicLevelChange = onBaseMagicLevelChange, onSkillChange = onSkillChange, onBaseSkillChange = onBaseSkillChange }) connect(g_game, { onGameStart = refresh, onGameEnd = offline }) connect(g_game, 'onTextMessage', getGym) connect(g_game, 'onTextMessage', getParams) connect(g_game, {onGameStart = changeImg}) skillsButton = modules.client_topmenu.addRightGameToggleButton('skillsButton', tr('skills') .. ' (Ctrl+S)', '/modules/game_skills/img/perfil_icon', toggle) skillsButton:setOn(true) skillsWindow = g_ui.loadUI('skills', modules.game_interface.getRightPanel()) -- skills g_keyboard.bindKeyDown('Ctrl+S', toggle) refresh() skillsWindow:setup()endfunction autoUpdateTalks() local player = g_game.getLocalPlayer() if not player then return end---------- -- g_game.talk("#getGym# Brock") -- g_game.talk("#getGym# Misty") -- g_game.talk("#getGym# Surge") -- g_game.talk("#getGym# Erika") -- g_game.talk("#getGym# Sabrina") -- g_game.talk("#getGym# Koga") -- g_game.talk("#getGym# Blaine") -- g_game.talk("#getGym# Kira")----------endfunction getGym(mode, text) if not g_game.isOnline() then return end if mode == MessageModes.Failure then if text:find("#getBadges#") thenlocal t = string.explode(text, " ")local badges = skillsWindow:recursiveGetChildById("gym"..t[2])badges:setImageSource(gyms[t[2]..""..tonumber(t[3])])endendendfunction changeImg() local player = g_game.getLocalPlayer() if not player then return end-- g_game.talk("#getSto# 86228")endfunction getParams(mode, text)if not g_game.isOnline() then return end if mode == MessageModes.Failure then if text:find("#getSto#") then local icon = skillsWindow:recursiveGetChildById("clanicon") if icon then local t = string.explode(text, " ") icon:setImageSource(imgs[tonumber(t[2])]) end end endendfunction expForLevel(level) return math.floor((50*level*level*level)/3 - 100*level*level + (850*level)/3 - 200)endfunction expToAdvance(currentLevel, currentExp) return expForLevel(currentLevel+1) - currentExpendfunction resetSkillColor(id) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') widget:setColor('#bbbbbb')endfunction setSkillBase(id, value, baseValue) if baseValue <= 0 or value < 0 then return end local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') if value > baseValue then widget:setColor('#008b00') -- green skill:setTooltip(baseValue .. ' +' .. (value - baseValue)) elseif value < baseValue then widget:setColor('#b22222') -- red skill:setTooltip(baseValue .. ' ' .. (value - baseValue)) else widget:setColor('#bbbbbb') -- default skill:removeTooltip() endendfunction setSkillValue(id, value) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') widget:setText(value)endfunction setSkillColor(id, value) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') widget:setColor(value)endfunction setSkillTooltip(id, value) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') widget:setTooltip(value)endfunction setSkillPercent(id, percent, tooltip) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('percent') widget:setPercent(math.floor(percent)) if tooltip then widget:setTooltip(tooltip) endendfunction checkAlert(id, value, maxValue, threshold, greaterThan) if greaterThan == nil then greaterThan = false end local alert = false -- maxValue can be set to false to check value and threshold -- used for regeneration checking if type(maxValue) == 'boolean' then if maxValue then return end if greaterThan then if value > threshold then alert = true end else if value < threshold then alert = true end end elseif type(maxValue) == 'number' then if maxValue < 0 then return end local percent = math.floor((value / maxValue) * 100) if greaterThan then if percent > threshold then alert = true end else if percent < threshold then alert = true end end end if alert then setSkillColor(id, '#b22222') -- red else resetSkillColor(id) endendfunction update() local offlineTraining = skillsWindow:recursiveGetChildById('offlineTraining') if not g_game.getFeature(GameOfflineTrainingTime) then offlineTraining:hide() else offlineTraining:show() end local regenerationTime = skillsWindow:recursiveGetChildById('regenerationTime') if not g_game.getFeature(GamePlayerRegenerationTime) then regenerationTime:hide() else regenerationTime:show() endendfunction refresh() local player = g_game.getLocalPlayer() if not player then return end autoUpdateTalks() if expSpeedEvent then expSpeedEvent:cancel() end expSpeedEvent = cycleEvent(checkExpSpeed, 30*1000) onExperienceChange(player, player:getExperience()) onLevelChange(player, player:getLevel(), player:getLevelPercent()) onHealthChange(player, player:getHealth(), player:getMaxHealth()) onManaChange(player, player:getMana(), player:getMaxMana()) onSoulChange(player, player:getSoul()) onFreeCapacityChange(player, player:getFreeCapacity()) onStaminaChange(player, player:getStamina()) onMagicLevelChange(player, player:getMagicLevel(), player:getMagicLevelPercent()) onOfflineTrainingChange(player, player:getOfflineTrainingTime()) onRegenerationChange(player, player:getRegenerationTime()) onSpeedChange(player, player:getSpeed()) for i=0,6 do onSkillChange(player, i, player:getSkillLevel(i), player:getSkillLevelPercent(i)) onBaseSkillChange(player, i, player:getSkillBaseLevel(i)) end update() local contentsPanel = skillsWindow:getChildById('contentsPanel') skillsWindow:setContentMinimumHeight(110) skillsWindow:setContentMaximumHeight(292)endfunction offline() if expSpeedEvent then expSpeedEvent:cancel() expSpeedEvent = nil endendfunction toggle() if skillsButton:isOn() then skillsWindow:close() skillsButton:setOn(false) else skillsWindow:open() skillsButton:setOn(true) skillsButton:setOpacity(1.0) autoUpdateTalks() endendfunction checkExpSpeed() local player = g_game.getLocalPlayer() if not player then return end local currentExp = player:getExperience() local currentTime = g_clock.seconds() if player.lastExps ~= nil then player.expSpeed = (currentExp - player.lastExps[1][1])/(currentTime - player.lastExps[1][2]) onLevelChange(player, player:getLevel(), player:getLevelPercent()) else player.lastExps = {} end table.insert(player.lastExps, {currentExp, currentTime}) if #player.lastExps > 30 then table.remove(player.lastExps, 1) endendfunction onMiniWindowClose() skillsButton:setOn(false) skillsButton:setOpacity(0.5)endfunction onSkillButtonClick(button) local percentBar = button:getChildById('percent') if percentBar then percentBar:setVisible(not percentBar:isVisible()) if percentBar:isVisible() then button:setHeight(21) else button:setHeight(21 - 6) end endendfunction onExperienceChange(localPlayer, value) setSkillValue('level', value)endfunction onLevelChange(localPlayer, value, percent) setSkillValue('experience', localPlayer:getName()) setSkillValue('experiencee', value) local text = tr('You have %s percent to go', 100 - percent) .. '\n' .. tr('%s of experience left', expToAdvance(localPlayer:getLevel(), localPlayer:getExperience())) if localPlayer.expSpeed ~= nil then local expPerHour = math.floor(localPlayer.expSpeed * 3600) if expPerHour > 0 then local nextLevelExp = expForLevel(localPlayer:getLevel()+1) local hoursLeft = (nextLevelExp - localPlayer:getExperience()) / expPerHour local minutesLeft = math.floor((hoursLeft - math.floor(hoursLeft))*60) hoursLeft = math.floor(hoursLeft) text = text .. '\n' .. tr('%d of experience per hour', expPerHour) text = text .. '\n' .. tr('Next level in %d hours and %d minutes', hoursLeft, minutesLeft) end end setSkillPercent('level', percent, text)endfunction onHealthChange(localPlayer, health, maxHealth) setSkillValue('health', health) checkAlert('health', health, maxHealth, 30)endfunction onManaChange(localPlayer, mana, maxMana) setSkillValue('mana', mana) checkAlert('mana', mana, maxMana, 30)endfunction onSoulChange(localPlayer, soul) setSkillValue('soul', soul)endfunction onFreeCapacityChange(localPlayer, freeCapacity) setSkillValue('capacity', freeCapacity) checkAlert('capacity', freeCapacity, localPlayer:getTotalCapacity(), 20)endfunction onTotalCapacityChange(localPlayer, totalCapacity) checkAlert('capacity', localPlayer:getFreeCapacity(), totalCapacity, 20)endfunction onStaminaChange(localPlayer, stamina) local hours = math.floor(stamina / 60) local minutes = stamina % 60 if minutes < 10 then minutes = '0' .. minutes end setSkillValue('stamina', hours .. ":" .. minutes)endfunction onOfflineTrainingChange(localPlayer, offlineTrainingTime) if not g_game.getFeature(GameOfflineTrainingTime) then return end local hours = math.floor(offlineTrainingTime / 60) local minutes = offlineTrainingTime % 60 if minutes < 10 then minutes = '0' .. minutes end local percent = 100 * offlineTrainingTime / (12 * 60) -- max is 12 hours setSkillValue('offlineTraining', hours .. ":" .. minutes) setSkillPercent('offlineTraining', percent, tr('You have %s percent', percent))endfunction onRegenerationChange(localPlayer, regenerationTime) if not g_game.getFeature(GamePlayerRegenerationTime) or regenerationTime < 0 then return end local minutes = math.floor(regenerationTime / 60) local seconds = regenerationTime % 60 if seconds < 10 then seconds = '0' .. seconds end setSkillValue('regenerationTime', minutes .. ":" .. seconds) checkAlert('regenerationTime', regenerationTime, false, 300)endfunction onSpeedChange(localPlayer, speed) setSkillValue('speed', speed) onBaseSpeedChange(localPlayer, localPlayer:getBaseSpeed())endfunction onBaseSpeedChange(localPlayer, baseSpeed) setSkillBase('speed', localPlayer:getSpeed(), baseSpeed)endfunction onMagicLevelChange(localPlayer, magiclevel, percent) setSkillValue('magiclevel', magiclevel) setSkillPercent('magiclevel', percent, tr('You have %s percent to go', 100 - percent)) onBaseMagicLevelChange(localPlayer, localPlayer:getBaseMagicLevel())endfunction onBaseMagicLevelChange(localPlayer, baseMagicLevel) setSkillBase('magiclevel', localPlayer:getMagicLevel(), baseMagicLevel)endfunction onSkillChange(localPlayer, id, level, percent) setSkillValue('skillId' .. id, level) setSkillPercent('skillId2', percent, tr('You have %s percent to go', 100 - percent)) setSkillPercent('skillId3', percent, tr('You have %s percent to go', 100 - percent)) setSkillPercent('skillId4', percent, tr('You have %s percent to go', 100 - percent)) setSkillPercent('skillId5', percent, tr('You have %s percent to go', 100 - percent)) setSkillPercent('skillId6', percent, tr('You have %s percent to go', 100 - percent)) onBaseSkillChange(localPlayer, id, localPlayer:getSkillBaseLevel(id))endfunction onBaseSkillChange(localPlayer, id, baseLevel) setSkillBase('skillId'..id, localPlayer:getSkillLevel(id), baseLevel)end
Bom testei esse deu o mesmo erro.
Account Manager: Please read the latest message that I have specified, I don't understand the current requested action.
info
Grupo: Herói
Registrado: 25/10/11
Posts: 2.2k
Reputação: +862
Gênero: Masculino
Char no Tibia: Sociopata

skillsWindow = nilskillsButton = nillocal gyms = { ["Brock0"] = "/images/game/pokemon/clan/8", ["Brock1"] = "/images/game/pokemon/clan/16", ["Misty0"] = "/images/game/pokemon/clan/7", ["Misty1"] = "/images/game/pokemon/clan/15", ["Surge0"] = "/images/game/pokemon/clan/6", ["Surge1"] = "/images/game/pokemon/clan/14", ["Erika0"] = "/images/game/pokemon/clan/5", ["Erika1"] = "/images/game/pokemon/clan/13", ["Sabrina0"] = "/images/game/pokemon/clan/4", ["Sabrina1"] = "/images/game/pokemon/clan/12", ["Koga0"] = "/images/game/pokemon/clan/3", ["Koga1"] = "/images/game/pokemon/clan/11", ["Blaine0"] = "/images/game/pokemon/clan/2", ["Blaine1"] = "/images/game/pokemon/clan/10", ["Kira0"] = "/images/game/pokemon/clan/1", ["Kira1"] = "/images/game/pokemon/clan/9",}local imgs = { [-1] = "/modules/game_skills/img/sem promotion", -- -1 quer dizer esta sem clan... [1] = "/modules/game_skills/img/volcanic img", [2] = "/modules/game_skills/img/seavell img", [3] = "/modules/game_skills/img/orebound img", [4] = "/modules/game_skills/img/wingeon img", [5] = "/modules/game_skills/img/malefic img", [6] = "/modules/game_skills/img/gardestrike img", [7] = "/modules/game_skills/img/psycraft img", [8] = "/modules/game_skills/img/naturia img", [9] = "/modules/game_skills/img/raibolt img",}function init() connect(LocalPlayer, { onExperienceChange = onExperienceChange, onLevelChange = onLevelChange, onHealthChange = onHealthChange, onManaChange = onManaChange, onSoulChange = onSoulChange, onFreeCapacityChange = onFreeCapacityChange, onTotalCapacityChange = onTotalCapacityChange, onStaminaChange = onStaminaChange, onOfflineTrainingChange = onOfflineTrainingChange, onRegenerationChange = onRegenerationChange, onSpeedChange = onSpeedChange, onBaseSpeedChange = onBaseSpeedChange, onMagicLevelChange = onMagicLevelChange, onBaseMagicLevelChange = onBaseMagicLevelChange, onSkillChange = onSkillChange, onBaseSkillChange = onBaseSkillChange }) connect(g_game, { onGameStart = refresh, onGameEnd = offline }) connect(g_game, 'onTextMessage', getGym) connect(g_game, 'onTextMessage', getParams) connect(g_game, {onGameStart = changeImg}) skillsButton = modules.client_topmenu.addRightGameToggleButton('skillsButton', tr('skills') .. ' (Ctrl+S)', '/modules/game_skills/img/perfil_icon', toggle) skillsButton:setOn(true) skillsWindow = g_ui.loadUI('skills', modules.game_interface.getRightPanel()) -- skills g_keyboard.bindKeyDown('Ctrl+S', toggle) refresh() skillsWindow:setup()endfunction init() connect(LocalPlayer, { onExperienceChange = onExperienceChange, onLevelChange = onLevelChange, onHealthChange = onHealthChange, onManaChange = onManaChange, onSoulChange = onSoulChange, onFreeCapacityChange = onFreeCapacityChange, onTotalCapacityChange = onTotalCapacityChange, onStaminaChange = onStaminaChange, onOfflineTrainingChange = onOfflineTrainingChange, onRegenerationChange = onRegenerationChange, onSpeedChange = onSpeedChange, onBaseSpeedChange = onBaseSpeedChange, onMagicLevelChange = onMagicLevelChange, onBaseMagicLevelChange = onBaseMagicLevelChange, onSkillChange = onSkillChange, onBaseSkillChange = onBaseSkillChange }) connect(g_game, { onGameStart = refresh, onGameEnd = offline }) connect(g_game, 'onTextMessage', getGym) connect(g_game, 'onTextMessage', getParams) connect(g_game, {onGameStart = changeImg}) skillsButton = modules.client_topmenu.addRightGameToggleButton('skillsButton', tr('skills') .. ' (Ctrl+S)', '/modules/game_skills/img/perfil_icon', toggle) skillsButton:setOn(true) skillsWindow = g_ui.loadUI('skills', modules.game_interface.getRightPanel()) -- skills g_keyboard.bindKeyDown('Ctrl+S', toggle) refresh() skillsWindow:setup()endfunction autoUpdateTalks() local player = g_game.getLocalPlayer() if not player then return end---------- -- g_game.talk("#getGym# Brock") -- g_game.talk("#getGym# Misty") -- g_game.talk("#getGym# Surge") -- g_game.talk("#getGym# Erika") -- g_game.talk("#getGym# Sabrina") -- g_game.talk("#getGym# Koga") -- g_game.talk("#getGym# Blaine") -- g_game.talk("#getGym# Kira")----------endfunction getGym(mode, text) if not g_game.isOnline() then return end if mode == MessageModes.Failure then if text:find("#getBadges#") thenlocal t = string.explode(text, " ")local badges = skillsWindow:recursiveGetChildById("gym"..t[2])badges:setImageSource(gyms[t[2]..""..tonumber(t[3])])endendendfunction changeImg() local player = g_game.getLocalPlayer() if not player then return end-- g_game.talk("#getSto# 86228")endfunction getParams(mode, text)if not g_game.isOnline() then return end if mode == MessageModes.Failure then if text:find("#getSto#") then local icon = skillsWindow:recursiveGetChildById("clanicon") if icon then local t = string.explode(text, " ") icon:setImageSource(imgs[tonumber(t[2])]) end end endendfunction expForLevel(level) return math.floor((50*level*level*level)/3 - 100*level*level + (850*level)/3 - 200)endfunction expToAdvance(currentLevel, currentExp) return expForLevel(currentLevel+1) - currentExpendfunction resetSkillColor(id) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') widget:setColor('#bbbbbb')endfunction setSkillBase(id, value, baseValue) if baseValue <= 0 or value < 0 then return end local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') if value > baseValue then widget:setColor('#008b00') -- green skill:setTooltip(baseValue .. ' +' .. (value - baseValue)) elseif value < baseValue then widget:setColor('#b22222') -- red skill:setTooltip(baseValue .. ' ' .. (value - baseValue)) else widget:setColor('#bbbbbb') -- default skill:removeTooltip() endendfunction setSkillValue(id, value) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') widget:setText(value)endfunction setSkillColor(id, value) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') widget:setColor(value)endfunction setSkillTooltip(id, value) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') widget:setTooltip(value)endfunction setSkillPercent(id, percent, tooltip) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('percent') widget:setPercent(math.floor(percent)) if tooltip then widget:setTooltip(tooltip) endendfunction checkAlert(id, value, maxValue, threshold, greaterThan) if greaterThan == nil then greaterThan = false end local alert = false -- maxValue can be set to false to check value and threshold -- used for regeneration checking if type(maxValue) == 'boolean' then if maxValue then return end if greaterThan then if value > threshold then alert = true end else if value < threshold then alert = true end end elseif type(maxValue) == 'number' then if maxValue < 0 then return end local percent = math.floor((value / maxValue) * 100) if greaterThan then if percent > threshold then alert = true end else if percent < threshold then alert = true end end end if alert then setSkillColor(id, '#b22222') -- red else resetSkillColor(id) endendfunction update() local offlineTraining = skillsWindow:recursiveGetChildById('offlineTraining') if not g_game.getFeature(GameOfflineTrainingTime) then offlineTraining:hide() else offlineTraining:show() end local regenerationTime = skillsWindow:recursiveGetChildById('regenerationTime') if not g_game.getFeature(GamePlayerRegenerationTime) then regenerationTime:hide() else regenerationTime:show() endendfunction refresh() local player = g_game.getLocalPlayer() if not player then return end if expSpeedEvent then expSpeedEvent:cancel() end expSpeedEvent = cycleEvent(checkExpSpeed, 30*1000) onExperienceChange(player, player:getExperience()) onLevelChange(player, player:getLevel(), player:getLevelPercent()) onHealthChange(player, player:getHealth(), player:getMaxHealth()) onManaChange(player, player:getMana(), player:getMaxMana()) onSoulChange(player, player:getSoul()) onFreeCapacityChange(player, player:getFreeCapacity()) onStaminaChange(player, player:getStamina()) onMagicLevelChange(player, player:getMagicLevel(), player:getMagicLevelPercent()) onOfflineTrainingChange(player, player:getOfflineTrainingTime()) onRegenerationChange(player, player:getRegenerationTime()) onSpeedChange(player, player:getSpeed()) for i=0,6 do onSkillChange(player, i, player:getSkillLevel(i), player:getSkillLevelPercent(i)) onBaseSkillChange(player, i, player:getSkillBaseLevel(i)) end update() local contentsPanel = skillsWindow:getChildById('contentsPanel') skillsWindow:setContentMinimumHeight(110) skillsWindow:setContentMaximumHeight(292)endfunction offline() if expSpeedEvent then expSpeedEvent:cancel() expSpeedEvent = nil endendfunction toggle() if skillsButton:isOn() then skillsWindow:close() skillsButton:setOn(false) else skillsWindow:open() skillsButton:setOn(true) skillsButton:setOpacity(1.0) endendfunction checkExpSpeed() local player = g_game.getLocalPlayer() if not player then return end local currentExp = player:getExperience() local currentTime = g_clock.seconds() if player.lastExps ~= nil then player.expSpeed = (currentExp - player.lastExps[1][1])/(currentTime - player.lastExps[1][2]) onLevelChange(player, player:getLevel(), player:getLevelPercent()) else player.lastExps = {} end table.insert(player.lastExps, {currentExp, currentTime}) if #player.lastExps > 30 then table.remove(player.lastExps, 1) endendfunction onMiniWindowClose() skillsButton:setOn(false) skillsButton:setOpacity(0.5)endfunction onSkillButtonClick(button) local percentBar = button:getChildById('percent') if percentBar then percentBar:setVisible(not percentBar:isVisible()) if percentBar:isVisible() then button:setHeight(21) else button:setHeight(21 - 6) end endendfunction onExperienceChange(localPlayer, value) setSkillValue('level', value)endfunction onLevelChange(localPlayer, value, percent) setSkillValue('experience', localPlayer:getName()) setSkillValue('experiencee', value) local text = tr('You have %s percent to go', 100 - percent) .. '\n' .. tr('%s of experience left', expToAdvance(localPlayer:getLevel(), localPlayer:getExperience())) if localPlayer.expSpeed ~= nil then local expPerHour = math.floor(localPlayer.expSpeed * 3600) if expPerHour > 0 then local nextLevelExp = expForLevel(localPlayer:getLevel()+1) local hoursLeft = (nextLevelExp - localPlayer:getExperience()) / expPerHour local minutesLeft = math.floor((hoursLeft - math.floor(hoursLeft))*60) hoursLeft = math.floor(hoursLeft) text = text .. '\n' .. tr('%d of experience per hour', expPerHour) text = text .. '\n' .. tr('Next level in %d hours and %d minutes', hoursLeft, minutesLeft) end end setSkillPercent('level', percent, text)endfunction onHealthChange(localPlayer, health, maxHealth) setSkillValue('health', health) checkAlert('health', health, maxHealth, 30)endfunction onManaChange(localPlayer, mana, maxMana) setSkillValue('mana', mana) checkAlert('mana', mana, maxMana, 30)endfunction onSoulChange(localPlayer, soul) setSkillValue('soul', soul)endfunction onFreeCapacityChange(localPlayer, freeCapacity) setSkillValue('capacity', freeCapacity) checkAlert('capacity', freeCapacity, localPlayer:getTotalCapacity(), 20)endfunction onTotalCapacityChange(localPlayer, totalCapacity) checkAlert('capacity', localPlayer:getFreeCapacity(), totalCapacity, 20)endfunction onStaminaChange(localPlayer, stamina) local hours = math.floor(stamina / 60) local minutes = stamina % 60 if minutes < 10 then minutes = '0' .. minutes end setSkillValue('stamina', hours .. ":" .. minutes)endfunction onOfflineTrainingChange(localPlayer, offlineTrainingTime) if not g_game.getFeature(GameOfflineTrainingTime) then return end local hours = math.floor(offlineTrainingTime / 60) local minutes = offlineTrainingTime % 60 if minutes < 10 then minutes = '0' .. minutes end local percent = 100 * offlineTrainingTime / (12 * 60) -- max is 12 hours setSkillValue('offlineTraining', hours .. ":" .. minutes) setSkillPercent('offlineTraining', percent, tr('You have %s percent', percent))endfunction onRegenerationChange(localPlayer, regenerationTime) if not g_game.getFeature(GamePlayerRegenerationTime) or regenerationTime < 0 then return end local minutes = math.floor(regenerationTime / 60) local seconds = regenerationTime % 60 if seconds < 10 then seconds = '0' .. seconds end setSkillValue('regenerationTime', minutes .. ":" .. seconds) checkAlert('regenerationTime', regenerationTime, false, 300)endfunction onSpeedChange(localPlayer, speed) setSkillValue('speed', speed) onBaseSpeedChange(localPlayer, localPlayer:getBaseSpeed())endfunction onBaseSpeedChange(localPlayer, baseSpeed) setSkillBase('speed', localPlayer:getSpeed(), baseSpeed)endfunction onMagicLevelChange(localPlayer, magiclevel, percent) setSkillValue('magiclevel', magiclevel) setSkillPercent('magiclevel', percent, tr('You have %s percent to go', 100 - percent)) onBaseMagicLevelChange(localPlayer, localPlayer:getBaseMagicLevel())endfunction onBaseMagicLevelChange(localPlayer, baseMagicLevel) setSkillBase('magiclevel', localPlayer:getMagicLevel(), baseMagicLevel)endfunction onSkillChange(localPlayer, id, level, percent) setSkillValue('skillId' .. id, level) setSkillPercent('skillId2', percent, tr('You have %s percent to go', 100 - percent)) setSkillPercent('skillId3', percent, tr('You have %s percent to go', 100 - percent)) setSkillPercent('skillId4', percent, tr('You have %s percent to go', 100 - percent)) setSkillPercent('skillId5', percent, tr('You have %s percent to go', 100 - percent)) setSkillPercent('skillId6', percent, tr('You have %s percent to go', 100 - percent)) onBaseSkillChange(localPlayer, id, localPlayer:getSkillBaseLevel(id))endfunction onBaseSkillChange(localPlayer, id, baseLevel) setSkillBase('skillId'..id, localPlayer:getSkillLevel(id), baseLevel)end
info
Grupo: Infante
Registrado: 27/08/11
Posts: 1.9k
Reputação: +85
Gênero: Masculino
Char no Tibia: Bruno Maciel

Pronto agora foi agora ta tudo ok!!!
Valeu irmao ![]()
Rep+
info
Grupo: Herói
Registrado: 25/10/11
Posts: 2.2k
Reputação: +862
Gênero: Masculino
Char no Tibia: Sociopata

Se precisar, só criar tópico e me marcar. vlw
info
Grupo: Herói
Registrado: 25/10/11
Posts: 2.2k
Reputação: +862
Gênero: Masculino
Char no Tibia: Sociopata

Caro membro, seu tópico foi movido de Otserv > Suporte Otserv para Suporte Otserv > Otserv > Pedidos e Dúvidas Resolvidos.
info
Grupo: Infante
Registrado: 27/08/11
Posts: 1.9k
Reputação: +85
Gênero: Masculino
Char no Tibia: Bruno Maciel
Estou com um bugzinho chato na hora de criar account so.
Bug
Script do Login.lua
local config = {
loginMessage = getConfigValue('loginMessage'),
useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))
}
function onLogin(cid)
if getPlayerLevel(cid) >= 1 and getPlayerLevel(cid) <= 10 then --alterado v1.8
doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 0)
else
doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, (getPlayerLevel(cid) >= 200 and 100 or math.floor(getPlayerLevel(cid)/2)) )
end
doCreatureSetDropLoot(cid, false)
local accountManager = getPlayerAccountManager(cid)
if(accountManager == MANAGER_NONE) then
local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage
if(lastLogin > 0) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."
else
str = str
end
sendMsgToPlayer(cid, 20, "Bem Vindo Ao Pokemon Venetta Server")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
elseif(accountManager == MANAGER_NAMELOCK) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")
elseif(accountManager == MANAGER_ACCOUNT) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.")
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.")
end
if getCreatureName(cid) == "Account Manager" then
local outfit = {}
if accountManagerRandomPokemonOutfit then
outfit = {lookType = getPokemonXMLOutfit(oldpokedex[math.random(151)][1])}
else
outfit = accountManagerOutfit
end
doSetCreatureOutfit(cid, outfit, -1)
return true
end
if(not isPlayerGhost(cid)) then
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
end
local outfit = {}
if getPlayerVocation(cid) == 0 then
doPlayerSetMaxCapacity(cid, 0)
doPlayerSetVocation(cid, 1)
setCreatureMaxMana(cid, 6)
doPlayerAddSoul(cid, -getPlayerSoul(cid))
setPlayerStorageValue(cid, 19898, 0)
if getCreatureOutfit(cid).lookType == 128 then
outfit = {lookType = 510, lookHead = math.random(0, 132), lookBody = math.random(0, 132), lookLegs = math.random(0, 132), lookFeet = math.random(0, 132)}
elseif getCreatureOutfit(cid).lookType == 136 then
outfit = {lookType = 511, lookHead = math.random(0, 132), lookBody = math.random(0, 132), lookLegs = math.random(0, 132), lookFeet = math.random(0, 132)}
end
doCreatureChangeOutfit(cid, outfit)
end
registerCreatureEvent(cid, "dropStone")
registerCreatureEvent(cid, "ShowPokedex")
registerCreatureEvent(cid, "ClosePokedex")
registerCreatureEvent(cid, "WatchTv")
registerCreatureEvent(cid, "StopWatchingTv")
registerCreatureEvent(cid, "WalkTv")
registerCreatureEvent(cid, "RecordTv")
registerCreatureEvent(cid, "PlayerLogout")
registerCreatureEvent(cid, "WildAttack")
registerCreatureEvent(cid, "Idle")
registerCreatureEvent(cid, "EffectOnAdvance")
registerCreatureEvent(cid, "GeneralConfiguration")
registerCreatureEvent(cid, "SaveReportBug")
registerCreatureEvent(cid, "LookSystem")
registerCreatureEvent(cid, "T1")
registerCreatureEvent(cid, "T2")
registerCreatureEvent(cid, "task_count")
registerCreatureEvent(cid, "teacher")
registerCreatureEvent(cid, "OnAdvanced")
registerCreatureEvent(cid, "ExpVip")
if getPlayerStorageValue(cid, 99284) == 1 then
setPlayerStorageValue(cid, 99284, -1)
end
if getPlayerStorageValue(cid, 6598754) >= 1 or getPlayerStorageValue(cid, 6598755) >= 1 then

setPlayerStorageValue(cid, 6598754, -1)
setPlayerStorageValue(cid, 6598755, -1)
doRemoveCondition(cid, CONDITION_OUTFIT) --alterado v1.9 \/
doTeleportThing(cid, posBackPVP, false)
doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
end
doChangeSpeed(cid, -(getCreatureSpeed(cid)))
--///////////////////////////////////////////////////////////////////////////--
local storages = {17000, 63215, 17001, 13008, 5700}
for s = 1, #storages do
if not tonumber(getPlayerStorageValue(cid, storages)) then
if s == 3 then
setPlayerStorageValue(cid, storages, 1)
elseif s == 4 then
setPlayerStorageValue(cid, storages, -1)
else
if isBeingUsed(getPlayerSlotItem(cid, 8).itemid) then
setPlayerStorageValue(cid, storages, 1)
else
setPlayerStorageValue(cid, storages, -1)
end
end
doPlayerSendTextMessage(cid, 27, "Sorry, but a problem occurred on the server, but now it's alright")
end
end
--/////////////////////////////////////////////////////////////////////////--
if getPlayerStorageValue(cid, 17000) >= 1 then -- fly
local item = getPlayerSlotItem(cid,
local poke = getItemAttribute(item.uid, "poke")
doChangeSpeed(cid, getPlayerStorageValue(cid, 54844))
doRemoveCondition(cid, CONDITION_OUTFIT)
doSetCreatureOutfit(cid, {lookType = flys[poke][1] + 351}, -1)
local apos = getFlyingMarkedPos(cid)
apos.stackpos = 0
if getTileThingByPos(apos).itemid <= 2 then
doCombatAreaHealth(cid, FIREDAMAGE, getFlyingMarkedPos(cid), 0, 0, 0, CONST_ME_NONE)
doCreateItem(460, 1, getFlyingMarkedPos(cid))
end
doTeleportThing(cid, apos, false)
if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) >= 1 then
sendAuraEffect(cid, auraSyst[getItemAttribute(item.uid, "aura")]) --alterado v1.8
end
local posicao = getTownTemplePosition(getPlayerTown(cid))
markFlyingPos(cid, posicao)
elseif getPlayerStorageValue(cid, 63215) >= 1 then -- surf
local item = getPlayerSlotItem(cid,
local poke = getItemAttribute(item.uid, "poke")
doSetCreatureOutfit(cid, {lookType = surfs[poke].lookType + 351}, -1) --alterado v1.6
doChangeSpeed(cid, getPlayerStorageValue(cid, 54844))
if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) >= 1 then
sendAuraEffect(cid, auraSyst[getItemAttribute(item.uid, "aura")]) --alterado v1.8
end
elseif getPlayerStorageValue(cid, 17001) >= 1 then -- ride

local item = getPlayerSlotItem(cid,
local poke = getItemAttribute(item.uid, "poke")
if rides[poke] then
doChangeSpeed(cid, getPlayerStorageValue(cid, 54844))
doRemoveCondition(cid, CONDITION_OUTFIT)
doSetCreatureOutfit(cid, {lookType = rides[poke][1] + 351}, -1)
if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) >= 1 then
sendAuraEffect(cid, auraSyst[getItemAttribute(item.uid, "aura")]) --alterado v1.8
end
else
setPlayerStorageValue(cid, 17001, -1)
doRegainSpeed(cid)
end
local posicao2 = getTownTemplePosition(getPlayerTown(cid))
markFlyingPos(cid, posicao2)
elseif getPlayerStorageValue(cid, 13008) >= 1 then -- dive
if not isInArray({5405, 5406, 5407, 5408, 5409, 5410}, getTileInfo(getThingPos(cid)).itemid) then
setPlayerStorageValue(cid, 13008, 0)
doRegainSpeed(cid)
doRemoveCondition(cid, CONDITION_OUTFIT)
return true
end
if getPlayerSex(cid) == 1 then
doSetCreatureOutfit(cid, {lookType = 1034, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet}, -1)
else
doSetCreatureOutfit(cid, {lookType = 1035, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet}, -1)
end
doChangeSpeed(cid, 800)
elseif getPlayerStorageValue(cid, 5700) > 0 then --bike
doChangeSpeed(cid, -getCreatureSpeed(cid))
doChangeSpeed(cid, getPlayerStorageValue(cid, 5700)) --alterado v1.8
if getPlayerSex(cid) == 1 then
doSetCreatureOutfit(cid, {lookType = 1394}, -1)
else
doSetCreatureOutfit(cid, {lookType = 1393}, -1)
end
elseif getPlayerStorageValue(cid, 75846) >= 1 then --alterado v1.9 \/
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false)
setPlayerStorageValue(cid, 75846, -1)
sendMsgToPlayer(cid, 20, "You have been moved to your town!")
else
doRegainSpeed(cid)
end
if getPlayerStorageValue(cid, 22545) >= 1 then
setPlayerStorageValue(cid, 22545, -1)
doTeleportThing(cid, getClosestFreeTile(cid, posBackGolden), false)
setPlayerRecordWaves(cid)
end
if useKpdoDlls then
doUpdateMoves(cid)
doUpdatePokemonsBar(cid)
end
return true
end
OBS: eu dei uma olhada na script e nao sei oque pode esta afetando se alguem puder me ajuda.
Rep+++