.:! KèyCødé[ X ]ìrcTèáM !:.
Running with Advance Mode. With Code We Exist!

Last Updated: May 5th, 2008



Advertisement

Forum: http://banjirian.proboards103.com/
Support Me For Java Jive Regional Challenge 2008! Click here!

Welcome!

Selamat datang ke website kami yang simple lagi hodoh ini! ;)

Oleh kerana telah banyak permintaan dan komen daripada rakan-rakan Banjirian, maka dengan rasa bangga kami melancarkan satu website yang tidak seberapa ini untuk rujukan dan panduan kaki-kaki Banjir dalam membina style 'remote' mIRC. Tujuan website ini dibuka adalah untuk berkongsi idea asal kami kepada kaki-kaki Banjir! Maka segala source code atau konsep adalah bebas daripada hak cipta. Anda bebas untuk copy paste, mengubah, menilai, membuat kajian atau sebagainya! Tetapi pastikan anda tahu apa yang anda lakukan kepada remote mIRC anda. Kami tidak memberi sebarang jaminan terhadap sebarang kerosakan pada remote anda. Segala sumber adalah keputusan daripada kajian dan pengujian. Sekian, selamat mencuba!


Contract All | Expand All

Our Laws

  1. Don't get damn disconnected!
  2. Get MORE kicks AND with bans!
  3. Protect the innocent! (OPs, voice, regular users, etc.)
  4. Use ONLY ONE fucking damn nickname!
  5. Protect the copyrights and ideas!

Asas Remote

Asas On Event yang terbina (mengikut kesesuaian remote proses);

on <level>:<event>:<text>:<#/?>:cmd
Alias style

Signal Calling Style

Remote Efficiency by Using Boolean Pass-by-value

alias -l jive { <condition true (return true), condition false (return false)> }

Untuk penstabilan, konsep susunan proses (process sorting) remote adalah seperti berikut;

Maka, $regex yang akan terbina;

CTCP

ctcp *:*:#: { <cmd> }
on *:ctcpreply:*:{ <cmd> }

Process Procedure

Melalui kod pseudo adalah seperti berikut;

on event (detection: text|notice|action) process (return/not return) end with stop (halting)
* with no breaks; basically halt not break. return should be use in aliases event.
* returning; should be $true or $false to avoid conflict, and halting event should be halted in calling event.

dan pseudo $regex;

evaluate text with $regex (eval|hash|sub|*with dll) process (aliases|signal) then returning none
* $regex; evaluate text with regular expression with/without POSIX notation (PCRE).
* returning; return none (not $false).

Basic Kicking Style

Kod pseudo terbina adalah seperti berikut;

