עמוד ראשי מירק סקריפטינג תוספים [קוד] Black List V1.0

[קוד] Black List V1.0

mIRC Addons - בפורום זה יפורסמו תוספים למירק שנועדו לשימוש יומיומי ולהרחבת המירק בפונקציות חדשות אשר לא מובנות. לפרסום תוספים יש לפרסמם תחילה בפורום "פרסום קודים ומדריכים" ולאחר מכאן הם יועברו לפורום זה.

Zen-
מנהל גלובאלי
[קוד] Black List V1.0
הצטרף: 20 יוני 2011, 21:35
הודעות: 100
פורסם: 28 אוגוסט 2011, 11:00
שלום לכולם.
זהו בלק ליסט פשוט, ללא DLL לשימושכם הרחב.

המיוחד בו מבחינתי זה שניתן לרשום ערוצים ספציפים לכל אחד ספציפי שנמצא בבלק ליסט, דבר שלא פגשתי עד עכשיו (ממה שראיתי).

שם הקוד: Black List
יוצר: -Zen
גירסא: 1.0
תיאור: בלק ליסט, ניתן להוסיף כינוי, חלק מכינוי, כתובת, חלק מכתובת
הפעלה: <הסבר על הפעלת הקוד>
דרישות: נבדק על מירק גרסה 6.35
תמונה:
תמונה

Address/Nick - רשמו כינוי או חלק מכינוי, כתובת או חלק מכתובת (שדה חובה)
Reason - סיבה, במידה ותשאירו ריק, הסיבה שתרשם כברירת מחדל תהיה "None"
Channels - במידה ורוצים לתת באן מכל הערוצים השאירו את השורה ריקה, אחרת רשמו ערוצים עם פסיק ביניהם, לדוגמה:
#channel1,#channel2,...

הבאן יינתן רק מהערוצים שרשומים.

הכפתור [[ Scan ]] יתן לכם את האופציה לסרוק את הערוץ

דבר נוסף, ניתן לסמן כינוי או כינויים בערוצים, לחיצה ימנית, ולהוסיף לבלק ליסט.

במידה ויש באג נא לדווח.

on @*:join:#:{
  var %xx = 1,%zz = 1
  while ($ini(blist.ini,%xx)) {
    if ($+(*,$replace($v1,$chr(149),$chr(91),$chr(152),$chr(93)),*) iswm $address($nick,5)) && (($istok($readini(blist.ini,$ini(blist.ini,%xx),channels),$chan,44)) || ($readini(blist.ini,$ini(blist.ini,%xx),channels) == *)) { .timer -m 1 $calc(%zz * 500) ban -k # $nick 2 Black Listed, Reason: $readini(blist.ini,$ini(blist.ini,%xx),reason) | inc %zz }
    inc %xx
  }
}
menu nicklist  {
  Black List:/check.whoblist | addblist
}
alias addblist {
  var %xs = $input(Are you sure?,y)
  if ($snicks) && (%xs) {
    var %x = 1,%xk = $input(Kick & Ban?,y),%xr = $input(Reason?,e),%xc = $input(channels?,e)
    while ($snick($active,%x)) {
      var %xn = $v1
      if (%xk) { .timer -m 1 $calc(%x * 500) ban -k $active %xn 2 Black Listed, Reason: $iif(%xr,$v1,none) }
      if (!$ini(blist.ini,$replace($address($v1,2),$chr(91),$chr(149),$chr(93),$chr(152)))) { 
        writeini blist.ini $replace($address(%xn,2),$chr(91),$chr(149),$chr(93),$chr(152)) channels $iif(%xc,$v1,*)
        writeini blist.ini $replace($address(%xn,2),$chr(91),$chr(149),$chr(93),$chr(152)) reason $iif(%xr,$v1,none)
      }
      inc %x
    }
  }
}

