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

[פרסום] דיאלוג התחברות לשרתים

mIRC Scripting - בפורום זה תינתן תמיכה בסקריפטים וכן גם אפשרות לבקשת סניפטים או תוספים, ניתן גם להציג בפורום זה קודים לפני פירסומם.

הצטרף: 27 אוגוסט 2011, 23:09
הודעות: 2
פורסם: 27 אוגוסט 2011, 23:11
הדיאלוג מחבר אותך לשרתים, הוא מותאם לIGOnline:

הערות לגבי הקוד יתקבלו בשמחה...

הקוד:
http://lidor.net/p/?p=S317d
או

dialog dialogIGO {
  title "IGOnline Servers By: Qwiwi"
  size -1 -1 289 201
  option dbu
  button "Connect", 2, 241 16 37 12
  link "www.IGOnline.co.il", 3, 225 192 55 8
  edit "Server Ip", 6, 12 16 82 12, multi autohs autovs center
  edit "Password", 7, 97 16 139 12, multi autohs autovs center
  check "Auto Login On Details", 8, 13 67 60 11
  combo 9, 12 53 118 92, size drop
  edit "Password", 10, 132 52 103 12, multi autohs autovs center
  button "Connect", 11, 240 52 37 12
  list 12, 12 109 224 59, size
  button "Connect", 13, 241 109 37 59
  edit "Enter server name", 14, 12 90 117 13, center
  button "Add Server", 15, 241 90 37 13
  box "Favorite System:", 16, 6 82 277 107
  edit "Enter server ip", 18, 132 90 104 13, center
  button "Delete Server", 19, 13 173 82 12
  button "Clear Servers", 20, 154 173 82 12
  box "Connect To Servers:", 21, 7 3 277 33
  box "Gather Bot System:", 22, 6 40 277 42
  text "By: Qwiwi", 23, 6 191 61 8, center
}

menu * {
  -
  Qwiwi Servers
  .Open Dialog { dialog -m dialogIGO dialogIGO }
  .Open Dialog Setting { dialog -m QwigoSetting QwigoSetting }
  -
}

on *:dialog:dialogIGO:init:*: {
  SetCombo
  SetFavorite
  SetAuto
  SetQBots
  SetServers
}

on *:dialog:dialogIGO:sclick:*: {
  if ( $did == 2 ) {
    if ( $did(6).text ) && (*.*.*.*:* iswm $did(6).text) {
      run steam://connect/ $+ $did(6).text $+ / $+ $did(7).text
    }
    elseif ( $did(6).text ) && (*.*.*.*:* !iswm $did(6).text) && ($input(Please Type Legal Ip,o,Invild Ip)) {
      did -r $dname 6
    }
  }
  elseif ( $did == 3 ) {
    url www.IGOnline.co.il
  }
  elseif ( $did == 8 ) {
    set %Qwigo.AutoLogin $did(8).state
  }
  elseif ( $did == 11 ) {
    if ( $did(9) ) {
      GatherNum
      run steam://connect/ $+ %Qwigo.GNum $+ / $+ $did(10).text
    }
  }
  elseif ( $did == 13 ) {
    var %Qwigo.fs $did(12).seltext
    var %Qwigo.nfs $numtok(%Qwigo.fs,32)
    var %Qwigo.FConnect $gettok(%Qwigo.fs,%Qwigo.nfs,32)
    if ( $did(12).sel ) {
      $?="Type Server Password (if has):"
      run steam://connect/ $+ %Qwigo.FConnect $+ / $+ $!
    }
  }
  elseif ( $did == 15 ) {
    if ( $did(14).text ) && ( $did(18).text ) && (*.*.*.*:* iswm $did(18).text) && ($did(18).text !isin %Qwigo.SList) {
      did -a $dname 12 Server Name: $did(14).text $chr(124) Server Ip: $did(18).text
      Set %Qwigo.SList %Qwigo.SList $did(18).text
      writeini Qwigo.ini Servers $did(18).text $did(14).text
      did -r $dname 14
      did -r $dname 18
    }
    elseif (*.*.*.*:* !iswm $did(18).text) && ($input(Please Type Legal Ip,o,Invild Ip)) {
      did -r $dname 18
    }
    elseif ($did(18).text isin %Qwigo.SList) && ($input(This server is already in your favorite servers,o,Error)) {
      did -r $dname 18
    }
  }
  elseif ( $did == 19 ) {
    var %Qwigo.N $did(12).seltext
    var %Qwigo.Num $numtok(%Qwigo.N,32)
    var %Qwigo.Del $gettok(%Qwigo.N,%Qwigo.Num,32)
    remini Qwigo.ini Servers %Qwigo.Del
    Set %Qwigo.SList $remtok(%Qwigo.SList,%Qwigo.Del,1,32)
    did -d $dname 12 $did(12).sel
  }
  elseif ( $did == 20 ) {
    did -r $dname 12
    unset %Qwigo.SList
    remini Qwigo.ini Servers
  }
}

