mIRC Script Yazılımı ( Yeni başlıyanlar için )

Diğer tüm sohbet programları ya da uygulamaları hakkında tartışmalarınız, sorunlarınız ve görüşleriniz.
Cevapla
Kullanıcı avatarı
Enchanting
Best of TurkiyeForum
Best of TurkiyeForum
Mesajlar: 7916
Kayıt: 09-06-2005 14:13
Konum: Ankara

mIRC Script Yazılımı ( Yeni başlıyanlar için )

Mesaj gönderen Enchanting »

;--------------------------------
; Dialog Yardım Dosyası
; Written by Furkan - GoLGE_
;
; ARALIK - 2005
;--------------------------------

;------------------------------
; Ornek dialog penceresi
; Coded by Furkan - GoLGE_
;------------------------------

dialog Ornek {
title "Örnek - Dialog'un Title kısmı..."
size -1 -1 134 216
option dbu
icon C:\resimlerim\banner.jpg, 1
edit "EDIT", 1, 70 16 50 10, limit 34
text " TEXT", 2, 10 17 31 8
list 3, 9 30 50 44, sort size extsel hsbar vsbar
combo 4, 63 30 60 45, sort size edit hsbar vsbar drop
box "BOX Texti...", 5, 5 3 122 83
radio "Radyo Düğmesi", 6, 8 90 50 10, group flat left push
check "Check düğmesi", 7, 8 102 50 10, 3state flat left push
tab "Tab 1", 8, 6 116 118 77
icon 9, 17 140 98 42, C:\resimlerim\deneme.bmp, 1, tab 8 noborder bottom
button "Button", 10, 67 91 55 20, default flat multi
link " Coded by Nickiniz", 11, 36 200 66 8
}

Alias Ornek { dialog -m ornek ornek }

;------------------------------------------------

Bu dialog da hemen hemen bütün dialog elemanları tanıtılmıştır. Code kısmını mirc'in remotesine yapıştırıp "/ornek" yazarak dialog'u açabilirsiniz fakat iconlar hata verebilir o yüzden icon ların bulunduğu satırları ya kendinize göre ayarlamanız yada silmeniz önerilir.
Şimdi sırayla bunların ne anlama geldiklerini ve nasıl çalıştıklarını anlatmaya çalışayım.

:::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::
DIALOG ELEMANLARI

::: Size :::
Size [X] [Y] [W] [H]

Dialog'un boyutlarını belirler 4 parametresi vardır.
ilk iki parametre genelde -1 olarak kullanılır. Bu şekilde kullanıldığı zaman dialog penceresinin ekranın ortasında açılmasını sağlar. Eğer siz buraya başka değerler girerseniz girdiğiniz değerlere göre ekranın belirli bir bölgesinde açığa çıkar.
3. [W] parametresi soldan sağa ne kadar boyutta olduğunu gösterir.
4. [H] parametresi de yukarıdan aşağıya ne kadar boyutta (büyüklükte) olacağını gösterir.

::: Title :::
Title "yazı..."
Dialog pencresinin en üst bandında (Titlebar) yer alan yazıyı kontrol etmek için kullanılır.

::: Edit :::
edit "yazı..." [N], [X] [Y] [W] [H], [read | pass | multi | return | autohs | autovs | hsbar vsbar | limit N ]
Dialog penceresinde bir satır meydana getirmek için kullanılır. Yalnız bu ve bundan sonra anlatacağım dialog elemanlarının index numaraları vardır. Yani her eleman kendisini tanıtan bir sayıya eşdeğerdir. Dialog komutlarında bu sayı ile tanınır. Yukarıda verdiğimiz örnekte edit in index numarası 1 dir. 1 den sonra görüleceği üzere yine 4 tane parametre mevcuttur. Bundan sonra gelen parametreler Dialog penceresine yerleştireceğiniz elemanın görünümü ve değişik kullanımları ile alakalı parametrelerdir.

Örneğin...
read; edite bir yazı girilmesini engeller. Sadece editteki yazıyı okuyabilirsiniz.
pass; edit'e girilen bir sayının *** şeklinde gözükmesini sağlar. Onu gizler.
multi; editte normalde 1 satır vardır. editi 1 den fazla satır halinde kullanmak için bu parametre kullanılır. vs.

::: Text :::
Text "yazı..." [N], [X] [Y] [W] [H]
Dialog penceresine yazı yazmak için kullanılır.

