Os pedidos estão ficando bem legais.
Eu tou vendo o do look concerteza vou usar c++.
info
Grupo: Infante
Registrado: 04/03/11
Posts: 1.6k
Reputação: +393
Char no Tibia: No Have

Os pedidos estão ficando bem legais.
Eu tou vendo o do look concerteza vou usar c++.
info
Grupo: Visconde
Registrado: 08/10/11
Posts: 444
Reputação: +71
Gênero: Feminino
Char no Tibia: No Have.

Caotic funcionou perfeitamente valeu cara , so que ta com um erro quando eu passo o mouse por cima da imagem ela buga (Fica toda recortada ampliada sei la)
info
Grupo: Campones
Registrado: 21/02/11
Posts: 43
Reputação: +11
Char no Tibia: Hiroto

info
Grupo: Visconde
Registrado: 07/01/12
Posts: 495
Reputação: +48
Gênero: Masculino
Char no Tibia: Nem Tenho

Pareçe q eu sou o unico q n consegui colocar a scrollbar encima da pokedex ? ![]()
quando eu jogo ela pra esquerda ela some e fica embaixo da dex, como eu arrumo ?
Pareçe q eu sou o unico q n consegui colocar a scrollbar encima da pokedex ?
quando eu jogo ela pra esquerda ela some e fica embaixo da dex, como eu arrumo ?
no otui você tem que trocar a ordem em que estão os objetos:
os que vem depois vão ficar por cima (por exemplo, se colocar a scrollbar em penultimo, e a tabela dos moves em ultimo, não vai parecer a scrollbar, mas se trocar a ordem, vai)
info
Grupo: Visconde
Registrado: 07/01/12
Posts: 495
Reputação: +48
Gênero: Masculino
Char no Tibia: Nem Tenho

@Akumah
Vou testar aqui e depois mostro se deu certo, vlw por ajudar
Editado Outubro 4 por Pokemonultimatetwo
info
Grupo: Visconde
Registrado: 08/10/11
Posts: 444
Reputação: +71
Gênero: Feminino
Char no Tibia: No Have.

