עמוד ראשי מירק סקריפטינג סניפטים שליטה בQ בפקודות

שליטה בQ בפקודות

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

ZxoR
מנהל גלובאלי
שליטה בQ בפקודות
הצטרף: 01 יולי 2010, 07:43
הודעות: 370
פורסם: 14 יולי 2010, 13:57
שם הקוד: QController
יוצר: ZxoR
תיאור: שליטה בQ בעזרת פקודות, נוח ביותר.
הפעלה:
רשימת פקודות:
מפתח:

האות: ? מסמנת את הערוץ האקטיבי
האות: ! מסמנת את הניק שלך
לדוגמא: "?chanlev ? !" => "?qnet"


פקודות:
?qnet - בדיקת גישות עצמיות לערוץ, במידה ותכתבו פקודה לאחר מכן היא תשלח לקיו
?chanlev <chan> [[#]nick] - שינוי גישות בערוץ ובדיקתן[modes]
?chanflags <chan> [modes] - שינוי דגלי הערוץ
?amo <chan> <[#]nick> - נתינת גישות amo למשתמש מסויים
?-amo <chan> <[#]nick> - הורדת גישות amo למשתמש מסויים
?unknown <chan> <[#]nick> - אי-יידוע משתמש, הורדת כל גישותיו
?ban <chan> <[#]nick> - באן למשתמש
?unban <chan> <[#]nick> הורדת באן משתמש
?whoami - מראה את הפרטים עליך
?clear <chan> - ניקוי ערוץ מסויים
?owner <chan> <[#]nick> - נתינת גישת: n למשתמש מסויים
?mode <chan> [modes] - שינוי מודים בערוץ
?banlist <chan> - רישומי באנים בערוץ
?topic <chan> [topic] - שינוי טופיק הערוץ
?request <chan> - בקשת בוט קיו לערוץ
?unbanall <chan> - הורדת כל הבאנים בערוץ
?invite <chan> <nick> - הזמנת משתמש לערוץ
?op <chan> <nick> - נתינת אופ בערוץ למשתמש מסויים


הקוד:
;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;; QController ;;;;;;;
;;;;;; ? => $active ;;;;;;;
;;;;;;;; ! => $me ;;;;;;;;;    By ZxoR
;;;;;;;;;;;;;;;;;;;;;;;;;;;

on *:input:*: {
  if ($network == Quakenet) {
    if ($1 == ?qnet) {
      if (!$2) { .msg Q chanlev $active $me }
      else { .msg Q $replace($2-,?,$active,!,$me) }
    }
    if ($1 == ?chanlev) && ($2) { .msg Q chanlev $replace($2-,?,$active,!,$me) | set -u5 %rqe.total TOTAL }
    if ($1 == ?chanflags) && ($2) { .msg Q chanflags $replace($2-,?,$active,!,$me) }
    if ($1 == ?amo) && ($3) { .msg Q chanlev $replace($2,?,$active,!,$me) $replace($3,?,$active,!,$me) amo }
    if ($1 == ?-amo) && ($3) { .msg Q chanlev $replace($2,?,$active,!,$me) $replace($3,?,$active,!,$me) -amo }
    if ($1 == ?unknown) && ($3) { var %chann = $replace($2,?,$active,!,$me) | var %target = $replace($3,?,$active,!,$me) | .msg Q chanlev %chann %target -a | .msg Q chanlev %chann %target -m | .msg Q chanlev %chann %target -n | .msg Q chanlev %chann %target -o | .msg Q chanlev %chann %target -v | .msg Q chanlev %chann %target -k }
    if ($1 == ?ban) && ($3) { .msg Q ban $replace($2,?,$active,!,$me) $3- }
    if ($1 == ?unban) && ($3) { .msg Q unban $replace($2,?,$active,!,$me) $3- }
    if ($1 == ?whoami) { .msg Q whoami }
    if ($1 == ?clear) && ($2) { .msg Q recover $replace($2,?,$active,!,$me) }
    if ($1 == ?owner) && ($3) { .msg Q giveowner $replace($2-,?,$active,!,$me) }
    if ($1 == ?mode) && ($2) { .msg Q chanmode $replace($2-,?,$active,!,$me) }
    if ($1 == ?banlist) && ($2) { .msg Q banlist $replace($2-,?,$active,!,$me) }
    if ($1 == ?topic) && ($3) { .msg Q settopic $replace($2,?,$active,!,$me) $3- }
    if ($1 == ?request) && ($2) { .msg R requestbot $replace($2,?,$active,!,$me) }
    if ($1 == ?unbanall) && ($2) { .msg Q unbanall $replace($2,?,$active,!,$me) }
    if ($1 == ?invite) && ($3) { .msg Q invite $replace($2,?,$active,!,$me) $3- }
    if ($1 == ?op) && ($3) { .msg Q op $replace($2,?,$active,!,$me) $replace($3,?,$active,!,$me) }
  }
}
on ^*:notice:*:?: {
  if ($nick == Q) {
    echo -ags $chr(3) $+ $color(notice) $+ < $+ $time $+ > < $+ $network $+ > -Q-1 $1-
    if (do this, type: giveowner* iswm $1-) { msg Q $4- }
    if ($1 == Total:) && ($5 == master:) && (%rqe.total) { unset %rqe.total | msg $active $1- }
  }
  elseif ($nick == R) {
    echo -ags $chr(3) $+ $color(notice) $+ < $+ $time $+ > < $+ $network $+ > -R-1 $1-
  }
  else {
    echo -asg $chr(3) $+ $color(notice) $+ < $+ $time $+ > - $+ $nick $+ -1 $1-
  }
}
שימו לב: בוטי המשחק שאני בונה לא מתאימים לQuakenet אלא אם כן צויין אחרת.
<+vendetta-> סיאג לחוכמה שתיקה
<+vendetta--> בא לי מוח
<Ninja`> דפקתי נקנקיה

הצטרף: 29 יוני 2010, 16:13
הודעות: 112
פורסם: 14 יולי 2010, 14:39
נחמד מאוד.
כמה הערות טכניות:
  • תישתמש ב-elseif כדי להקטין את זמן ההרצה.
  • תישתמש ב-$$2 $$3 כדי לחסוך תנאים.
  • לטעמי אל תשנה למשתמשים את העיצוב, ורק במקרה שה-Q שולח מה שאתה מחפש (נתינת האונר) תשלח לו הודעה בחזרה, בצורה שצריך.
  • תבנה אליאס החלפה

והייתי מציע גם אפשרות של נתינת אופ עם אוונר בו זמנית (amno/ano).

הצטרף: 01 יולי 2010, 07:18
הודעות: 95
פורסם: 14 יולי 2010, 15:40
רעיון טוב, אפשר לייעל את הקוד ולקצר אותו.
תמונה

הצטרף: 13 יולי 2010, 18:47
הודעות: 25
פורסם: 14 יולי 2010, 17:22
תודה

הצטרף: 29 יוני 2010, 16:19
הודעות: 113
פורסם: 14 יולי 2010, 17:56
בגלל שכל הפקודות מתחילות ב - ? הייתה ממליץ להוסיף בהתחלה IF אחד בשביל לקצר את התהליך של בדיקת כל התנאים האחרים.
תוסיף משהו כזה:
if ($left($1,1) == $chr(63)) {


חזור אל סניפטים

cron