kadangi nemažai žmonių #help ir #irchelp kanaluose dažnai klausia apie skriptų kūrimą, ar tik tam tikrų jo dalių rašymą, aš nusprendžiau šiek tiek apie tai įdėti į šį savo saitą.

Temas rinkausi pagal tai, ko žmonės dažniausiai prašo.

 Pradžia:

 norėdami teisingia skriptą įrašyti į mirc programą, reikia atlikti šiuos veiksmus:

a) Mirc programoje spausti Alt+R.  Ši komanda atidaro skripto rašymo langą.

b) Tada su pele rinktis: File->New. Ši komanda atidaro naują lapą skripto rašymui. Dažnai galima rašyti ir jau esamo skripto pabaigoje. Tačiau reikia žiūrėti, kad nebūtų vienodų įvykių. ( Įvykis tai žodžių kombinacija, kuri prasideda žodeliu "on" ir baigiasi ties antruoju dvitaškiu.

Dabar galite rašyti savo skriptą

Svarbu: rašydami ar nurašinėdami skriptą, būkite labai atidūs, nes papraščiausias vieno skliausto nepadėjimas, gali sąlygoti tai, kad tas skriptas neveiks arba veiks ne taip kaip reikia

 

  Kaip pasidaryti savo SCriptà....:

 TURINYS :


[[1]] pradzia
[[2]] Aliases
[[3]] Popups
[[4]] Remote
[[5]] Variables
[[6]] Aliases pvz
[[7]] Popups pvz
[[8]] Remote pvz

[[9]] Keli naudingi pvz


 Pradzia



a) parsisiunciam mIRC'a .

nauja mIRC versija galima parsisiusti kad ir is geriausiai zinomo http://mirc.com ... (beje ir kituose IRC klientuose galima rasyti savo skriptus ... jie rasosi panasiu principu ... bet mIRC klientas yra pats populiariausias is gausybes ir siulo didziausias galimybes todel retas zmogus raso skriptus kitiems IRC klientams ...)

b) siuksliu isvalymas nr1 .

visu pirma paleide mIRC spaudziam ant [Aliases] ir atsidariusiame lange matome keleta eiluciu pvz : /j /join $1 ... paimam ir jas visas istrinam ... tapati padarom ir [Popups] ir [Remote] ir [Users] ir [Variables] languose ... (paskutiniose 3-juose paprastai ir taip nieko nebuna (naujame mIRC))

c) siuksliu isvalymas nr2 .

ne visi failai pas jus atkeliave su naujuoju mIRC yra reikalingi ... praktiskai net patarciau nedaryti tai ka mes darem b) skiltyje o tiesiog istrinti visus gautus failus isskyrus mirc.exe na dar mirc.hlp (help failas kartais pravercia) ... bet jej norite galite palikti ...

d) trumpai apie "Aliases , Popups , Remote Variables"

languose kuriuos jus katik istrynet tai kas ten buvo ir vyksta mIRC skriptu rasymas ... toliau ir bus paaiskinta kas rasoma i kiekviena is ju ... o kai su jais susipazinsit ... bus galima pradet rasyt ir pacias skripto sudedamasias dalis.


 Aliases


si skiltis kaip sako pats mIRC'o autorius (Khaled Mardam-Bey) padaryta tam kad vartotojas galetu sutrumpinti komandas pvz : visi gerai zinote
/join #[kanalo_pav] komanda ... bet ar nebutu paprasciau rasyt pvz :
/j #[kanalo_pav] ar net /j [kanalo_pav] ? ... tam ir egzistuoja Aliases
pradziai padarykim /join komandos sutrumpinima /j ... tam i Aliases
jums teks irasyt : /j /join $1 ... paaiskinimas : /j <-jusu sugalvota
komanda (tai gali but kad ir "/uzeijt") /join $1 <-komanda vykdoma jums
parasius "/j [zodis]" kur [zodis] turetu buti kanalo pvadinimas pvz :
/j #xebra ... $1 <-rodo kad mIRC turi skaityt pirma (viena) zodi einanti po /j (zodis nuo komandos atskiriamas tarpu) ... na jej gerai supratot judam toliau ir dar tobulinam jau irasyta eilute ... dabar mes turim
/j /join $1 ir tai mums duoda paprastesni /join komandos pavidala
/j #xebra ... bet jej dar truputi pakeistumem jau esama eilute i
/j /join #$1 tada mum ustektu rasyt /j xebra ... tai ir yra pagrindine
Aliases uzduotis patrumpint viena ar daugiau komandu ... t.y. kiekvienai komandai pvz : /join /quit /notice galima parasyt po patogesni atskira sutrumpinima pvz :
/j /join #$1 (uzeit i kaskotaj kanala)
/q /quit $1 (iseit is IRC tariant paskutini zodi)
/miegot /ame eina miegot (visuose kanaluose pasakyt : [jusu_nic] eina miegot) ir t.t. bet nesustojam ties siuo malonumu ir panagrinekim sekancius niuansus :
/j /join $? <-parasius /j (jokio zodzio po j) isoksta uzklausos langas i kuri reikia irasyt pvz : #xebra ... tai galima patrumpint ir padaryt aiskesni i Aliases irasius sekancia eilute : /j /join #$?="i koki kanala einam ?" <-
dabar parasius /j pries jus issoks uzklausos langals su uzrasu 'i koki kanala einam ?' ...

