게임강의
메이플스토리 분류

메이플스토리 프리메이플스토리::전쳇말 수정하기

컨텐츠 정보

본문

[출처: Gamezone]
작성자: 작성자 없음

안녕하세요??


많은 사람들이 알지만 모르는(?) ~를 이용한 전챗말을 수정하고 추가해 보는 강의를 써보도록 하겠습니다~!


 


우선 소스 경로먼저 알려드리겠습니다


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대화를 통해서 더욱 더 자세히 알려드리겠습니다.


 


긴글 읽어주셔서 감사합니다


 

관련자료

댓글 0
등록된 댓글이 없습니다.
메이플스토리 45 / 3 페이지
번호
제목
이름

강의실

🏆 포인트 랭킹 TOP 10
순위 닉네임 포인트
1 no_profile 타키야겐지쪽지보내기 자기소개 아이디로 검색 전체게시물 82,042
2 no_profile 라프텔쪽지보내기 자기소개 아이디로 검색 전체게시물 51,280
3 no_profile 동가리쪽지보내기 자기소개 아이디로 검색 전체게시물 33,479
4 no_profile Revolution쪽지보내기 자기소개 아이디로 검색 전체게시물 28,199
5 서번트쪽지보내기 자기소개 아이디로 검색 전체게시물 23,416
6 no_profile 닥터스쪽지보내기 자기소개 아이디로 검색 전체게시물 22,310
7 no_profile 불멸의행복쪽지보내기 자기소개 아이디로 검색 전체게시물 16,347
8 no_profile 호롤롤로쪽지보내기 자기소개 아이디로 검색 전체게시물 13,500
9 no_profile 검은고양이쪽지보내기 자기소개 아이디로 검색 전체게시물 13,246
10 no_profile 하늘2쪽지보내기 자기소개 아이디로 검색 전체게시물 13,239
알림 0