Når alt ser håpløst ut..

#Hjelp på DALnet

Main | mIRC | mIRC Scripting | Operatører | Services | Virus? | Informasjon


mIRC Scripting

Som du sikkert vet, så er mIRC et program som lar deg koble deg opp mot IRC-nettverk og chatte med folk. En kan ved hjelp av scripts forandre hvordan mIRC ser ut og oppfører seg. Mange av de noe mer avanserte brukerne benytter seg av dette dette til å skreddersy mIRC til sine egne behov. Jeg skal her forsøke å gå litt inn og forklare det helt grunnleggende ved scriptingen. Er du interessert, så heng deg på. ;)

Seksjoner:

ALIASES
POPUPS
REMOTES
IDENTIFIERS
VARIABLER
IF
PARANTESER OG BRACKETS
TESTEN


Aliases:
(ALT-A, eller TOOLS, ALIASES)

mIRC har en rekke kommandoer. Alle kommandoer begynner med tegnet /! Du kjenner kanskje til kommandoen /me som benyttes for å beskrive at en gjør noe. (prøv ved å skrive /me sier møø! i en kanal eller privat chat) Ved hjelp av aliaser kan du lage egne kommandoer. Du kan for eksempel skrive i alias-vinduet: m me $1- Når denne linjen ligger inne kan du bruke /m sier møø! istedet for /me sier møø!. Det er kanskje litt vanskelig å se nytteverdien i akkurat dette eksempelet, men vi skal prøve å se på litt mer kompliserte alias senere. $1- er noe vi kaller identifier. Mer om det senere!


Popups:
(ALT-P, eller TOOLS, POPUPS)

Også menyene forskjellige steder i mIRC har du muligheten til å forandre. Trykk på VIEW mens du er i popup-dialogen, og du har fem menyer du kan velge blandt. Trykk ved siden på POPUP, og du ser hvordan menyen ser ut. Menyer er egentlig ganske selv-forklarende, så jeg skal bare forklare kort hvordan de fungere. Se, for eksempel på: Set Away .On:/away $$?="Enter away message:" .Off:/away Linje 1 (Set Away) står, som du ser, alene. Linjene to og tre begynner med et punktum, noe som betyr at den hører til under linje 1. Når dette vises i en meny vil linje 1 komme frem, og den vil ha en sort pil til høyre for seg. Dersom du markerer linjen med muse-pekeren din, vil de to andre linjene komme frem. Vanskelig å forklare, men det er enkelt som bare det - jeg håper du forstår hva jeg mener. ;) Men se på linjene 2 og 3. De har et : (kolon) etter teksten, og et ord som begynner med /. Du husker vel at kommandoer begynte med /? Det som skjer når du velger On eller Off i denne menyen er altså at mIRC kjører kommandoene etter kolonet. Dersom du trykker SET AWAY, OFF, vil altså kommandoen /away kjøres. Du legger sikkert også merke til dette: $$?="Enter away message:". Det er også en identifier. Mer om identifiere senere!


Remotes:
(ALT-R eller TOOLS, REMOTE)

Når vi snakker om scripting, så er det her det skjer. Det er i dette vinduet scriptene våre vil befinne seg. Det er også her det vanskelige begynner. Det gjelder å holde tunga i rett munnen. La oss si du vil ha mIRC til å gjøre noe hver gang en person kommer inn i en kanal. Hvordan kan vi fortelle mIRC at den skal gjøre noe hver gang "ett-eller-annet" skjer? Det gjør man ved å benytte Events. Se på dette eksemplet: on *:JOIN:#Test:/echo En ny person stakk innom! Vi begynner forklaringen fra venstre.. on *:JOIN:#Test: kaller vi et Event. Det forteller mIRC at hver gang noen stikker innom kanalen #Test, så skal mIRC utføre det som står etter eventet. /echo En ny person stakk innom! er, som du selvfølgelig ser, en kommando (begynner med /). Det kommendoen /echo gjør, er å skrive teksten som står etter kommandoen ut i et av vinduene i mIRC. Teksten vil synes hos deg, men den vil ikke bli sendt til noen av de andre som er inne og chatter. (Skriv: /echo hei på deg! i et vindu - Ser du?)


Identifiers

Jeg vil også fortelle noen få ord om variabler og "identifiers". Nå som du kjenner echo-kommandoen; hva gjør du dersom du skal skrive klokkeslettet? Du kan se på din egen klokke og skrive i et vindu i mIRC: /echo klokka er: 12:50 Problemet er bare at klokka ikke er 12:50 ett minutt senere. Hadde det ikke vært greit å hatt et ord som mIRC erstattet med klokkeslettet slik riktig klokkeslett ble skrevet ut hele tida? Det finnes faktisk, og vi kaller det "identifiers". Prøv å skriv dette istedet: //echo klokka er: $time (du la sikkert merke til at jeg brukte // istedet for / som jeg pleier? Prøv med én /, og se hva som skjer... Ved å bruke to /'er vil mIRC gjøre om $time til klokkeslettet, mens ved å bare brukt én / skrev mIRC $time som et vanlig ord)


Variabler

Disse er på noen måter det samme om identifiers, bare at du kan selv bestemme hva de skal inneholde. Mens identifiers begynner med en $, begynner variabler med % La oss se på dette eksemplet: /set %favoritt.mat pannekaker Dette er hva som skjer: Kommandoen /set lager en variabel som heter %favoritt.mat, og putter ordet pannekaker inn i variablen. For å bruke det som du har lagt inn i variablen kan du skrive f.eks: //echo Jeg har lyst på: %favoritt.mat Det finnes en rekke kommandoer, identifiers og events. Jeg kan ikke gå inn på alle her. Men fortvil ikke, for de står alle beskrevet i hjelpe-fila som kommer med mIRC. Trykk på F1 i mIRC, og filen vil bli åpnet. Bare husk at kommandoer begynner med /, Events starter med on, og identifiers starter med $. Men jeg vil si noe veldig viktig nå: Å være kjent med og kunne bruke hjelpe-fila er sannsynligvis det beste fortrinnet du kan ha når du lager scripts! ....skjønner? Mange venter og venter i hjelpe-kanaler o.l. for å få svar på spørsmål som en hadde brukt 15-30 sekunder på å finne dersom man er kjent med hjelpe-fila.
Jeg tror jeg sier det en gang til: Å være kjent med og kunne bruke hjelpe-fila er sannsynligvis det beste fortrinnet du kan ha når du lager scripts!


Litt om /IF

Vi bruker if når vi vil sammenligne verdier, og kontrollere hvordan et script skal kjøres videre. Det blir litt eksempler senere, så det gjør ikke noe om du ikke forstår helt hva det betyr. Når vi bruker if, then eller else, så skal de brukes på denne måten: if (v1 test v2) { kommando(er) } elseif (v1 test v2) { kommando(er) } else { kommando(er) } Jeg kommer her til å forklare hvordan if fungerer - det er det samme for elseif. else benyttes i bunn hvis ikke if eller elseif blir kjørt.


Paranteser og Brackets

Mellom ( og ) er uttrykket som if eller elseif vil "teste" for å finne ut hva som skal skje videre i scriptet. De er ikke alltid nødvendige; men jeg vil anbefale at de brukes alikevel. (Scriptet vil bli lettere å lese både for deg og mIRC. Uten ( og ) vil mIRC bruke lenger tid på å finne ut hva som menes, og det er dessuten en sjans for at mIRC missforstår - eller ikke forstår i det hele tatt) Mellom { og } skriver du koden som skal kjøres dersom det som står mellom ( og ) er sant. (På samme måte som du kanskje kjenner fra andre områder innen mIRC-scripting.) Det er viktig at ()'ene og {}'ene er balansert; det vil si at det må være like mange ( som ), og like mange { som }. Blir det skjevheter her vil mIRC missforstå og gjøre anderledes. (Du kan sjekke om { og } er balansert ved å tryppe på {}-knappen oppe til høyre i mIRC sin remote-editor)


Det som står mellom parantesene (Testen)

Mellom parantesene står et uttrykk som mIRC vil teste og se om det blir sant eller usant. Dersom det blir sant, vil mIRC kjøre det som står etter if (mellom { og }). Dersom det ikke blir sant, vil mIRC gå videre i scriptet og se på hva som står "etter" if-kommandoen. (Usant er 0 eller ingenting - alt annet er sant) Så, hva kan vi skrive mellom parantesene? Det meste egentlig. Se - og prøv gjerne - disse eksemplene (skriv: //if (ditt og datt) { echo -a Uttrykket var sant! } i mIRC.)

if (1) - Er sant. if (0) - Er ikke sant. if ($online) - Er sant eller usant ettersom du er koblet mot en irc-server eller ikke. if (a) - Er sant. if (1 < 2) - Er sant. if (1 > 2) - Er ikke sant. if (a isletter) - Er sant. if (2 isletter) - Er ikke sant.

Her ser du noen eksempler på bruk av if. Du kan bruke en rekke tester - de står oppført i help-filen (Trykk: F1 i mIRC). Du kan for eksempel benytte == for å finne ut om noe er likt noe annet. Sammen med identifiers (begynner med $) kan du f. eks. teste: if ($nick ison #Hjelp) - Dette vil bli sant dersom $nick er på kanalen #Hjelp. Jeg kan ikke gå i detalj på hva som finnes av tester og identifiers, for da hadde jeg sittet her ut uka. Men fortvil ikke - de er alle beskrevet i mIRC sin hjelp-fil. Er det noe som fortsatt er uklart, eller som jeg bør forklare litt bedre, så send meg en mail.

Skrevet av: Bitterman^