Avançado Linguagem LUA
Antes de mais nada precisamos conhecer um pouco sobre essa maravilhosa linguagem feita no Brasil.
Isso mesmo, no RIO DE JANEIRO pela PUC-RJ
Isso mesmo, no RIO DE JANEIRO pela PUC-RJ
Lua é basicamente uma linguagem de prototipagem rápida! E os gringos amam e nós brasileiros como sempre se quer avaliamos o seu devido valor.
Pretendo não dar uma aula de Lua pois o objetivo deste guia é ensinar a você fazer as famosas /script em Macros, ou seja, coisa simples.
Mas qualquer dúvida que você tiver sobre a linguagem me envie por PM e estarei disposto a responder o/
Lua é uma linguagem muito básica e fácil de entender. O objetivo maior é aumentar a sua gama de implementação das macros.
A Lua segue a linha das outras linguagens existentes com as mesmas estruturas já conhecidas por muitos que usam outras linguagens, com os mesmos algorítimos. Exemplo de coisas já conhecidas:
print <- Imprime na tela é óbvio.
For <- Olha o loop ae gente!
If <- Condicional na certa...
E assim por diante, já deu pra ver que é fácil né?!
Entendeu até aqui?! Espero que sim, se não, desista e vá procurar outra coisa pra fazer x/
Mão na massa e vamos escrever uma função simples de exemplo transformando essa função em uma variável?!
Em linguagem mais técnica seria algo assim:
Como as funções de outras linguagens que existem o wow possui as suas próprias o que não impede de que você faça as suas X)
http://www.wowwiki.c...of_Warcraft_API <- Lista de Funções pré-definidas que podem ser usadas no wow.
No wow os scripts podem ser escritos como macro usando o /script, exemplo:
Foi utilizado uma função pra castar um skill, facinho né?!
Exemplo prático:
O que esse Script/Macro irá fazer?! Castar o Blessing of Might rank 3 ué?! Simples não?!
Nos scripts é claro que além das funções podemos utilizar as variáveis + as funções é claro:
Calma não fique em pânico! Variáveis a grosso modo são espaços de memória onde você armazena strings etc...
Bem, a definição de strings é que elas são caracteres juntos e isso você tem que ter em mente, não esqueça.
Você pode armazenar até frases em variáveis, números ou o que mais você tiver na imaginação..
exemplo:
A variável é a "raid" e o 1 está agora armazenado nesta variável simples né?!
Que tal partir pro conceito das condicionais?!
Em lua o IF é simples: if (john == john holiver) then
Se o John for igual ao John Holiver ... fácil de pegar né?!
Existem vários tipos de condicionais, use a lógica da sua cabeça pra fazer os /scripts/macros
Em termos técnicos seria algo assim:
Que tal mesclar funções e condicionais que aprendemos?!
O UnitIsFriend(); é claro que é uma função pré-definida do wow bem como o TargetlastEnemy();
Que estão na lista do site que passei lá em cima, não esqueçam dele. ;X
Eita praticamente formado em Lua quem leu até aqui
Falta só o loop né?! Como fazer loops?! É pra já!
Antes saiba que existem outras boas práticas de programação em lua mais recomendadas antes de você gastar
todo seu código em loops desgastantes porém é sempre útil.
Fácil... primeiro criei a variável "a" e dei a ela o valor inicial de "1".
e o "do" quer dizer: faça!
Então ele vai pegar todos membros da party e:
Não esqueça de colocar o botão da actionbar que você vai utilizar macro na função UseAction(coloqueaqui);
Se tudo tiver corrto ele vai fazer um loop infinito e você irá healar quem tiver com life baixo...
É isso, tutorial rápido e fácil sobre lua + scripts + macros.
Alguns scripts úteis:
Pretendo não dar uma aula de Lua pois o objetivo deste guia é ensinar a você fazer as famosas /script em Macros, ou seja, coisa simples.
Mas qualquer dúvida que você tiver sobre a linguagem me envie por PM e estarei disposto a responder o/
Lua é uma linguagem muito básica e fácil de entender. O objetivo maior é aumentar a sua gama de implementação das macros.
A Lua segue a linha das outras linguagens existentes com as mesmas estruturas já conhecidas por muitos que usam outras linguagens, com os mesmos algorítimos. Exemplo de coisas já conhecidas:
print <- Imprime na tela é óbvio.
For <- Olha o loop ae gente!
If <- Condicional na certa...
E assim por diante, já deu pra ver que é fácil né?!
Entendeu até aqui?! Espero que sim, se não, desista e vá procurar outra coisa pra fazer x/
Mão na massa e vamos escrever uma função simples de exemplo transformando essa função em uma variável?!
horda = function(ally,hordinha) \\Tá criada né?! agora que tal pôr uma soma?!
print {ally+hordinha}
end
Em linguagem mais técnica seria algo assim:
function nome ( [parametros,..] )
[estados...]
[retorne valores]
end
Como as funções de outras linguagens que existem o wow possui as suas próprias o que não impede de que você faça as suas X)
http://www.wowwiki.c...of_Warcraft_API <- Lista de Funções pré-definidas que podem ser usadas no wow.
No wow os scripts podem ser escritos como macro usando o /script, exemplo:
/script CastSpellByName(skill)
Foi utilizado uma função pra castar um skill, facinho né?!
Exemplo prático:
/script CastSpellByName("Blessing of Might(Rank 3)");
O que esse Script/Macro irá fazer?! Castar o Blessing of Might rank 3 ué?! Simples não?!
Nos scripts é claro que além das funções podemos utilizar as variáveis + as funções é claro:
/script raid1 = UnitClass("party1");
Calma não fique em pânico! Variáveis a grosso modo são espaços de memória onde você armazena strings etc...
Bem, a definição de strings é que elas são caracteres juntos e isso você tem que ter em mente, não esqueça.
Você pode armazenar até frases em variáveis, números ou o que mais você tiver na imaginação..
exemplo:
/script raid = 1
A variável é a "raid" e o 1 está agora armazenado nesta variável simples né?!
Que tal partir pro conceito das condicionais?!
Em lua o IF é simples: if (john == john holiver) then
Se o John for igual ao John Holiver ... fácil de pegar né?!
Existem vários tipos de condicionais, use a lógica da sua cabeça pra fazer os /scripts/macros
Em termos técnicos seria algo assim:
if ( condição ) then
[estados...]
[else
estados...]
end
Que tal mesclar funções e condicionais que aprendemos?!
/script if ( UnitIsFriend("player", "target") ) then TargetLastEnemy(); end
O UnitIsFriend(); é claro que é uma função pré-definida do wow bem como o TargetlastEnemy();
Que estão na lista do site que passei lá em cima, não esqueçam dele. ;X
Eita praticamente formado em Lua quem leu até aqui
Falta só o loop né?! Como fazer loops?! É pra já!
Antes saiba que existem outras boas práticas de programação em lua mais recomendadas antes de você gastar
todo seu código em loops desgastantes porém é sempre útil.
for a=1,GetNumPartyMembers() do
Fácil... primeiro criei a variável "a" e dei a ela o valor inicial de "1".
e o "do" quer dizer: faça!
Então ele vai pegar todos membros da party e:
/script TargetUnit("player"); for a=1,GetNumPartyMembers()
do t="target"; p="party"..a; if ( UnitHealth(p) > 1 and
UnitHealth(t)/UnitHealthMax(t) > UnitHealth(p)/UnitHealthMax(p) )
then TargetUnit(p) end end /script UseAction();
Não esqueça de colocar o botão da actionbar que você vai utilizar macro na função UseAction(coloqueaqui);
Se tudo tiver corrto ele vai fazer um loop infinito e você irá healar quem tiver com life baixo...
É isso, tutorial rápido e fácil sobre lua + scripts + macros.
Alguns scripts úteis:
/script r=0;l={8,14,20,26,32,38,44,50,56};if not
UnitIsFriend("player","target")then TargetUnit("player");
end;t=UnitLevel("target");for i=r,1,-1 do if (t>=l[i]-10)
then CastSpellByName("Renew(Rank "..i..")");break;end;end
/flexbar hide button=71 on="GainBuff" target="Inner Fire"
/flexbar show button=71 on="LoseBuff" target="Inner Fire"
Publicado por: Hélen Hoffmann Marca
Nenhum comentário:
Postar um comentário