דברי פתיחה
לפני מספר שנים בניתי ופרסמתי את הMafia Bot הראשון שפורסם בעברית, ידוע גם כGodfather Edition. הבוט נחל הצלחה רבה וללא מתחרים. בשבועות האחרונים לאחר הסתכלות שנייה על הקוד הישן הבנתי מספר דברים:
1. הוא כתוב בצורה נוראית
2. יש בו מספר באגים לא מתוקנים
3. יש בו קרדיט שלא ניתן להוריד שזה לחלוטין נוגד את שיטת הפעולה שלי כיום
4. הוא בעברית, וקהל היעד שלו קטן
ולכן, החלטתי לצאת למסע קשה שכל מתכנת מכיר: לזרוק הכל לפח ולהתחיל מ0. וכך עשיתי, קוד רימוט ריק לחלוטין, מההתחלה ועד לפוסט הזה, כאשר בגרסא החדשה תוקנו הדברים הללו:
1. תכנות ברמה גבוהה
2. תוקנו הבאגים מהגרסאות הקודמות
3. אין קרדיט, והבוט פועל ללא DLL מיותר
4. הבוט נכתב כעת בשפה האנגלית על מנת לפנות אל קהל יעד עולמי.
הפרוייקט נחל הצלחה, ובתוך שבוע אנחנו נמצאים כאן בפוסט הזה כאשר הבוט מוכן להפצה ראשונית (בטא) ונקרא Snatch Edition!
הבוט החדש הוא רענן יותר וטוב יותר, אני מקווה שתקחו אותו ותהנו איתו, תשחקו עם חברים ותשתמשו בו לצרכים לימודיים.
באהבה, יונתן (ZxoR)
דיאלוג - הגדרות
Channel: הערוץ הראשי שבו יתנהל המשחק
Heaven: גן העדן, המקום שאליו יגיעו הנרצחים. בערוץ זה יהיה ניתן לצפות במשחק אך לא להשתתף בו.
Prefix: סימן ההפעלה של הבוט. לדוגמא, אם נשתמש בנקודה הפקודות יראו ככה: .HELP. אם נשתמש בסימן קריאה הפקודות יראו ככה: !HELP.
Only admins can start games: במידה ומסומן, רק משתמשים בעלי גישת אדמין ומחוברים יוכלו להריץ משחקים.
Enable 'VERSION' Command: במידה ומסומן, משתמשים יוכלו להשתמש בפקודה VERSION בערוץ על מנת לקבל פרטים על הבוט וגירסתו.
Maintenance mode: במצב זה לא ניתן יהיה להפעיל משחקים בבוט.
דיאלוג - אדמינים
באמצעות דיאלוג זה ניתן להגדיר אדמינים לבוט. אדמינים יכולים להפעיל ולעצור משחקים.
התחברות למשתמש אדמין מתבצעת על ידי הפקודה LOGIN בפרטי של הבוט באופן הבא:
קוד: בחר הכל
/msg Mafia-Bot .LOGIN <username> <password>
לדוגמא:
קוד: בחר הכל
/msg Mafia-Bot .LOGIN ZxoR 123456
על מנת להריץ משחק יש לכתוב בערוץ את הפקודה START לדוגמא:
קוד: בחר הכל
/msg #Mafia .START
מדריך למשחק:
-----------
חוקי המפיה:
ישנם ארבעה תפקידים ראשיים והם:
1. ראש המפיה.
2. סגן ראש המפיה.
3. שוטרים.
4. רב-פקד.
כל שאר המשתתפים הם אזרחים.
-----------
תפקידים:
1. ראש המפיה - תפקידו הוא לרצוח את כל האזרחים או לנטרל את כל השוטרים במשחק על מנת להשיג שליטה על העיירה
2. סגן ראש המפיה - יכול לייעץ לראש המפיה, בנוסף יכול לשלוח מרגלים לבדוק אם שחקן הוא שוטר או לא פעם אחת במשחק.
3. שוטר - עליו לתפוס את המפיה. בלילה כשהמפיה יוצאת לרחובות, יוצאים גם השוטרים לתפוס אותם.
4. רב פקד - לילה אחד במשחק, יכול הרב פקד להציב שמירה על משתמש, כך שבמידה והמפיה תהרוג את אותו משתמש באותו לילה, המפיה תיתפס! כמו כן על השוטרים להתייעץ איתו בכל החלטה והוא מפקד על תפיסת המפיה.
5. אזרח - בכל יום בבוקר, לאחר שהמפיה עובדת, קמים האזרחים משנתם, ויכולים להשתתף בהצבעה שבסופה יבחר אחד שיעוף מהעיירה.
-----------
מטרת המשחק:
מפיה: להרוג את כל השוטרים או את כל האזרחים
שוטרים ורב פקד: לתפוס את המפיה לפני שהיא תתפוס אותם או את כל האזרחים
אזרחים: לתפוס את המפיה לפני שהיא תתפוס אותם ולסייע לשוטרים..
-----------
פקודות:
את כל הפקודות יש לשלוח לחלון הפרטי של הבוט
- שוטרים
קוד: בחר הכל
.catch <nick> - בלילה, כשהמפיה יוצאת, בעזרת הפקודה הזאת תוכלו לעצור שחקן
קוד: בחר הכל
.kill <nick> - בלילה, בעזרת הפקודה הזאת תוכלו לרצוח משתמש
קוד: בחר הכל
.iscop <nick> - יכול לבדוק פעם אחת במשחק אם שחקן הוא שוטר או לא
קוד: בחר הכל
.trap <nick> - יכול להציב ללילה אחד שמירה על שחקן, במידה והוא ירצח ע"י המפיה, המפיה תיתפס
קוד: בחר הכל
.choose <nick> - במהלך היום, בעזרת הפקודה הזאת תוכלו להצביע לאיזה שחקן יעוף היום מהעיירה
איך אני יודע מה התפקיד שלי? בתחילת המשחק הבוט ישלח אליך הודעה שמכילה את תפקידך.
איך אני מצטרף למשחק? ראשית, עליך להכנס לערוץ המשחק
קוד: בחר הכל
/Join #MAFIA
לאחר מכן, כאשר יתחיל משחק, עליך לרשום את המילה הבאה (כולל הנקודה בהתחלה)
קוד: בחר הכל
.Join
איפה כותבים את כל הפקודות לבוט? את הפקודות במהלך המשחק יש לכתוב לבוט בפרטי. שאר הפקודות כותבים בערוץ.
איך אני יודע את כל הפקודות של הבוט? רשום בערוץ המשחק:
קוד: בחר הכל
.help
מתי מתחילים לשחק? כאשר יהיו 7 שחקנים פעילים בערוץ המריץ יפעיל את המשחק (באמצעות הפקודה READY) ואפשר יהיה להתחיל!
קרדיט
לא, אין קרדיט בבוט הזה, אין פקודה !credits, והשם ZxoR לא מופיע בו, אני תכנתתי תבוט בקוד פתוח, ובקוד פתוח אין קרדיט.
אני מעוניין שאנשים יקחו את הבוט הזה וישפרו אותו, ולכן, הוא לא רשום בקרדיט ובזכויות יוצרים.
עשו ניסוי, ובדקו שכשאומרים לילד לא לעשות משהו, הוא עושה דווקא, אם אומרים לעשות, החשק יורד.
אם אני ישים קרדיט, אתם או תמחקו או תשנו לשם שלכם.
אם אני אחביא קרדיט , אתם תחפשו ותמחקו.
אם אני לא ישים קרדיט, אני ידע טוב טוב מי מכם הוא אדם ישר, והוא יהיה אותו אחד שישים את הקרדיט ויעצב אותו כמו שהוא רוצה וינצל את הקוד הפתוח בצורה הטובה ביותר - לבחירתו. כי בסך הכל בניתי את הבוט הזה בשבילכם.
* בבוט זה ניתן לבטל את הפקודה VERSION בדיאלוג ההגדרות.
יומן גרסאות
גרסא 1.0 (גרסאת בטא ראשונה):
שחרור ראשוני לבדיקה.
גרסא 1.1 (גרסאת בטא):
- תוקן הבאג בפקודה CATCH - עכשיו כל השוטרים ורב הפקד מקבלים את ההודעה כאשר משנים את הבחירה
- הבאג בפקודת הRANK תוקן - כעת גם לכינויים שמכילים את התווים "[" ו"]" מקבלים ניקוד
- תוקן באג גדול בפקודה CHOOSE שלא היה מוריד שחקנים מרשימת השחקנים וגרם לבלבול גדול מאוד
הורדה
שימו לב: תזהרו מחיקויים! - מכיוון שהבוט מתפרסם בצורת .exe, יש להוריד את הבוט רק מהאתר sourceForge! אני לא אחראי להורדות שמתפרסמות במקומות אחרים.
הורדה של הקוד בלבד: https://sourceforge.net/projects/zxorma ... p/download
הוראה של התקנה (אנטיוירוסים עלולים לחסום): https://sourceforge.net/projects/zxorma ... e/download