אוקי אני יודע שיש בלינקיה מדריך על דיני
אבל הרבא רוצים ליבנות מערכת הרשמה והיתחברות ?
אבל אתם לא יודעים איך ?
בבקשה
אז קודם כל בואו נעשה מישתנה
אז למעלה במוד
ועכשיו נעשה שמתי שמישהוא מיתחבר לשרת ה login היה שווה ל אפס
אז בפבליק
אנכנו עושים
ועכשיו נתחיל את הפקודה /register
אז בפבליק
נגדיר מישתנה
new tmp[256];
וניכתוב את זה
cmd = strtok(cmdtext, idx);
ואוד מישתנה
new name[MAX_PLAYER_NAME];
וגם את זה
new file[256];
זה למעשה יאפשר לנו לעשות פקודה שהיה בא רווח /register password
אוקי ועכשיו ניגש לפקודה
זה למעשה אומר שמתי שמישהוא יעשה /register אז מה היקרה
ומה שהיקרה זה הדבר הבא
אז נעשה שמתי שמישהוא הירשום /register ולא הירשום את הסיסמה אז הוא היכתוב לו הודעה איך ליכתוב נכון נוסיף
ואז אנכנו צריכים להגיד לו איפה התיקיה של הקבצים שלנו אז נוסיף את זה
זה למעשה אומר איפה הקובץ ה %s מסמל את הקובץ תקסט
אוקי עכשיו ניבדוק עם קיים לשחקן קובץ
זה למעשה אומר שעם לשחקן יש קובץ אז מה זה יעשה אפשר להוסיף הודעה או כל דבר אחר
עכשיו נתחיל ביצירת הקובץ
אז נוסיף את זה
זה למעשה יוצר קובץ
עכשיו ניצור את מה שהיה בקובץ
אז נוסיף את זה
dini_Set(file,"Username",name);
זה למעשה היכתוב בקובץ את השם של אותו השחקן
זה היראה כך
Username=blabla
ה blabla זה השם של השחקן
ועכשיו נעשה שזה גם הירשום את הסיסמה
אז נוסיף
dini_Set(file,"Password",tmp);
זה היראה כך
password=123
ה 123 זה הסיסמה של השחקן
ועכשיו נעשה את המישתנה login שהיה שווה ל 1 כי עכשיו הוא רשום
אז נעשה
login[playerid] = 1;
עכשיו אפשר להוסיף הודעה או משהוא כמו "נירשמתה בהצלחה" או כל דבר אחר
מה שאמור לצאת לבסוף זה הדבר הבא
 |
|
 |
 |
|
 |
|
if(strcmp(cmd, "/register", true) == 0) { new file[256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid,0xFFFFFFAA,"**Usage : /Register [Password]"); GetPlayerName(playerid,name,sizeof(name)); format(file,sizeof(file),"%s.txt",name); if(dini_Exists(file)) { SendClientMessage(playerid, COLOR_ORANGE, "**SERVER : You are registered **"); return 1; } else { dini_Create(file); dini_Set(file,"Username",name); dini_Set(file,"Password",tmp); login[playerid] = 1; } return 1; }
|
|
 |
|
 |
|
ד"א כמובן שזה רק הרשמה פשוטה אפשר לעשות עוד המון דברים ואפשר לישמור המון דברים ולא רק שם וסיסמה אפשר גם אי פי
אבל אני לא יסביר את זה פה
אוקייי
עכשיו שיש לנו הרשמה אנכנו צריכים היתחברות
אז נתחיל
זה טיפה יותר מסובך
אז קודם כל
זה אומר שמתי שמישהוא יעשה /login
ומה שהיקרה ומה שהיקרה זה הדבר הבא
נוסיף שתי מישתנים
אוקי
וגם את זה
tmp = strtok(cmdtext, idx);
ועכשיו
if(!strlen(tmp)) return SendClientMessage(playerid,0xFFFFFFAA,"**Usage : /Login [Password]");
זה למעשה מציג הודעה עם שחקן לא רשם את הסיסמה
ועכשיו
הסברתי על זה ליפני אז אני לא יסביר שוב
ועכשיו
זה בודק עם לשחקן יש קובץ עם כן אז הוא ימשיך ועם לא ה else אומר את זה אז הוא יגיד איזה משהוא אפשר להוסיף הודעה
ועכשיו
זה אומר ש tmp2 = לסיסמה ושולף את הסיסמה
ועכשיו
if(strcmp(tmp,tmp2,false) != 0)
{
}
וזה בודק עם הסיסמה שהקשתה נכונה ועם לא אז זה לא יחבר אותך אפשר להוסיף הודעה שזה יגיד סיסמה לא נכונה או משהוא כזה
ועכשיו
נעשה שעם הכל נכנון [הסיסמה ] אז המישתנה שלנו login היה שווה לאחד בצורה הזו
login[playerid] = 1;
ואפשר להוסיף הודעה שזה יגיד שהיתחברתה בהצלחה
לבסוף מה שיוצא זה
ועכשיו הכי למטה במוד צריך להוסיף
וזהוא הסוף עם יש למישהוא ארור או משהוא תיפנו עלי בפרטי או בדיון
יכול להיות שלא הסברתי טוב אני לא ממש טוב בליבנות מדריכים
בהצלחה ~