alias -l SetCombo {
  did -a $dname 9 Gather 1 (!)
  did -a $dname 9 Gather 2 (@)
  did -a $dname 9 Gather 3 (+)
  did -a $dname 9 Gather 4 (*)
  did -a $dname 9 Gather 5 (-)
  did -a $dname 9 Gather 6 (^)
  did -a $dname 9 Gather 7 (.)
  did -a $dname 9 Gather 8 (&)
}

alias -l GatherNum {
  if ( $did(9) ) {
    var %Qwigo.gn $did(9).text
    var %Qwigo.Numcheck $gettok(%Qwigo.gn,2,32)
    Set %Qwigo.GNum $gettok(%Qwigo.GServers,%Qwigo.Numcheck,32)
  }
}

alias -l SetFavorite {
  var %Qwigo.n 1
  var %Qwigo.cn $numtok(%Qwigo.SList,32)
  while ( %Qwigo.n <= %Qwigo.cn ) {
    var %Qwigo.Ips $gettok(%Qwigo.SList,%Qwigo.n,32)
    did -a $dname 12 Server Name: $readini(Qwigo.ini,Servers,%Qwigo.Ips) Server Ip: %Qwigo.Ips
    inc %Qwigo.n 
  }
}

alias -l SetAuto {
  if (%Qwigo.AutoLogin == 1) {
    did -c dialogIGO 8
  }
}

alias -l SetQBots {
  if (!%Qwigo.Qbots) {
    set %Qwigo.Qbots *!*@IGOnlineRank.users.quakenet.org,*!*@IGOnlineCrew.users.quakenet.org,*!*@IGOnlineDetail.users.quakenet.org,*!*@IGOnlineDe2.users.quakenet.org
  }
}

alias -l SetServers {
  if (!%Qwigo.GServers) {
    Set %Qwigo.GServers 188.64.99.112:20308 188.64.99.112:20309 188.64.99.112:20310 188.64.99.112:20311 188.64.99.112:20312 188.64.99.112:20313 188.64.99.112:20379 188.64.99.112:20380
  }
}

on *:text:*:?: {
  if ($wildsite isin %Qwigo.Qbots) && (%Qwigo.AutoLogin == 1) {
    var %Qwigo.DServer $strip($gettok($1-,6,32))
    var %Qwigo.DPass $gettok($1-,8,32)
    run steam://connect/ $+ %Qwigo.DServer $+ / $+ %Qwigo.DPass
  }
}

dialog QwigoSetting {
  title "Qwiwi Servers Setting"
  size -1 -1 205 78
  option dbu
  box "Gather Bot System Setting:", 1, 2 1 200 69
  combo 2, 8 13 72 60, size drop
  edit "Enter New Server Ip", 3, 84 12 74 11, center
  button "Set New Ip", 4, 161 11 37 12
  edit "Enter New Address", 5, 8 49 150 11, center
  button "Add Address", 6, 161 48 37 12
  link "www.IGOnline.co.il", 7, 155 70 46 8
  text "By: Qwiwi", 8, 3 70 24 8
  text "Add Q For Gather Bot:", 9, 9 41 54 8
}

on *:dialog:QwigoSetting:init:*: {
  SetComboSetting
}

on *:dialog:QwigoSetting:sclick:*: {
  if ( $did == 4 ) {
    var %Qwigo.rep $did(3).text
    var %Qwigo.nrep $did(2).text
    var %Qwigo.gnum $gettok(%Qwigo.nrep,2,32)
    var %Qwigo.replace $gettok(%Qwigo.GServers,%Qwigo.gnum,32)
    if (*.*.*.*:* iswm %Qwigo.rep) && ( $did(2).text ) && ($input(Done,o,Done!)) {
      Set %Qwigo.GServers $reptok(%Qwigo.GServers,%Qwigo.replace,%Qwigo.rep,1,32)
      did -r $dname 3
    }
    elseif (*.*.*.*:* !iswm %Qwigo.rep) && ($input(Type Legal Ip,o,Invild Ip)) {
      did -r $dname 3
    }
  }
  elseif ( $did == 6 ) {
    if (*@* iswm $did(5).text) && ($input(Done,o,Done!)) {
      Set %Qwigo.Qbots %Qwigo.Qbots $did(5).text
      did -r $dname 5
    }
    elseif (*@* !iswm $did(5).text) && ($input(Type Legal Address,o,Invilde Address)) {
      did -r $dname 5
    }
  }
  elseif ( $did == 7 ) {
    url www.IGOnline.co.il
  }
}

