[חפירה]
אני מכין את המדריך הזה בגלל שבערך כל יומיים שלושה מישהו רנדומלי מוסיף אותי למסן ומבקש ממני להכין לו את המערכת כי פעם אחת עזרתי לdinchen להכין לפני חודשיים מערכת בשבילו
אם אני מקבל עוד פעם אחת פניה במסן להכין מערכת אני פשוט חוסם ומוחק אני עסוק ואני פרשתי ממייפל אני רק מגיב פה מדי פעם.
[\חפירה]
דרישות:
1. עכבר.
2. מקלדת.
3. מוח.
4. מחשב.
5. Netbeans או כל קומפיילר אחר.
6. לדעת איך לקמפל.
כל המדריך מתבצע בקובץ MapleCharacter שנמצא בnet/sf/odinms/client
תחילה ניצור את המשתנה ששומר את הערך של הנקודות של המשתמשים למעלה באיזור הגדרת המשתנים
הוסיפו את השורה
קוד PHP:
private int points = 0;
מתחת לשורה
קוד PHP:
private int cardnx;
או כל שורה אחרת שאתם רוצים למעלה בהגדרת המשתנים
לאחר מכן נוסיף את הקריאה ממסד הנתונים(הדאטאבייס) אל תוך המשתנה points
נוסיף את השורה
קוד PHP:
ret.points = rs.getInt("points");
מתחת לשורה
קוד PHP:
ret.gmLevel = rs.getInt("gm");
אני בוחר בכוונה בשורות שצריכות להיות בכל הריפאקים כדי שאנשים לא יגידו שהם לא מוצאים את השורות.
לאחר מכן נוסיף את השמירה למסד הנתונים מהמשתנה points(שקורה כאשר השחקן מתנתק)
בשורה שמתחילה כך
קוד PHP:
ps = con.prepareStatement("UPDATE characters SET
נוסיף לפני הקטע בסוף השורה
את הקוד הבא:
ו2 שורות מתחת
כלומר השורה שמתחילה ככה
קוד PHP:
ps = con.prepareStatement("INSERT INTO characters
לפני הקטע הזה שנמצא לפני הרשימה של הסימני שאלה בסוף השורה
קוד PHP:
, accountid, name, world) VALUES
נוסיף
ולפני הקטע בסוף השורה
נוסיף
לאחר מכן
מחפשים את השורות
if (
קוד PHP:
update) {
ps.setInt(54, id);
} else {
ps.setInt(54, accountid);
ps.setString(55, name);
ps.setInt(56, world); // TODO store world somewhere ;)
}
המספרים צריכים להיות שונים בכל ריפאק בעקרון זה תלוי במספר העמודות שיש בשימוש בשמירה
מוסיפים מעל השורות הללו את השורה הבאה
קוד PHP:
ps.setInt(53, points);
עכשיו
המספר אצלי הוא צריך להיות 53
כדי לדעת אצלכם מה המספר אתם מסתכלים על המספר בשורה הקודמת ופשוט מוסיפים אחד
עכשיו בשורות הללו
קוד PHP:
if (update) {
ps.setInt(54, id);
} else {
ps.setInt(54, accountid);
ps.setString(55, name);
ps.setInt(56, world); // TODO store world somewhere ;)
}
צריך להעלות את כל המספרים ב1
אני עשיתי את זה מראש כבר
ושימו לב שהמספר של id וaccountid צריכים להיות אותו הדבר.
סיימנו עם השמירה למסד הנתונים.
עכשיו כדי להוסיף את פונקציות השינוי שגם יהיו בשימוש בNPCים שלכם
נוסיף את הפונקציות הבאות לפני הסוגר האחרון בקובץ MapleCharacter
קוד PHP:
public int getPoints() {
return points;
}
public void setPoints(int set) {
this.points = set;
}
public void gainPoints(int gain) {
this.points += gain;
}
זהו, סיימנו עם המדריך
כדי להשתמש בפונקציות של הנקודות מהNPC
פשוט במקום לעשות סתם cm.getPoints() וכו'
מוסיפים לפני זה
getPlayer()
כלומר
קוד PHP:
cm.getPlayer().getPoints();
cm.getPlayer().setPoints(1337);
cm.getPlayer().gainPoints(9001);
כלומר, כדי לגשת לפונקציות שנמצאות בקובץ MapleCharacter מהNPC שלכם
כל מה שצריך זה להוסיף getPlayer() לפני שם הפונקציה ואין צורך ליצור פונקציה בקובץ NPCConversationManager שתקשר לפונקציה בקובץ MapleCharacter.
אם יש למישהו יש בעיה שפשוט יעבור שוב על המדריך כי הוא מסביר בדיוק איפה להכניס כל דבר
שימו לב לכל הפסיקים והפרטים הקטנים כי זה יכול לגרום לבעיות
ואם עדיין יש לכם בעיה
תצלמו את הבאטים ואל תגיבו
"יש לי בעיה תעזרו לי!!!!!!!!!!!!!!"
ותצפו לעזרה בלי שום פרטים על הבעיה וכו'.