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