תוסיפו ל maplecharacter.java
In MapleInventoryManipulator.java replace the set functions with these:קוד PHP:public void setKeymap(Map<Integer,MapleKeyBinding> k) {
keymap = k;
}
public Map<Integer,MapleKeyBinding> getKeymap () {
return keymap;
}
והNPC:קוד PHP:public static int editEquipById(MapleCharacter chr, int max, int itemid, String stat, int newval) {
return editEquipById(chr,max,itemid,stat,(short)newval);
}
public static int editEquipById(MapleCharacter chr, int max, int itemid, String stat, short newval) {
// Is it an equip?
if (!MapleItemInformationProvider.getInstance().isEquip(itemid)) {
return -1;
}
// Get List
List<IItem> equips = chr.getInventory(MapleInventoryType.EQUIP).listById(itemid);
List<IItem> equipped = chr.getInventory(MapleInventoryType.EQUIPPED).listById(itemid);
// Do you have any?
if (equips.size() == 0 && equipped.size() == 0) {
return 0;
}
int edited = 0;
// edit items
for(IItem itm : equips) {
Equip e = (Equip)itm;
if (edited >= max) {
break;
}
edited++;
if (stat.equals("str")) {
e.setStr(newval);
} else if (stat.equals("dex")) {
e.setDex(newval);
} else if (stat.equals("int")) {
e.setInt(newval);
} else if (stat.equals("luk")) {
e.setLuk(newval);
} else {
return -2;
}
}
for(IItem itm : equipped) {
Equip e = (Equip)itm;
if (edited >= max) {
break;
}
edited++;
if (stat.equals("str")) {
e.setStr(newval);
} else if (stat.equals("dex")) {
e.setDex(newval);
} else if (stat.equals("int")) {
e.setInt(newval);
} else if (stat.equals("luk")) {
e.setLuk(newval);
} else {
return -2;
}
}
// Return items edited
return (edited);
}
קוד PHP:importPackage(net.sf.odinms.server);
var status = 0;
function start() {
status = -1;
action(1, 0, 0);
}
function action(mode, type, selection) {
if (mode == -1) {
cm.dispose();
}else if (mode == 0){
cm.sendOk("Ok, talk to me when your sure you want to #bSuper Rebirth#k.");
cm.dispose();
}else{
if (mode == 1)
status++;
else
status--;
if (status == 0) {
cm.sendYesNo("Welcome, Unholy hero. Would you like to Super Rebirth? What will happen is that you Character will be reset and you will be given an item with Max Stats on it. It costs 100 Rebirths! So, do you want to Super Rebirth?");
}else if (status == 1) {
if(cm.getPlayer().getReborns() < 100) {
cm.sendOk("Sorry, You need to have Rebirthed 100 or more times.");
cm.dispose();
} else {
if (!cm.hasInventorySpace(cm.getPlayer(), net.sf.odinms.client.MapleInventoryType.EQUIP)) {
cm.sendOk("#bGood-Job#k, you have qualified for a #eSuper Rebirth#n.");
} else {
cm.sendOk("You do not have enough space in your inventory. Please have at least 24 open slots.");
cm.dispose();
}
}
}else if (status == 2) {
// Give item
cm.gainItem(1032033, 1);
// Meow
cm.unequipEverything();
// Reset to default
cm.getPlayer().changeJob(net.sf.odinms.client.MapleJob.BEGINNER);
cm.getPlayer().setDex(4);
cm.getPlayer().setInt(4);
cm.getPlayer().setLuk(4);
cm.getPlayer().setStr(4);
cm.getPlayer().setHp(50);
cm.getPlayer().setMp(50);
cm.getPlayer().setMaxHp(50);
cm.getPlayer().setMaxMp(50);
cm.getPlayer().setRemainingAp(16);
cm.getPlayer().setExp(0);
cm.getPlayer().setLevel(2);
cm.getPlayer().setReborns(0);
cm.getPlayer().setKeymap(net.sf.odinms.client.MapleCharacter.getDefault(cm.getPlayer().getClient()).getKeymap());
// Edit Item stats
net.sf.odinms.server.MapleInventoryManipulator.editEquipById(cm.getPlayer(), 1, 1032033, "str", 30000);
net.sf.odinms.server.MapleInventoryManipulator.editEquipById(cm.getPlayer(), 1, 1032033, "dex", 30000);
net.sf.odinms.server.MapleInventoryManipulator.editEquipById(cm.getPlayer(), 1, 1032033, "luk", 30000);
net.sf.odinms.server.MapleInventoryManipulator.editEquipById(cm.getPlayer(), 1, 1032033, "int", 30000);
// Clean up
cm.getPlayer().getClient().getSession().close();
cm.dispose();
}
}
}








