עמוד ראשי מירק סקריפטינג סניפטים סלייד v2 - שיפור לדיאלוג

סלייד v2 - שיפור לדיאלוג

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

הצטרף: 01 יולי 2010, 13:18
הודעות: 66
פורסם: 14 נובמבר 2010, 20:05
שם הקוד: תוסף/שיפור לדיאלוג - סלייד
יוצר: Arthas
גירסא: 2
תיאור: תוסף לדיאלוג המאפשר ליוצר הדיאלוג לעשות שהדיאלוג שלו ייפתח, יגדל, יקטן לאורך ולרוחב והכל בסלייד - לא במכה .. וכך לחסוך שטחים מתים בדיאלוג, וליצור דיאלוג יפה יותר ומסודר יותר שלא חייב להיות לכל הטאבים או לכל דבר שתרצו באותו גודל, אלא בגודל משתנה לפי רצונכם.
הפעלה: שימו את הקוד בRemote, אפשר באותו עמוד עם קוד נוסף שלכם.
הפקודה להפעלה היא:
/Slide -swh <dname> <Speed(1-10)> <width> <height> [alias]

אם אתם משתמשים בכל הסוויצ'ים זה נראה כמו בפקודה להפעלה שלמעלה
אם אתם לא משתמשים בסוויץ' כלשהו פשוט החסירו את המידע שלו, לדוגמא:
/Slide -w <dname> <width> [alias]
פשוט החסרתי את המהירות ואת האורך.

- צירוף אליאס הוא אופציה בלבד ולא צריך להשתמש בסוויץ בשבילו, פשוט כתבו בסוף את הפקודה להפעלת האליאס והאליאס יתבצע בסוף הפעולה.
סוויצ'ים:
-s Speed - המהירות שהסלייד יתבצע, המהירות נעה בין 1-10, ברירת המחדל היא 1 שהיא האיטית ביותר.
-w Width - הרוחב הרצוי
-h Height - האורך הרצוי


קוד:
; ——————————————————————————————————————————————————————————————————————————————————————————————— ;
; Dialog slider by Arthas v2
;
; Syntax: /Slide: Invalid format, the syntax is /Slide -whs <dname> <Speed(1-10)> <width> <height> [alias]
; ——————————————————————————————————————————————————————————————————————————————————————————————— ;

alias slide {
  unset %slide.*
  if (w isin $1) { set %slide.now w }
  elseif (h isin $1) { set %slide.now h }
  if (s isin $1) && ($3 isnum 1-10) { set %slide.speed $3 | tokenize 32 $1 $2 $4- }
  if (s isin $1) && ($3 !isnum 1-10) && (!%slide.speed) { echo $color(info) -ag * /slide: Speed must be number between 1-10 | return 0 }
  elseif (!%slide.now) || (!$3) { echo $color(info) -ag * /slide: Invalid format, the syntax is /Slide -whs <dname> <Speed(1-10)> <width> <height> [alias] }
  elseif ((h isin $1) && (w isin $1) && ($4 !isnum)) || ($3 !isnum) { echo $color(info) -ag * /slide: width/height must be numbers }
  elseif (!$dialog($2)) echo $color(info) -ag * /slide: ' $+ $2 $+ ' no such active dialog
  else {
    set %slide.mode $1
    set %slide.dialog $2
    set %slide.to $3
    if (h isin $1) set %slide.to2 $4
    set %slide.type $iif($3 < $int($calc($dialog(%slide.dialog). [ $+ [ $iif(%slide.now == h,ch,cw) ] ] /2)),down,up)
    if (h isin $1) && ($5) set %slide.alias $5-
    elseif (h !isin $1) && ($4) set %slide.alias $4-
    slideit2
  }
}
alias -l slideit2 {
  if (!$dialog(%slide.dialog)) { echo $color(info) -ag * /slide: ' $+ %slide.dialog $+ ' no such active dialog | return 0 }
  var %slide.o = $int($calc($dialog(%slide.dialog). [ $+ [ $iif(%slide.now == h,ch,cw) ] ] /2))
  if (((%slide.o > %slide.to) && (%slide.type == down)) || ((%slide.o < %slide.to) && (%slide.type == up))) {
    var %udd = $iif(%slide.type == down,-,+) $+ $iif(%slide.speed,$calc(%slide.speed *2),2), %uddd $iif($left(%udd,1) == +,-,+) $+ $right(%udd,-1)
    if ((($calc(%slide.o %udd) < %slide.to) && (%slide.type == down)) || (($calc(%slide.o %udd) > %slide.to) && (%slide.type == up))) { goto end }
    dialog -bs %slide.dialog $iif(%slide.now == w,$calc($dialog(%slide.dialog).x %uddd),$dialog(%slide.dialog).x) $iif(%slide.now == h,$calc($dialog(%slide.dialog).y %uddd),$dialog(%slide.dialog).y) $iif(%slide.now == h,$int($calc($dialog(%slide.dialog).cw /2))) $calc(%slide.o %udd) $iif(%slide.now == w,$int($calc($dialog(%slide.dialog).ch /2)))
    .timer -m 1 1 slideit2
  }
  else {
    goto end
    :end
    if (%slide.o != %slide.to) { var %tdd = $iif(%slide.type == down,+,-) $+ $abs($calc(%slide.o - %slide.to)) | dialog -bs %slide.dialog $iif(%slide.now == w,$calc($dialog(%slide.dialog).x %tdd),$dialog(%slide.dialog).x) $iif(%slide.now == h,$calc($dialog(%slide.dialog).y %tdd),$dialog(%slide.dialog).y) $iif(%slide.now == h,$int($calc($dialog(%slide.dialog).cw /2))) %slide.to $iif(%slide.now == w,$int($calc($dialog(%slide.dialog).ch /2))) }
    if (%slide.now != h) && (h isin %slide.mode) {
      set %slide.now h
      set %slide.to %slide.to2
      set %slide.type $iif(%slide.to < $int($calc($dialog(%slide.dialog).ch /2)),down,up)
      .timer -m 1 1 slideit2
    }
    else { if (%slide.alias) $(%slide.alias,2) | unset %slide.* }
  }
}
נערך לאחרונה על ידי Arthas בתאריך 28 אוגוסט 2011, 19:00, נערך 12 פעמים בסך הכל.
תמונה