::: Button :::
Button "yazı..." [N], [X] [Y] [W] [H], [ default | flat | multi | OK | CANCEL ]
Dialog'da button oluşturmak için kullanılır.

Flat; Button görünümü ile alakalıdır.
Default; Buttonun dialog penceresi açıldığı andan itibaren üstünde bir karatı gözükmesi olayıdır. Yani diğer elemanlardan daha aktif bi şekilde gözükür seçiliymiş gibi görünür. O durumu bozmadığınız sürece Enter'a bastığınız zaman o butona basmış olursunuz.

::: List :::
List [N], [X] [Y] [W] [H], [ sort | extsel | hsbar | vsbar | size ]
Dialog da Listeler oluşturmak için kullanılır.Bilinen [N], [X] [Y] [W] [H] parametrelerinin dışında [ sort | extsel | hsbar | vsbar | size ] gibi parametreleri mevcuttur.

Sort; Listeye girilen yazıların listede alfabetik sırayla düzenlenmesini sağlar.
Extsel; Listede birden fazla seçim yapmanıza imkan sağlar.
hsbar & vsbar; Liste kontrolü için sağdan sola ve aşağıdan yukarıya scrolleri etkinleştirir.
size; Bu da sanırım listenin boyutu ile alakalı bir parametre ama tam olarak ne oldugunu bilmiyorum. Ama listelerin hemen hepsinde var.

::: Combo :::
Combo [N], [X] [Y] [W] [H], [ sort | size | edit | hsbar | vsbar | drop ]
Dialog da aktif bir edit elemanı oluşturmak için kullanılır. 2 kullanımı vardır.
1.si Liste şeklinde olanıdır. Üstte bir satır altta bir liste şeklinde...
2.si Tıklandığında aşağıya açılabilen bir edit görünümündedir. İçinde bir çok satır barındırır.

Bu özellikleri "drop" parametresi ile belirlenir. Eğer drop u kullanırsanız. Combo'nuz 2. tipte çalışır.
List'in parametreleri ile aynı olan parametreler List'deki görevler ile aynı görevleri yapar.
Edit; Combo da seçilen bir satırın kontrol edilebilmesi için kullanılır. Yani eğer bu parametre kullanılmamışsa combo daki satırları kullanıcı değiştiremez. Ona sadece seçenekler sunarsınız. Eğer edit kullanılırsa combo içindeki bir satırı kullanıcıya da değiştirtebilirsiniz.

::: Box :::
Box "yazı..." [N], [X] [Y] [W] [H]
Dialog elemanlarını bir çerçeve içinde toplamak için kullanılır.

::: Radio :::
Radio "yazı..." [N], [X] [Y] [W] [H], [ group | flat | left | push ]

Bir kez tıklandığında ancak grup içerisinde başka radyo düğmesi var iken değeri değişebilen bir elemandır. Seçenekler için kullanılır. Örneğin, kullanıcı birçok seçenek içinden sadece 1 tane veya sadece belirli sayıda seçeneği seçebilecek durumdaysa Radyo düğmesi kullanılır.

Group; Birçok seçeneği grup halinde toplamak ve kullanıcıya bunlardan sadece 1 tanesini seçtirmek için kullanılan bir parametredir. Group içinde bulunan radyo düğmelerine tıkladığınızda sadece 1 i tıklı gözükür diğerine tıkladığınız zaman tıklı gözüken radyo düğmesi boş olur. Böyle bir düzeneği ancak group parametresi ile sağlayabilirsiniz.

Flat; Radyo düğmesinin görünümü ile alakalı bir parametredir.
Left; Bu parametreyi kullanmazsanız, Tıklanacak kısım solda yazı kısmı sağda olacak şekilde bir Radyo düğmesi oluşturmuş olursunuz. Eğer bu parametreyi kullanısanız yazı kısmını sola, tıklanacak kısmı da sağa çekmiş olursunuz.
Push; Radyo düğmesinin Button gibi gözükmesini sağlar. Yalnız button dan farklı olarak basıldığı zaman basılı kalır. Ve group içinde aynı radyo düğmesi gibi davranır.

::: Check :::
Check "yazı..." [N], [X] [Y] [W] [H], [ 3state | flat | left | push ]

