Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

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

Como Fazer Alguns Scripts ( Detalhado )


lukinhas_vr
 Compartilhar

Posts Recomendados

1. Fazendo seu personagem falar alguma coisa.

 

2. Reproduções de som e alertas

 

3. Fazendo HotKeys

 

4. Tirando ScreenShot

 

5. Logout

 

 

Fazendo seu personagem falar alguma coisa.

 

Scripts trabalhados nessa aula:

Usar Exana Pox se envenenado.

Usar Haste quando acabar.

Healar quando estiver X de life.

 

Vamos começar fazendo o que todas as aulas para iniciantes em programação fazem, fazer um script no qual seu personagem irá dizer "Ola Mundo".

 

Script Base:

 

Código PHP:

begin

self . say ( 'Ola Mundo]' );

end ;

 

Quando você executa-lo, seu personagem irá dizer "Ola Mundo" uma vez. Se quiser que fique repetindo adicione: while not terminated do

no começo do script.

 

Ficando Assim:

 

Código PHP:

 

while not terminated do

begin

self . say ( 'Ola Mundo' );

end

;

 

Agora se você quiser com que seu personagem fale em X segundos, pra não pegar "Muted" adicione "sleep ( 2000 )" abaixo da linha do "Ola Mundo"

Ficando Assim:

 

Código PHP:

while not terminated do

begin

self . say ( 'Ola Mundo' );

sleep ( 2000 );

end ;

 

Agora vamos usar esse script pra alguma coisa util, vamos fazer com que seu personagem cura-se usando exana pox.

Pegando a base do script "Ola Mundo", vamos para as alterações.

 

 

Código PHP:

begin

self . say ( 'Ola Mundo' );

end ;

 

1º Passo: Troque "Ola Mundo" para Exana Pox.

 

Código PHP:

begin

self . say ( 'exana pox' );

end ;

 

2º Passo: Queremos que ele fale somente se estiver envenenado, então adicione if self . poisoned then.

 

Código PHP:

begin

if self . poisoned then

self . say ( 'exana pox' );

end

;

 

3º Passo: Queremos com que o script funcione o tempo todo, então adicione while not terminated do

 

Código PHP:

while not terminated do

begin

if self . poisoned then

self . say ( 'exana pox' );

end ;

 

4º Passo: Agora iremos colocar a quantidade de mana para que a magia seja usada, adicione if self.mana> = 30 then. Se sua mana for 30 ou mais ele executará a próxima linha do script.

 

Código PHP:

while not terminated do

begin

if self . poisoned then

if self . mana >= 30 then

self . say ( 'exana pox' );

end ;

 

5º Passo: Adicionar um sleep ( 1000 ) para não lagar a magia. E por último mais não menos importante a "Atualização do Mundo" UpdateWorld ;

 

Código PHP:

while not terminated do

begin

UpdateWorld ;

if self . poisoned then

if self . mana >= 30 then

self . say ( 'exana pox' );

Sleep ( 100 );

end ;

 

Agora você tem um script que cura ao ficar envenenado.

