סקריפטינג - scripting -- בסיס
אז הנה מדריך לסקריפטינג בSL בחלק הזה אני אכתוב על הבסיס ואם זה יהיה רצוי אני אמשיך וארחיב. אם למישהו יש הצעות או טענות או משהו שלא יהסס. ניתן ליצור סקריפט חדש בשתי דרכים: 1. במלאי - inventory - יש תפריט בשם create שם אתם בוחרים new script - הוא יופיע בתיקיה scripts בשם new script 2. אחרי שאתם יוצרים חפץ חדש תלחצו על MORE בתפריט העריכה (CTRL+3) ושם תלכו ל CONTENT ותלחצו על new script אחרי שיצרת סקריפט חדש תלחצו עליו פעמיים ויפתח לכם חלון. שבו כתוב:
הסתכלו על הקישור למטה שמפנה לאתר אנגלית של ויקיפדיה וסקנד לייף שיש בו מידע בכלל על סקנד לייף אבל הקישור למפנה לחלק של הסקריפטינג
אז הנה מדריך לסקריפטינג בSL בחלק הזה אני אכתוב על הבסיס ואם זה יהיה רצוי אני אמשיך וארחיב. אם למישהו יש הצעות או טענות או משהו שלא יהסס. ניתן ליצור סקריפט חדש בשתי דרכים: 1. במלאי - inventory - יש תפריט בשם create שם אתם בוחרים new script - הוא יופיע בתיקיה scripts בשם new script 2. אחרי שאתם יוצרים חפץ חדש תלחצו על MORE בתפריט העריכה (CTRL+3) ושם תלכו ל CONTENT ותלחצו על new script אחרי שיצרת סקריפט חדש תלחצו עליו פעמיים ויפתח לכם חלון. שבו כתוב:
default { state_entry() { llSay(0, "Hello, Avatar!"); } touch_start(integer total_number) { llSay(0, "Touched."); } }
עכשיו אני אסביר כל חלק בסקריפט הבסיסי הזה. חלק ראשון:default }
דיפולט זה בעצם משהו שנקרא state - מצב, ודיפולט זה מצב ברירת המחדל שאותו כרגע אתם צריכים לכתוב דבר ראשון בכל סקריפט , ואחריו סוגריים מסולסלות שפונות לכיוון ימין (חשוב!) - סוגריים מסולסלות פותחות וסוגרות כל חלק בסקריפט!. אחרי הסוגריים המסולסלות בא בקטע:state_entry() { llSay(0, "Hello, Avatar!"); }
state_entry() - כמו הדיפולט הוא מצב - event שמה שכתוב בתוכו הוא בעצם דבר קבוע. אחרי ה state_entry יש סוגריים רגילות - עגולות בהם לא כותבים כלום כרגע. אתם רואים עוד פעם סוגריים מסולסלות שפונות לימין והן פותחות את מה שיכלל בstate_entry ואם תסתכלו תראו גם סוגריים מסולסלות שפונות שמאלה שסוגרות את הקטע. עכשיו הגענו לקטע עיקרי. llSay הוא משהו שנקרא פונקציה. פונקציה זה משפט או פקודה שגורמת לביצוע של דבר ויש מעל 400 סוגים שונים של פונקציות. הפונקציה llSay מורכבת כך:llSay(0,"aaaaa");
הסוגריים העגולות באות אחרי כל פונקציה ואחריהן יש נקודה פסיק (דבר חשוב מאוד!!) הסוגריים העגולות של הפונקציה הזאת מורכבות משבי דברים: ערוץ ומחרוזת. הערוץ הוא בעצם הערוץ שבו ידבר החפץ וכידי שכולם יראו הערוץ חייב להיות 0 כל ערוץ אחר הוא בלתי נראה לאווטרים. אחרי הערוץ יש פסיק שהוא דבר המפריד בין כל חלק וחלק שבפונקציות בסקריפטינג ואחריו יש את המחרוזת. המחרוזת תהיה במרכאות "" שבתוכם יהיה הטקסט שהחץ יגיד במקרה שלנו זה יהיה aaaa אבל בעצם כל דבר יכול להיות שם. אחרי כל פונקציה ורק! פונקציות יהיה נקודה פסיק ואם הוספתם או שכחתם נקודה פסיק זה יגרום לטעות בסקריפט - תוכנית שלכם. אם לא הבנתם עד עכשיו llSay זו פונקציה שגורמת לחץ להגיד משהו שכולם ישמעו. *הערה: האותיות ll שהן LL קטנות יבואו לפני כל פונקציה!* אחרי הstate_entry יש לנו עוד אירוע - event שהולך כך:touch_start(integer total_number) { something }
האירוע touch_start הוא אירוע שבעצם כמו שהוא אומר מופעל ברגע שנוגעים בחפץ. ואחריו עוד פעם סוגריים מסולסלות שפותחות וסוגרות את מה שיכלל באירוע הזה. באירוע הזה יש משהו בסוגריים העגולות - (integer total_number) - פשוט כותבים את זה כמו שזה בלי שינויים. נחזור שניה לדיפולט ותשימו לב שעד עכשיו כתבנו הכול אחרי הסוגריים המסולסלות שאחרי הדיפולט אבל עדיין לא סגרנו אותו וגם אותו צריך לסגור לכן נוסיף למטה בסוץ עוד סוגריים מסולסלות שפונות שמאלה לסגור את הדיפולט וזוה סיימנו עם הסקריפט הראשון שלנו!. נחזור שניה להתחלה: כשפתחתם את הסקריפט הראשון אמרתי לכם שנפתח חלון עכשיו אני אסביר עליו קצת: החלון מורכב מריבוע לבן שבו אתם כותבים וריבוע לבן להודעות שגיאה או שהכול בסדר , משני כפתורים (save & reset) השמירה בעצם בודק את הסקריפט שלכם בחיפוש אחר טעויות לפני שהוא שומר ואם הוא מוצא הוא מודיע אם לא אז תופיע ההודעה שהוא שומר ואז שמירה הושלמה הכפתור אתחול RESET מאתחל את השפעת הסקריפט על החפץ ומומלץ ללחוץ אחרי כל שינוי בנוסף יש ריבוע סימון שכתוב לידו running אם הוא מסומן הסקריפט יפעל אם לא אז הוא מנוטרל. יש גם תפריט עם כל מיני אפשרויות אבל זה כבר דבר שתתעסקו איתו חופשי. לצערי הרב לא הצלחתי לצרף תמונות של כל זה. אם יש שאלות או משהו לא ברור תפנו אליי בתגובה להודעה או בסקנד לייף בכינוי Tree Amat. ואני אענה לכם עם מה שאני יודע כי למרות שאני יודע די הרבה אני עדיין חדש