Seçeneklerin aktif olduğunu göstermek amacıyla kullanılır. Yani bir seçeneği seçtiğimizi belirtmek için kullanabiliriz. Radyo düğmesi ile biraz benzerlik göstermektedir.Fakat Tek bir Radyo düğmesi tıklandığında değeri değişemezken bir check düğmesinin değerini istediğimiz gibi değiştirebiliriz. Yani tıklı halden boş hale, boş halden tıklı hale geçirebiliriz. Radyo düğmesi ile aynı olan parametreleri aynı görevleri yaparlar.

3state; Görünüm ile alakalı bir parametredir.

::: Icon :::
1] icon [Dosya yolu], [Index]
2] icon [N], [X] [Y] [W] [H], [Dosya yolu], [Index], [ noborder | Left | Right | bottom | Top | Center ]

Bu dialog elemanının 2 kullanım şekli vardır.
1.si Dialog penceresinin title barda yer alan (sol üst köeşedeki) iconunu kontrol etmek için kullanılır.
2.si Dialog penceresine bir resim eklemek için kullanılır.

Left | Right | bottom | Top | Center ; parametreleri icon elemanının [X] [Y] [W] [H] değerleri ile oluşturulan alanda nasıl yerleştirileceği ile ilgili olan parametrelerdir.

[Index] i tam olarak bilmiyorum.Ama genelde sıfır olarak kullanıyorum.

::: Tab :::
Tab "yazı...", [N], [X] [Y] [W] [H]

Dialog penceresindeki alanı kullanma açısından büyük faydalar sağlar.Aynı alanda birçok elemanı tab ile kullanabilirsiniz.Burda dikkat edilmesi gereken husu şudur: Tab içinde kullandığımız herhangi bir dialog elemanının parametresine "tab [N]" i eklemeliyiz.

Örneğimizde de görüleceği üzere;

icon 9, 17 140 98 42, C:\resimlerim\deneme.bmp, 1, tab 8 noborder bottom

9 numaralı icon elemanı 8 numaralı tab içinde kullanıldığı için sonuna "tab 8" gibi bir parametre konulmuş.Bu 9 numaralı icon elemanının sadece 8 numaralı tab içerisinde aktif olacağını ifade eder.

::: link :::
Link "yazı...", [N], [X] [Y] [W] [H]
Link oluşturmak için kullanılır.Tek başına çalışmaz.Aktif olması için kod gerekir.



:::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::
DIALOG OLAYLARI (DIALOG EVENTS)

on 1:dialog:DialogIsmi:Olay(Event):[N]: { ...kodlar... }
On 1:dialog:isim:INIT:0:{ ...kodlar... } ;>> Buradaki dialog olayı INIT'dir Dialog'un ilk gösterildiği anda nelerin yapılaması gerektiği buraya yazılır.
On 1:dialog:isim:CLOSE:0:{ ...kodlar... } ;>> Dialog kapanırken nelerin yapılması gerektiği buraya yazılır.
On 1:dialog:isim:EDIT:[N]:{ ...kodlar... } ;>> [N] numarasına sahip bir edit veya combo elemanının içinde bir değişiklik yapıldığı zaman ne yapılması gerektiği buraya yazılır.
On 1:dialog:isim:SCLICK:[N]:{ ...kodlar... } ;>> [N] numarasına sahip bir elemanın üzerinde tek bir tıklama yapıldıgı zaman ne yapılacağı buraya yazılır.
On 1:dialog:isim:DCLICK:[N]:{ ...kodlar... } ;>> [N] numarasına sahip bir elemanın üzerinde çift tıklama yapıldıgı zaman ne yapılacağı buraya yazılır.
On 1:dialog:isim:MENU:[N]:{ ...kodlar... } ;>> Menu'de bir seçenek seçildiği zaman ne yapılacağı buraya yazılır.
On 1:dialog:isim:SCROLL:[N]:{ ...kodlar... } ;>> Dialogda kullanılan bir [N] numarasına sahip elemanın scroll'unun pozisyon değiştirmesi durumunda yapılacak olan işlemler buraya yazılır.

::: Mouse Event'ları :::

