שלום. מאחר שהרבה ילדים אמרו לי שהם לא הבינו תמדריכים שלי כי זה למתקדמים בשבילם , אז אני יעשה במיוחד בשבילכם מדריכים על פונקציות ודברים בסיסים (:
מזה פקודה ? , כולכם יודעים מהי פקודה אני חושב.. אין מה להסביר (: אני רק יסביר איך ליצור אותה .
קודם , נלך לפאבליק OnPlayerCommandText
זאת השורה הראשונה של הפקודה :
קוד:
if(strcmp(cmdtext, "/כאן זה איך תיהיה הפקודה", true)==0)
נגיד ונרצה שהפקודה תיהיה LeTmE/ אז נעשה ככה
קוד:
if(strcmp(cmdtext, "/LeTmE", true)==0)
מתחת כל שרה כזאת , צריך לפתוח בניין . מהו בניין ? בניין זה המקום ששים בו את הפעולות (פונקציות) שיהיה בפקודה . כך נראה בניין
קוד:
if(strcmp(cmdtext, "/LeTmE", true)==0)
{
//זה אמצע הבניין , כאן יהיו הפעולות של הפקודה
return 1;
}
שמתכם ל { } ? , זה בניין בתוכו יהיה הפונקציות ומתחת זה ה Retrun אם נעשה Retrun 1; אז הפקודה תבצע פעולות אם נעשה Retrun 0; הפקודה לא תבצע שום דבר.
אוקי נמשיך. עכשיו נגיד ונשים את הפונקציה SendClientMessage מהי בעצם הפונקציה הזאת ? זאתי פונקציה של הודעה ..ככה היא נראת
קוד:
SendClientMessage(playerid,Color,"הודעה");
עכשיו נגיד ונקח צבע לבן , ובהודעה נרצה שיהיה כתוב "ברוך הבא" נעשה ככה
קוד:
SendClientMessage(playerid,0xFFFFFFFF,"ברוך הבא");
ואז נשים את הפונקציה שעשינו בין הבניין של הפקודה ככה :
קוד:
if(strcmp(cmdtext, "/LeTmE", true)==0)
{
SendClientMessage(playerid,0xFFFFFFFF,"ברוך הבא");
return 1;
}
מה עשינו כאן ? מתי שנעשה את הפקודה LeTmE/ אז זה יחזיר לנו הודעה ברוך הבא בצבע לבן .
נכון שזה קל (: ?
נמשיך ליצירת שיגור.
כמו שעשינו למעלה יצרנו פקודה ובתוכה פונקציה , במקום הפונקציה SendClientMessage נשים את הפונקציה SetPlayerPos.
מהי בעצם הפונקציה SetPlayerPos ? פונקציה זאת תשגר אותך לפי הX Y Z ששמתה בתוכה . מהם X Y Z ? אלו זוויות שדרכם מוצאים מיקום , אוקי נלך למשחק
נגיד ונרצה לעשות שיגור לLV אז נלך למקום יפה בLV (בתוך המשחק) ונעשה שם את הפקודה save Lv/
לאחר מכן לכו לתיקיה GTA San Andreas User Files (אצלי היא נמצאת בתוך המסמכים שלי) בתוך התיקיה יש עוד תיקיה שקוראים לה SAMP תכנסו אליה
ואז תראו שם מסמך טקסט בשם savedpositions כנסו אליו ותראו שם שורה
AddPlayerClass(271,2127.4995,2379.6487,10.8203,1.7858,0,0,0,0,0,0); // Lv
מתוך השורה הזאת ניקח את הזוויות שלנו (X Y Z )
זווית X - צבע אדום
זווית Y - צבע כחול
זווית Z -צבע ירוק
לאחר שמצאנו את הזוויות שלנו נלך לפונקציה SetPlayerPos ונשים שם את הזוויות ככה
קוד:
SetPlayerPos(playerid,2127.4995,2379.6487,10.8203);
הPlayerid זה השחקן שמבצע את הפונקציה .
נעשה כמו שעשינו למעלה ניקח את הפקודה שיצרנו זאת :
קוד:
if(strcmp(cmdtext, "/LeTmE", true)==0)
{
SendClientMessage(playerid,0xFFFFFFFF,"ברוך הבא");
return 1;
}
ונשנה אותה לככה
קוד:
if(strcmp(cmdtext, "/Lv", true)==0)
{
SetPlayerPos(playerid,2127.4995,2379.6487,10.8203);
return 1;
}
וזהו יצרנו שיגור ,ובשביל שיהיה יפה אז נשים שם גם את הפונקציה SendClientMessage
ונעשה ככה
קוד:
if(strcmp(cmdtext, "/Lv", true)==0)
{
SetPlayerPos(playerid,2127.4995,2379.6487,10.8203);
SendClientMessage(playerid,0xFFFFFFFF, "ברוך הבא ל LV");
return 1;
}
זהו (: יצרנו שיגור , נכון שזה קל D: ?
עכשיו , נלמד גם איך לעשות PickUp , מהו PickUp ? פיקאפ זה נשק צף , כמו עוזי שאתה עובר עליו ואז אתה מקבל אותו , כמו חיים שאתה עובר מעליו ואז יתמלא לך חיים .
זאת הפונקציה של הוספת פיקאפ
קוד:
AddStaticPickup(id,15,X,Y,Z);
Id - האיידי של הפיקאפ , ניתן למצוא אותו כאן http://wiki.sa-mp.com/wiki/Pickup_IDs
15 - לא לגעת (זה צורת המראה של הפיקאפ)
X Y Z - המיקום של הפיקאפ , תעשו לפי מה שהדרכתי למעלה .
נגיד ונרצה להוסיף את הפיקאפ של המגן האיידי שלו הוא 1242 אז נעשה ככה :
קוד:
AddStaticPickup(1242,15,X,Y,Z);
תוסיפו אתם את המיקום ושימו את הפונקציה בOnGameModInit
הוספת מכוניות למוד , זה בין הדברים הקלים ביותר בבניה .. אתם צריכים להכנס לרכב נגיד נכנסתם לNRG-500 הולכים למיקום שאתם רוצים להציב בו מכונית ,עושים save/ לאחר מכן הולכים לקובץ
שם תמצאו את השורה הזאת
קוד:
AddStaticVehicle(522,X,Y,Z,A,color1,color2);
522 זה האיידי של האופנוע NRG
X Y Z A המיקום (זוויות)
color 1 - צבע הראשון
color 2- צבע שני
זהו למדריך , החלק הבא :
לימוד מספר פונקציות שימושיות .
מדריך זה נוצר על ידי אין שום הסכמה להעתיק או לגנוב שורות !