npc 이동,말풍선
net.sf.odinms.net.channel.ChannelServer.java
추가해줍니다.
private boolean npc_talk = true;
private boolean npc_move = true;
npc_move = Boolean.parseBoolean(props.getProperty("net.sf.odinms.server.NpcMove", "true"));
npc_talk = Boolean.parseBoolean(props.getProperty("net.sf.odinms.server.NpcTalk", "true"));
npc_move = Boolean.parseBoolean(props.getProperty("net.sf.odinms.server.NpcMove", "true"));
npc_talk = Boolean.parseBoolean(props.getProperty("net.sf.odinms.server.NpcTalk", "true"));
메소드를 해줍니다.
public boolean allowNpcTalk() {
return npc_talk;
}
public boolean allowNpcMove() {
return npc_move;
}
이동합니다.
net.sf.odinms.net.channel.handler.NPCAnimation.java
전체 내용을 아래 내용으로 교체합니다.
package net.sf.odinms.net.channel.handler;
import net.sf.odinms.client.MapleClient;
import net.sf.odinms.net.AbstractMaplePacketHandler;
import net.sf.odinms.net.SendPacketOpcode;
import net.sf.odinms.tools.data.input.SeekableLittleEndianAccessor;
import net.sf.odinms.tools.data.output.MaplePacketLittleEndianWriter;
public class NPCAnimation extends AbstractMaplePacketHandler {
@Override
public void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) {
MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();
int length = (int) slea.available();
if (c.getChannelServer().allowNpcMove()) {
if(length == 6){//NPC TALK
mplew.writeShort(SendPacketOpcode.NPC_ACTION.getValue());
mplew.writeInt(slea.readInt());
mplew.writeShort(slea.readShort());
c.getSession().write(mplew.getPacket());
}
} else {
}
if (c.getChannelServer().allowNpcTalk()) {
if (length > 6){//NPC MOVE
byte[] bytes = slea.read(length - 9);
mplew.writeShort(SendPacketOpcode.NPC_ACTION.getValue());
mplew.write(bytes);
c.getSession().write(mplew.getPacket());
}
} else {
}
}
}
world.PROPERTIES(월드) 에 추가해줍니다.
net.sf.odinms.server.NpcMove=false
net.sf.odinms.server.NpcTalk=false

피카츄염 님의 최근 댓글
ㅋㅋ 2018 05.29 클라 안되는대ㅔ여 2018 02.16 감사합니다 2018 02.12 클라 보내주세요 go_to_r@naver.com 2018 02.09 ㄳ 2018 02.01