on 1:dialog:isim:MOUSE:[N]:{ ...kodlar.. } ;>> Mouse [N] numaralı elemanın üzerine geldiğinde yapılacak işlemler...
on 1:dialog:isim:sclick:[N]:{ ...kodlar... } ;>> Mouse un Sol tuşuyla [N] elemanına tıklanırken yapılacak işlemler...
on 1:dialog:isim:uclick:[N]:{ ...kodlar... } ;>> Mouse un sol tuşuyla [N] elemanına tıklandıktan sonra yapılacak işlemler...
on 1:dialog:isim:dclick:[N]:{ ...kodlar... } ;>> Mouse ile [N] elemanına çift tıklandığında yapılacak işlemler...
on 1:dialog:isim:rclick:[N]:{ ...kodlar... } ;>> Mouse un sağ tuşuyla [N] elemanına tıklandığında yapılacak olan işlemler buraya yazılır.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;
DIALOGLARDA BAZI ALIASLAR

::: /Dialog Komutu :::

/DIALOG -mdtsonkcvie Dialog ismi [Dialog ismi] [X] [Y] [W] [H] [yazı...]

Dialog penceresinde kullanılan bu komutun parametrelerinin neler olduğuna bir bakalım.

/dialog -m [Isim] [Isim] ;

/dialog -a ... ; Dilaog penceresini aktif windows penceresinde >açmak< için kullanılır. (-m ile beraber kullanılır. "/dialog -ma [isim] [isim]" şeklinde...)

/dialog -v [Isim] ; Dialog penceresini aktif windows'a >taşımak< için kullanılır. Tek başına kullanılabilir. -a dan bu yönüyle farklıdır.

/dialog -x [isim] ; Dialog penceresini kapatmak için kullanılır.

/dialog -d ... ; Dialog penceresi normalde "-m" ile açıldığında sağ üst köşesinde sadece X gibi bir işaret vardır ve programı ordan kapatırsınız.Eğer dialog pencerenize "Simge Durumuna Küçült" özelliği katmak istiyorsanız -m ile bir likte "-md" şeklinde bir parametre kullanırsınız.

/dialog -t [Isim] Yazı... ; Dialog penceresindeki titlebar da bulunan yazıyı bu komutla kontrol edebilirsiniz.

/dialog -s [Isim] [X] [Y] [W] [H] ; Dialog penceresinin boyutlarını kontrol etmek için kullanılır.

/dialog -r [Isim] ; Dialog penceresini ekranın ortasına taşır.

/dialog -o [Isim] ; Dialog penceresini windowsda çalışan tüm pencerelerin üstünde tutmak için kullanılır. (On Top)

/dialog -n [Isim] ; Bundan bir önceki komutun "/dialog -o [Isim]" in tam tersi işlemi yapar.

