עריכה :
לא יודע למה זה פתח לי עוד תיבות של קודים XD
שלום ,
דיי הרבה זמן לא עשיתי מדריך .. אז אני ישלים פערים ויעשה לכם מדריך מאוד חשוב
הדיני
אז מזה בעצם דיני ? , דיני זה אינקלוד שדרכו אפשר להשתמש בסוג של ספירית קבצים . מה זאת אומרת ? ספריה שבתוכה אפשר לשמור קבצי טקסט ..
כמו קבצים עם פרטים של משתמש מסוים כמו במערכת הרשמה והתחברות.
נתחיל , קודם להוריד את האינקלוד http://f2h.nana10.co.il/550535
לשים למעלה במוד :
הפונקציות:
dini_Exists
הפונקציה הזאת מבצעת בדיקה .. זאת אומרת בדיקה של המסמך טקסט .
נגיד נפתח תיקיה בשם LeTmE בתוך הScriptFiles ונבצע בדיקה אם יש שם מסמך בשם LeTmE
נעשה ככה
קוד:
dini_Exists("LeTmE/LeTmE.ini");
אם יש בתיקיה מסמך בשם LeTmE זה יחזיר לנו ערך true אם אין שם מסמך בשם LeTmE זה יחזיר לך ערך false
כדי שתשימו לב בין if(!dini_Exists("LeTmE.ini")) לבין if(!dini_Exists("LeTmE.ini")) מה ההבדל ?
ההבדל הוא הסימן קריאה [!] אם הפונקציה תיהיה בהתחלה עם סימן קריאה זה אומר אם זה לא ייצרו את הקובץ ואם זה הפוך זה יבצע בדיקה אם הקובץ קיים.
dini_Create
הפונקציה הזאת תיצור קובץ חדש , זאת אומרת שאם נבנה פקודה כזו
קוד:
if(!strcmp(cmdtext, "/LeTmE", true))
{
dini_Create("LeTmE.ini");
return 1;}
זה אומר שאם תעשה תפקודה /LeTmE
זה יצור קובץ בתיקיה scriptfiles בשם LeTmE .
dini_Set
הפונקציה הזאת מאוד חשובה במערכת הרשמה ובדיני .. הפונקציה יוצרת דברים בתוך הקובץ שיצרנו .
אז איך משתמשים בפונקציה ? ככה :
קוד:
dini_Set("LeTmE.ini","Nick","LeTmE");
מה עשיתי כאן ? שיצור בקובץ LeTmE ערך שקוראים לו Nick ויהיה כתוב בו LeTmE ככה זה יראה בקובץ
Nick LeTmE
עם רווח בין שתי המילים שכתבתי , נעשה את זה עם פקודה
קוד:
if(strcmp(cmd, "/LeTmE", true) == 0) {
dini_Create("LeTmE");
dini_Set("LeTmE.ini","Nick", "LeTmE");
return 1;
}
זה אומר שאם נעשה תפקודה Letme אז זה יצור לנו קובץ בשם LeTmE ובתוכו יהיה כתוב Nick LeTmE
נכון שעד עכשיו קל ? נמשיך ..
dini_Get
הפונקציה תשלוף לנו פרטים מילולים מהמסך שיצרנו .. נגיד שנרצה לדעת מה יש אחרי ה Nick במסמך שיצרנו ? נעשה ככה
קוד:
if(strcmp(cmd, "/LeTmE", true) == 0) {
new String[7];
format(String, sizeof(String), "Nick: %s",dini_Get("LeTmE.ini", "Nick"));
SendClientMessage(playerid,COLOR_WHITE,String);
return 1;
}
מה עשינו ? אם נעשה את הפקודה LETME אז זה ישלוף לנו מהקובץ שיצרנו את מה שליד המילה Nick במקרה שלנו זה ישלוף LeTmE
dini_IntSet
הפונקציה עושה אותו דבר כמו dini_Set ההבדל שהפונקציה הזאת עושה רק ערכים מספריים ,נגיד ונרצה להשים בקובץ שלנו ערך שקוראים לו Level ולידו 0 אז נעשה ככה :
קוד:
dini_IntSet("LeTmE.ini", "Level", 0);
dini_Isset
הפונקציה בודקת אם יש בתוך הקובץ ערכים .. כמו מה שהגדרנו למעלה עם ה Nick וLevel
השימוש :
קוד:
dini_Isset("LeTmE.ini", "Level");
זה יבדוק אם יש ערך בשם Level בקובץ LeTmE , אם יש אז זה יחזיר לנו True ואם אין זה יחזיר Flase . במקרה שלנו זה יחזיר True כי יש את הערך בקובץ LeTmE.
dini_Int
הפונקציה הזאת אותו דבר כמו Dini_Get אבל הפונקציה הזאת שולפת אך ורק ערכים מספריים כמו הLevel שהגדרנו למעלה , הגדרנו ליד הLevel את המספר 0
אז אם נעשה ככה :
קוד:
if(strcmp(cmd, "/LeTmE", true) == 0) {
new String[7];
format(String, sizeof(String), "Level: %d",dini_Int("LeTmE.ini", "Level"));
SendClientMessage(playerid,COLOR_WHITE,String);
return 1;
}
זה אומר אם נעשה תפקודה LETME זה ישלוף לנו את הרמה שיש בקובף LeTmE , במקרה שלנו זה יחזיר 0 כי הגדרנו ליד הLevel 0
dini_FloatSet
הפונקציה הזאת היא דומה לInt_Set כי היא גם למספרים אך היא למספרים עשרוניים כמו 1.5 זה מספר עשרוני .
נגיד שנרצה שבקובץ LeTmE יהיה ערך בשם Time ולידו יהיה 12.40 אז נעשה ככה
קוד:
dini_FloatSet("LeTmE.ini", "Time",12.40);
dini_Float
הפונקציה הזאת דומה לDini_Int ההבדל שהיא שולפת מספרים עשרוניים השימוש בה הוא כזה :
קוד:
if(strcmp(cmd, "/LeTmE", true) == 0) {
new String[7];
format(String, sizeof(String), "Time: %f",dini_Float("LeTmE.ini", "Time"));
SendClientMessage(playerid,COLOR_WHITE,String);
return 1;
}
זה אומר שאם נעשה את הפקודה LETME זה ישלוף לנו את מה שליד הTime בקובץ LeTmE במקרה שלנו זה ישלוף 12.40 כמו שהגדרנו למעלה .
זהו למדריך , עבדתי עליו מאוד קשה בערך שעה .. מקווה מאוד מאוד שתבינו עשיתי הכי מפורט שאני יכול
c)LeTmE)