Anti-packet database

MapleCharacter.java
Add
Code:
    private long lastNPCTalk;

    public long getLastNPCTalk() {
        return lastNPCTalk;
    }

    public void setLastNPCTalk() {
        lastNPCTalk = System.currentTimeMillis();
    }

NPCTalkHandler.java
Add
Code:
        if (c.getPlayer().getLastNPCTalk() > System.currentTimeMillis() - 500)
            return;
        else
            c.getPlayer().setLastNPCTalk();
Under
Code:
MapleMapObject obj = c.getPlayer().getMap().getMapObject(oid);

You can change the delay of 500 milli seconds if you feel like but it seems to be fine.

Code:
 if (c.getCM().getNpc() == null) {
?
 
I think everyone should at least have these fixes in their servers, therefor, I don't mind this thread being bumped.
 
Back