/dialog -k [Isim] ; Dialog içindeki bir "OK" parametresine sahip tuşa (Button'a) basma işlemini gerçekleştirmek için kullanılır.

/dialog -c [Isim] ; Dialog içindeki bir "Cancel" parametresine sahip tuşa (Button'a) basma işlemini gerçekleştirmek için kullanılır.

/dialog -i [Isim] ; Dialog penceresi "-md" parametresiyle açılmışsa yani "Simge durumuna Küçült" özelliği varsa o dialog u simge durumuna küçültmek için kullanılır.

/dialog -e [Isim] ; Yine Dialog penceresi "-md" parametresiyle açılmışsa yani "Simge durumuna Küçült" özelliği varsa o dialog u simge durumundan kurtarıp aktif ekrana taşımak için kullanılır.


::: /DID Komutu :::

/did komutu dialog penceresi açıldıktan sonra yapılacak işlemleri için anahtar bir komuttur.

/did -ftebvhnmcukradiogj [Isim] [N] [Sayı] [Yazı... | DosyaYolu...]

/did -f [Isim] [N] ; Bir dialog elemanını aktif etmek için kullanılır. Bu özellik bir pencerenin diğer bir pencere üzerinde daha aktif olması gibi birşey. Bir dialog elemanı diğer elemanlardan daha aktif gözükür. Deneyerek görebilirsiniz.

/did -t [Isim] [N] ; Bir dialog butonunu default buton yapmak için kullanılır. Default button Dialog elemanlarında anlatılmıştı.

/did -b [Isim] [N] ; Bir dialog elemanını ([N] numarasına sahip olan elemanı) çalışamaz hale getirmek ve üzerine donmuş gibi bir görüntü vermek için kullanılır.

/did -e [Isim] [N] ; "/did -b ..." deki etkiyi kaldırmak için kullanılır.

/did -h [Isim] [N] ; Bir dialog elemanını dialog penceresinden silmek için kullanılır.

/did -v [Isim] [N] ; Dialog penceresinden silinmiş (did -h ... uygulanmış) bir elemanı tekrar görünür kılmak için kullanılır.

/did -c [Isim] [N] ; Dialog penceresinde kullanılan elemanlardan, check düğmesi ve radio düğmesinde tıklama işlemini gerçekleştirmek için List ve Combo da ise belli bir satırın aktifleştirilmesi (seçili hale gelmesi) için kullanılır.

/did -u [Isim] [N] ; "/did -c ..." işlemininin tersini yapar.

/did -r [Isim] [N] ; [N] numarasına sahip dialog elemanındaki bir text'i silmek için kullanılır.

/did -a [Isim] [N] ; [N] numarasına sahip dialog elemana bir text girmek için kullanılır.

/did -d [Isim] [N] [sayı] ; [N] dialog elemanında [sayı]. satırın silinmesi işlemini yapar.

/did -i [Isim] [N] [sayı] ; [N] dialog elemanında [sayı]. satıra text girilmesi işlemini yapar.

/did -o [Isim] [N] [sayı] ; [N] dialog elemanında [sayı]. satırdaki textin değiştirilmesi işlemini yapar.

/did -g [Isim] [N] [sayı] [Dosya Yolu] ; [N] dialog elemanındaki bir resim yada iconun değiştirilmesi için kullanılır.


/did komutunu birçok dialog elemanı için aynı anda tek komutta kullanabilirsiniz bunun için eleman numaraları arasına virgül koymalısınız. Örneğin "/did -b Ornek 1,2,3,4 " gibi...

:::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::
DIALOGLARDA BAZI IDENTIFIERLARI

::: $dialog() Identifier'ı :::

$dialog([Isim]/[Sayı])
En basit haliyle dialog içindeki bilgileri çekmek kullanılır. Örneğin "$dialog(ornek) = Ornek" ise o dialog mirc içinde açık demektir.Bunun tersi durumda $dialog(Ornek) = $null olacaktır. ($null Boş demektir.) Şimdi de $dialog identifierının parametrelerini görelim.

$dialog(Isim).x , $dialog(Isim).y , $dialog(Isim).w , $dialog(Isim).h ; Dialog penceresinin pzoisyonları hakkında bilgi verir.

$dialog(Isim).cw, $dialog(Isim).ch ; Dialog penceresinin boyutları hakkında bilgi verir. (En ve Boy)

$dialog(Isim).title ; Dialog penceresinin titlebar'ında yazan yazıyı ifade eder.

$dialog(Isim).table ; Bu identifier eğer "Isim" e eşitse o dialog o an kullanılıyor demektir.

$dialog(Isim).Ok ; Dialog içinde button parametresi "OK" olan bir button seçildiyse onun [N] eleman numarasını verir.

$dialog(Isim).cancel ; Dialog içinde button parametresi "Cancel" olan bir button seçildiyse onun [N] eleman numarasını verir.


::: $did([Isim],[N],[Sayı]) identifier'ı :::

Bu identifierlar eğer dialog eventlarında kullanılıyorsa çoğunda "Isim" kısmı yazılmaz. Ama eğer event dışında kullanılacaksa mutlaka "Isim" kısmı yazılmalıdır.

$did([N]) ve $did([N]).text ; Bu iki identifier aynı görevi görür. [N] numarasına sahip bir elemanın içindeki yazıyı ifade eder.

$did([N],[Sayı]).Len ; [N] numarasına sahip dialog elemanının [Sayı]. satırdaki yazının karakter sayısını verir.

$did([N]).Lines ; [N] elemanının barındırdığı toplam satır sayısını verir.

$did([N],[Sayı]).sel ; [Sayı] , sıfıra eşit değilse, [N] elemanındaki seçili satırın kaçıncı satır olduğunu verir. Eğer [Sayı] sıfır alınırsa [N] elemanında seçili olan toplam satır sayısını verir.

$did([N]).seltext ; Eğer eleman Edit ise editte seçili olan yazıyıi, Liste elemanında ise listede seçili olan satırdaki yazıyı verir.

$did([N]).selstart ; Edit te seçili olan bir yazının başlangıç karakterini verir.

$did([N]).selend ; Edit te seçili olan bir yazının son karakterini verir.

$did([N]).edited ; Eğer başlangıçta editte yazılan yazı değişmişse "$did([N]).edited = $true" olur. Eğer değişiklik yoksa "$did([N]).edited = $false" olur.

$did([Isim],[N]).state ; Check veya Radyo Düğmesinin tıklı olup olmadığı hakkında bilgi verir. Bu değer 1 e eşit se check düğmesi veya radyo düğmesi tıklı demektir.1'e eşit değilse tıklı olmadığı anlamına gelir. Eğer bu değer 2 ye eşitse tıklı olup olmadığı belirsiz anlamına gelir.


$did([Isim],[N]).enable ; Eğer [N] numaralı eleman kullanılabilir bir durumda ise (yani "/did -b ..." ile kullanılamaz hale geitirilmemiş ise) bu identifier $true ya eşit olur. Aksi halde $false'a eşit olur.

$did([Isim],[N]).visible ; Eğer [N] numaralı dialog elemanı görünür durumda ise (yani "/did -h ..." ile görünemez hale getirilmemiş ise) bu identifier $true ya eşit olur. Aksi halde $false'a eşit olur.

----------------------- .:: SON ::. -----------------------

mIRC Script ile ilgili sorularınız varsa bu başlık altından yazın , elimden geldiği kadarıyla yardımcı olmaya çalışırım.
bir gün ve gerçekten, her şey çok güzel ölecek!
OperatoR
New Friend
New Friend
Mesajlar: 3
Kayıt: 15-04-2005 00:04

Mesaj gönderen OperatoR »

artık şimdi dilaog studios yada editor programları çıktı :) kutucukları butonları ordan oluşturabiliyorsun kodlarla uğraşmana gerek yok ..
Kullanıcı avatarı
Holyzone
Slow Friend
Slow Friend
Mesajlar: 42
Kayıt: 23-05-2006 11:48
Konum: Istanbul
İletişim:

Mesaj gönderen Holyzone »

mIRC Scriptting ile ilgili başka konu yok :) buraya atalım bari..

