Results 1 to 5 of 5
http://idgs.in/584935
  1. #1

    Join Date
    Apr 2012
    Posts
    181
    Points
    116.44
    Thanks: 12 / 12 / 6

    Default Bot Chanel with IRC

    Pada contoh kali ini ane menggunakan:
    Client : MirC
    OS : WinXP
    Server Dota : PvPgn Standart
    IRC : IRC based pvpgn localhost
    ------------------------------------------
    Setting IRC di PvPgN
    sedikit ane jelasin pvpgn irc nya, sebelum mengkoneksikan mirc kita ke pvpgn dota,
    kita harus mengaktifkan settingan IRC di pvpgn kita.
    1. buka dulu ..\pvpgn\conf\bnetd.conf dengan notepad, lalu tekan CTRL+F
    lalu search baris berikut :
    Code:
    # Internet Relay Chat (IRC) configuration
    2. buang tanda # didepan settingan yang digunakan untuk mengaktifkannya.
    local ip yang ane gunakan yaitu : 192.168.1.6 , dan port 6667 default irc kita gunakan ini aja.
    jadi settingannya kira2 seperti ini :
    Code:
    ##############################################################################
    # Internet Relay Chat (IRC) configuration                                    #
    #----------------------------------------------------------------------------#
    
    # NOTE: IRC support is still experimental!
    
    # This specifies the addresses where IRC connections should be accepted. See
    # the description of servaddrs for formatting information. Leave this field
    # blank if you do not want to accept IRC connections.  If the port is not
    # specifed then 6667 will be used.
    ircaddrs = "192.168.1.6:6667"
    
    # This is the IRC network name. If this is not specified then the default of
    # "PvPGN" will be used.
    irc_network_name = "PvPGN"
    
    # This is the hostname used for IRC connections. Set this to your
    # hostname, if the automatic detection doesn't correctly.
    hostname = "none"
    
    # Set this to the desired IRC connection timeout in seconds.
    irc_latency = 180
    
    #                                                                            #
    ##############################################################################
    save dan close, nah sekarang IRC telah aktif di pvpgn kita , tinggal lakukan koneksi dari Mirc Ke PVPGN

    Basic Bot IRC channel Dota
    Detail yang akan ane gunakan.
    Channel : #forumdota
    User Bot : BOT (nick harus sudah terdaftar di dota)
    IP : 192.168.1.6

    1. gak punya mirc? download disini http://www.mirc.com/get.html
    2. install dan buka mircnya, lalu pilih menu File -> Select Server -> Add -> masukkan IP local yang dijadikan IRC di pvpgn tadi, kira2 begini :


    jangan di close dulu.Setting lagi dimenu sebelah kiri pilih Connect
    di kolom nickname masukan user dota, yang sudah aktif dan bs login di dota.
    [/img]http://upload.forumdota.com/images/mirc2.png[/img]

    lalu OK kan

    3. Lalu konekkan. file -> connect
    4. Jika muncul menu popup untuk join channel (mirc favorites) -> close saja
    5. lakukan verifikasi password dengan mengetikkan :


    Jika verifikasi password berhasil maka akan ada tulisan
    Code:
    -none- Authentication successful. You are now logged in.
    6. Sekarang joinkan bot ke channel utama server dotah
    [/img]ttp://upload.forumdota.com/images/mirc4.png[/img]
    Code:
    /Join #forumdota
    7. Sekarang posisi bot sudah di dalam channel utama (contoh : #forumdota)
    tekan menu Tool-> Script Editor -> pilih Remote diatas itu
    maka akan terbuka sebuah tempat editor, lihat gambar dibwh:


    8. Kita mulai membuat fungsi bot.
    fungsi dasar pertama yang kita berikan yaitu ketika ada user join ke channel utama tsb,
    si BOT wisp ke user dan memberikan bantuan.
    untuk itu kita perlu memberikan kondisi JOIN (ketika user join channel forumdota)
    Code:
    on 1:join:#ForumDota: {
      /msg $nick Untuk melihat command bot user anda, ketik /w BOT !help
    /writeini -n login.ini ID: $nick - Status: login }

    ketika user sudah masuk channel, bot sudah otomatis wisp user dan menyuruh ketik !help untuk info.
    sekarang kita berikan fungsi !help di bot agar ketika user wisp !help ada jawabannya
    tambahkan code ini dibawah ocde sebelumnnya
    Code:
    on 1:text:*!help*:?: {
      /msg $nick Command bot user yang anda miliki adalah
      /msg $nick Untuk melihat list Developer ForumDota, ketik /w BOT !dev
      /msg $nick Untuk melihat list Head Operator ForumDota, ketik /w BOT !hop
      /msg $nick Untuk melihat list Operator ForumDota, ketik /w BOT !op
      /msg $nick Untuk melihat list Voice Operator ForumDota, ketik /w BOT !vop
      /msg $nick Untuk melihat Cara Donasi, ketik /w BOT !donasi
    /msg $nick untuk melihat forum , ketik /w BOT !forum }
    perhatikan baris on 1:text:*!help*:?: {
    nah itu pertanda kalo ada text yang masuk dengan perintah !help,
    berarti anda bisa berkreasi dengan yang lain entah ganti dengan !info , !welcome dll
    dan juga bisa membuat perintah baru.

    bot sekarang jika di ketik /w BOT !dev tentu belum ada balasan karena belum dibuat.
    maka dari itu kita membuat masing2 perintah yang ada di !help yang sebelummnya kita buat
    seperti !dev, !hop , !op dll
    tambahkan code ini dibawah code sebelumnya

    Code:
    on 1:text:*!dev*:?: {
      /msg $nick List developer ForumDota adalah
    /msg $nick VbA, DotA }
    
    on 1:text:*!hop*:?: {
      /msg $nick List Head Operator ForumDota adalah
    /msg $nick Belum Ada }
    
    on 1:text:*!op*:?: {
      /msg $nick List operator ForumDota adalah
    /msg $nick Belum Ada }
    
    on 1:text:*!vop*:?: {
      /msg $nick List voice operator ForumDota adalah
    /msg $nick Belum Ada }
    Code lengkap untuk dasar di Script editor ini lengkapnya:
    Code:
    on 1:join:#ForumDota: {
      /msg $nick Untuk melihat command bot user anda, ketik /w BOT !help
    /writeini -n login.ini ID: $nick - Status: login }
    
    on 1:text:*!help*:?: {
      /msg $nick Command bot user yang anda miliki adalah
      /msg $nick Untuk melihat list Developer ForumDota, ketik /w BOT !dev
      /msg $nick Untuk melihat list Head Operator ForumDota, ketik /w BOT !hop
      /msg $nick Untuk melihat list Operator ForumDota, ketik /w BOT !op
      /msg $nick Untuk melihat list Voice Operator ForumDota, ketik /w BOT !vop
      /msg $nick Untuk melihat Cara Donasi, ketik /w BOT !donasi
    /msg $nick untuk melihat forum , ketik /w BOT !forum }
    
    
    on 1:text:*!dev*:?: {
      /msg $nick List developer ForumDota adalah
    /msg $nick VbA, DotA }
    
    on 1:text:*!hop*:?: {
      /msg $nick List Head Operator ForumDota adalah
    /msg $nick Belum Ada }
    
    on 1:text:*!op*:?: {
      /msg $nick List operator ForumDota adalah
    /msg $nick Belum Ada }
    
    on 1:text:*!vop*:?: {
      /msg $nick List voice operator ForumDota adalah
    /msg $nick Belum Ada }
    
    on 1:text:*!donasi*:?: {
      /msg $nick Tata Cara donasi yaitu sbb:
    /msg $nick kirim uang aja udah ! }
    
    on 1:text:*!forum*:?: {
      /msg $nick Forum adalah
    /msg $nick http://ForumDota.com }
    anda copy dan pastekan di script editor lalu klik OK.

    sekarang coba anda loginkan id lain melalui dota dan masuk kechannel forumdota ingat tanpa # , channel di irc menggunakn #forumdota tapi untuk di dota cukup forumdota saja

    ini skrenshot ane coba join ke channel tsb dengan nick VbA :
    Code:
    http://upload.forumdota.com/images/mirc7.png

    [spoiler=Tambaha script" yang ada]
    Script Auto Kick flood
    Code:
    on 1:TEXT:*:#:{
      inc -u4 %spam. [ $+ [ $nick ] ]
      if (%spam. [ $+ [ $nick ] ] == 6) {
        ban -ku300 $chan $nick Jangan Flood di channel
        halt
      }
    }

    script untuk mempasswordkan Chanel
    Code:
    nih Script nya
    
    on 1:Join:#NAMACHANNEL: {
      raw kick #NAMACHANNEL $nick
    /msg $nick Anda belum memasukan Password Channel ! }
    
    on 1:text:*!pass Password*:?: {
      /auser 2 $nick
    /msg $nick Anda Telah Memasukan Password Channel Dengan Benar ! }
    
    on 2:Join:#NAMACHANNEL: {
    /msg $nick Welcome [ $nick ] }
    Script Check Absen
    Code:
    on 1:text:*!add-absen*:?: {
    /write $2.txt ID : $2 Telah absen pada tanggal : $date. Terimakasih sudah absen
    /msg $nick oke ID anda sudah di absen }

    untuk Script Trivia [F100] Untuk Mirc !!!
    Code:
    menu * {
      Trivia:trivia
    }
    on *:load:{
      write missed.txt Sorry guys, but you got it wrong!
      write missed.txt Aww cmon guys!
      write missed.txt You guys suck!
      write missed.txt I can't believe you got it wrong!
      write missed.txt You guys are miserable at this!
      hadd -m trivia strivia ison
      :start
      var %x = $input(Who would you like to set as your owner?,qe,Bot Owner)
      if (%x != $null) hadd -m trivia owner %x
      else goto start
      :chan
      var %y = $input(What channel would you like trivia to be for?,qe,Trivia Channel)
      if ($left(%y,1) == $chr(35)) hadd -m trivia chan %y
      else goto chan
    }
    on *:unload:{
      if ($isfile(reports.ini)) .remove -b reports.ini
      if ($isfile(questions.ini)) .remove -b questions.ini
      if ($isfile(scores.ini)) .remove -b scores.ini
      if ($isfile(missed.txt)) .remove -b missed.txt
      if ($hget(scores)) hfree $v1
      if ($hget(reports)) hfree $v1
      if ($hget(questions)) hfree $v1
      unset %streak*
      unset %wrong
      if ($hget(trivia)) hfree $v1
      .timertriv* off
    }
    on *:kick:#:{
      if ($knick == $me && $chan == $hget(trivia,chan)) {
        hadd -m trivia status off
        hdel trivia answer
        hdel trivia time
        .timertriv* off
        unset %streak*
        unset %wrong
      }
    }
    on *:start:{
      if (!$hget(scores)) hmake scores
      if (!$hget(reports)) hmake reports
      if (!$hget(questions)) hmake questions
      hload -i reports reports.ini
      hload -i questions questions.ini
      hload -i scores scores.ini
      if (!$hget(trivia)) hmake trivia
      hload -i trivia trivia.ini
      if (!$hget(trivia,owner)) {
        :start
        var %x = $input(Who would you like to set as your owner?,qe,Bot Owner)
        if (%x != $null) hadd -m trivia owner %x
        else goto start
      }
    }
    on *:join:#:{
      if ($chan == $hget(trivia,chan) && $nick == $me) {
        if ($dialog(trivia)) {
          did -e trivia 9
          did -b trivia 10
        }
      }
    }
    on *:part:#:{
      if ($nick == $me && $chan == $hget(trivia,chan)) {
        if ($dialog(trivia)) {
          did -e trivia 9
          did -b trivia 10,9
        }
        hadd -m trivia status off
        hdel trivia answer
        hdel trivia time
        .timertriv* off
        unset %streak*
        unset %wrong
      }
    }
    on *:exit:{
      hsave -i trivia trivia.ini
      hsave -i scores scores.ini
      hsave -i reports reports.ini
      hsave -i questions questions.ini
    }
    on *:connect: if ($dialog(trivia)) did -e trivia 9
    on *:disconnect:{
      hadd -m trivia status off
      hdel trivia answer
      hdel trivia time
      .timertriv* off
      unset %streak*
      unset %wrong
      if ($dialog(trivia)) did -b trivia 10,9
    }
    on *:text:*:#:{
      if ($chan == $hget(trivia,chan)) {
        if ($regex($1,/^[!@.](?:trivia|start|triv(?:on|start))$/Si)) {
          if ($hget(trivia,status) != on) {
            hadd -m trivia status on
            .msg $chan $+(03Trivia has been started by04 $nick,03!)
            .timertrivnew 1 2 new
            if ($dialog(trivia)) {
              did -b trivia 9
              did -e trivia 10
            }
          }
          else .msg $chan 03Trivia is already04 on03 $+ !
        }
        if ($regex($1,/^[!@.](?:strivia|stop|triv(?:off|stop))$/Si)) {
          if ($hget(trivia,status) == on) {
            if ($nick $hgeT(trivia,strivia) $chan) {
              hadd -m trivia status off
              hdel trivia answer
              hdel trivia time
              .timertriv* off
              unset %streak*
              .msg $chan 03Trivia has been stopped by04 $nick $+ 03!
              if ($dialog(trivia)) {
                did -b trivia 10
                did -e trivia 9
              }
            }
            else .msg $chan you dont have access to that command
          }
          else .msg $chan 03Trivia is already04 off3 $+ !
        }
        if ($strip($1-) == $hget(trivia,answer)) {
          unset %wrong
          var %time = $calc($calc($ticks - $hget(trivia,time)) / 1000)
          var %a = %streak [ $+ [ $nick ] ]
          unset %streak*
          set %streak [ $+ [ $nick ] ] $calc(%a + 1)
          hdel trivia answer
          .timertriv* off
          hinc -m scores $nick
          .msg $chan $+(06,$gettok(Way to go|That's the way|Wahoo|You got it,$r(1,4),124),$chr(32),04,$nick,06!) The answer was04 $strip($1-) $+ 06! You got it in04 %time 06seconds! Your streak is4 %streak [ $+ [ $nick ] ] 6questions!
          .msg $chan 06You are ranked4 $rank($nick) 06out of04 $hget(scores,0).item 06with04 $score($nick) 06points! $iif($hget(scores,0).item > 1,$iif(1st* !iswm $rank($nick),06You are behind04 $behind($nick) 06with04 $score($behind($nick)) 06points!,04 $+ $first 06is trailing behind you with04 $score($first) 06points!),You are the first one to score!)
          if ($dialog(trivia) && $did(trivia,14).seltext == $nick) did -ra trivia 15 $hget(scores,$nick) Points
          .timertrivrightnew 1 3 new
        }
        if ($regex($1,/^[!@.](?:top(ten|score(s)?|10)?|scores)$/Si)) top10
        if ($1 == !score) {
          if ($2) {
            if (*has no rank yet !iswm $rank($2)) {
              .msg $chan 04 $+ $2 03is ranked4 $rank($2) 03out of04 $hget(scores,0).item 03with4 $score($2) 03points!
            }
            else .msg $chan 4 $+ $2 3isn't currently ranked.
          }
          else {
            if (*has no rank yet !iswm $rank($nick)) {
              .msg $chan 04You03 are ranked04 $rank($nick) 03out of04 $hget(scores,0).item 03with04 $score($nick) 03points!
            }
            else .msg $chan 4You3 aren't currently ranked.
          }
        }
        if ($1 == !report) {
          if ($2 <= $hget(questions,0).item && $3) {
            var %x = $hget(questions,$2)
            var %y = 1
            var %z = $hget(reports,1).item
            while $hgeT(reports,%y).item {
              if ($v1 > %z) var %z = $v1
              inc %y
            }
            hadd -m reports $calc(%z + 1) $gettok(%x,1,1) $chr(1) $3-
            .msg $chan 03Thanks04 $nick $+ 03 $+ $chr(44), 04 $hgeT(trivia,owner) 03will read your report shortly.
            if ($dialog(trivia)) {
              did -r trivia 51
              var %x = 1
              while $hget(reports,%x).item {
                did -a trivia 51 $gettok($hget(reports,$v1),1,1)
                inc %x
              }
              did -z trivia 51
            }
          }
          else .msg $chan 12Syntax03: !report <04ques #03> <04problem03>
        }
        if ($1 == !questions) .msg $chan 03There are currently04 $hget(questions,0).item 03questions.
        if ($1 == !give) {
          if ($nick == $hget(trivia,owner)) {
            if ($3 isnum) {
              if (!$hget(scores,$2) && $dialog(trivia)) { did -a trivia 14 $2 | did -z trivia 14 }
              hadd -m scores $2 $3
              .msg $chan 04 $+ $2 03now has04 $score($2) 03points.
              if ($dialog(trivia) && $did(trivia,14).seltext == $2) did -ra trivia 15 $3 Points
            }
            else .msg $chan 12Syntax: 03!give <4nick3> <4points3>
          }
          else .msg $chan 03I don't believe you're04 $hget(trivia,owner) $+ 03.
        }
        if ($regex($1,/^[!@.](?:triv(ia)?(?:help)|help)$/Si)) {
          .notice $nick ~*~Trivia Commands~*~
          .notice $nick !trivia ~ Starts trivia
          .notice $nick !strivia ~ Stops trivia $iif($hget(trivia,strivia) != ison,if you are) $iif($hget(trivia,strivia) == isop,op'd) $iif($hget(trivia,strivia) == isvoice,voiced)
          .notice $nick !score ~ Returns your rank and score
          .notice $nick !score <nick> ~ Returns <nick>'s rank and score
          .notice $nick !report <ques #> <problem> ~ report a question
          .notice $nick !trivhelp ~ Returns trivia help (this)
          .notice $nick !questions ~ Returns tumber of trivia questions
          .notice $nick !top10 ~ Returns top 10 scores
          if ($nick == $hget(trivia,owner)) .notice $nick !give <nick> <points> ~ Give someone points
        }
      }
    }
    alias -l new {
      var %chan = $hget(trivia,chan)
      var %total = $hget(questions,0).item
      var %number = $hget(questions,$r(1,%total)).item
      noop $regex($hget(questions,%number),/^(.+)(.+)(.+)(.+)$/i)
      hdel trivia answer
      hadd -m trivia answer $regml(4)
      .msg %chan $+(11~04*11~03Question04 %number,06/04,$hget(questions,0).item,11~04*11~)
      .msg %chan 12 $+ $regml(1)
      hadd -m trivia time $ticks
      .timertrivhint1 1 2 .msg %chan 03Hint: $regml(2)
      .timertrivhint2 1 15 .msg %chan 03Hint: $regml(3)
      .timertrivwrong 1 30 wrong
    }
    alias wrong {
      inc %wrong
      if (%wrong >= $hget(trivia,wrong)) {
        hadd -m trivia status off
        hdel trivia answer
        hdel trivia time
        .timertriv* off
        unset %streak*
        .msg $hget(trivia,chan) 04 %wrong 10questions have gone by unanswered! Trivia has been stopped by04 $me $+ 10!
        unset %wrong
        if ($dialog(trivia)) {
          did -b trivia 10
          did -e trivia 9
        }
      }
      else {
        .msg $hget(trivia,chan) 10 $+ $read(missed.txt) Get ready for the next question...
        ;if you want it to msg the answer, use the line below instead
        ;.msg $hget(trivia,chan) 10The answer was04 $hget(trivia,answer) $+ 10! Get ready for the next question...
        unset %streak*
        .timertrivnewfromwrong 1 2 new
      }
    }
    alias -l top10 {
      var %d = 1, %w = @top10
      window -hn %w
      clear %w
      while $hget(scores,%d).item {
        aline %w $v1 $hget(scores,$v1)
        inc %d
      }
      filter -cteuww 2 32 %w %w
      var %k = 1, %k1
      while %k <= 10  {
        if ( $line(%w,%k) ) {
          tokenize 32 $v1
          if (%k == 1) var %x = $addtok(%x,04 $+ $1 ~ $hget(scores,$1),44)
          if (%k == 2) var %x = $addtok(%x,12 $+ $1 ~ $hget(scores,$1),44)
          if (%k == 3) var %x = $addtok(%x,03 $+ $1 ~ $hget(scores,$1),44)
          elseif (%k isnum 4-10) var %x = $addtok(%x,06 $+ $1 ~ $hget(scores,$1),44)
        }
        inc %k
      }
      .msg $hget(trivia,chan) $iif($line(%w,1),$replace(%x,$chr(44),$chr(44) $chr(32))%x,3There are no high scores.)
    }
    alias -l rank {
      var %d = 1, %w = @top10, %n = $$1
      window -hn %w
      clear %w
      while $hget(scores,%d).item {
        aline %w $v1 $hget(scores,$v1)
        inc %d
      }
      filter -cteuww 2 32 %w %w
      return $iif($fline(%w,%n *,1),$ord($v1),$1 has no rank yet)
    }
    alias -l score {
      var %d = 1, %w = @top10, %n = $$1
      window -hn %w
      clear %w
      while $hget(scores,%d).item {
        aline %w $v1 $hget(scores,$v1)
        inc %d
      }
      filter -cteuww 2 32 %w %w
      return $iif($fline(%w,%n *,1),$gettok($line(%w,$v1),2,32),$1 has no score yet)
    }
    alias -l behind {
      if ($isid) {
        var %d = 1, %w = @top5, %n = $$1
        window -hn %w
        clear %w
        while $hget(scores,%d).item {
          aline %w $v1 $hget(scores,$v1)
          inc %d
        }
        filter -cteuww 2 32 %w %w
        return $iif($gettok($line(%w,$calc($fline(%w,%n *,1) - 1)),1,32) != 3,$v1,first)
      }
    }
    alias -l first {
      if ($isid) {
        var %d = 1, %w = @top5
        window -hn %w
        clear %w
        while $hget(scores,%d).item {
          aline %w $v1 $hget(scores,$v1)
          inc %d
        }
        filter -cteuww 2 32 %w %w
        return $iif($line(%w,1),$gettok($line(%w,2),1,32),error)
      }
    }
    dialog trivia {
      title "Trivia"
      size -1 -1 136 203
      option dbu
      tab "Settings", 1, 2 -1 132 201
      box "!Strivia Command", 5, 7 52 58 60, tab 1
      radio "Op", 6, 16 62 22 10, tab 1
      radio "Voice", 7, 16 77 25 10, tab 1
      radio "All Users", 8, 16 92 34 10, tab 1
      button "Start Trivia", 9, 26 30 37 12, disable tab 1
      button "Stop Trivia", 10, 65 30 37 12, disable tab 1
      box "Trivia Status", 12, 23 20 83 26, tab 1
      text "Owner:", 43, 10 125 19 8, tab 1
      edit "", 44, 32 124 74 10, tab 1 read autohs
      button "Edit", 45, 109 125 15 8, tab 1
      text "Channel:", 46, 10 139 23 8, tab 1
      edit "", 47, 32 138 74 10, tab 1 read autohs
      button "Edit", 48, 109 139 15 8, tab 1
      box "", 49, 7 117 121 35, tab 1
      box "Stop After N Wrong", 54, 70 52 58 60, tab 1
      radio "5 Questions", 55, 76 60 50 10, tab 1
      radio "10 Questions", 56, 76 71 50 10, tab 1
      radio "15 Questions", 57, 76 81 50 10, tab 1
      radio "20 Questions", 58, 76 91 50 10, tab 1
      radio "Unlimited", 59, 76 101 50 10, tab 1
      edit "", 60, 10 165 98 10, tab 1
      box "Add Missed Question Response", 62, 7 157 121 21, tab 1
      button "Add", 61, 109 165 15 8, disable tab 1
      tab "Reports", 2
      edit "", 50, 7 121 123 10, tab 2 read autohs
      list 51, 6 23 123 84, tab 2 sort size hsbar
      box "Reported Questions", 52, 4 15 127 94, tab 2
      box "Functions", 66, 16 144 98 20, tab 2
      button "Clear", 67, 50 152 30 10, disable tab 2
      button "Remove", 68, 20 152 30 10, disable tab 2
      button "Fix", 22, 80 152 30 10, disable tab 2
      box "Problem", 53, 5 113 127 20, tab 2
      tab "Questions", 3
      list 23, 6 23 123 84, tab 3 sort size hsbar
      button "Add *.txt", 24, 7 169 30 10, tab 3
      button "Add", 25, 37 169 30 10, tab 3
      button "Clear", 26, 97 169 30 10, disable tab 3
      button "Remove", 27, 67 169 30 10, disable tab 3
      box "Functions", 28, 5 161 124 20, tab 3
      box "Questions", 29, 4 15 127 94, tab 3
      edit "", 30, 30 136 82 10, tab 3 read autohs
      text "Hint 1:", 33, 6 126 18 8, tab 3
      edit "", 32, 30 147 82 10, tab 3 read autohs
      edit "", 31, 30 125 82 10, tab 3 read autohs
      text "Hint 2:", 35, 6 138 18 8, tab 3
      text "Answer:", 34, 6 148 22 8, tab 3
      box "", 36, 4 109 127 50, tab 3
      button "Edit", 37, 113 137 15 8, disable tab 3
      button "Edit", 39, 113 148 15 8, disable tab 3
      button "Edit", 38, 113 126 15 8, disable tab 3
      text "Question:", 40, 6 115 25 8, tab 3
      edit "", 41, 30 114 82 10, tab 3 read autohs
      button "Edit", 42, 113 115 15 8, disable tab 3
      tab "Scores", 4
      box "Scores", 13, 6 17 53 155, tab 4
      list 14, 9 25 47 144, tab 4 sort size hsbar
      edit "", 15, 66 136 59 10, tab 4 read autohs
      box "Score", 16, 64 128 64 21, tab 4
      button "Edit", 17, 75 78 37 12, disable tab 4
      button "Add", 18, 75 38 37 12, tab 4
      button "Remove", 19, 75 58 37 12, disable tab 4
      button "Clear", 20, 75 98 37 12, disable tab 4
      box "Functions", 21, 72 27 44 88, tab 4
      button "OK", 11, 48 185 37 12, ok cancel
    }
    alias trivia {
      if ($dialog(trivia)) dialog -x trivia trivia
      dialog -m trivia trivia
    }
    on *:dialog:trivia:*:*:{
      var %chan = $hgeT(trivia,chan)
      if ($devent == init) {
        if ($hget(trivia,wrong) == 5) did -c trivia 55
        if ($hget(trivia,wrong) == 10) did -c trivia 56
        if ($hget(trivia,wrong) == 15) did -c trivia 57
        if ($hget(trivia,wrong) == 20) did -c trivia 58
        if ($hget(trivia,wrong) !isnum) did -c trivia 59
        if ($hget(reports,1).item) did -e trivia 67
        did -a trivia 44 $hget(trivia,owner)
        if ($hget(reports)) {
          var %asdf = 1
          while $hget(reports,%asdf).item {
            did -a trivia 51 $gettok($hget(reports,$v1),1,1)
            inc %asdf
          }
          did -z trivia 51
        }
        did -a trivia 47 $hget(trivia,chan)
        if ($hget(questions,1).item) did -e trivia 26
        var %s = 1
        while $hgeT(questions,%s).item {
          did -a trivia 23 $gettok($hget(questions,$v1),1,1)
          inc %s
        }
        did -z trivia 23
        if ($hget(trivia,status) == on) did -e trivia 10
        else did -e trivia 9
        var %x = 1
        while $hget(scores,%x).item {
          did -a trivia 14 $v1
          inc %x
        }
        did -z trivia 14
        if ($hgeT(scores)) did -e trivia 20
        if (!$server) did -b trivia 9,10
        if ($hget(trivia,strivia) == isvoice) did -c trivia 7
        if ($hgeT(trivia,strivia) == isop) did -c trivia 6
        if ($hget(trivia,strivia) == ison || !$v1) { 
          did -c trivia 8 
        }
      }
      if ($devent == sclick) {
        if ($did == 9) {
          if ($hget(trivia,status) != on) {
            hadd -m trivia status on
            did -b trivia 9
            did -e trivia 10
            .msg %chan $+(03Trivia has been started by04 $me,03!)
            .timertrivnew 1 2 new
          }
        }
        if ($did == 10) {
          if ($hget(trivia,status) == on) {
            hadd -m trivia status off
            hdel trivia answer
            hdel trivia time
            did -e trivia 9
            did -b trivia 10
            .timertriv* off
            unset %streak*
            .msg %chan 03Trivia has been stopped by04 $me $+ 03!
          }
        }
        if ($did == 14 && $diD(trivia,14).seltext != $null) {
          did -ra trivia 15 $hget(scores,$did(trivia,14).seltext) Points
          did -e trivia 19,17
        }
        if ($did isnum 6-8) {
          if ($did == 6) hadd -m trivia strivia isop
          if ($did == 7) hadd -m trivia strivia isvoice
          if ($did == 8) hadd -m trivia strivia ison
          if ($hget(trivia,wrong) == 5) did -c trivia 55
          if ($hget(trivia,wrong) == 10) did -c trivia 56
          if ($hget(trivia,wrong) == 15) did -c trivia 57
          if ($hget(trivia,wrong) == 20) did -c trivia 58
          if ($hget(trivia,wrong) !isnum) did -c trivia 59
        }
        if ($did == 20) {
          var %x = $input(Are you sure you would like to erase all scores?,cy,Clear All Scores)
          if (%x == $true) {
            hfree scores
            did -r trivia 14,15
            did -b trivia 20,17,19
            .msg %chan 4All03 scores cleared.
          }
        }
        if ($did == 19) {
          var %x = $input(Are you sure you would like to erase $did(trivia,14).seltext $+ 's score?,cy,Clear $did(trivia,14).seltext $+ 's Score)
          if (%x == $true) {
            .msg %chan 04 $+ $did(trivia,14).seltext $+ 's 3score has been 04cleared03.
            hdel scores $did(trivia,14).seltext
            did -r trivia 15,14
            did -b trivia 17,19,20
            var %y = 1
            while $hgeT(scores,%y).item {
              did -a trivia 14 $v1
              inc %y
            }
            did -z trivia 14
            if ($hget(scores,1).item) did -e trivia 20
          }
        }
        if ($did == 18) {
          var %x = $input(Who would you like to add to the score list?,qe,Adding Score)
          if (%x != $null) {
            if ($numtok(%x,32) == 1) {
              var %y = $input(What would you like %x $+ 's score to be?,qe,%x $+ 's Score)
              if (%y isnum && %y) {
                hadd -m scores %x %y
                .msg %chan 04 $+ %x 03now has 04 $+ %y 03points!
                did -r trivia 15,14
                did -b trivia 17,19
                did -e trivia 20
                var %a = 1
                while $hget(scores,%a).item {
                  did -a trivia 14 $v1
                  inc %a
                }
                did -z trivia 14
              }
              else var %test = $input(The score must be a number!,ho,Error!)
            }
            else var %sos = $input(The name must be one word!,ho,Error!)
          }
          else var %asdf = $input(You must enter a name!,ho,Error!)
        }
        if ($did == 17) {
          var %x = $input(What would you like $did(trivia,14).seltext $+ 's new score to be?,qe,$did(trivia,14).seltext $+ 's Score,$hget(scores,$did(trivia,14).seltext))
          if (%x isnum) {
            hadd -m scores $did(trivia,14).seltext %x
            .msg %chan 4 $+ $did(trivia,14).seltext 03now has04 %x 03points!
            did -ra trivia 15 %x Points
          }
          else var %asdf = $input(The score must be a number!,ho,Error!)
        }
        if ($did == 24) dialog $iif($dialog(txt),-v,-m) txt txt
        if ($did == 25) {
          var %ques = $input(What question would you like to add?,qe,Question)
          if (%ques != $null) {
            var %hint1 = $input(What would you like the first hint to be?,qe,Hint 1)
            if (%hint1 != $null) {
              var %hint2 = $input(What would you like the second hint to be?,qe,Hint 2)
              if (%hint2 != $null) {
                var %ans = $input(What would you like the answer to be?,qe,Answer)
                if (%ans != $null) {
                  did -r trivia 23,30,31,32,41
                  var %y = 1
                  var %z = $hget(questions,1).item
                  while $hget(questions,%y).item {
                    if ($v1 > %z) var %z = $v1
                    inc %y
                  }
                  hadd -m questions $calc(%z + 1) $+(%ques,$chr(1),%hint1,$chr(1),%hint2,$chr(1),%ans)
                  did -e trivia 26
                  var %b = 1
                  while $hget(questions,%b).item {
                    did -a trivia 23 $gettok($hget(questions,$v1),1,1)
                    inc %b
                  }
                  did -z trivia 23
                  did -b trivia 27,37,38,39,42
                }
              }
            }
          }
        }
        if ($did == 26) {
          var %x = $input(Are you sure you want to erase all questions?,cy,Remove All Questions)
          if (%x == $true) {
            did -r trivia 23,30,31,32,41
            hfree questions
            did -b trivia 26,27,37,38,39,42
          }
        }
        if ($did == 23 && $did(trivia,23).seltext != $null) {
          did -e trivia 27,37,38,39,42
          var %x = $hget(questions,$hfind(questions,$did(trivia,23).seltext $+ *,1,w).data)
          noop $regex($hget(questions,$hfind(questions,$did(trivia,23).seltext $+ *,1,w).data),/^(.+)(.+)(.+)(.+)$/i)
          did -ra trivia 31 $regml(2)
          did -ra trivia 30 $regml(3)
          did -ra trivia 32 $regml(4)
          did -ra trivia 41 $regml(1)
        }
        if ($did == 27) {
          var %x = $input(Are you sure you want to delete this question?,cy,Delete Question)
          if (%x == $true) {
            hdel questions %a $hfind(questions,$did(trivia,23).seltext $+ *,1,w).data
            did -r trivia 23,30,31,32,41
            var %y = 1
            while $hget(questions,%y).item {
              did -a trivia 23 $gettok($hget(questions,$v1),1,1)
              inc %y
            }
            did -b trivia 27,37,38,39,42
            did -z trivia 23
          }
        }
        if ($did == 38) {
          var %x = $input(What would you like hint 1 to be?,qe,Hint 1,$did(trivia,31).text)
          if (%x != $null) {
            var %y = $hfind(questions,$did(trivia,23).seltext $+ *,1,w).data
            var %a = $hget(questions,%y)
            var %z = $replace(%a,$gettok(%a,2,1),%x)
            hadd -m questions %y %z
            did -ra trivia 31 %x
          }
        }
        if ($did == 37) {
          var %as = $input(What would you like Hint 2 to be?,qe,Hint 2,$did(trivia,30).text)
          if (%as != $null) {
            var %y = $hfind(questions,$did(trivia,23).seltext $+ *,1,w).data
            var %a = $hget(questions,%y)
            var %z = $replace(%a,$gettok(%a,3,1),%as)
            hadd -m questions %y %z
            did -ra trivia 30 %as
          }
        }
        if ($did == 39) {
          var %sa = $input(What would you like the answer to be?,qe,Answer,$did(trivia,32).text)
          if (%sa != $null) {
            var %y = $hfind(questions,$did(trivia,23).seltext $+ *,1,w).data
            var %a = $hget(questions,%y)
            var %z = $replace(%a,$gettok(%a,4,1),%sa)
            hadd -m questions %y %z
            did -ra trivia 32 %sa
          }
        }
        if ($did == 42) {
          var %sas = $input(What would you like to rename the question as?,qe,Question,$did(trivia,41).text)
          if (%sas != $null) {
            var %y = $hfind(questions,$did(trivia,23).seltext $+ *,1,w).data
            var %a = $hget(questions,%y)
            var %z = $replace(%a,$gettok(%a,1,1),%sas)
            hadd -m questions %y %z
            did -ra trivia 41 %sas
            did -r trivia 23
            var %lmn = 1
            while $hget(questions,%lmn).item {
              did -a trivia 23 $gettok($hget(questions,$v1),1,1)
              inc %lmn
            }
            did -c trivia 23 $didwm(trivia,23,%sas $+ *)
            did -z trivia 23
          }
        }
        if ($did == 45) {
          var %x = $input(Who would you like to set as the owner?,qe,Owner,$hget(trivia,owner))
          if (%x != $null) {
            hadd -m trivia owner %x
            did -ra trivia 44 %x
          }
        }
        if ($did == 48) {
          var %x = $input(What would you like to set as the trivia channel?,qe,Trivia Channel,$hget(trivia,chan))
          if (%x != $null) {
            if ($left(%x,1) == $chr(35)) {
              hadd -m trivia chan %x
              did -ra trivia 47 %x
            }
            else var %y = $input(The channel must begin with $chr(35),ho,Error!)
          }
        }
        if ($did == 51 && $did(trivia,51).seltext != $null) {
          did -ra trivia 50 $gettok($hget(reports,$hfind(reports,$did(trivia,51).seltext $+ *,1,w).data),2,1)
          did -e trivia 68,22
        }
        if ($did == 22) {
          did -c trivia 3
          did -c trivia 23 $didwm(trivia,23,$did(trivia,51).seltext $+ *)
          var %x = $hget(questions,$hfind(questions,$did(trivia,23).seltext $+ *,1,w).data)
          did -ra trivia 31 $gettok(%x,2,1)
          did -ra trivia 30 $gettok(%x,3,1)
          did -ra trivia 32 $gettok(%x,4,1)
          did -ra trivia 41 $gettok(%x,1,1)
          did -e trivia 27,37,38,39,42
        }
        if ($did == 67) {
          var %x = $input(Are you sure you would like to delete all reports?,cy,Erase All Reports)
          if (%x == $true) {
            did -r trivia 51,50
            hfree reports
          }
        }
        if ($did == 68) {
          var %x = $input(Are you sure you would like to remove this report?,cy,Remove Report)
          if (%x == $true) {
            did -b trivia 22,67,68
            hdel reports $hfind(reports,$did(trivia,51).seltext $+ *,1,w).data
            var %x = 1
            did -r trivia 51,50
            while $hget(reports,%x).item {
              did -a trivia 51 $gettok($hget(reports,$v1),1,1)
              inc %x
            }
            did -z trivia 51
            if ($hget(reports,1).data) did -e trivia 67
          }
        }
        if ($did isnum 55-58) {
          hadd -m trivia wrong $gettok($did(trivia,$did),1,32)
          if ($hget(trivia,strivia) == ison) did -c trivia 8
          if ($hget(trivia,strivia) == isvoice) did -c trivia 7
          if ($hgeT(trivia,strivia) == isop) did -c trivia 6
        }
        if ($did == 59) {
          hadd -m trivia wrong none
          if ($hget(trivia,strivia) == ison) did -c trivia 8
          if ($hget(trivia,strivia) == isvoice) did -c trivia 7
          if ($hgeT(trivia,strivia) == isop) did -c trivia 6
        }
        if ($did == 61) {
          write missed.txt $did(trivia,60).text
          did -r trivia 60
          did -b trivia 61
          var %x = $input(Missed Question Response Added!,io,Response Added)
        }
      }
      if ($devent == edit && $did == 60) {
        if ($did(trivia,60).text != $null) did -e trivia 61
        else did -b trivia 61
      }
    }
    alias -l hash {
      var %del = $$input(What delimeter seperates the question from the answer?,qe,Delimeter)
      var %x = 1
      unset %ques %ans
      while $read($qt($$1-),%x) {
        var %ques = $gettok($v1,1,%del)
        var %ans = $gettok($v1,2,%del)
        var %y = 1
        unset %hint1 %hint2
        while $gettok(%ans,%y,32) {
          var %hint1 = $addtok(%hint1,$chr(32) $+ $replace($v1,a,_,b,_,c,_,d,_,e,_,f,_,g,_,h,_,i,_,j,_,k,_,l,_,m,_,n,_,o,_,p,_,q,_,r,_,s,_,t,_,u,_,v,_,w,_,x,_,y,_,z,_,1,_,2,_,3,_,4,_,5,_,6,_,7,_,8,_,9,_,0,_),32)
          var %hint2 = $addtok(%hint2,$chr(32) $+ $left($v1,1) $+ $replace($mid($v1,2),a,_,b,_,c,_,d,_,e,_,f,_,g,_,h,_,i,_,j,_,k,_,l,_,m,_,n,_,o,_,p,_,q,_,r,_,s,_,t,_,u,_,v,_,w,_,x,_,y,_,z,_,1,_,2,_,3,_,4,_,5,_,6,_,7,_,8,_,9,_,0,_),32)
          inc %y
        }
        var %z = 1
        while $hget(questions,%z).item {
          inc %z
        }
        hadd -m questions $calc(%z + 1) $+(%ques,$chr(1),%hint1,$chr(1),%hint2,$chr(1),%ans)
        inc %x
      }
      did -r trivia 23
      var %b = 1
      while $hget(questions,%b).item {
        did -a trivia 23 $gettok($hget(questions,$v1),1,1)
        inc %b
      }
      did -z trivia 23
      did -e trivia 26
      did -b trivia 27,38,37,39,42
    }
    
    dialog -l txt {
      title "Add *.txt"
      size -1 -1 101 58
      option dbu
      button "...", 1, 84 6 11 10
      edit "", 2, 7 6 74 10, autohs
      radio "Question|Answer", 3, 7 30 53 10
      radio "Question|Hint1|Hint2|Answer", 4, 7 20 84 10
      button "OK", 5, 20 44 28 10, disable ok
      button "Cancel", 6, 53 44 28 10, cancel
    }
    
    on *:dialog:txt:*:*:{
      if ($devent == sclick) {
        if ($did == 1) {
          :a
          var %x = $$sfile($mircdir $+ *.txt,Select a .txt file,Select)
          if ($right(%x,4) != .txt) {
            var %y = $input(Please select a .txt file!,ho,Error!)
            goto a
          }
          else did -ra txt 2 %x
          if (($did(txt,3).state == 1 || $did(txt,4).state == 1) && $right($did(txt,2),4) == .txt) {
            did -e txt 5
          }
          else did -b txt 5
        }
        if ($did == 3 || $did == 4) {
          if (($did(txt,3).state == 1 || $did(txt,4).state == 1) && $right($did(txt,2),4) == .txt) {
            did -e txt 5
          }
          else did -b txt 5
        }
        if ($did == 5) {
          if ($isfile($did(txt,2))) {
            if ($did(txt,3).state == 1) {
              hash $did(txt,2)
            }
            elseif ($did(txt,4).state == 1) {
              addtxt $did(txt,2)
            }
          }
          else var %x = $input($did(txt,2) isn't a file!,ho,Error!)
        }
      }
      if ($devent == edit) {
        if (($did(txt,3).state == 1 || $did(txt,4).state == 1) && $right($did(txt,2),4) == .txt) {
          did -e txt 5
        }
        else did -b txt 5
      }
    }
    alias -l addtxt {
      var %as = $$input(What is the delimeter that seperates the hints $+ $chr(44) questions $+ $chr(44) and answers?,qe,Delimeter)
      if (%as isnum) {
        var %x = $qt($$1-)
        did -r trivia 23,30,31,32,41
        var %y = 1
        var %z = $hget(questions,1).item
        while $hget(questions,%y).item {
          if ($v1 > %z) var %z = $v1
          inc %y
        }
        var %a = 1
        while $read(%x,%a) {
          hadd -m questions $calc(%z + 1) $replace($v1,$chr(%as),$chr(1))
          inc %z
          inc %a
        }
        var %b = 1
        while $hget(questions,%b).item {
          did -a trivia 23 $gettok($hget(questions,$v1),1,1)
          inc %b
        }
        did -z trivia 23
        did -e trivia 26
        did -b trivia 27,38,37,39,42
      }
      else var %sumthin = $input(The delimeter must be a number!,ho,Error!)
    silahkan diedit pertanyaan"nya begitu pun jawaban

    untuk script Clan bisa anda donwload di sini
    Spoiler untuk Download :
    http://speedy.sh/8VZV2/Script.txt


    untuk script dasar Server (jika anda ingin membuat sendiri)
    Spoiler untuk Download :
    http://speedy.sh/9zdzh/Script-Dasar.txt[/cpoiler]
    silahkan di download

    dan yang terakhir yang biasa diperlukan orang"
    Script Bot
    Code:
    http://speedy.sh/9zdxh/New-Text-Document-2-1.txt
    silahkan di download



    Sumber : http://forumdota.com/bot-channel-dota/

  2. Hot Ad
  3. #2
    ~[D]y[L]o[N]~'s Avatar
    Join Date
    Feb 2010
    Location
    Paradise Island BALI
    Posts
    4,671
    Points
    7.69
    Thanks: 113 / 116 / 100

    Default

    setau q .. Klu Public udah disabled IRC..

    dan illegal login
    Smart people can act Dumb, but dumb people will never be Smart

  4. #3

    Join Date
    Apr 2012
    Posts
    181
    Points
    116.44
    Thanks: 12 / 12 / 6

    Default

    kalau tau port server saya rasa tetep bisa koq
    kalau gak bisa koq bot penjaga nya maish aktaf?
    masa pakai mirage atuh?kan lbh bagusan irc

  5. #4

    Join Date
    May 2012
    Location
    -
    Posts
    1,337
    Points
    -99.01
    Thanks: 7 / 20 / 12

    Default

    Iconnya kerudung warna kuning ya? ada tanda icon ?

  6. #5
    Creative.10's Avatar
    Join Date
    Sep 2012
    Location
    Medan, Sumatra Utara
    Posts
    17,385
    Points
    2.47
    Thanks: 82 / 161 / 144

    Default

    Quote Originally Posted by PU~ View Post
    Iconnya kerudung warna kuning ya? ada tanda icon ?
    yoi bang ..
    gambar kerudung kuning ..

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •