Ir para conteúdo

Como criar uma barra de spell [Poketibia]


BananaFight

Posts Recomendados

Bom pessoal, como muito me pedem vou dar um exemplo de como criar uma barra de skill, porem vou ensinar apenas a logica.



local pokemons = {
["Bulbasaur"] = {1, 2, 3, 4},
["Ivisaursaur"] = {1, 2, 3, 4, 5},

}

local name = "Bulbasaur"

for k, v in pairs(pokemons) do

if name == k then

for i = 1, 12 do
if i == v[i] then
print("m"..v[i])
else
break;
end
end

end

end

Precisamos enviar o nome do nosso pokemon por um OpCode ou SendCancel para nosso script.



Com o nome do nosso pokemon dentro do script vamos fazer ele ser comparado dentro da tabela para verificar a existência do pokemon, e retornar a quantidade de ataques que ele tem.



Feito isso, dentro do for que verifica quantos ataques o nosso pokemon tem



for i = 1, 12 do
if i == v[i] then
print("m"..v[i])
else
break;
end
end


Vamos criar a parte que adiciona os botões e nesses botões vamos por dentro da função onPress, a função g.gameTalk para executar o m1, m2...



Por enquanto é isso pessoal, espero ter sido bem claro e objetivo, e postem prints de seus resultados, Ainda faltam algumas coisas a serem criadas, mais to no trabalho e não posso explicar agora.



Boa sorte a todos, E NÃO, não vou criar uma base para vocês.


Editado por BananaFight
Link para o comentário
Compartilhar em outros sites

o banana pq usasse for pra pegar a tabela do poke? o.O

for _, atk in ipairs(pokemons[name]) do

print("m"..atk)

end[code]

 

e pra fazer a interface basica eh bem isso ae ms a logica.. problema eh quando quer por cd, img, nome dos atks e blablabla kk'

Link para o comentário
Compartilhar em outros sites

Um pouco mais chato porem nada de muito dificil Slicer.

table = {
        ["Bulbasaur"] = {
m1 = {imagem = "x", time = 100, nome = "Attack"},
}
}
 
name = "Bulbasaur"
 
for i = 1, 12 do
 if i == 1 then
     if table[name].m1 then
        print( table[name].m1.nome )
     else
        break
     end
 end
end
Editado por BananaFight
Link para o comentário
Compartilhar em outros sites

eh.. eh uma alternativa.. oq normalmente se faz eh mandar as informaçoes ja por opcode ou sendCancel pra n deixar elas assim expostas pra todos... mas realmente botando a tabela no otc deixa tudo mais simples xD ainda mais pra quem ta começando agora a fazer scripts... e tb n sao informaçoes la muito importantes...

Link para o comentário
Compartilhar em outros sites

Praticidade vs pong. Evitem esse tipo de coisa no otclient. Passe apenas o necessário por opcode e send cancel, é burrice e coisa de porco fazer isso que vocês sugeriram.



Muito mais pratico fazer do meu modo pelo simples fato de que se alguém quiser mudar algo, não influencia nada no servidor, apenas vai bugar seu próprio client.



NÃO ENTENDAM ERRADO, Não estou chamando vocês de porcos e nem de mandriões, só estou dizendo que vocês estão optando pelo pior modo de fazer isso.

Link para o comentário
Compartilhar em outros sites

o ruim de a tabela com o tempo fikar no otc e que quando vc for usar um pokemon q ja ta com uma spell "x" tempo de cooldown e clicar na barra de spell pra usar esse spell a barra vai informar "y" tempo

 

EX: eu usei o quick atack do meu pokemon ai ele tem 15 segundos , ai voltei ele pra ball e os 15 segundo continuo contando , ai eu soltei o poke denovo e o cooldown na no 7 segundo de acordo com o server , ai quando vc clicar na barra pra usar o quicka tack denovo a bara vai comecar contar dos 15 segundo , fikou meio confuso mas deu pra entender kkk

Link para o comentário
Compartilhar em outros sites

banana eu li vc e o caotic falando que um prefiria tabela no otc outro prefiria string , ai eu comentei minha opniao só ^^

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...