Bilindigi üzere mIRC'ye gelen tüm mesajlar DEBUG ile cözümlenir vede aynı sekildede görülür, bu noktada gelen mesajları mIRC'nin eventlarına bagımlı kalmaksızın Socket mantıgı ile Script yazabilirsiniz..

Debug neden gerekli;

Örnegin mIRC bir takım mesajları göstermez /raw PRIVMSG #deneme :ACTION gibi karakterleri text eventlarının bazıları göstermez, bu sekilde bir cok sunucuda saldırılara maruz kalmıstır vakti ile mIRC göremedigi içinde korumalar algılamıyordu.

Bunlar gibi bir cok amaç için Debug bize yol gösterebilir sizlere örnek teşkil etmesi sebebiyle aşağıda bir örnek veriyorum bu sekilde Hiç eventsız Scripting yapabilir üstelik pencereleride kullanabilirsiniz, tek bir alias ile komple script yazmak ve socket' lerin aksine identifier ve pencereleride kullanabilirsiniz.

Kolay gelsin..

Kullanım /Codebug

Code:

alias Codebug { debug -i cocode cocodebug }

alias Cocodebug {

if (!$window(@Recode)) { window -en @Recode }
echo @Recode 4: $1-

tokenize 32 $1-
if ($3 == 353 ) {
echo $6 $+(:,$6) kanalına girdiniz.
var %nicks $replace($remove($7-,:),$chr(32),$+(4,$chr(44),))
echo $6 :nickler: %nicks
echo $6 :OPlar: $numtok($7-,@)
echo $6 :Toplam: $calc($count($7-,$chr(32)) + 1)

}
}
işte ben :P
http://www.turkiyeforum.com/album_personal.php?user_id=14635
Kullanıcı avatarı
Holyzone
Slow Friend
Slow Friend
Mesajlar: 42
Kayıt: 23-05-2006 11:48
Konum: Istanbul
İletişim:

Mesaj gönderen Holyzone »

Event nedir ? Eventler nasıl kullanılır..

Event Dersleri ;

;############;
;written By LeadeR ;
;############;

Connect & Disconnect ;
******************
Connect ;

