לפני שמתחילים אני מודיע,כל מה שנרשם כאן..חייבים את הקובץ new.pwn בשביל לעשות את זה..
בלעדיו העבודה תיהיה יותר קשה.
קודם כל נתחיל עם קצת דברים שצריך לדעת וטריקים.
כל פקודה/שורה שתשימו בפאונו צריכה להיות בפאבליק המתאים לה.
דפיין Define = קיצורים לשמות ארוכים.
כדי לגלות XYZ אתם נכנסים למשחק, הולכים למקום שאתם רוצים,ואז עושים /save, אחרי שאתם עושים את זה אתם נכנסים לתיקייה של סאן אנדרס ואז לsaveposition ושם רואים שורה חדשה..
שם אתם לוקחים את המספר ה2,3,4 כאשר המפריד בין מספר למספר הוא "," ולא "." (נקודה מסמל שבר עשרוני).
ועכשיו למדריך.
קודם כל בוא נאמר שאתם רוצים לשים בבחירת דמויות דמויות שאתם תבחרו ולא את כל הדמויות.
מה שאתם צריכים לעשות זה להכנס לשרת lvdm (שאותו אתם מקבלים אם התיקייה של הסרבר ביתי)
ואז להתחיל לדפדף בין הקלאסים עד שתגיעו לקלאס שאתם רוצים שיהיה לכם במוד.
למשל אתם רוצים את קלאס 55.
אתם נכנסים לפאונו של הLVDM ומתחילים לספור 55 שורות מהשורה הראשונה של הAddPlayerClass
(בוא נאמר שהAddPlayerClass הראשון מתחיל בשורה 50 אז שורה 105 זה הקלאס שאתם רוצים.)
עכשיו אתם עושים פאבליק
public OnGameModeInit()
בפאבליק הזה אתם מכניסים את כל הדברים שקשורים בפיקאפים,מכוניות,קלאסים,טיימרים.
עכשיו לדוגמא השורה 55 של הקלאס נראית ככה:
AddPlayerClass(80,1269.9200,2673.0718,10.8203,271. 9759,0,0,0,0,0,0);
זה אומר:
AddPlayerClass(
80,
1269.9200,
2673.0718,10.8203,
271.9759,
0,0,0,0,0,0);
מספר הדמות/אוטו/פיקאפ
X
Y
Z
הזווית בה השחקן ייסתכל כאשר יבחרו בוא (ע"י שיפט)
נשקים
עכשיו הסבר:
המספר 80 זה המספר של הדמות.(דמות של מתאגרף)
עכשיו XYZ
זה המקום שאליו השחקן ישתגר כאשר יבחרו בו
אחרי שרשמתם את הXYZ אתם רושמים גם את המספר ה4 בסייב שעשיתם ואז שמים אותו במקום הוורוד.
אחרי זה תיראו 6 אפסים
זה מסמל ככה:
0 ראשון = איידי של הנשק
0 שני = כדורים לאותו נשק
0 שלישי = עוד איידי של נשק
0 רביעי = מספר הכדורים של אותו נשק
0 חמישי = עוד איידי של נשק
0 שישי ואחרון = כדורים לאותו נשק
אפשר לשים עד 3 נשקים לכל דמות.
הרשימה של האיידים של הנשקים:
http://wiki.sa-mp.com/wiki/Weapons_List
עכשיו אחרי שהוספתם שחקנים לרשימת דמויות שלכם במוד צריך גם מכוניות.
בשביל לעשות מכוניות יש כמה דרכים.
הדרך שאני יספר עליה היא לדעתי הדרך הכי נוחה.
הולכים לתיקייה של הסאן אנדרס, נכנסים לsamp_debug, אחרי שנכנס לדיבאג אתם רושמים /vsel וע"י לחיצה על מקס השיפט ורווח אתם מדפדפים בין המכוניות שיש בסאן אנדרס.
במידה ואתם רוצים לבחור את האוטו אתם לוחצים אנטר.
עכשיו מה שנשאר זה רק להחנות אותו במקום שאתם רוצים.
אחרי שהחנתם אתם רושמים /save.
עכשיו שוב כנסו לsaveposition ויהיה לכם שוב קוד כזה:
AddStaticVehicle(car'id,X,Y,Z,Kivun She Elav Ieie Mufne A Oto,Color,Color); //
לדוגמא:
AddStaticVehicle(567,2262.5305,1451.6085,13.7578,9 0.3110,54,75);
כדי לראות את הרשימת צבעים:
לא לשכוח שהמספר של הצבע הראשון הוא הצבע הראשי של האוטו.
עכשיו אחרי שיש לנו כבר מכוניות וגם רשימת קלאסים חסר גם קצת פיקאפים.
כדי להוסיף פיקאפ כל מה שאתם צריכים לעשות זה להכנס לסאמפ, לעשות סייב במקום שאתם רוצים שיהיה הפיקאפ.
עכשיו כנסו שוב לסייב פוסישין.
תעתיקו את הXYZ ואז כנסו לפאונו ורישמו:
AddStaticPickup(pickup'id,15,X,Y,Z);
עכשיו כדי לדעת את הרשימת איידים של הפיקאפים אתם נכנסים לכאן:
http://wiki.sa-mp.com/wiki/Game_Object_ID_List
ב15 אתם לא נוגעים!!
את הXYZ אתם משנים למה שהעתקתם לפני זה וזהו.
סיימנו עם הפאבליק
OnGameModeInit
עכשיו רישמו למטה
return 1;
}
עכשיו הפאבליק הבא שנשתמש בו הוא:
public OnPlayerCommandText(playerid, cmdtext[])
שהוא משמש לכל דבר שצריך בשבילו לעשות פקודה.
כל פקודה שצריך לעשות לפניה / נכנסת לכאן.
עכשיו אתם מעתיקים את הדבר הבא:
if(strcmp(cmdtext, "/ilan", true) == 0) {
if(IsPlayerInAnyVehicle(playerid)) {
new Float:a;
new Float:b;
new Float:c;
new VehicleID;
GetPlayerPos(playerid, a, b, c);
VehicleID = GetPlayerVehicleID(playerid);
SetVehiclePos(VehicleID,270.9834,-1243.3696,73.5969);
SetPlayerInterior(playerid,0);
}
else{
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,261.6681,-1231.3002,73.7112);
}
return 1;
}
הסבר קצר על הפקודה הזאת:
השורה הראשונה אתם לא צריכים להבין אותה פשוט רישמו במקום ה/ilan מה שבא לכם. (לא לשכוח בהתחלה /)
עכשיו ה
new Float:a;
new Float:b;
new Float:c;
זה מתחלפים (לא נלמד עליהם במדריך הזה..אולי במדריך הבא שלי)
כאשר שימו לב בשורה למטה רשום
GetPlayerPos(playerid, a, b, c);
זה אומר שהפקודה הזה תמצא איפה השחקן נמצא
ואז
תשגר אותו + האוטו שלו לכאן:
VehicleID = GetPlayerVehicleID(playerid);
SetVehiclePos(VehicleID,
270.9834,-1243.3696,73.5969);
SetPlayerInterior(playerid,0);
}
כל זה אתם משנים לXYZ שאתם רוצים שאליו ישתגר האוטו.
(לאלה שלא הבינו..אתם נכנסים למשחק בורחים איזה מקום שרוצים שיהיה אליו שיגור,עושים סייב ומעתיקים את הXYZ לכאן)
עכשיו הקטע של ה:
else{
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,
261.6681,-1231.3002,73.7112);
}
return 1;
}
זה השיגור (אם הבן אדם עושה את הפקודה שהוא לא באוטו.)
אז אתם רושמים את ה
XYZ שאתם רוצים שזה ישגר אותו ואז זה ישגר אותו לשם.
אם אתם רוצים לעשות את השיגור לתוך מקום סגור (אינטריור) כנסו לכאן:
http://wiki.sa-mp.com/wiki/InteriorIDs
וכאן תמצאו רשימה יחסית קטנה של האינטריורים הקיימים במשחק.
ואז אתם רושמים במקום ה0 (ב-SetPlayerInterior(playerid,0);) את המספר של האינטריור, ואז רושמים את הXYZ (מחויב שיהיו בתוך האינטריור).
ולבסוף:
return 1;
}
עכשיו יש לכם גם שיגור.
הפאבליק הבא שלנו הוא כניסה לשרת.
חפשו את הפאבליק
public OnPlayerConnect(playerid)
שהפאבליק הזה כולל המון דברים.
לדוגמא:
הצבע שהשחקן יקבל לאחר שייכנס לשרת, מה שיהיה רשום כאשר הוא ייכנס.
בקיצור מה שיהיה כאשר השחקן ייכנס לשרת.
עכשיווווו..
בשביל שיהיה רשום בענק באמצע המסך את מה שאתם רוצים שיהיה רשום כאשר השחקן יירשם תוסיפו את הפקודה הבאה:
GameTextForPlayer(playerid,"~r~Mod",7000,5);
פירוט:
playerid = מסמל שזה יפעל על כל בן אדם שייכנס לשרת.
~r~ מסמל שההודעה תיהיה בצבע אדום r=red
7000 הזמן שההודעה תופיע.
5 = הסיגנון שהיא תופיע.
לרשימת הסיגנונות:
http://wiki.sa-mp.com/wiki/GameTextStyle
אם אתם צנועים ורוצים שתיהיה הודעה קטנה בצ'אט ולא הודעה כל כך גדולה רישמו:
SendClientMessage(playerid, 0x33AA33AA, "Mod

");
כאשר פלייר איידי מסמל את זה שכל מי שייכנס ייראה את זה
0x33AA33AA = הצבע
Mod = במקום זה רישמו מה שבא לכם.
איך מכינים צבע?
נכנסים לפה:
http://www.free-webmaster-tools.com/colorpicker.htm
יורדים על למטה ואז תיראו מין פלאש כזה עם צבעים מעורבבים.
עכשיו תזיזו את העכבר שיהיה על הצבע שאתם רוצים ואז זה ייתן לכם קוד למטה
דוגמא:
1DBF56
עכשיו אתם מוסיפים 0x ואז רושמים את הצבע.
0x**COLOR**FF
ואז זה יוצא לדוגמא
0x1DBF56FF
והנה לכם עוד צבע (במקרה הזה הוא ירוק כי הזזתי את העכבר אצלי עד לצבע הירוק)
רוצים לקצר?
רשמו למעלה #define 0x1DBF56FF GREEN
עכשיו כל פעם שתירצו להשתמש בצבע הזה במקום לרשום את כל אותיות המסובכות האלה פשוט רישמו GREEN.
אם לא עשיתם את הדיפיין זה יעשה לכם ארורס.
עכשיו אחרי שיש לנו מכוניות,קלאסים,פיקאפים,שיגורים,משפטי פתיחה...צריך גם לוח הריגות.
חפשו את הפאבליק:
public OnPlayerDeath(playerid, killerid, reason)
ושם תוסיפו את השורה:
SendDeathMessage(killerid, playerid, reason);
(בין הסוגריים במסולסלים כמובן.)
זהו להיום אנשים, מקווה שקהילת המתכנתים תגדל כמה שיותר.
***אין להעתיק מדריך זה ללא רשות ממני!!
לכל עזרה/בקשה או פנייה צרו איתי קשר בוונט
PrO iLan
מקווה שעזרתי אנשים..
יש עוד איןסוף דברים שאפשר לעשות בפאונו..זה לא נגמר..
יש המון פאבליקים שלא רשמתי,המון תכנות,משתנים ועוד המון המון המון דברים.
זה היה רק חלק קטן.
מי שיודע אנגלית יכול להתעזר כאן:
http://wiki.sa-mp.com/wiki/Scripting_Functions