במדריך הזה אכתוב על הכנת הודעת יציאה וכניסה.
בSA:MP בגרסה 0.1 היו הודעות כאלה מוכנות עם השרת.
לאחר שגרסה 0.2 יצאה, השמיטו מהסאמפ את ההודעות.
אז כל מי שרוצה אותם בחזרה,
יעשה את זה כך:
קודם כל נלך לחלק הקל - הודעת הנכנס.
ב OnPlayerConnect רשמו את הקודים הבאים:
new string[256], name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name)); format(string,sizeof(string),"%s has join the server.",name); SendClientMessageToAll(0xAFAFAFAA,string);
</i> הסברים:
ירוק - הפאונו מקבל את שם השחקן שנכנס
אדום - יוצר טקסט חדש, הטקסט כולל את המשתנה %s המוגדר כשם השחקן
כחול - הפאונו שולח את הטקסט הכולל משתנה לכל השחקנים המחוברים לשרת
עכשיו נעבור לחלק הקשה יותר - הודעת היוצא.
ב OnPlayerDisconnect רשמו את הקודים הבאים:
new string[256], name[MAX_PLAYER_NAME], xreason[10]; switch(reason) { case 0: xreason = "Timeout"; case 1: xreason = "Leaving"; case 2: xreason = "Kicked"; default: xreason = "Error"; } GetPlayerName(playerid,name,sizeof(name)); format(string,sizeof(string),"%s has left the server. (%s)",name,xreason); SendClientMessageToAll(0xAFAFAFAA,string);
</i> הסברים:
ירוק - הפאונו מקבל את שם השחקן שנכנס
אדום - יוצר טקסט חדש, הטקסט כולל שני משתני %s המוגדרים כשם השחקן והסיבה ליציאה (סיבה 0: טיים אאוט, סיבה 1: עזב מרצונו, סיבה 2: עזב בגלל האדמין)
כחול - הפאונו שולח את הטקסט הכולל משתנים לכל השחקנים המחוברים לשרת
בהצלחה!
הערה: המדריך אכן פורסם גם בפורום הראשי על ידיי, אך הועתק לכאן עם שינויים.
+שונה על ידי יוסי,הוספת תגי PHP
שאלה:
אתה אומר ש "%s" מוגדר כשם השחקן, איך מגדירים את "%s" כשם השחקן? או שזה אוטומטית? או שזה נמצא בקוד שלך?
שם השחקן הוא name.
כדי להכניס אותו להודעה עלינו להשתמש בformat, וכדי לקבוע איפה השם יהיה משתמשים ב%s - משתנה שהוכנס כstring (סטרינג = מילה, משפט, כל דבר ב"").