Caotic você pode fazer um mod , ao player andar tocar um som (no caso som dele andando)
Caotic tentei usar a spellbar por voc do pessoal aqui do XTibia,mas nenhuma funcionou corretamente,a spellbar aparece,mas todas as skills,no script usam o getVocation que usam o ID de cada vocação,como meu OT 8.6 nao tem o comando nao funciona,nem com opcodes instalados,vi que no seu script que voce fez pro DarkHeel das imagens das vocaçoes,voce usou o comando getPlayerVocationName e funcionou pra mim,ou seja eu tenho esse codigo nas sources,tem como usar este mesmo comando para identificar cada vocação para que as spells abra referente a cada vocação?
Se tiver tem como fazer a spellbar pra mim? Ou modificar só o script que ja tenho para que utilize esse comando? Tentei modificar mas parece que nao adianta substituir só o comando getVocation pelo getPlayerVocationName porque como ja disse,o 1° usa as IDs e o 2° os nomes,então precisa alterar isso no script e nao faço a minima ideia de como fazer.
local spelllist = {
['Death Strike'] = {id = 87, words = 'exori mort', exhaustion = 2000, premium = true, type = 'Instant', icon = 'deathstrike', mana = 20, level = 16, soul = 0, group = {[1] = 2000}, vocations = {1, 5}},
['Flame Strike'] = {id = 89, words = 'exori flam', exhaustion = 2000, premium = true, type = 'Instant', icon = 'flamestrike', mana = 20, level = 14, soul = 0, group = {[1] = 2000}, vocations = {1, 2, 5, 6}},
['Strong Flame Strike'] = {id = 150, words = 'exori gran flam', exhaustion = 8000, premium = true, type = 'Instant', icon = 'strongflamestrike', mana = 60, level = 70, soul = 0, group = {[1] = 2000, [4] = 8000}, vocations = {1, 5}},
}
local VOCID = 1
local spells = {}
local lado = 'vertical'
local sbw -- window widget
local sbb -- button ./\ widget
local spellBarWindow -- UIWindow
local exhsaustionTotal = 1100
local hideLevel = false -- os que nao tem level, vai mostrar? true = nao, false = sim
function init()
sbb = modules.client_topmenu.addRightGameToggleButton('sbb', 'Spell Bar' , 'SpellBar.png', toggle)
sbb:setWidth(16)
sbw = g_ui.displayUI('SpellBar')
sbw:move(10,50)
g_mouse.bindPress(sbw, function() createMenu() end, MouseRightButton)
sbw:hide()
connect(g_game, 'onTalk', mensagemEnviada)
connect(g_game, { onGameEnd = function() sbw:hide() sbb:setOn(false) end })
connect(LocalPlayer, {
onLevelChange = onLevelChange
})
connect(g_game, 'onTextMessage', getVocation)
for inst,values in pairs(spelllist) do
if values.type == 'Instant' then -- depois vou fazer mais tipos..
if g_game.getProtocolVersion() >= 950 then -- Vocation is only send in newer clients
if table.find(values.vocations, g_game.getLocalPlayer():getVocation()) then
local inside = {instantName = inst, words = values.words, lvl = values.level, mana = values.mana, prem = values.premium, groups = values.group,icon = values.icon, vocations = values.vocations,exhaustion = values.exhaustion}
table.insert(spells,inside)
end
else
local inside = {instantName = inst, words = values.words, lvl = values.level, mana = values.mana, prem = values.premium, groups = values.group,icon = values.icon, vocations = values.vocations,exhaustion = values.exhaustion}
table.insert(spells,inside)
end
end
end
table.sort(spells, function(a, b) return (a.lvl < b.lvl) end)
end
function onLevelChange(localPlayer, value, percent)
getSpells(spells)
end
function mensagemEnviada(name, level, mode, text, channelId, pos)
if not g_game.isOnline() then return end
if g_game.getLocalPlayer():getName() ~= name then return end
for i = 1,#spells do
if spells[i].words:lower() == text:lower() then
startDownDelay(i)
break
end
end
end
function terminate()
sbw:destroy()
sbb:destroy()
disconnect(g_game, { onGameEnd = function() sbw:hide() sbb:setOn(false) end })
disconnect(g_game, 'onTalk', mensagemEnviada)
disconnect(LocalPlayer, {
onLevelChange = onLevelChange
})
disconnect(g_game, 'onTextMessage', getVocation)
end
function getVocation(mode, text)
local t = string.explode(text, " ")
if not g_game.isOnline() then return end
if mode == MessageModes.Failure then
if text:find("#getVoc#") then
if tonumber(t[2]) == VOCID then
sbb:setOn(true)
sbb:show()
sbw:show()
getSpells(spells)
level = g_game.getLocalPlayer():getLevel()
else
sbb:setOn(false)
sbb:hide()
sbw:hide()
end
end
end
end
function toggle()
if sbb:isOn() then
sbw:hide()
sbb:setOn(false)
else
sbw:show()
getSpells(spells)
sbb:setOn(true)
level = g_game.getLocalPlayer():getLevel()
end
end
function createMenu()
local menu = g_ui.createWidget('PopupMenu')
if lado == 'horizontal' then
menu:addOption('Set Vertical', function() lado = 'vertical' getSpells(spells) end)
else
menu:addOption('Set Horizontal',function() lado = 'horizontal' getSpells(spells) end)
end
if hideLevel == false then
menu:addOption('No Level Hide',function() hideLevel = true getSpells(spells) end)
else
menu:addOption('No Level Show',function() hideLevel = false getSpells(spells) end)
end
menu:display()
end
function destruirSpells()
for i = 1,100 do
if sbw:recursiveGetChildById('spell'..i) == nil then break end
sbw:recursiveGetChildById('spell'..i):destroy()
sbw:recursiveGetChildById('progress'..i):destroy()
end
end
function getSpells(tabela)
destruirSpells()
spellBarWindow = sbw:recursiveGetChildById('mainWindow')
local player = g_game.getLocalPlayer()
local valor = #tabela
local width = 38
local height = 38
if not player then return end
for i = 1,#tabela do
if (tabela[i].lvl > player:getLevel()) and hideLevel == true then
valor = i - 1
break
end
if i == #tabela then valor = i end
icon = g_ui.createWidget('SpellButton',spellBarWindow)
progress = g_ui.createWidget('SpellProgressSpell',spellBarWindow)
--icon:
icon:setId('spell'..i)
local spicon = Spells.getClientId(tabela[i].instantName)
icon:setImageSource('/images/game/spells/defaultspells')
icon:setImageClip((((spicon -1)%12)*32) .. ' ' .. ((math.ceil(spicon/12)-1)*32) .. ' 32 32')
icon:setVisible(true)
icon.words = tabela[i].words
icon.instantName = tabela[i].instantName
icon.lvl = tabela[i].lvl
icon.mana = tabela[i].mana
icon.exhaustion = tabela[i].exhaustion
icon.exhaustionNeeded = 0
icon:setTooltip(tabela[i].words)
if lado == 'horizontal' then
icon:setMarginTop(3)
height = 38
width = (i) * 32 + 2*(i)
icon:setMarginLeft((i) * 32 + 2*(i) - 32)
else
icon:setMarginLeft(3)
icon:setMarginTop((i) * 32 + 2*(i) - 32)
width = 38
height = (i) * 32 + 2*(i)
end
--progress:
progress:setId('progress'..i)
progress:setVisible(true)
progress:setPercent(100)
progress:setMarginLeft(icon:getMarginLeft())
progress:setMarginTop(icon:getMarginTop())
if player:getLevel() < icon.lvl then progress:setText('L'..icon.lvl) progress:setColor('red') progress:setPercent(0) end
if progress:getPercent() == 100 then progress:setText('OK') elseif icon.lvl < player:getLevel() then progress:setText(progress:getPercent()) end
progress:setPhantom(true)
icon.onClick = function() useSpell(i) end
end
sbw:setHeight(height)
sbw:setWidth(width)
spellBarWindow:setSize(sbw:getSize())
end
function useSpell(i)
local spell = sbw:recursiveGetChildById('spell'..i)
if not spell then return end
local progress = sbw:recursiveGetChildById('progress'..i)
local player = g_game.getLocalPlayer()
if not player then return end
if progress:getPercent() < 100 then return modules.game_textmessage.displayFailureMessage('Wait your delay!') end
g_game.talk(spell.words)
end
function startDownDelay(i) -- aqui vai ficar on onTalk, pra descer só realmente quando a spell sair
local spell = sbw:recursiveGetChildById('spell'..i)
if not spell then return end
local progress = sbw:recursiveGetChildById('progress'..i)
progress:setPercent(0)
progress:setText('0%')
progress:setColor('red')
spell.exhaustionNeeded = 0
scheduleEvent(function() spellTimeleft(i) end,100)
end
function spellTimeleft(i)
local spell = sbw:recursiveGetChildById('spell'..i)
if not spell then return end
local progress = sbw:recursiveGetChildById('progress'..i)
spell.exhaustionNeeded = spell.exhaustionNeeded + 100
if spell.exhaustionNeeded < spell.exhaustion then
progress:setPercent(math.ceil(((spell.exhaustionNeeded) * 100)/spell.exhaustion))
progress:setText(progress:getPercent())
progress:setColor('red')
else
progress:setPercent(100)
progress:setText('OK')
progress:setColor('green')
spell.exhaustionNeeded = 0
return true
end
scheduleEvent(function() spellTimeleft(i) end,100)
end
info
Grupo: Cavaleiro
Registrado: 10/03/13
Posts: 177
Reputação: +202
Gênero: Masculino
Char no Tibia: stor akia

Caotic explica melhor como por a pokedex nao estou conseguindo por ela me ajuda rep+
Caotic explica melhor como por a pokedex nao estou conseguindo por ela me ajuda rep+
É só extrair pra pasta modules do seu OTClient, e, ao usar a pokedex, ela já estará funcionando
info
Grupo: Cavaleiro
Registrado: 10/03/13
Posts: 177
Reputação: +202
Gênero: Masculino
Char no Tibia: stor akia

Deu certo nao cara coloquei do geito que tu falo mas uso pokedex e ta a normal
info
Grupo: Visconde
Registrado: 23/02/13
Posts: 437
Reputação: +71
Gênero: Masculino

Galera alguem ai sabe algum auto updater pro otclient que fincione no Dx9 e no OpenGl?
Deu certo nao cara coloquei do geito que tu falo mas uso pokedex e ta a normal
Você editou seu pokedexsystem.lua, na pasta lib do servidor, conforme está explicado?
info
Grupo: Artesão
Registrado: 27/09/10
Posts: 146
Reputação: +34
no pokedex.otui, onde você mudou a imagem, você coloca:
phantom: true
que ai vai dar pra clicar em tudo sem problemas