on *:connect: { ( connect ) olarak adlandırdığımız event ( bağlanınca aktif olur ) disconnect bağlantı kopunca
Örneğin;
Ben diyorum ki bir sunucuya bağlandığımda direkt olarak #Holyzone kanalına gireyim nasıl yapacağım ?


Kod:
on *: connect: {
join #Holyzone
}
*****************

Disconnect ;

Disconnect ( Kelime )'de belirtildiği gibi bağlantının sona ermesidir , ve event 'i = on *:disconnect: { 'dir..

Orneğin ;
Bağlantım kesildiğinde ( Disconnect ) olduğumda , nick'imi otomatik olarak önce Holyzone yapacağım daha sonra , irc.abcdef.com adresine bağlanıp , #asdasd kanalına gireceğim


Kod:
on *:disconnect: {
.nick Holyzone
.server irc.abcdef.com
.join #asdasd
}

Dikkat edilmesi gereken hususlar . = Nokta , niçin nokta kullandım ( Nokta kullandığınızda yaptığınız işlem status ekranında belirtilmez ) Yazdığınızı görmezsiniz ( . ) yerine ( / ) kullanmış olsa idiniz , nick değişimini server'a bağlantı kurulumunu göz önünde görürdünüz..

***********************

Op & Deop ;

Op ( event = on *:op:#: { )

Yukarda vermiş olduğum örneklerde'de olduğu burada da kullanacağımız event on *:op:#: { , buradaki farklılık ( # ) isareti yani kanal işaretidir.. , neden kullandım ? Op(@) kanal komutları ile alakalı olduğu için event'imizi buna göre düzenledim , eğer bu event'im başına # isaretini koymamıs olsa idim kod calısmazdı , lütfen kücük noktalara dikkat edelim..

; Orneğin ;
Birisi bulunduğum kanalda bana op verir ise , kanala nick'e hitaben seslenip neden op verdin diyeceğim nasıl yapacağım ?


Kod:
on *:op:#: {
if $opnick == $me {
msg # $nick Neden op verdin ?
}
}

Burada $opnick == $me ( if - then - else , dersimde de belirttiğim gibi == eşitlik demektir ) $opnick ( Op olan nick ) Eşittir ( Benim Nick'ime )
eğer op olan nick ben isem {
olarak düşünmelisiniz.. ( if = eğer )

Deop ;

Burada kullanacağımız mantık bütün event'lerde olduğu gibi aynıdır.. on *:op:#: { event'inde kullandığımız gibi burada da on *:deop:#: { kullanacağız.. $opnick yine aynı kalacaktır..

Orneğin ;
Op olarak bulunduğum kanaldan deop edilir isem beni deop eden nick'e mesaj göndersin ( neden deop ettin ? ) olarak..


Kod:
on *:deop:#: {
if $opnick == $me {
msg # $nick Neden beni deop ettin ?
}
}

Daha fazla bir acıklama gerek duymadım bu event'imiz hakkında..

*******************

Voice & Devoice

Voice ; ( event = on *:voice:#: { )

Hepsinde olduğu gibi mantık yine aynıdır , tek bir örnek ile gececeğim
Orneğin ;
Kanalda voice ( +v ) aldığımda kanala Selam yazısı gönderecek , op voice teşekkür addon'larının mantığı'da buradan gelmektedir..

Kod:
on *:voice:#: {
if $vnick == $me {
msg # $nick Selam
}
}

Gördüğünüz gibi , daha fazla konuşmaya gerek yok sanırım..

****************

Join & Part

Join ; ( event = on *:join:#: { )

Not : join ( giriş ) anlamı taşımaktadır , kanal ile alakalı olduğundan ötürü event'lerinde # mevcut'tur.
Kısa kısa gececeğim ,

Orneğin ;
Birisi kanala girdiği zaman kanala kişiye hitaben seslenerek selam kanala hosgeldiniz yazmasını istiyorum


Kod:
on *:join:#: {
msg # $nick Kanala hoşgeldiniz
}

*****

Part ; ( event = on *:part:#: { )

Not : Part(çıkış) anlamı taşımaktadır # mevcut'tur..
Orneğin ;
Birisi kanaldan cıktığında kişiye Tekrar bekleriz mesajı göndereceğim nasıl ?


Kod:
on *:part:#: {
msg $nick Tekrar bekleriz
}

Burada ( # ) isaretimizi tek bir kanal için sabitlemek istiyorsak , Orneğin : Komutun Yalnızca #turkcoders kanalında islemesini istiyorsanız.
on *:part:#turkcoders: {
olarak event'imizi kodlamaya başlayacağız..

*****************

Ban & Kick ;


Ban ;
Hepiniz ban ( +b )'nin ne işe yaradığını biliyorsunuz , bu event'imiz ( on *:ban:#: { ) Yalnızca kanalda +b modu gerceklestiğinde aktif olmaktadır..

Orneğin ;
Kanaldan birisi beni banlarsa otomatikman ban acılsın ve nick'e sakın beni banlama mesajı gitsin..

on *:ban :#: {
if ($bnick == $me ) {
mode # -b $me
msg $nick Beni banlama sakin
}
}

****************

Kick ;

Kick bildiğiniz gibi kanaldan atmaktır yani birisi kanaldan atıldığında aktif olur
Örnek : Birisi beni kicklemeye kalktığında beni kicklemeye calısanı ben Beni kickleme sebebi ile kickban atmak istiyorum nasıl yapacağım?

on *:kick:#: {
if ($knick == $me ) {
join #
chanserv op $me
mode # +b $nick
kick # $nick Beni kickleme
}
}

mantık aynıdır ( $knick = kicklenen nick )

***************

Notice & Snotice(Status Notice)


Notice ;

Mantık diğerlerinde olduğu gibi bundada aynı ,
Orneğin ;
Birisi size notice attığında neden notice atıyorsun mesajı göndersin


Kod:
on *:notice: {
msg $nick Neden Notice Atıyorsun ?
}

*******

Snotice ;

Snotice'e bir örnek vereyim bu genellik ile sorulan sorulardan birisidir ben bir IRCOP'um ve birisi bana whois cektiğinde önce benim
ekranıma xxx nickli kisi whois cekti diye bir mesaj gelsin sonra o bana whois cekene Merhaba ben xxx size nasıl yardımcı olabilirim diye
Mesaj atsın nasıl yapacağım ?


Kod:
Kod:

on *:snotice:*/whois*on*you*:{ echo -a $2 Size Whois Cekti msg $2 Merhaba ben xxx size nasıl yardımcı olabilirim ? }

*********************

Action ;

action nedir ? birisi kanalda veya özelde /me kullandığında uygulanmasını istediğiniz event baslangıcıdır yani /me 'ler icin kullanılır
Ben diyorum ki kanalda birisi /me ile selam yazdı ise o nick'e uyarı yapsın uyarı'da ne desin diyelim ki len me ile yazma desin , Nasıl
yaparım?


Kod:
on *:action:#: {
if selam isin $1- {
msg $nick len me ile yazma
}
}

************

Text & Start & Open

Text ;

Text aktif olarak bulunan pencere icin yazılan yazıdır , kanala ve özele..

Örneğin ben diyorum ki #holyzone kanalında birisi merhaba yazdığında ona Merhaba diye geri mesaj atacağım ama kanalda yazacağım Örnek ahmet Merhaba yazdı bende kanala Merhaba ahmet
yazacağım nasıl ?


Kod:
on *:text:*:#holyzone {
if merhaba isin $1- {
msg $chan Merhaba $nick
}
}

Burada #leader kanalı için gecerlidir bu kod , ama #holyzone yerine # yazarsanız , bütün kanallar icin gecerli olur , Join event'i mantığı ile aynıdır..

****

Start ;

Scriptin acılısında ( mIRC'ın ) aktif olur
Örneğin ben diyorum ki ben script'imi actığımda önüme bir yazı gelsin scriptinizi actınız kullanın diye nasıl yapacağım ?


Kod:
Kod:

on *:start: { echo -a scriptinizi actiniz kullanın }

Burada echo ( Ekran'a görüntü vermek icin kullanılır ) mirc.help dosyasını acıp , /echo dizinine bakarsanır , hangi harf'in ne icin yaradığını göreceksiniz , örneğin : echo -a ( aktif ekrana verir ) , echo -s ( Status Ekranına ) vs vs ..

*************

Open ;

OZEL pencereler gecerlidir genellikle ozel icin kullanılır
Orneğin ;
ben diyorum ki özelime birisi geldiğinde direkt olarak Merhaba ben LeadeR size nasıl yardımcı olabilirim ? diye mesaj atsın nasıl yaparım ?


Kod:
on *:open: ?: {
msg $nick Merhaba ben Holyzone size nasıl yardimci olabilirim ?
}

*************

Dipnot : # = Kanal
Dipnot : ? = Ozel
işte ben :P
http://www.turkiyeforum.com/album_personal.php?user_id=14635
Cevapla
  • Benzer Konular
    Cevaplar
    Görüntüleme
    Son mesaj

Kimler çevrimiçi

Bu forumu görüntüleyen kullanıcılar: Hiç bir kayıtlı kullanıcı yok ve 1 misafir