Chatbrasil
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Scripting - Básico [If, Eventos, Identificadores]

Ir para baixo

Scripting - Básico [If, Eventos, Identificadores] Empty Scripting - Básico [If, Eventos, Identificadores]

Mensagem por _Teen_ Dom Jan 18, 2009 4:31 pm

•o que e uma estruta if,then,else?
•eventos remotes
•identificadores
•exemplos



•o que é uma estrutura if,then,else?

sao estruturas de condiçoes que precisam de uma condiçao pra existir

exemplo:

vamos usar um evento on text
Código:

on *:text:!kill*:#:{
if ($2 == $me) {
/quit
}
}
vamos explicar o que foi feito no evento on text

os remotes sao usados em mIRCbots
on nivel:evento:comando1:local:{ comandos }

os niveis sao niveis especificados por quem vai executar os comandos voce define um nivel digitando /auser nivel nick

por exemplo : /auser 5 nick

os eventos e a parte da programaçao onde o bot vai reconhecer por exemplo no evento on text
se alguem digitar a palavra !kill e se a segunda palavra for o nick do bot ( if ($2 == $me) ) ele vai sair do IRC

o comando1 e onde o bot reconhece os comandos q forem feitos pra poderem fazer os comandos programados no caso o comando1 e o ''!kill''

o local e onde vai ser digitado o comando1 por exemplo podemos usar o # para designar que esse comando pode ser feito em todos os canais

o if usa a condiçao de se o nick for igual ao bot ''if ($2 == $me)''
vamos traduzir esse comando ''se (a palavra depois de !kill($2) for igual(==) ao meu nick($me)) { executar o comando }

mas existe uma outra condiçao o else

o else e usado em condiçoes contrarias ao if por exemplo if ($2 == $me) { /msg $chan meu nick nao pode ser killado } | else { /kick # $2 voce foi kikado do canal }

vamos traduzir o comando ''se (a palavra depois de !kill($2) for igual(==) ao meu nick($me)) { mensagem ao canal ( /msg $chan ) meu nick nao pode ser killado }^

senão(else) { /kick canal(#) nick digitado($2) voce foi kikado do canal }

o else apenas usa a funçao do ''se a segunda palavra nao for igual ao meu nick executar comandos"

•eventos remotes:
os eventos sao:

on *:action:texto:#:{ } quando qualquer nick manda um texto por /me
on *:text:texto:#,?:{ } onde # e qualquer canal e ? e a janela do pvt ou qualquer janela
on *:signal:{ } quando o script recebe um sinal feito por /signal nick
on *:mode:modo:#:{ } quando algum modo e alterado na sala
on *:topic:#:{ } quando o topico e mudado
on *:invite:?:{ } quando e enviado um convite para o nick onde ? e qualquer janela
on *:load:{ } quando qualquer script e carregado
on *:unload:{ } quando qualquer script e descarregado
on *:kick:#:{ } quando qualquer nick e kikado da sala
on *:ban:#:{ } quando qualquer nick e banido da sala
on *:join:#:{ } quando qualquer nick entra na sala
on *:quit:#:{ } quando qualquer nick deixa a sala
on *:nick:#:{ } quando qualquer nick muda de nick
on *:notice:?:{ } quando qualquer nick envia um notice a voce em qualquer janela
on *:open:?:{ } quando qualquer nick abre uma janela pvt com voce
on *:part:#:{ } quando qualquer nick deixa a sala com a mensagem [user quit]
on *:start:{ } quando voce abre o seu script
on *:connect:{ } quando voce se conectar a rede
on *:disconnect:{ } quando voce se disconecta da rede
on *:op:#:{ } quando voce recebe op
on *:deop:#:{ } quando tiram o seu op
on *:voice:#:{ } quando te dao voice
on *:devoice:{ } quando tiram o seu voice
on raw:*:{ } quando o server faz qualquer comando de rede nesse caso o raw e especificado

•identificadores:
para poder fazer uma condiçao if then else voce tbm precisa de identificadores
para isso vou postar os basicos pois existem varios

$me = seu proprio nick
$nick = o nick que ativa o comando
$ip = seu ip
$1 = primeira palavra
$chan = canal que onde o comando entra
$null = quando nao existe nenhum texto

•exemplos

vamos ver alguns exemplos
Código:

on *:text:!kick*:#:{
if ($2 != $me) {
/kick # $2 $3
}
}
aqui ele usa o $3 como o motivo sendo $2 o nick
o comando != significa ''diferente''
se o $2 for diferente do meu nick kikar o $2
Código:

on *:text:!kick*:#:{
if (($me isop #) && ($2 ison #)) {
/kick # $2 $3
}
}
ao comando !kick
se eu for op no canal ''e'' $2 estiver no canal
kikar $2

o && significa mais de uma condiçao do if para o mesmo comando funcionar
isop significa ''se for op'' e ison ''se estiver no canal''
Código:

on *:text:!kick*:#:{
if (($m2 isop #) && ($2 ison #)) {
/kick # $2 $3
}
else { /msg $chan o nick nao se encontra no canal }
}
no comando !kick
se eu for op e o nick estiver no canal
kikar $2
senao enviar a mensagem ao canal o nick nao se encontrra no canal

em breve lanço outros tutoriais qualquer duvida postem
_Teen_
_Teen_
Admin
Admin

Número de Mensagens : 43
Idade : 34
Localização : Brasil
Data de inscrição : 20/12/2007

https://chatbrasil.forumeiro.com

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos