eindelijk weer een guide van MIJ je hebt eindelijk mIRC, alles gedownload ect. maar dan het moeilijkste HOE MAAK JE SCRIPTS!? Jij wilt dus leren scripten? neem rustig de tijd en lees alles gewoon door. Je typt Alt + R en je krijgt het script venster voor je. Je ziet dan 5 tabs, klik op remote, het belangrijkste (en leukste) om te scripten. Hier maak ik zo'n beetje 95% van m'n scripts Je reageert hier alleen niet op je eigen scripts om al je scripts in remote uit te zetten typ je /remote off (handig als je bijvoorbeeld een anderre bot hebben, zoals dani|bot) Remote; reageren op iets Je begint hier met het reageren op tekst van andere mensen, want dat wil je natuurlijk. Code: on *:TEXT:welke tekst:waar:{ command } Belangrijk! Als je ergens begint met een {, dan moet je hem weer sluiten met een }. Als je geen { gebruikt, leest ie maar 1 regel, en als je geen } gebruikt. gaat ie tot het einde door. wat voorbeelden: Code: on *:TEXT:*hoi:#:{ command } dan word er gereageert op maakt niet uit wat hier staathoi en in alle channels. Dan reageer je bijvoorbeeld op: hallo, hoe heet jij, hoi maar niet meer op hallo, hoe heet jij, hoi? (Verschil: het vragenteken) Code: on *:TEXT:hoi*:#tzhaar:{ command } dan word er gereageert op hoimaakt niet uit wat hier staat en alleen in #tzhaar. Dan reageer je bijvoorbeeld op: hoi of hoikoorst :p of hoi ik heet daniel Code: on *:TEXT:hoi:#tzhaar:{ command } dan word er gereageert op hoi en alleen in #tzhaar. Als iemand dan bijvoorbeeld hoi ik heet daniel typt, dan reageer jij daar niet meer op Het versturen en de eerste $ commands Oke, je weet nu hoe je zorg dat je botje ergens op reageert. Maar wat moet ik nou precies doen? we waren bezig met Code: on *:TEXT:hoi*:#:{ command } Jij wil dan reageren met, hallo, ik heet naam Daarvoor zijn 2 manieren, manier een: Code: on *:TEXT:hoi*:#:{ msg $chan hallo, ik heet dani_l11 } of Code: on *:TEXT:hoi*:#:{ msg $chan hallo, ik heet $me } De tweede is alweer iets moeilijker.. maar het is opzich bijde heel simpel. De eerste: je reageert op hoi, dan krijg je msg $chan, dat staat voor /msg #tzhaar, als je dan hoi in #th typt, dan staat het voor /msg #th. Dat msg $chan vergeet ik soms ook nog wel is, maar het is heel belangrijk, anders verzend je geen bericht. dat msg $chan hallo, ik heet dani_l11 lijkt me duidelijk. dat msg $chan hallo, ik heet $me iets minder. $me staat voor de naam die ik nu heb, als ik op de chat dan niemand heet, dan stuur ik als bericht: hallo, ik heet niemand. Een nieuw commando, een msg of een notice of iets anders, komt altijd op een nieuwe regel of met een | ertussen. Code: on *:TEXT:hoi*:#:{ msg $chan hallo, ik heet $me msg $chan heet jij $nick $+ ? } is dus hetzelfde als Code: on *:TEXT:hoi*:#:{ msg $chan hallo, ik heet $me | msg $chan heet jij $nick $+ ? } we hebben gelijk weer 1 nieuw $ commands. $nick staat voor de naam die het gebruikt. Als ik dus hoi typ, staat $nick dus voor dani_l11. $+ is gewoon aan elkaar. Want $nick? is geen commando. Dus doe je $nick $+ ?, dan leest ie eerst $nick dat staat dan dus voor Dani_l11, en dan doet ie pas het vraagteken erachter. want heet jij dani_l11 ? staat niet mooi $+ gebruik je ook bij %variables (komen later) en kleurtjes ik krijg dus te zien in de chat als ik hoi typ: hallo, ik heet jou naam heet jij, dani_l11? We gaan weer een klein stapje verder. Code: on *:TEXT:hoi*:#:{ notice $nick hallo, ik heet $me msg $nick heet jij $nick $+ ? } je weet nu waar $nick voor staat.. dus dat is geen probleem meer. notice is ook een soort command, een notice sturen, doe je door /notice een naam tekst dan krijg een soort persoonlijk iets... moeilijk uit te leggen msg $nick is gewoon een pm op de chat. dat commando kan je ook altijd gebruiken door /msg naam text De volgende stap: $1 $2 ect. voorbeeld: Code: on *:TEXT:ik zeg*:#:{ msg $chan $nick zegt $3 $4 $5 } het begin kan je zelf nog wel ontdekken. $3 staat voor het 3e woord in de zin, $4 voor het 4e woord, en wat zal $5 dan zijn? ja idd, het 5e woord. Hiervoor kan je ook $3-5 gebruiken. Code: on *:TEXT:ik zeg*:#:{ msg $chan $nick zegt $3-5 } Dat is dus het 3e tot en met het 5e woord. Maar nog handiger is $3- dan krijg je vanaf het derde woord alle woorden daarachter. Code: on *:TEXT:ik zeg*:#:{ msg $chan $nick zegt $3- } let op maak niet de fout Code: on *:TEXT:ik zeg*:#: msg $chan $nick zegt $1- want dan zal ook ik zeg erbij staan (hier zie je dat ik zonder { en } werk, omdat het niet nodig is, mIRC hoeft tog alleen maar de regel erachter te lezen. Random: $rand(2,5) of $r(2,5) dan kiest mIRC gewoon een getal tussen 2 en 5, je kan natuurlijk ook $r(50,55) Code: on *:text:pwn ik:#:{ msg $nick jij pwnt voor $r(0,100) $+ % $+ !! } er moet nu ook een $+ tussen % en !!, anders leest ie %!!, en dat is een variable (komt later ;) ) reken: $calc(som) Code: on *:TEXT:!reken uit*:#:{ notice $nick $3- = $calc($3-) } Hier sluit ik voorlopig het $ gedeelte af. Dit zijn de gene die je veruit het meeste gebruikt. Als je nog iets wilt weten, kan je altijd gewoon typen /help command voorbeeld: Code: /help $nick , doe dat eerst. Als je er dan nog niet uitkomt, kan je mij een pb hier of op de chat sturen Variables en if varriables zijn van die dingen met %.. en nee, geen halfops variables zijn dingen die iets voor je onthouden. Die kan je kan je maken door in de chat te typen /set %zomaar een naam wat moet die variable "waard" zijn of in het schermpje Variables (waar ook aliases en Remote staan) de variable naam en waarde typen. bijvoorbeeld, Code: if (%variable == 4) { command] } Hier zijn de { en de } ook weer erg belangrijk, anders leest hij alleen de regel die erachter staat.. dat kan je gebruiken als er maar een ding moet gebeuren. Hier gebeurt dus als de waarde van %variable 4 is.. dan gebeurt het command we gaan nu gelijk heel wat stappen verder. We geven een goed voorbeeld van alles, dit is eigenlijk je eerste echt "mooie" script. Code: on *:text:rock ik:#:{ set %rockvar $rand(1,3) if (%rockvar == 1) msg $chan jij rockt egt niet $nick >:) if (%rockvar == 2) msg $chan wrm vraag je dat? kan ik tog niet weten if (%rockvar == 3) msg $chan jaaaa :) natuurlijk unset %rockvar } met unset delete je de variable weer Een counter Een counter maak je ook met variables. Een counter is iedere keer dat het gebeurt is gaat het een omhoog, voorbeeld: Code: on *:TEXT:!zoek*:#:{ inc %zoekding set %zoek $r(1,2) if (%zoek == 1) { msg $chan gevonden :) } else { msg $chan niet gevonden :( } msg $chan ik heb nu %zoekding dingen gezocht!! unset %zoek } inc staat voor iedere keer + 1 dec staat voor iedere keer - 1 inc %zoek 5 staat dus voor iedere keer dat het er staat, + 5 dan gaat je counter dus redelijk snel omhoog je zou ook Code: on *:TEXT:!zoek*:#:{ set %zoekding $calc(%zoekding + 1) set %zoek $r(1,2) if (%zoek == 1) { msg $chan gevonden :) } else { msg $chan niet gevonden :( } msg $chan ik heb nu %zoekding dingen gezocht!! unset %zoek } Dan zet je dus via een calculator iedere keer + 1 erbij, maar dit zou ik niet gebruiken.. want de andere manier is veel sneller Nu een voorbeeld van een redelijk script Code: on *:TEXT:!klik:#:{ inc %teller if (%teller == 1) { notice $nick dit is de eerste keer dat je dit script gebruikt word ;) gefeliciteert! } inc %klikker } on *:TEXT:!killcount:#:{ notice $nick er is wel %klikker $+ keer geklikt!!!!! begrijp je dat ? nee? dan zou ik 't nog maar is goed doorlezen allemaal! Dat waren de variables.. er is nog een iets moeilijkere versie van.. maar die leg ik later in deze guide mischien ooit uit (of de gevordere versie ervan, als die komt ^^) Else en halt Je hebt Code: if ($calc($2-) == 4) { command } als dat NIET zo is.. kan je 2 dingen doen: Code: else { command } of Code: if ($calc($2-) != 4) { command } == staat voor, is gelijk aan else staat voor, anders != staat voor, is niet gelijk aan Wat nou als je meerdere if's wilt? Code: if (%var == 5) elseif (%var == 4) else { command } Dus ALS %var niet 5 is EN niet 4, dan krijg je command Je kan ook doen: Code: if (%var != 5) && (%var != 4) { command } Dit kan ook: Code: if (%var == 5) || (%var == 4) { halt } command dat staat voor: als %var 5 is, OF %var 4 is, dan stopt het script daar als %var dus niet 5 en niet 4 is.. krijg je nog command duidelijk? nee? d8 ik al.. daarom leg ik het hier nog allemaal een keertje uit... als je het al begrijpt, sla het lekker over we willen kijken of $2 niet hoger is dan 5 en niet lager is dan 2, dat kunnen we doen op 2 manieren: manier 1 Code: if ($2 >= 2) && ($2 <= 5) { command } manier 2 Code: if ($2 < 2) || ($2 > 5) { halt } Bij de eerste kijk je of $2 hoger of gelijk is aan 2 EN $2 is lager of gelijk aan 5, als dat zo is, krijg je command Bij de tweede kijk je of $2 lager is dan 2 OF $2 is hoger dan 5 (gebruik hier niet &&, want dan kijk je of $2 lager is dan 2 EN hoger dan 5.. dat kan natuurlijk niet) Als dat zo is.. dan komt halt, en stopt het script Dit waren de elseif, de else en de halt.. Verdere $ commands (gevorderd) $v1 dit gebruik je vaak in while loops enzo dit is opzich nog makkelijk Code: on *:TEXT:!vergelijk*:#:{ if ($2 == $3) { msg $chan $v1 is $v2 } } $v1 staat voor $2 hier (wat voor de == of != of < ect. staat) en $v2 staat hier voor $3 Code: on *:TEXT:niks*:#:{ if ($2 == niks) ik vind het ook maar $v2 } hier staat $v2 dus voor niks ( ($2 == niks) ) je ziet ook dat ik hier niet nog een extra bracket ( { ) gebruikt hebt, omdat de computer tog maar een regel hoeft te lezen) $chr(nummer) Dit staat voor een teken, dat is gewoon heel simpel, als je $chr(3) doet krijg je zo'n blokje van control+K, en als je $chr(32) doet krijg je een spatie (dat zijn de 2 die ik het meest gebruik), dit kan je bijvoorbeeld gebruiken bij $gettok, $replace ect. (leer je straks) $gettok Dit vind ik zelf heel handig, en gebruik ik ook best vaak, het laat je naar een woord in een zin, variable etc. zoeken voorbeeld: nu heeft %var dus de waarde van: dit is gewoon een voorbeeld als je nu //say $gettok(dit is gewoon een voorbeeld,2,32) doet, krijg je: is uitleg: $chr(32) (wat je net geleerd hebt) staat voor een spatie, die 2 staat voor de hoeveelste in de tekst. dus: ditisgewooneenvoorbeeld je ziet dat tussen is en gewoon de 2e spatie in de tekst is. En wat tussen het teken dat gezocht is, en het teken daarvoor is, krijg je. (dit snappen jullie vast niet.. lees daarom het andere voorbeeld) nog een ander voorbeeld: $chr(97) staat voor de letter A $gettok(de hond van de vrouw,1,97) zal niets terug geven, omdat er geen A in staat $gettok(de hond van de vrouw,2,111) zal je "nd van de vr" terug geven, want voor "nd van de vr" staat nog een o, en daar stopt ie dan. als je die 2 voor een 3 vervang, zal die ook niks terug geven. Want er saat geen 3e O in de text $chr(111) staat dus voor een O $replace Dit is ook een vrij makkelijk commando, $replace(lal,a,o) geeft je lol, want van lal, word de A vervangen door een O. $replace(dit vind ik leuk,i,a) geeft je terug: dat vand ak leuk. Met kleuren word het iets moeilijker. $replace(niets,s,9,9) wil niet werken, want er staat een komma te veel in (kijk maar: $replace(niets,s,9,9) want het maakt niet uit of die  ervoor staat) dus moet je een $chr gebruiken. een komma is $chr(44) dus doe je: $replace(niets,s,9 $+ $chr(44) $+ 9) dan doet de computer eer replace, niet9 $+ $chr(44) $+ 9 en dan maakt hij ervan: niet9,9. Ik ga vast nog wel verder, totzover, ik hoop dat jullie het begrijpen, pm me anders maar in de chat Let wel op please, er zijn genoeg bots in #tzhaar, dus ga ergens anders testen/gebruiken Comment please Deze guide is auteurs rechtelijk bescherm, en mag niet gekopieerd worden ! Gebruik alleen voor http://www.TzHaar.nl!