alias -l SetComboSetting {
  did -a $dname 2 Gather 1 (!)
  did -a $dname 2 Gather 2 (@)
  did -a $dname 2 Gather 3 (+)
  did -a $dname 2 Gather 4 (*)
  did -a $dname 2 Gather 5 (-)
  did -a $dname 2 Gather 6 (^)
  did -a $dname 2 Gather 7 (.)
  did -a $dname 2 Gather 8 (&)
}
 


הצטרף: 31 אוגוסט 2010, 11:07
הודעות: 57
פורסם: 28 אוגוסט 2011, 11:20
לא מתאים לפה, תפרסם בפורום "פרסום קודים ומדריכים".

הצטרף: 01 יולי 2010, 07:43
הודעות: 370
פורסם: 28 אוגוסט 2011, 16:13
כמו שהבטחתי, הנה מגיעה התגובה.
טוב אז רק לפני שאני מתחיל אני שוב מעוניין לציין כמו במירק, אני שמח שאתה מעוניין לשפר את הכתיבה שלך לרמה גבוהה יותר, אז כדאי לשמוע להצעות שמתקבלות פה.

1. אין צורך לדפוק את הניק שלך בכל איזור אפשרי, חסר טעם כלכך
2. למה האנשים צריכים להגדיר ידנית את האייפיים של השרתים הקבועים?
3. למה בinit חילקת את כל התהליך לאליאסים? פשוט תעשה את זה וזהו ישיר בדיאלוג init.
4. כשאתה עושה תנאי אין צורך ברווחים חסרי משמעות כמו: ( 1 == 1 ) במקום (1 ==1), מעבר לזה שזה לא יפה, זאת כתיבה לא נכונה שסתם תופסת עוד 2 בייטים לקומפיילר (במקרה של המירק: קוד פתוח + דיבאגר).
5. לא מובן לי עניין הAuto login הזה.. תוכל להסביר?
6. הסיינטאקס של VAR הוא כזה:
/var %variable = value

אתה קצת שכחת מהסימן "=", נכון שזה עובד, אבל זאת טעות כתיבה חמורה יחסית.
7.
את הפקודה var אפשר לכווץ לשורה אחת, לדוגמא:
    var %Qwigo.fs $did(12).seltext
    var %Qwigo.nfs $numtok(%Qwigo.fs,32)
    var %Qwigo.FConnect $gettok(%Qwigo.fs,%Qwigo.nfs,32)

ל
    var %Qwigo.fs = $did(12).seltext,%Qwigo.nfs = $numtok(%Qwigo.fs,32),%Qwigo.FConnect = $gettok(%Qwigo.fs,%Qwigo.nfs,32)

8.
הסבר את השורות הבאות:
      $?="Type Server Password (if has):"
      run steam://connect/ $+ %Qwigo.FConnect $+ / $+ $!

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

