메이플스토리 프리메이플스토리::전쳇말 수정하기
컨텐츠 정보
- 16 조회
- 0 추천
- 0 비추천
-
목록
본문
작성자: 작성자 없음
안녕하세요??
많은 사람들이 알지만 모르는(?) ~를 이용한 전챗말을 수정하고 추가해 보는 강의를 써보도록 하겠습니다~!
우선 소스 경로먼저 알려드리겠습니다
handler.channel - ChatHandler 여기에 들어가셔서 } else if (text.charAt(0) == '~') { 이것을 검색해 주시면 그곳이 수정,추가 하는곳입니다!(이하 사진)
[이미지 링크 만료]
제 소스 코드를 공유하면서 알려드리겠습니다.
public static void GeneralChat(String text, byte unk, MapleClient c, MapleCharacter chr) {
if (!CommandProcessor.getInstance().processCommand(c, text)) {
if (!chr.isGM() && text.length() >= 80) {
return;
}
if (ChannelServer.getInstance(c.getChannel()).얼리기()) {
c.getPlayer().dropMessage(1, "운영자 님께서 채팅창을 얼렸습니다. GM 에게 문의해주세요.");
return;
} else if (text.charAt(0) == '~') {
StringBuilder sb = new StringBuilder();
sb.append("<").append(c.getChannel() == 0 ? "1" : c.getChannel() == 1 ? "20세 이상" : c.getChannel()).append(" 채널> ");
sb.append(chr.getName());
sb.append(" : ");
sb.append(text);
if (c.getPlayer().getRC() >= 20000001 && c.getPlayer().haveItem(1142588, 1, true, true)) { // if 일반 클래스 일시에. 1142588
WorldBroadcasting.broadcastMessage(MainPacketCreator.getGMText(10, "<총운영자> " + c.getPlayer().getName() + " : " + text.replaceAll("~", "")));
LoggerHandler.writeChatLog("[전체]", chr, text);
} else if (c.getPlayer().getRC() >= 10000001) { // if 일반 클래스 일시에.
WorldBroadcasting.broadcastMessage(MainPacketCreator.getGMText(10, "<운영자> " + c.getPlayer().getName() + " : " + text.replaceAll("~", "")));
LoggerHandler.writeChatLog("[전체]", chr, text);
} else if (c.getPlayer().haveItem(1142136, 1, true, true) && c.getPlayer().getRC() >= 1) {
WorldBroadcasting.broadcastMessage(MainPacketCreator.getGMText(17, "<SVIP> " + c.getPlayer().getName() + " : " + text.replaceAll("~", "")));
LoggerHandler.writeChatLog("[전체]", chr, text);
} else if (c.getPlayer().haveItem(1142135, 1, true, true) && c.getPlayer().getRC() >= 1) {
WorldBroadcasting.broadcastMessage(MainPacketCreator.getGMText(21, "<VVIP> " + c.getPlayer().getName() + " : " + text.replaceAll("~", "")));
LoggerHandler.writeChatLog("[전체]", chr, text);
} else if (c.getPlayer().haveItem(1142134, 1, true, true) && c.getPlayer().getRC() >= 1) {
WorldBroadcasting.broadcastMessage(MainPacketCreator.getGMText(15, "<VIP> " + c.getPlayer().getName() + " : " + text.replaceAll("~", "")));
LoggerHandler.writeChatLog("[전체]", chr, text);
} else if(c.getPlayer().getRC() >= 1 && c.getPlayer().getRC() <= 10000000) {
WorldBroadcasting.broadcastMessage(MainPacketCreator.getGMText(25, "<후원 유저> " + c.getPlayer().getName() + " : " + text.replaceAll("~", "")));
LoggerHandler.writeChatLog("[전체]", chr, text);
} else if (c.getPlayer().haveItem(1142268, 1, true, true)) {
WorldBroadcasting.broadcastMessage(MainPacketCreator.getGMText(12, "<홍보 유저> " + c.getPlayer().getName() + " : " + text.replaceAll("~", "")));
LoggerHandler.writeChatLog("[전체]", chr, text);
} else {
WorldBroadcasting.broadcastMessage(MainPacketCreator.getGMText(5, "<SARACEN 유저> " + c.getPlayer().getName() + " : " + text.replaceAll("~", "")));
LoggerHandler.writeChatLog("[전체]", chr, text);
}
} else {
chr.getMap().broadcastMessage(MainPacketCreator.getChatText(chr.getId(), text, c.getPlayer().isGM(), unk), c.getPlayer().getPosition());
LoggerHandler.writeChatLog("[일반]", chr, text);
}
}
}
이렇게 보통 되어있으실텐데
} else {
WorldBroadcasting.broadcastMessage(MainPacketCreator.getGMText(5, "<SARACEN 유저> " + c.getPlayer().getName() + " : " + text.replaceAll("~", "")));
LoggerHandler.writeChatLog("[전체]", chr, text);
요기 부분이 일반 유저들이 말하면 사용 되는곳입니다. (5, "<SARACEN 유저> " + c.getPlayer().getName() + " : " + text.replaceAll("~", ""))); 이곳에서 5는 배경색을 의미합니다. 팩마다 다르지만 보통 1~11사이에서 선택해주시면 괜찮으실껍니다.
} else if (c.getPlayer().haveItem(1142268, 1, true, true)) {
WorldBroadcasting.broadcastMessage(MainPacketCreator.getGMText(12, "<홍보 유저> " + c.getPlayer().getName() + " : " + text.replaceAll("~", "")));
LoggerHandler.writeChatLog("[전체]", chr, text);
이제 이런부분이 아이템 소유,후원포인트 소유에 따라 특정 유저분들에게만 뜨게 하는 것입니다.c.getPlayer().haveItem(1142268, 1, true, true) 이부분에서 1142268이 아이템 코드이고 뒤에 1이 갯수입니다.
마지막으로 추가하는 방법은
} else if(c.getPlayer().getRC() >= 1 && c.getPlayer().getRC() <= 10000000) { // if()여기 괄호 사이에 c.getPlayer().haveItem(아이템 코드, 갯수, true, true) 나 c.getPlayer().getRC() >= 후원포인트량(>= ,, <= 이걸 바꿔쓰시면 최소 최대로 변경됩니다.
WorldBroadcasting.broadcastMessage(MainPacketCreator.getGMText(25, "<후원 유저> " + c.getPlayer().getName() + " : " + text.replaceAll("~", ""))); // getGMText()괄호에 숫자, "표시될 이름" 이후 생략
LoggerHandler.writeChatLog("[전체]", chr, text); // 여기 부분은 안건들이시면 ok
이해 못하시거나 혼자서 못하시는 분들은
saracenonline@nate.com 으로 연락 주시면 원격이나 1:1대화를 통해서 더욱 더 자세히 알려드리겠습니다.
긴글 읽어주셔서 감사합니다
-
등록일 00:20
-
등록일 08.20
-
등록일 08.10VMware 네트워크 IP 설정댓글 2
-
등록일 08.08