קודם כל קרדיט ענק למני על זה שהוא תמיד עוזר, ועל היותו גבר!
אז לבקשת ביסלי ועוד, קבלו.
הוראות הפעלה בסוף תעקבו אחרי השלבים הבאים:
net.sf.odinms.net.channel.ChannelServer.java תוסיפו את הדברים הבאים (אתם תבינו לבד איפה להוסיף כל דבר):
קוד PHP:
private int jailMap;
שימו לב שברוב הריפאקים תצתרכו להוסיף את הבא פעמיים:
קוד PHP:
jailMap = Integer.parseInt(props.getProperty("net.sf.odinms.world.jailMap"));
קוד PHP:
public int getJailMap() {
return jailMap;
}
net.sf.odinms.client.MapleCharacter.java תוסיפו את זה למעלה:
קוד PHP:
private int lastmap;
ותוסיפו:
אחרי:
קוד PHP:
setPosition(new Point(0, 0));
וגם את כל הפונקציות האלה:
קוד PHP:
public boolean inJail() {
return getMapId() == c.getChannelServer().getJailMap();
}
public void setLastmap(int map){
this.lastmap=map;
}
public int getLastmap(){
return this.lastmap;
}
public void unJail(MapleCharacter c){
MapleMapFactory factory= c.getClient().getChannelServer().getMapFactory();
c.changeMap(factory.getMap(lastmap), factory.getMap(lastmap).getPortal(0));
c.getClient().getSession().write(MaplePacketCreator.getNPCTalk(9010000, (byte) 0, "You have been released from jail.", "00 00"));
}
net.sf.odinms.client.messages.CommandProcessor תוסיפו את זה בפונקצייה ProcessCommand:
קוד PHP:
if (c.getPlayer().inJail() && gmLevel < 2) {
c.getPlayer().dropMessage("Sorry, but you can't use that command while you in jail.");
וכמובן הפקודה(תבדקו שיש לכם import ל TimerManager):
קוד PHP:
} else if (splitted[0].equals("!jail")) {
final MapleCharacter victim = cserv.getPlayerStorage().getCharacterByName(splitted[1]);
long time = Long.parseLong(splitted[2]);
victim.setLastmap(victim.getMapId());
int mapid = c.getChannelServer().getJailMap();
if (splitted.length == 3) {
if (victim != null) {
c.getPlayer().changeMap(mapid, 0);
player.dropMessage(victim.getName() + " has been jailed!");
victim.dropMessage("You have been jailed for "+time+" minuts.");
TimerManager.getInstance().schedule(new Runnable() {
public void run() {
victim.unJail(victim);
}
}, time*60000);
} else {
player.dropMessage(splitted[1] + " not found!");
}
} else {
player.dropMessage("Please use: !jail <name>, <minuts> or !jail <name> to permently jail.");
}
ותוסיפו את זה למטה:
קוד PHP:
new CommandDefinition("jail", 3),
עכשיו תוסיפו את זה בworld.pro:
קוד PHP:
# Jail Map.
net.sf.odinms.world.jailMap=920011200
הוראות הפעלה:
קוד:
!jail <name> <minutes>
תהנו!!