איך לשים פקודות
בוא ניקח לדוגמא את הפקודה הזאת: [/CENTER]
קוד PHP:
} else if  (splitted[0].equalsIgnoreCase("@clear")) {
            if (
splitted.length == 2) {
                if (
splitted[1].equalsIgnoreCase("all")) {
                    
clearSlot(c1);
                    
clearSlot(c2);
                    
clearSlot(c3);
                    
clearSlot(c4);
                    
clearSlot(c5);
                } else if (
splitted[1].equalsIgnoreCase("equip")) {
                    
clearSlot(c1);
                } else if (
splitted[1].equalsIgnoreCase("use")) {
                    
clearSlot(c2);
                } else if (
splitted[1].equalsIgnoreCase("etc")) {
                    
clearSlot(c3);
                } else if (
splitted[1].equalsIgnoreCase("setup")) {
                    
clearSlot(c4);
                } else if (
splitted[1].equalsIgnoreCase("cash")) {
                    
clearSlot(c5);
                } else {
                    
mc.dropMessage("@clear " splitted[1] + " does  not  exist!");
                }
            } 
אימפורטס:
קוד PHP:
 
import net
.sf.odinms.client.IItem;
import  java.util.List;
import net.sf.odinms.server.MapleInventoryManipulator
עכשיו יש את הפקודה עצמה ולמטה את האימפורטס שצריך.
קודם כל נתעסק עם הפקודה.
נעתיק את הפקודה:
קוד PHP:
} else if  (splitted[0].equalsIgnoreCase("@clear")) {
            if (
splitted.length == 2) {
                if (
splitted[1].equalsIgnoreCase("all")) {
                    
clearSlot(c1);
                    
clearSlot(c2);
                    
clearSlot(c3);
                    
clearSlot(c4);
                    
clearSlot(c5);
                } else if (
splitted[1].equalsIgnoreCase("equip")) {
                    
clearSlot(c1);
                } else if (
splitted[1].equalsIgnoreCase("use")) {
                    
clearSlot(c2);
                } else if (
splitted[1].equalsIgnoreCase("etc")) {
                    
clearSlot(c3);
                } else if (
splitted[1].equalsIgnoreCase("setup")) {
                    
clearSlot(c4);
                } else if (
splitted[1].equalsIgnoreCase("cash")) {
                    
clearSlot(c5);
                } else {
                    
mc.dropMessage("@clear " splitted[1] + " does  not  exist!");
                }
            } 
עכשיו נכנס לקובץ PlayerCommands.java [פקודות לשחקנים] או לGMCommands[פקודות לג'יאמים],
שנמצא בsrc/net/sf/odinms/client/messages/commands
עכשיו יש לנו המון דברים שם נכון?
לדוגמא בוא נחפש את הפקודה save@
ככה זה נראה אצלי:
קוד PHP:
} else if (splitted[0].equals("@save")) {
            if (!
player.getCheatTracker().Spam(9000000)) { // 15 minutes
                
player.saveToDB(truetrue);
                
mc.dropMessage("Saved.");
            } else {
                
mc.dropMessage("You cannot save more than once every 15 minutes.");
            } 
אז פשוט אחרי ה{
[כלומר הסיום] נוסיף את הפקודה שלנו וזה יהיה אמור להיראות כך:
קוד PHP:
} else if (splitted[0].equals("@save")) {
            if (!
player.getCheatTracker().Spam(9000000)) { // 15 minutes
                
player.saveToDB(truetrue);
                
mc.dropMessage("Saved.");
            } else {
                
mc.dropMessage("You cannot save more than once every 15 minutes.");
            }
       } else if  (
splitted[0].equalsIgnoreCase("@clear")) {
            if (
splitted.length == 2) {
                if (
splitted[1].equalsIgnoreCase("all")) {
                    
clearSlot(c1);
                    
clearSlot(c2);
                    
clearSlot(c3);
                    
clearSlot(c4);
                    
clearSlot(c5);
                } else if (
splitted[1].equalsIgnoreCase("equip")) {
                    
clearSlot(c1);
                } else if (
splitted[1].equalsIgnoreCase("use")) {
                    
clearSlot(c2);
                } else if (
splitted[1].equalsIgnoreCase("etc")) {
                    
clearSlot(c3);
                } else if (
splitted[1].equalsIgnoreCase("setup")) {
                    
clearSlot(c4);
                } else if (
splitted[1].equalsIgnoreCase("cash")) {
                    
clearSlot(c5);
                } else {
                    
mc.dropMessage("@clear " splitted[1] + " does  not  exist!");
                }
            } 
הצלחתם?

יופי.
עכשיו איך מוסיפים Imports.
בפקודה שלקחנו יש לנו כמה אימפורטים חשובים כדי שהפקודה תעבוד.
קוד PHP:
import net.sf.odinms.server.MapleInventoryManipulator
     
import net.sf.odinms.client.IItem
     
import java.util.List; 
עכשיו בואו נעלה לתחילת הקובץ של הפקודות ונמצא שורות כגון:
קוד PHP:
import java.rmi.RemoteException;
import net.sf.odinms.client.MapleCharacter
אלו אימפורטים,אני לא אסביר בשביל מה צריך אותן,אבל חייב אותן כדי שהפקודות יעבדו.
עכשיו הIMPORT האחרון ברשימה שלי הוא
קוד PHP:
import net.sf.odinms.tools.StringUtil
אז פשוט אחריו אני אוסיף את האימפורטים שצריך וזה יהיה אמור לצאת ככה:
קוד PHP:
import net.sf.odinms.server.MapleInventoryManipulator
     
import net.sf.odinms.client.IItem
     
import java.util.List;
import net.sf.odinms.tools.StringUtil
*הערה*לא כדאי לשים IMPORT כלשהוא אם כבר יש לכם אותו כי זה יעשה לכם שגיאה בקומפיילר, אז תבדקו לפני אם יש לכם או אין לכם את הIMPORT שאתם הולכים לשים.
עכשיו יש חלק שחייב לעשות אותו ברוב הריפאקים כדי שהפקודה תעבוד.
תרדו ממש למטה ואתם תראו שורות כגון:
קוד PHP:
new CommandDefinition("save"0),
            new 
CommandDefinition("expfix"0), 
זוכרים שאחרי הפקודה save הוספנו פקודה clear?
אז פשוט נשנה את מה שיש פה לזה:
קוד PHP:
new CommandDefinition("save"0),
        new 
CommandDefinition("clear"0),
            new 
CommandDefinition("expfix"0), 
[CENTER][יכול להיות שאצלכם המבנה של השורה יהיה שונה אז פשוט תעתיקו כמו שאצלכם]
תקמפלו וזהו
קרדיט למתכנת היקר שלי אבישי