הצטרף: 13 יולי 2010, 16:40
הודעות: 37
פורסם: 14 נובמבר 2010, 20:29
ואי אחי חח איזה מגניב זה :D נסיתי איזה קטלני :D כל הכבוד

הצטרף: 25 אוגוסט 2010, 02:28
הודעות: 58
פורסם: 14 נובמבר 2010, 20:58
סוווווסס אתתהההה 3>
תמונה

הצטרף: 29 יוני 2010, 16:19
הודעות: 113
פורסם: 14 נובמבר 2010, 21:50
יצא יפה שחר :)
רק תעשה עוד אפשרות
/Slide Stop

למקרה שמישהו עשה גודל ענק והוא רוצה לעצור או משהו....
תוסיף גם אפשרות להרחיב אותו אז הפקודה תהיה:
/Slide <dialogname> <h> <w>

ונגיד w יהיה הרוחב.

הצטרף: 25 אוגוסט 2010, 02:28
הודעות: 58
פורסם: 15 נובמבר 2010, 13:59
XtrAp כתב:
יצא יפה שחר :)
רק תעשה עוד אפשרות
/Slide Stop

למקרה שמישהו עשה גודל ענק והוא רוצה לעצור או משהו....
תוסיף גם אפשרות להרחיב אותו אז הפקודה תהיה:
/Slide <dialogname> <h> <w>

ונגיד w יהיה הרוחב.


יהיה גם נחמד ש, ה $3 יהיה ALIAS מסויים, יענו כאשר הסלייד מסתיים זה מפעיל את האליאס הזה :mrgreen:
תמונה

הצטרף: 01 יולי 2010, 14:38
הודעות: 77
פורסם: 21 נובמבר 2010, 18:00
מזה עושה?
למה אין תמונה?

הצטרף: 25 אוגוסט 2010, 02:28
הודעות: 58
פורסם: 21 נובמבר 2010, 18:05
הייתי ממליץ לך לעשות סרטן קצרצר כי לא כולם יודעים מה זה סלייד עד שינסו
אז, זה בעצם מאריך את הדיאלוג במצב שבו תרצה לעבור ללשנות יותר גדולה מהדיאלוג הראשי, עצמו..
ממש שימושי ויפה לעיין, שחר יתותח!
תמונה

הצטרף: 21 אפריל 2011, 02:21
הודעות: 31
פורסם: 28 יולי 2011, 18:21
שחר איזה סוססס זה נישמע אתה יכול להסביר איך עושים את זה?

הצטרף: 01 יולי 2010, 07:43
הודעות: 368
פורסם: 14 אוגוסט 2011, 07:20
הקוד הועבר לפורום סניפטים.
שימו לב: בוטי המשחק שאני בונה לא מתאימים לQuakenet אלא אם כן צויין אחרת.
<+vendetta-> סיאג לחוכמה שתיקה
<+vendetta--> בא לי מוח
<Ninja`> דפקתי נקנקיה

הצטרף: 20 יוני 2011, 21:35
הודעות: 100
פורסם: 25 אוגוסט 2011, 16:09
תעשה גם שיהיה אפשר לרוחב ולא רק לאורך.

הצטרף: 01 יולי 2010, 13:18
הודעות: 66
פורסם: 28 אוגוסט 2011, 18:56
עודכן, גירסא 2, כולל לאורך ולרוחב וגם שליטה במהירות הסלייד.
תמונה

הצטרף: 20 יוני 2011, 21:35
הודעות: 100
פורסם: 28 אוגוסט 2011, 19:01
אחלה בחלה :) יפה מאד


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