Flav
Posts: 24 Join date: 2008-08-16
 | Subject: Rebirth system Sun Aug 17, 2008 7:25 pm | |
| Here's airflow0's rebirth system, I added it a little bit and fixed the bug that you get rebirth points if your equip inventory is full. Open MapleCharacter.java and add | Code: | private int reborns; |
after
add
| Code: | ret.reborns = rs.getInt("reborns"); |
after
| Code: | ret.level = rs.getInt("level"); |
add
after
add
after
| Code: | messengerposition = ?, |
add
after
add a question mark to the other question marks below replace
| Code: | if (update) { ps.setInt(29, id); } else { ps.setInt(29, accountid); ps.setString(30, name); ps.setInt(31, world); // TODO store world somewhere ;) } |
with
| Code: | ps.setInt(29, reborns);
if (update) { ps.setInt(30, id); } else { ps.setInt(30, accountid); ps.setString(31, name); ps.setInt(32, world); // TODO store world somewhere ;) }
|
add
| Code: | public int getReborns() { return reborns; }
public void setReborns(int reborns) { this.reborns = reborns; } |
after
| Code: | public int getLevel() { return level; } |
Open NPCConversationManager.java and add
| Code: | //private final int MAX_REBORNS = 10; |
after
| Code: | private String getText; |
add
| Code: | public void doReborn() { //if (getPlayer().getReborns() < MAX_REBORNS) { unequipEverything(); List<Pair<MapleStat, Integer>> reborn = new ArrayList<Pair<MapleStat, Integer>>(4); getPlayer().setLevelR(1); getPlayer().setExp(0); getPlayer().setRemainingSp(0); getPlayer().changeJob(MapleJob.BEGINNER); getPlayer().setReborns(getPlayer().getReborns() + 1); reborn.add(new Pair<MapleStat, Integer>(MapleStat.LEVEL, Integer.valueOf(1))); reborn.add(new Pair<MapleStat, Integer>(MapleStat.EXP, Integer.valueOf(0))); reborn.add(new Pair<MapleStat, Integer>(MapleStat.AVAILABLESP, Integer.valueOf(0))); reborn.add(new Pair<MapleStat, Integer>(MapleStat.JOB, Integer.valueOf(0))); getPlayer().getClient().getSession().write(MaplePacketCreator.updatePlayerStats(reborn)); getPlayer().getClient().getSession().write(MaplePacketCreator.serverNotice(6, "You have been reborn!!")); getPlayer().getMap().broadcastMessage(getPlayer(), MaplePacketCreator.showJobChange(getPlayer().getId()), false); //} else { //getPlayer().getClient().getSession().write(MaplePacketCreator.serverNotice(6, "You have reached the maximum amount of rebirths!")); //} } public int getReborns() { return getPlayer().getReborns(); } |
before the last bracket.
Open MySQL and execute
| Code: | ALTER TABLE `characters` ADD COLUMN `reborns` int(11) NOT NULL DEFAULT '0' AFTER `messengerposition`; |
|
|
f1r3
Posts: 17 Join date: 2008-08-18
 | Subject: Re: Rebirth system Mon Aug 18, 2008 10:52 am | |
| airflow is an awesome coder thanks for fixing it  |
|