na manau jau zinot kas yra $1 ? o kas yra $$1 arba $$2 ... ogi paprastai jej rasomas $1 komanda vykdoma visada (galimos klaidos) ... jej rasome $$1 tada komanda bus vykdoma tik tada jej $1=zodis ... tai mums pravers truputi
veliau ... o dabar apie sutrumpinimus kurie pvz : parasius /jp [kanalo_pav] ... pvz : vykdo komandas : join #[kanalas] ir uzejus iskart vykdo komanda /say #[kanalas] xelow ... taj daroma irasius : /jp /join #$1 | /say #$1 xelow (cia "|" reiskia ir) tapati galima uzrasyt ir kitaip :
/jp {
join #$1
say $1 xelow }
turbut supratot kad rasoma /[jusu_komanda] { [kiek_tik_nori_komandu] } (tarp figuriniu skliaustu galima rasyti didelius kiekius komandu ... kurios bus vykdomos parasius ta viena vienintele /[jusu_komanda])

toliau apibendrinsiu (jau minetus) ir netaip daznai naudojamus pribumbasus:

$1 ... $[betkox_sk] <-skaito ivestus zodzius ...
$$1 ... $[betkox_sk] <-skaito ivestus zodzius ir nevykdo komandos jei
truksta ivestu zodziu ...
$1-5 ... $[sk1]-[sk2] <-skaito zodzius nuo sk1 iki sk2 ...

dabar apie kaikuriuos bajarius kurie palengvina gyvenima : visi zinote
/mode #[kanalas] +o [nick] (na kas nezino matyt mIRC'e niekad nebuvo ... ;) )
taj sita komanda galima supaprastint iki : /op [nick] bet ji tures but rasoma kanale kur ir ruosiesi [nick] duot op'a ... o taj galima sutrumpint taip : /op /mode # +o $$1 kaip matot # dabar atstoja kanalo pavadinima kuriame rasoma si komanda ... aisku ja dar galima patobulint pvz :
/op /mode # +oooooo $$1 $2 $3 $4 $5 $6 dabar ir pravercia dvigubas $$ zenklas nes dabar parasiu pvz : /op as tu jis ji ... op'us gaus 4-ri zmones ...
/op as tu ... 2-u zmones ... /op as 1-as ;)

toliau apie Aliasses nebesiplesiu (ir taip nemazai) ...
(apie juos dar galit paskaityt mirc.hlp (be to niekaip neapseisit))



 Popups


na si skiltis turbut lengviausiai tvarkosi bet ir sukelia daugiausiai problemu (bentjau man) reikalas tame kad mIRC autorius nusprende leisti skriptininkams tureti savo nuosavus "langelius" t.y. prie [FILE] ... [Tools] [Window] bei [Help] esanciu galima ideti savo pvz : [agurkaz-script] ;) ... beto galima keisti "Status" ... "Nickname list" ... "Query/Chat" bei "Channel" po desnio peles klaviso paspaudimo issokanciu langeliu turini o tai daroma paprastai :

a) uzeinam i [Popups]

b) spaudziam ant [View] ir renkames kuri issokanti langa keisim ...

c) noredami irasyt pvz :

"Query/Chat" isokstanciam langelyje knopke "ignoruoti" i Popups irasom sekancia eilute : ignoruoti:/ignore $$1 zodziu sintakse : [knopkes_pav]:/[komanda] ... beabejo galime kreiptis jau anksciau i Aliases irasytas komandas pvz : i Aliases irasom /i /ignore $$1 tada i Popups "Query/Chat" langa galim irasyt ignoruoti:/i ;) ... savo uzrasymo
rezultatus galime pamatyt paspaude ant [Popup] (net neprisijunge prie ineto)

manau su situo bus aisku ... o toliau dar keletas gana daznai naudojamu mini gudrybiu :

jus norit kad isokstancioj lentelej paspaudus ant "ignoruoti" isoktu sekancios 2-vi (3-ys ar dar daugiau) lenteles t.y:

[ignoruoti]
>---[shita paslemeka]
>---[visus]
[hmm kita komanda]