menu channel {
  Black List:/dialog $iif($dialog(blist),-v,-m) blist blist
}
dialog blist {
  title "Black List"
  size -1 -1 179 158
  option dbu
  list 1, 4 4 172 94, size hsbar vsbar extsel
  edit "", 2, 38 103 138 10, autohs
  edit "", 3, 38 113 138 10, autohs
  edit "", 4, 38 123 138 10, autohs
  button "ADD", 5, 38 144 34 12, flat
  button "DELETE", 6, 73 144 34 12, flat
  button "EDIT", 7, 108 144 34 12, flat
  text "Address/Nick:", 8, 4 103 34 8
  text "Channels:", 9, 14 123 25 8
  text "(blank=all,separate=comma)", 10, 103 133 71 8
  text "Reason:", 11, 18 113 21 8
  box "", 12, 2 98 176 45
  box "", 13, 2 -1 176 101
  box "", 14, 1 -2 178 160
  button "CLEAR", 15, 143 144 34 12, flat
  button "[[ SCAN ]]", 16, 2 144 35 12, flat
}

on *:dialog:blist:sclick:*:{
  if ($did == 5) && ($did(2)) {
    if ($ini(blist.ini,$replace($did(2),$chr(91),$chr(149),$chr(93),$chr(152)))) { noop $input($did(2) Already exists,w,error) | halt }
    did -a $dname 1 $did(2) $iif($did(4),$v1,$chr(35)) $did(3)
    writeini blist.ini $replace($did(2),$chr(91),$chr(149),$chr(93),$chr(152)) channels $iif($did(4),$v1,*)
    writeini blist.ini $replace($did(2),$chr(91),$chr(149),$chr(93),$chr(152)) reason $iif($did(3),$v1,none)
    did -r $dname 2,3,4
  }
  elseif ($did == 6) && ($did(1).sel) {
    remini blist.ini $replace($gettok($did(1).seltext,1,32),$chr(91),$chr(149),$chr(93),$chr(152))
    did -d $dname 1 $v1
  }
  elseif ($did == 7) && ($did(1).seltext) {
    remini blist.ini $replace($gettok($did(1).seltext,1,32),$chr(91),$chr(149),$chr(93),$chr(152))
    did -ra $dname 2 $gettok($v1,1,32)
    did -ra $dname 3 $gettok($v1,3-,32)
    did -ra $dname 4 $iif($gettok($v1,2,32) != $chr(42),$v1,$chr(42))
    did -d $dname 1 $did(1).sel
  }
  elseif ($did == 15) { did -r $dname 2,3,4 }
  elseif ($did == 16) && ($did(1).lines > 0) && ($me isop $active) {
    var %yy = 1,%zz = 1
    while (%yy <= $nick($active,0)) {
      var %xx = 1
      while ($ini(blist.ini,%xx)) {
        if ($+(*,$replace($v1,$chr(149),$chr(91),$chr(152),$chr(93)),*) iswm $address($nick($active,%yy),5)) && (($istok($readini(blist.ini,$ini(blist.ini,%xx),channels),$chan,44)) || ($readini(blist.ini,$ini(blist.ini,%xx),channels) == *)) { .timer -m 1 $calc(%zz * 500) ban -k $active $nick($active,%yy) 2 Black Listed, Reason: $readini(blist.ini,$ini(blist.ini,%xx),reason) | inc %zz }
        inc %xx
      }
      inc %yy
    }
  }
}
on *:dialog:blist:init:*:{
  check.whoblist
  while ($did(1).lines < $ini(blist.ini,0)) {
    did -a $dname 1 $replace($ini(blist.ini,$calc($did(1).lines +1)),$chr(149),$chr(91),$chr(152),$chr(93)) $readini(blist.ini,$ini(blist.ini,$calc($did(1).lines +1)),channels) $readini(blist.ini,$ini(blist.ini,$calc($did(1).lines +1)),reason)
  }
}
alias check.whoblist {
  if (!$chan($active).ial) { if ($dialog(blist)) { did -b blist 16 } | .enable #whoblist | who $active }
}
#whoblist on
raw 352:*:haltdef
raw 315:*:{ if ($dialog(blist)) { did -e blist 16 } | .disable #blist | haltdef }
#whoblist end

ZxoR
מנהל גלובאלי
Re: [קוד] Black List V1.0
הצטרף: 01 יולי 2010, 07:43
הודעות: 370
פורסם: 28 אוגוסט 2011, 16:16
תודה רבה על פרסום הקוד, מועבר לפורום תוספים :)
שימו לב: בוטי המשחק שאני בונה לא מתאימים לQuakenet אלא אם כן צויין אחרת.
<+vendetta-> סיאג לחוכמה שתיקה
<+vendetta--> בא לי מוח
<Ninja`> דפקתי נקנקיה


חזור אל תוספים

cron