with comparison; test (nick still in #?) or test (you're oper in #?) or test (nick regular?) then kick command and then test internal ban list ($ibl full?) then stop / ban nick then return
* comparison; void using $iif but standard if..else instead.
* kick command; either with server raw, connection raw, or regular kick raw.
* $ibl; use $ibl(#,0).
* returning; using halt or return or none but not break.

Semua kicking style bergantung pada kreativiti masing-masing dengan berdasarkan kod pseudo di atas. Untuk memastikan remote anda berjalan lancar (smooth), elakkan guna identifier yang anda sendiri tidak terbiasa, dan elakkan menggunakan $iif() di dalam $iif().

DLL (+FLOOD & +FLOOD2)

" The main reason you'd want to do this is that processing information in a DLL can be far faster than doing so in a script, so for intensive data processing a DLL would be more efficient. " - mIRC help file

Dengan menggunakan aircdll.dll (dari tabo), maka tercipta beberapa protection seperti;

$regex with $dll (+FLOOD)

$matchtokstring (bad word & advertisement)

+FLOOD2

" This is like 8 times faster than getting the flood settings from your script " - tabo

(Cont.) +FLOOD2

Kepada newbie atau yang masih baru dalam mIRC (new coder), anda dinasihati menguji terlebih dahulu (samada menggunakan "/echo" atau ConferenceRoom) bagi mengelakkan remote anda bermasalah! Sebarang pengubahsuaian dan re-code adalah jaminan anda sendiri.

Bagi penggunaan +FLOOD2 adalah sedikit berlainan daripada +FLOOD. Cara detection masih sama, akan tetapi +FLOOD2 memerlukan beberapa tetapan (setting) untuk ia proses sebarang teks daripada event remote anda. Segala maklumat setting perlu disimpan / ditetapkan pada $FloodOptSet (Flood Option Setting). Format +FLOOD2 iaitu: Flood2 <desc> <inc> <floodtype> [+flags] [network] [#channel]. +FLOOD2 amat sesuai sekiranya anda connect lebih dari 1 server serentak. Setting pada $FloodOptSet akan diproses mengikut priority (keutamaan +flag) seperti berikut:

  1. network/channel flag (+nc)
  2. channel flag (+c)
  3. network flag (+n)
  4. global; yakni anda tidak menetapkan sebarang flag

Contoh penggunaan flag;

$FloodOptSet?

FloodOptSet <floodtype> <max> <secs> [+ncd] [network] [#channel]

Ia adalah tetapan bagi +FLOOD2 anda. Ia menyimpan data tetapan iaitu;

contohnya;

Untuk menjalankan remote +FLOOD2, anda perlu menetapkan $FloodOptSet terlebih dahulu samada membuat alias call atau tetapan di dalam remote detection. Tetapan $FloodOptSet boleh dibuat dengan panggilan /dll (asas $dll), contohnya;

$_flood_opt_set($network,$chan)

alias _flood_opt_set {
var %opt1 = $1 ;get 1st parameters from call as network
var %opt2 = $2 ;get 2nd parameters from call as channel
.dll aircdll.dll FloodOptSet floodA 50 1 +nc %opt1 %opt2
.dll aircdll.dll FloodOptSet floodB 200 1 +nc %opt1 %opt2
.dll aircdll.dll FloodOptSet floodC 3 5 +nc %opt1 %opt2
.dll aircdll.dll FloodOptSet floodD 5 5 +nc %opt1 %opt2
}

Detection?

%s = $str($r(A,Z),100)
var %upper = $dll(aircdll.dll,Flood2,$+(capslock,$chr(44),$wildsite,$2) $regex($strip(%s),/[[:upper:]]/g) floodA +nc $1 $2)
if (+FLOOD* iswm %upper) { .echo -a Flood UPPER triggered! }
; $1 = network, $2 = channel

; FloodOptSet
var %set = $dll(aircdll.dll, FloodOptSet, floodA 50 1 +nc $network $chan)

Calling should be contain the parameters, example; $process($network,$chan,$nick,$1-)

Example

on ^@*:text:*:#:{ if ($nick isreg #) { $_process($iif($network != $null,$network,*),$chan,$nick,$1-) | halt } }

alias -l _process {
$iif($gettok($dll(aircdll.dll, FloodOptCount, -),2,32) < 1,$_flood_opt_set($1,$2))
var %upper = $dll(aircdll.dll,Flood2,$+(capslock,$chr(44),$wildsite,$3) $regex($strip($4-),/[[:upper:]]/g) floodA +nc $1 $2)
if (+FLOOD* iswm %upper) { .signal -n KICK_CMD $2 $3 UPPER | return }
}

alias -l _flood_opt_set {
var %netw = $1
var %chan = $2
var %flood1 = $dll(aircdll.dll, FloodOptSet, floodA 50 2 +nc %netw %chan)
var %flood2 = $dll(aircdll.dll, FloodOptSet, floodB 200 2 +nc %netw %chan)
}

* FloodOptCount (optional usage) : sila rujuk aircdllf.txt

NullScript

  1. NullScript with *FastForwarding* - coming up with continuous kicking style
  2. NullScript with :MultiHash: - coming up with multi hash table, multi-continuos kicking style, and multi-ban
  3. NullScript v.N.# (v: version, N: number, #: series) - upgraded version with re-check continuous kicking

Other Collection

ASCII to TEXT

Keratan kod sumber menukar teks ascii kepada teks biasa. Sebarang teks yang 'blur' berbentuk ascii akan ditukar kepada teks sebenar contohnya; m0thérfu¢ke® ==> motherfucker. Amat sesuai digunakan bersama dengan remote bad word/swearing & advertisement detection. Klik di sini untuk paparan kod.

BAD WORD FILTER

Menukar sebarang teks carut kepada asterisk mark (*) mengikut jumlah karakter (char) teks carut tersebut. Kod ini amat sesuai untuk digunakan dalam membuat event on input bagi menapis sebarang ayat carut yang boleh menyebabkan akan ditendang keluar (kicked) dari sebarang channel yang anda sendiri tidak mempunyai sebarang akses (-,+,@).

test {
var %_l = 1
while ($gettok($1-,%_l,32) != $null) {
var %_y = $gettok($1-,%_l,32)
var %l = $regsub(%_y,/(antat|puki|fuck|kimak)/g,*,%t) | var %x = $regml(1)
var %a = $regsubex(%_y,/( $+ %x $+ )/g,$str(*,$len(%x)))
var %tex = %tex $+($chr(32),%a,$chr(32))
inc %_l
}
unset %t | return %tex
}
; untuk pengujian, sila taip: //echo -a $test(saya suka memantat awek saya.best gile puki die)

GAMBLING EVENT (BOT JUDI)

Sila klik di sini untuk preview code judi!

IRC Scripting Tips

  1. Anda boleh 'copy & paste' coding sesiapa jua sekalipun. Akan tetapi anda perlu ingat bahawa segala pengubahsuaian, penambahan yang terlampau kemungkinan besar akan menyebabkan berlakunya error pada bahagian-bahagian tertentu coding tersebut.
  2. Memastikan remote berjalan lancar? Elakkan berlakunya sebarang error (syntax error, comparison error, loop error, format error, dsb.) di dalam remote anda walaupun 1 aksara sekalipun!
  3. Ingat! Di dalam event (on text, on kick, on disconnect, dsb.) jika terdapat lebih dari satu command, asingkan ia dengan '{', '|', dan '}'.
  4. Elakkan penggunaan terlampau $iif()! Secara ringkasnya, kepenggunaan struktur perbandingan (comparison) adalah lebih efisyen secara susunan teratur (mengikut keutamaan).
  5. Saiz fail remote yang kecil; cth: 2.7 kb (coding pendek), tidak semestinya efisyen berbanding coding panjang! Ia bergantung kepada cara penggunaan identifier, keberkesanan parameter, susunan perbandingan, keberkesanan kod logikal (logical codes), logikal matematik (math logical), dsb.
  6. Jika anda tidak biasa dengan sebarang identifier yang pelik semasa menulis remote, let it go! Apa yang perlu anda fikir adalah kod logikalnya sahaja. Cth; anda ingin memaparkan nombor genap antara nombor 1 hingga 10 pada skrin. Anda boleh menggunakan math logarithm logical contohnya; var %no = $1 | if ($calc(%no % 2) == 0) { .echo -a Nombor %no adalah nombor genap! } | else { .echo -a Nombor %no adalah nombor ganjil! }.
  7. Halt? Return? Keliru menggunakannya? Tindakannya sama? Jawapannya, tidak! Jika anda ingin menghentikan terus sebarang rutin daripada terus diproses, anda perlu menggunakan 'halt'. Sebaliknya, jika anda hanya mahu menghentikan suatu rutin sahaja dan menyambung kepada rutin yang seterusnya, anda perlu menggunakan 'return'.
  8. Apakah maksud 'local variable' dan 'normal variable'? 'Local variable' merujuk kepada var %no, di mana variable tersebut TIDAK AKAN dirujuk oleh mana-mana rutin yang lain, dan hanya diproses di dalam suatu rutin tersebut sahaja. Manakala 'normal variable' merujuk kepada /set %no 18, dan %no 18 di dalam Remote Variables, di mana variable tersebut BOLEH di rujuk oleh mana-mana rutin yang memanggilnya.
  9. Jika anda ingin menggunakan struktur pengulangan (looping structures), gunakan while berbanding goto.
  10. Ingin selitkan remote anda dengan menu pilihan? Untuk memudahkan pemilihan setting (tetapan, ubah, tambah dsb.), gunakan DialogStudio.exe. Paparan menu akan lebih menarik berbanding menu secara manual.
  11. Gunakan local aliases (alias -l) berbanding normal aliases untuk mengelakkan sebarang konflik dengan aliases yang hampir sama nama dengannya.
  12. Anda ingin mahir? Banyakkan membaca, bertanya, berfikir secara positif, rajin mencuba, berdoa, dan berusaha! JANGAN MEMINTA! Anda bukannya BODOH untuk menjadi CERDIK!

Credits


Thank You!

Kami amatlah berbesar hati kiranya ada di antara para Banjirian untuk memberikan sedikit ulasan pendapat atau cadangan mahupun komen mengenai web ini, IRC dan sebagainya. Sila postkan pada kotak ShoutOut di bawah. Kami akan mengemaskini berdasarkan komen dan cadangan anda! Terima kasih di atas sokongan anda! ;)

 

Written and coded by code7
code7 inC. ® 1999 - 2008

Counter

Hosted by www.Geocities.ws

1