בסך הכל, מעבר לזה שזה עובד, לא הצלחתי לרדת יותר מ8 שורות בלי לכתוב עוד סעיף, מה שאומר שיש הרבה מה לשפר. אבל אף אחד לא התחיל ממושלם :)
בהצלחה!
שימו לב: בוטי המשחק שאני בונה לא מתאימים לQuakenet אלא אם כן צויין אחרת.
<+vendetta-> סיאג לחוכמה שתיקה
<+vendetta--> בא לי מוח
<Ninja`> דפקתי נקנקיה

הצטרף: 27 אוגוסט 2011, 23:09
הודעות: 2
פורסם: 28 אוגוסט 2011, 19:22
ZxoR כתב:
כמו שהבטחתי, הנה מגיעה התגובה.
טוב אז רק לפני שאני מתחיל אני שוב מעוניין לציין כמו במירק, אני שמח שאתה מעוניין לשפר את הכתיבה שלך לרמה גבוהה יותר, אז כדאי לשמוע להצעות שמתקבלות פה.

1. אין צורך לדפוק את הניק שלך בכל איזור אפשרי, חסר טעם כלכך
2. למה האנשים צריכים להגדיר ידנית את האייפיים של השרתים הקבועים?
3. למה בinit חילקת את כל התהליך לאליאסים? פשוט תעשה את זה וזהו ישיר בדיאלוג init.
4. כשאתה עושה תנאי אין צורך ברווחים חסרי משמעות כמו: ( 1 == 1 ) במקום (1 ==1), מעבר לזה שזה לא יפה, זאת כתיבה לא נכונה שסתם תופסת עוד 2 בייטים לקומפיילר (במקרה של המירק: קוד פתוח + דיבאגר).
5. לא מובן לי עניין הAuto login הזה.. תוכל להסביר?
6. הסיינטאקס של VAR הוא כזה:
/var %variable = value

אתה קצת שכחת מהסימן "=", נכון שזה עובד, אבל זאת טעות כתיבה חמורה יחסית.
7.
את הפקודה var אפשר לכווץ לשורה אחת, לדוגמא:
    var %Qwigo.fs $did(12).seltext
    var %Qwigo.nfs $numtok(%Qwigo.fs,32)
    var %Qwigo.FConnect $gettok(%Qwigo.fs,%Qwigo.nfs,32)

ל
    var %Qwigo.fs = $did(12).seltext,%Qwigo.nfs = $numtok(%Qwigo.fs,32),%Qwigo.FConnect = $gettok(%Qwigo.fs,%Qwigo.nfs,32)

8.
הסבר את השורות הבאות:
      $?="Type Server Password (if has):"
      run steam://connect/ $+ %Qwigo.FConnect $+ / $+ $!

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

בסך הכל, מעבר לזה שזה עובד, לא הצלחתי לרדת יותר מ8 שורות בלי לכתוב עוד סעיף, מה שאומר שיש הרבה מה לשפר. אבל אף אחד לא התחיל ממושלם :)
בהצלחה!


1. צריך להשתמש ברישא כדי שלא יצא לי שאני ישתמש ב%var שיש אותו בסקריפט אחר של מישהו ואז יווצר מצב שבו משתמשים באותו %var...
2. הם לא מגדירים את האייפי של השרתים הקבועים.... הם מחליפים את האייפי שלהם במקרה ושינו אותו (וזה קורה די הרבה)...
3. סתם פשוט ככה זה יותר מסודר לי... אם זה כזה משנה, פעם באה נעשה את זה בדיאלוג init וזהו...
4. נשים לב בפעם הבאה.
5. במידה וסימנת את ה-Auto Login אז כשהגאטר בוט שולח לך את הפרטים של הגאטר זה מתחבר לך אוטומאטית לשרת...
6. גם לזה נשים לב...
7. לא ידעתי, יפה... :)
8. אתה מכניס סיסמה לשרת ב-$? (במידה ויש) ואז זה מתחבר לך לשרת שבחרת מהרשימה....
9. א. השני לא חסר משמעות כיוון שמשנים את האייפים של הסרברים בIGO לעיתים די קרובות, ואת ה-Q של הבוטים שלהם לעיתים קצת פחות קרובות אבל גם אותם משנים... אז הדיאלוג השני נועד לעדכן אותם במידה ומשנים...
ב. לא התכוונתי בהתחלה לעשות דיאלוג של הגדרות בגלל זה, זה יצא ב-2 דיאלוגים, אחרת הייתי עושה את זה בדיאלוג אחד עם tabs...

תודה רבה אחי על ההערות... :)
אשמח לשמוע עוד אם יש למישהו מה לחדש....

הצטרף: 01 יולי 2010, 07:43
הודעות: 370
פורסם: 30 אוגוסט 2011, 07:56
1. טעות, אם אתה רוצה שסקריפטים לא יתנגשו, תתן לזה prefix יותר מקורי, לדוגמא השם של הסקריפט הוא IGOnline Server connector (אני מקווה שלא) אז הקיצור יהיה IGOsc.
2. זה לא נראה ככה.
3. לא תמיד מה שמסודר לך זה טוב, כשאתה מפרסם סקריפט חשובה המקצועיות. חלק ממנה זה נוחות הקריאה - שהיא לא רק שלך אלא של אחרים (בעיקר).
4. :)
5. Login זאת לא התחברות מהסוג שאתה מחפש, אתה מחפש את המילה Connect. או בקיצור: Auto-connect.
6. :)
7. :)
8. אז למה לא פשוט:
run steam://connect/ $+ %Qwigo.FConnect $+ / $+ $?="Type Server Password (if has):"

9. ובכל זאת, יכולת לעשות את הכל בדיאלוג אחד קטן יותר ונוח יותר.
שימו לב: בוטי המשחק שאני בונה לא מתאימים לQuakenet אלא אם כן צויין אחרת.
<+vendetta-> סיאג לחוכמה שתיקה
<+vendetta--> בא לי מוח
<Ninja`> דפקתי נקנקיה


חזור אל מירק סקריפטינג

cron