שלום לכולם!
אז כמו שהבטחתי אני עכשיו כותב לכם מדריך/מדריכים שלא תראו!
הנה קצת מידע על המדריך:
שם המדריך: יצירת פיקאפ, HQ, פקודת /enter
רמה הדרושה: בינוני-מתקדם/מקצועי. (אני לא אסביר מה כל דבר עושה רק מה שנחוץ!)
מה יהיה במדריך? פקודת /enter, CreatePickUp, SetPlayerPos, ומשתנים
מה אני צריך לדעת שבשביל המדריך? לדעת להכין פקודות בסיסיות, לשלוט בInteriorים ולשלוט בCreatePickUp ומשתנים.
עריכה: התג [CODE] של הפורום לא ירד שורה אז אתם תיצטרכו אתם לרדת שורות והכל!
אז נתחיל:
שלב ראשון!
יצירת הפיקאפ!
כדי ליצור פיקאפ צריך לכתוב את סוג הפיקאפ, את האידי של איך יראה הפיקאפ במקרה של HQ אני ילמד אותכם לשים את הפיקאפ של שתי אנשים אדומים כאלה עומדים.
כדי ליצור את הפיקאפ עצמו אנחנו נשתמש ב2 משתנים, הראשון זה יהיה הכניסה לHQ והשני יהיה ליציאה ממנו.
* במדריך הזה אנחנו ניצור HQ לGrove בבית של CJ! *
אז ניצור עכשיו את המשתנים ע"י שתי new שנכתוב:
קוד:
new groveenter;
new groveexit;
הסבר קטן:
כמו שזה נראה המשתנה הראשון הוא לכניסה והשני ליציאה.
אז השלב הבא ביצירת פיקאפ הוא להשתמש במשתנים בOnGameModeInit
קוד:
groveenter = CreatePickup(1314,1,2495.36,-1690.98,14.77);
groveexit = CreatePickup(1314,1,2496.00,-1692.08,1014.74,3);
אדום = המודל אידי של הפיקאפ
ירוק = סוג הפיקאפ
שחור = המיקום של הפיקאפ
כחול = הInterior של הפיקאפ במקרה שלנו זה הבית של CJ זה 3 (אתם יכולים למצוא עוד Interiorים ע"י חיפוש בגוגל).
סיימנו את השלב הראשון!
שלב שני - יצירת הפקודה והמיקום של השחקן (הכניסה והיציאה)
אז אתם בטח שואלים את עצמכם, מה כל HQ שאני יעשה זה יהיה ע"י פקודה שונה?
אז פה אני ילמד אותכם את זה:
קוד:
if(IsPlayerInRangeOfPoint)
מה זה אומר?
האם השחקן נמצא בטווח של?
ואז בסוגריים כותבים את מיקום הפיקאפ או כל מה שתירצו.
אז במקרה שלנו המיקומים הם:
2495.36,-1690.98,14.77 - הכניסה
2496.00,-1692.08,1014.74 - היציאה
(כמו שכתבנו למעלה בCreatePickUp)
אז הנה הפקודה:
קוד:
if (strcmp("/enter", cmdtext, true, 10) == 0)
{
if(IsPlayerInRangeOfPoint(playerid, 3, 2495.36,-1690.98,14.77) )
{
כמו שהסברתי למעלה זה האם השחקן בטווח של הפיקאפ כניסה שלנו.
אז אחרי שפתחנו את התנאי הזה אנחנו נכתוב:
קוד:
SetPlayerInterior(playerid, 3);
SetPlayerPos(playerid, 2496.049804,-1695.238159,1014.742187);
GameTextForPlayer(playerid, "~w~The Grove HQ ~n~ /exit to exit!", 5000, 1);
}
כאן כתבנו את השיגור לתוך הHQ שזה SetInterior 3 שזה האינריור של הבית של CJ ואת המיקום שלו.
הפקודה המלאה:
קוד:
if (strcmp("/enter", cmdtext, true, 10) == 0)
{
if(IsPlayerInRangeOfPoint(playerid, 3, 2495.36,-1690.98,14.77) )
{
SetPlayerInterior(playerid, 3);
SetPlayerPos(playerid, 2496.049804,-1695.238159,1014.742187);
GameTextForPlayer(playerid, "~w~The Grove HQ ~n~ /exit to exit!", 5000, 1);
}
שלב שלוש - יצירת היציאה
אז נעשה אותו דבר כמו בכניסה רק הפוך.
נעשה האם השחקן הוא בטווח של הפיקאפ של היציאה ונשלח אותו לכניסה ז"א החוצה.
קוד:
if (strcmp("/exit", cmdtext, true, 10) == 0)
{
if(IsPlayerInRangeOfPoint(playerid, 3, 2496.00,-1692.08,1014.74) )
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, 2495.36,-1690.98,14.77);
}
אז זה בדיוק כמו הכנסיה רק הפוך אין צורך להסבר פה.
זהו יצרתם HQ בGrove!
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
עכשיו לשאלה ש"שאלתם את עצמכם".
כל HQ עכשיו אני יצור אני יעשה פקודה אחרת?
אז לא!
יש לנו את הפקודה
קוד:
if(IsPlayerInRangeOfPoint(playerid, 3, XXXX,XXX,XX) )
{
תעשו מתחת לכניסה לגרוב
קוד:
else if{
if(IsPlayerInRangeOfPoint(playerid, 3, XXXX,XXX,XX) )
{
זה אומר שאם השחקן נמצא בנקודה XXX אז ... מה שאתם רוצים (כמו הHQ של הגרוב)
ואותו דבר ביציאה.
אז זהו סיימנו!!
כל הקרדיט לי!
נא לא להעתיק!