Você pode usar este script como base para muitos outros, vamos usar ele para fazer ele usar "Utani Hur" (:

 

Utilizando o script "Exana Pox" como base:

 

Código PHP:

while not terminated do

begin

UpdateWorld ;

if self . poisoned then

if self . mana >= 30 then

self . say ( 'exana pox' );

Sleep ( 100 );

end ;

 

1º Passo: Alterar "if self . poisoned then" para "if not self . hasting then", isso significa que se você não estiver usando haste, o script executará a próxima linha do script.

 

Código PHP:

while not terminated do

begin

UpdateWorld ;

if not self . hasting then

if self . mana >= 30 then

self . say ( 'exana pox' );

Sleep ( 100 );

end ;

 

2º Passo: Alterar a quantidade de mana "30" para "60".

 

Código PHP:

while not terminated do

begin

UpdateWorld ;

if not self . hasting then

if self . mana >= 60 then

self . say ( 'exana pox' );

Sleep ( 100 );

end ;

 

3º Passo: Agora mude o "Exana Pox" para "utani hur", mude o sleep para 100 para evitar o exhausted.

Ficando Assim:

 

Código PHP:

while not terminated do

begin

UpdateWorld ;

if not self . hasting then

if self . mana >= 60 then

self . say ( 'utani hur' );

Sleep ( 100 );

end ;

 

Agora você tem um script para usar Utani hur, quando acabar.

 

Agora, vamos fazer um script de cura

 

Vamos usar como base o script do "Exana Pox"

 

Código PHP:

while not terminated do

begin

UpdateWorld ;

if self . poisoned then

if self . mana >= 30 then

self . say ( 'exana pox' );

Sleep ( 100 );

end ;

 

 

1º Passo: Faça uma constante com a palavra "const" e colocar a saúde, mana e magia.

 

Código PHP:

Const

MinHealth = 300

ManaNeeded = 20

HealingSpell = 'exura'

 

while not terminated do

begin

UpdateWorld ;

if self . poisoned then

if self . mana >= 30 then

self . say ( 'exana pox' );

Sleep ( 100 );

end ;

 

2º Passo: Alterar "if self . poisoned then" para "if self . health <= MinHealth then". Isso significa que se o life estiver a baixo do "MinHealth" ele executará a próxima linha.

 

Código PHP:

Const

MinHealth = 300

ManaNeeded = 20

HealingSpell = 'exura'

 

while not terminated do

begin

UpdateWorld ;

if self . health <= MinHealth then

if self . mana >= 30 then

self . say ( 'exana pox' );

Sleep ( 100 );

end ;

 

3º Passo: Alterar "if self . mana >= 30 then " para "if self . mana >= ManaNeeded then ". Isso significa que quando a mana estiver mais ou igual ao "ManaNeeded" ele executará a próxima linha do script.

 

Código PHP:

Const

MinHealth = 300

ManaNeeded = 20

HealingSpell = 'exura'

 

while not terminated do

begin

UpdateWorld ;

if self . health <= MinHealth then

if self . mana >= ManaNeeded then

self . say ( 'exana pox' );

Sleep ( 100 );

end ;

 

4º Passo: Agora você muda o "exana pox" para "HealingSpell". Isso significa que irá usar a magia que estiver na constante "HealingSpell".

 

Código PHP:

Const

MinHealth = 300

ManaNeeded = 20

HealingSpell = 'exura'

 

while not terminated do

begin

UpdateWorld ;

if self . health <= MinHealth then

if self . mana >= ManaNeeded then

self . say ( HealingSpell );

Sleep ( 100 );

end ;

 

Pronto agora você tem um script de cura.

 

 

 

Reproduções de sons e alertas

 

Coisas que você vai aprender nessa aula:

Como reproduzir sons e alertas.

 

Scripts trabalhados nessa aula:

Alerta quanto a life estiver baixa.

Alerta quanto a mana estiver baixa.

 

Agora que você aprendeu a fazer seu char falar algo, vamos evoluir um pouco.

Vamos aprender a criar Alertas

 

Script Base:

 

 

Código PHP:

begin

PlaySound ( 'C:\Windows\Media\notify.wav' );

end ;

 

Se você leu a aula anterior, vai saber que esse som vai tocar só uma vez.

Então vamos faze-lo com que continue gritando/berrando sem parar.

 

Código PHP:

while not terminated do

begin

PlaySound ( 'C:\Windows\Media\notify.wav' );

end ;

 

Tá, já brincamos, agora vamos fazer com que toque somente se você estiver com X de life.

Script Base:

 

Código PHP:

begin

PlaySound ( 'C:\Windows\Media\notify.wav' );

end ;

 

1º Passo: Vamos adicionar umas constantes. Vamo adicionar a constante "HpToAlert"

 

Código PHP:

Const

HpToAlert = 150

 

begin

PlaySound ( 'C:\Windows\Media\notify.wav' );

end ;

 

2º Passo: Nos queremos com que ele toque toda vez que seu life for X. Adicionaremos "while not terminated do".

 

Código PHP:

Const

HpToAlert = 150

 

while not terminated do

begin

PlaySound ( 'C:\Windows\Media\notify.wav' );

end ;

 

3º Passo: Agora iremos fazer uma declaração para verificar o life, "if self . health <= HpToAlert then ".

 

Código PHP:

Const

HpToAlert = 150

 

while not terminated do

begin

if self . health <= HpToAlert then

PlaySound ( 'C:\Windows\Media\notify.wav' );

end ;

 

4º Passo: Esse script também é preciso do "updateworld". para que sempre possamos utilizar os valores atuais. E também adicionar um sleep para evitar o exhausted.

 

Código PHP:

Const

HpToAlert = 150

 

while not terminated do

begin

UpdateWorld ;

if self . health <= HpToAlert then

PlaySound ( 'C:\Windows\Media\notify.wav' );

Sleep ( 100 );

end ;

 

Agora, você tem um script que alerta se seu personagem estiver X de vida.

 

Bom, você já tem um script base, para fazer o alertar de X mana.

 

Código PHP:

Const

HpToAlert = 150

 

while not terminated do

begin

UpdateWorld ;

if self . mana <= HpToAlert then

PlaySound ( 'C:\Windows\Media\notify.wav' );

Sleep ( 100 );

end ;

 

Mude a constante "HpToAlert" para "ManaToAlert", lembre-se da declaração feita do script acima "if self . mana <= HpToAlert then" também terá que ser modificado, "if self . mana <= ManaToAlert then".

Ficando Assim:

 

Código PHP:

Const

ManaToAlert = 150

 

while not terminated do

begin

UpdateWorld ;

if self . mana <= ManaToAlert then

PlaySound ( 'C:\Windows\Media\notify.wav' );

Sleep ( 100 );

end ;

 

Pronto, agora você tem 2 scripts de alertas.

 

 

Fazendo HotKeys

 

Coisas que você vai aprender nessa aula:

Como utilizar e criar teclas de atalhos (HotKeys).

 

Scripts trabalhados nessa aula:

Andar com W,A,S,D

Criar hotkeys

 

Bom pessoal, isso agora tá avançado, é muito tenso!

Vamos começar fazendo um "Procedure" (Procedimento), no Wiki isso significa que é um processo de varias ações, atos ou operações

Resumindo, isso significa que você terá que seguir todo o procedimento para que as coisas funcionem. Vamos fazer um script que possamos dizer "Ola Mundo" usando apenas uma key.

 

Script Base:

 

Código PHP:

procedure Event_KeyDown ( Key : integer );

begin

end ;

 

Esse é a base do nosso script, é quase um html vamos fazer mais ou menos o "[body]" e "[/body]". Adicione o "UpdateWorld;".

 

Código PHP:

procedure Event_KeyDown ( Key : integer );

begin

Updateworld ;

end ;

 

Depois, vamos adicionar "case Key of".

Código PHP:

procedure Event_KeyDown ( Key : integer );

begin

Updateworld ;

case Key of

end ;

 

Agora sim, vamos seguir o nosso procedimento. o evento foi o KeyDown isso significa que pra que funcione, a tecla tem que ser apertada.

Porém precisamos de achar a peça e o número inteiro.

Adicione "13: Self.Say ( 'Ola Mundo')", a chave 13 é a ENTER, quando precionado ele ira dizer "Ola Mundo"

 

Código PHP:

procedure Event_KeyDown ( Key : integer );

begin

Updateworld ;

case Key of

13 : self . say ( 'Ola Mundo' );

end ;

 

Porém, você acha que acabou? esse script só irá funcionar quando a tecla enter for apertada somente 1 vez, então use aquele comando para que possa repetir (nem vou citar ele aqui). Então vamos adicionar "ProccessEvents", funciona para verificar novos eventos.

 

Código PHP:

procedure Event_KeyDown ( Key : integer );

begin

Updateworld ;

case Key of

13 : Self . say ( 'Ola Mundo' );

end ;

end ;

 

while not terminated do

begin

ProcessEvents ;

end ;

 

Agora quando você apertar ENTER ele vai falar "Ola mundo"

Quando você cancelar o script, a tecla voltará pro seu habbitat natural (sua função normal)

 

Agora vamos imaginar que Tibia é igual o Counter-Strike.

Vamos andar pelo W,A,S,D.

 

Vamos usar nosso script base

 

Código PHP:

procedure Event_KeyDown ( Key : integer );

begin

Updateworld ;

case Key of

13 : Self . say ( 'Ola Mundo' );

end ;

end ;

 

while not terminated do

begin

ProcessEvents ;

end ;

 

1º Passo: Vamos criar umas constantes para ficar mais facil a edição futura do script.

Vamos adicionar as constantes "MoveLeftKey MoveRightKey MoveUpKey MoveDownKey" mais tarde mostrarei como descobrir as teclas virtuais.

 

Código PHP:

Const

 

MoveLeftKey = 65

MoveRightKey = 68

MoveUpKey = 87

MoveDownKey = 83

 

 

procedure Event_KeyDown ( Key : integer );

begin

Updateworld ;

case Key of

13 : Self . say ( 'Ola Mundo' );

end ;

end ;

 

while not terminated do

begin

ProcessEvents ;

end ;

 

2º Passo: Essas constantes estão como W,A,S,D, mais também precisamos mudar isso "13 : Self . say ( 'Ola Mundo' );" para "MoveLeftKey: self.MoveLeft;" e assim na sequencia "MoveRightKey : self . MoveRight ;" e assim por diante. Adicione também um sleep ( 500 ).

 

Código PHP:

Const

 

MoveLeftKey = 65

MoveRightKey = 68

MoveUpKey = 87

MoveDownKey = 83

 

 

procedure Event_KeyDown ( Key : integer );

begin

Updateworld ;

case Key of

MoveLeftKey : self . MoveLeft ;

MoveRightKey : self . MoveRight ;

MoveDownKey : self . MoveDown ;

MoveUpKey : self . MoveUp ;

end ;

end ;

 

while not terminated do

begin

ProcessEvents ;

sleep ( 500 );

end ;

 

 

Tirando uma screenshot

 

Coisas que você vai aprender nessa aula:

Tirando screenshot automaticamente

 

Scripts trabalhados nessa aula:

Tire screenshot quando morrer

 

Tirar screenshot não é difícil de fazer. Provavelmente o mais difícil é achar onde foi salva a danada. Nesse caso, iremos fazer com que a screenshot tirada, vá para a pasta do NG ""C:\Arquivos de programas\TibiaBot NG".

 

Script Base:

 

Código PHP:

begin

ScreenShot ( Path );

end ;

 

Vamos editar o "path" para o caminho da nossa screenshot

 

Código PHP:

begin

ScreenShot ( 'C:\Arquivos de programa\TibiaBot NG' + '\' + self.name + ' . png );

end ;

 

Você percebeu que eu coloquei o self.name (Nome do personagem) e no final a extenção do arquivo ".png" é pesado, porém, não muda a qualidade da imagem.

 

Agora, iremos adicionar (Mesmo que seja inviavel morrer varias vezes) o comando para que o script funcione eternamente

 

Código PHP:

While not terminated do

begin

ScreenShot ( 'C:\Arquivos de programa\TibiaBot NG' + '\' + self.name + ' . png );

end ;

 

Adicione o danado do UpdateWorld também!

 

Código PHP:

While not terminated do

begin

UpdateWorld ;

ScreenShot ( 'C:\Arquivos de programa\TibiaBot NG' + '\' + self.name + ' . png );

end ;

 

Vamos adicionar uma constante para que ele verifique se nosso life esta no 0 (You Are Dead). Use a constante "SSHp"

 

Código PHP:

Const

SSHp = 0

 

While not terminated do

begin

UpdateWorld ;

ScreenShot ( 'C:\Arquivos de programa\TibiaBot NG' + '\' + self.name + ' . png );

end ;

 

Nos queremos fazer com que tire foto só quando morremos, então adicione "if Self . Health <= SSHp then "

 

Código PHP:

Const

SSHp = 0

 

While not terminated do

begin

UpdateWorld ;

if Self . Health <= SSHp then

ScreenShot ( 'C:\Arquivos de programa\TibiaBot NG' + '\' + self.name + ' . png );

end ;

 

Adicione um exit, para que ele não fique tirando varias SS da mesma tela, e um sleep básico

 

Código PHP:

Const

SSHp = 0

 

While not terminated do

begin

UpdateWorld ;

if Self . Health <= SSHp then

begin

ScreenShot ( 'C:\Arquivos de programa\TibiaBot NG' + '\' + self.name + ' . png );

exit;

end ;

Sleep ( 100 );

end ;

 

Eu particularmente, prefiro mudar o nome da foto, para saber o que se trata

ficando assim (fica a gosto, se vc quiser mudar ou nao)

 

Código PHP:

Const

SSHp = 0

 

 

While not terminated do

begin

UpdateWorld ;

if Self . Health <= SSHp then

begin

ScreenShot ( 'C:\Arquivos de programa\TibiaBot NG' + '\' + self.name + ' FAIL ' + ' . png );

exit;

end ;

Sleep ( 100 );

end ;

 

 

Logout

 

Coisas que você vai aprender nessa aula:

Como fazer seu personagem dar LOGOUT!

 

Scripts trabalhados nessa aula:

Logout quando você estiver QUASE level 9 (para rookgaard)

 

Vamos ao script.

 

Código PHP:

begin

Self . Logout ( True );

end ;

 

Esse true é para forçar logout, mesmo você estando de battle (ele da exit no jogo)

 

Agora vamos brincar

Script Base:

 

Código PHP:

begin

Self . Logout ( True );

end ;

 

1º Passo Queremos que o script verifique se estamos perto do level 9 tempo todo, certo? então adicione "while not terminated do ".

 

Código PHP:

while not terminated do

begin

Self . Logout ( True );

end ;

 

2º Passo: Agora vamos, botar o UpdateWorld.

 

Código PHP:

while not terminated do

begin

UpdateWorld ;

Self . Logout ( True );

end ;

 

3º Passo: Faça uma constante para informar a EXP para dar logout, "ExpToLog = 6250" (6250 é a xp para level 9, quase)

 

Código PHP:

Const

ExpToLog = 6250

 

while not terminated do

begin

UpdateWorld ;

Self . Logout ( True );

end ;

 

4º Passo: Agora adicione "if Self . Experience >= ExpToLog then " e um "Sleep ( 1000 ); ". Pronto.

 

Código PHP:

Const

ExpToLog = 6250

 

while not terminated do

begin

UpdateWorld ;

if Self . Experience >= ExpToLog then

Self . Logout ( True );

Sleep ( 1000 );

end ;

Link para o comentário
Compartilhar em outros sites

Bom , tipo , eu que não entendo muito bem dessas coisas gostei ! Só tem uma coisa , como a versão do NG não funciona mais , temos que esperar para ver se as opções continuaram iguais , espero que sim , e por outro lado ... Muito bom , se for seus créditos , parabens =DDD

Mas se não for seus creditos , faiz um favorzinho aee , coloca de quem é !

Até . :D

Link para o comentário
Compartilhar em outros sites

  • 2 semanas atrás...
  • 2 meses depois...
Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.