tai rasos taip :
ignoruoti
.shita paslemeka:/ignore $$1
.visus:/ignore *!*@*
hmm kita komanda:/[kaskokia_komanda]

tarp eiluciu galima irasyt "-" zenkla tada gausis linija isskirtu komandu lentele ... pvz :

[pav]:/[komanda]
-
[pav]:/[komanda]

na tikiuosi viskas daugmaz aisku ... vaziuojam toliau ...

 



 Remote


(na i si skyriu rasos mano nuomone mIRC skripto sunkiausi dalykaj ;) pradedanciam gal ir atrodo baisu ... bet veliau ... zodziu ne apie taj dabar ...)

i si skyriu rasomos reakcijos i isoreje vykstancius veiksmus :

Action, Ban, Chat, Close, Connect, Ctcp, CtcpReply, DccServer, DeHelp, DeOp,  DeVoice, Dialog, Dns, Error, FileRcvd, FileSent, GetFail, Help, Hotlink, Input, Invite, Join, KeyDown, KeyUp, Kick, Load, MidiEnd, Mode, Mp3End, Nick, NoSound, Notice, Notify, Op, Open, Part, Ping, PlayEnd, Quit, Raw, RawMode, SendFail, Serv, ServerMode, ServerOp, Snotice, Start, Text, Topic, UnBan, Unotify, UserMode, Voice, Wallops, WaveEnd (gana ispdingas saraselis ;) )

apie tai geriausia kalbet rodant skriptu pavyzdzius ... o kolkas parodysiu viena kaip pavizdi :

on *:NICK: {if($nick==$me){ echo $nick tapai $newnick }}

sis trumpas skriptukas jum pasikeitus nick pasako jum : "[buves_jusu_nick] tapai [naujas_jusu_nick]" (sio skripto aisku niekur neprireiks ... bet tikiuosi minti supratot)

 

 


 Variables


taip taip taip as praleidau Users ... apie tai geriau paskaitykit mirc.hlp'e (nes taj nera labaj jau reikalingas dalykas rasant skriptus)

taigi tiesiogiai i Variables paprastai niekas neraso ... tai yra tiesog vieta kur saugomi kintamieji naudojami skriptuose ... pvz : i Aliases irasom : /j /set %kanalas $$?="kanalas ?" | /join %kanalas ... ir siuo atveju i Variables bus irasyta %kanalas [ivestasis_kanalas] ... tai gali praversti ten kur prireikia issaugoti kintamaji kad veliau galima butu ji panaudoti ... %[zodis] <-rodo kad tai kintamasis ...

/set %[kint_pav] <-nustato %kint_pav reiksme ivestam zodziui ...
unset %[kint_pav] <-istrina %kint_pav reiksme ... si komanda gali but
panaudota ivairiai pvz :
/unset %as <-istrina %as
/unset %*as <-istrina visus esancius %[betkas]as
/unset %as* <-istrina visus esancius %as[betkas] toliau ...
/unsetall <-istrina visus %[betkas] ... (/unset %*)
/inc %[kint] [skaicius] <-padidina %[kint] nurodytu [skaicius]
/dec %[kint] [skaicius] <-pamazina ...

na manau teorijos pradeti savo skripto rasymui pakaks ...

 

 

 

keli naudingi  pvz

 

1. Apsauga nuo bano.

on *:BAN:#: {
   if ( $mask($banmask,5) iswm $address($me,5) ) {
      if ( $me isop $chan ) && ( $nick != $me ) {
           /mode $chan -o $nick
           /mode $chan -b $banmask
      }
      else .msg chanserv unban $chan
   }
}

2. Apsauga nuo opo nuėmimo.

on *:DEOP:#: {
   if ( $opnick == $me ) .msg chanserv op $chan
}


3. Šita dalis pravers ir patiems helperiams:]

trumpas aprašymas: šis skriptas leidžia ignoruoti privačius pokalbius, tačiau netrukdo šnėketis su tais žmonėmis, kurie yra userių sąraše.

šita dalis dedama į Popups->Nick list

Ignores:
.Add: {
/auser 3 $address($snick($chan,1),1)
.ignore -rp $address($snick($chan,1),1)
}
.Del: /ruser $address($snick($chan,1),1)
.List: /ulist >2
.Status:
..ON: %iu = 1
..OFF: %iu = 0
..SHOW: {
if ( %iu == 1 ) echo -a Ignoras ijungtas
else echo -a Ignoras isjungtas
}

šitą dalį dėti į remote:

on *:TEXT:*:?: {
if ( $ulevel < 3 ) && ( %iu == 1 ) {
.ignore -pu120 $address($nick,1)
.closemsg $nick
.notice $nick Sorry, I don't receive querys at this moment!
/halt
}
}

ir paskutinioji į variables:

%iu 0