• SEARCH

    통합검색
  • GAMEZONE
    • 커뮤니티
      • 공지사항
      • 유저게시판
        • 등업게시판
        • 출석체크
        • 정회원 무료자료실
      • 스크린샷
      • 인증자료실
    • 리니지
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 메이플스토리
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 바람의나라
      • 자유게시판
      • 홍보게시판
      • 자료게시판
        • 유틸자료실
        • 소스자료실
        • 클라이언트
        • 팩 자료실
      • 연구게시판
        • 개발내역
        • 질문과답변
        • 기타
      • 강의게시판
        • DR
        • CR
        • 구버전
        • 클라이언트 개조
        • 노하우 게시판
        • 게임공략 & 팁
    • 다크에덴
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 믹스마스터
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 라그나로크
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 기타게임
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 게임강의
    • 비베&포토샵
      • 자유게시판
      • 자료실
        • 일반자료실
        • 포인트 자료실
      • 노하우게시판
      • 포토샵게시판
    • 모바일
      • 게임공략
      • 포인트 자료실
      • 유틸자료실
      • 자유게시판
  • 리니지 소스자료실
    • 리니지 소스자료실 ()
    • 서버 게시판 // 유저 게시판 나눠봅시다~!

      • 준희미니
      • 2016.06.29 - 13:10 88

    서버 정보 및 서버만의 안내를 적는곳으로 만들기엔 괜찮을거 같아서 올립니다.

     

    src/server/server/clientpackets/C_BoardWrite.java

     

    if (tg != null) { //검색
       L1PcInstance pc = client.getActiveChar();
       L1BoardInstance board = (L1BoardInstance) tg;

     

    if (board.getNpcId() == 86000) { //서버게시판 번호
        if (pc.isGm()) { //운영자만 글쓰기가능하게
         pc.getInventory().consumeItem(L1ItemId.ADENA, 300);
         BoardTable.getInstance().writeTopic2(pc, date, title, content);
        } else {
         pc.sendPackets(new S_SystemMessage("게시판은 운영자만 사용가능합니다."));
         return;
        }
       } else { //그외의 게시판은 유저게시판으로..
        pc.getInventory().consumeItem(L1ItemId.ADENA, 300);
        BoardTable.getInstance().writeTopic(pc, date, title, content);
       }

     

    src/server/server/clientpackets/C_BoardDelelte.java

     

    if (board != null) {

     

    if (pc.isGm()) { //모든게시판은 운영자만 삭제가능하도록..
        if (board.getNpcId() == 86000) {
         BoardTable.getInstance().deleteTopic2(topicId);
        } else {
         BoardTable.getInstance().deleteTopic(topicId);
        
    }

     

     

    src/server/server/model/datatable/BoardTable.java

     

     

    public void writeTopic2(L1PcInstance pc, String date, String title,
       String content) {  //메소드 부분이니 적당한위치에 껴넣으세요.
      int count = 0;

      Connection con = null;
      PreparedStatement pstm1 = null;
      ResultSet rs = null;
      PreparedStatement pstm2 = null;
      try {
       con = L1DatabaseFactory.getInstance().getConnection();
       pstm1 = con
         .prepareStatement("SELECT * FROM board_server ORDER BY id DESC");
       rs = pstm1.executeQuery();
       if (rs.next()) {
        count = rs.getInt("id");
       }

       pstm2 = con
         .prepareStatement("INSERT INTO board_server SET id=?, name=?, date=?, title=?, content=?");
       pstm2.setInt(1, (count + 1));
       pstm2.setString(2, pc.getName());
       pstm2.setString(3, date);
       pstm2.setString(4, title);
       pstm2.setString(5, content);
       pstm2.execute();

      } catch (SQLException e) {
       _log.log(Level.SEVERE, e.getLocalizedMessage(), e);
      } finally {
       SQLUtil.close(rs);
       SQLUtil.close(pstm1);
       SQLUtil.close(pstm2);
       SQLUtil.close(con);
      }
     }

     

    public void deleteTopic2(int number) {
      Connection con = null;
      PreparedStatement pstm = null;
      try {

       con = L1DatabaseFactory.getInstance().getConnection();
       pstm = con.prepareStatement("DELETE FROM board_server WHERE id=?");
       pstm.setInt(1, number);
       pstm.execute();
      } catch (SQLException e) {
       _log.log(Level.SEVERE, e.getLocalizedMessage(), e);
      } finally {
       SQLUtil.close(pstm);
       SQLUtil.close(con);
      }
     }

     

     

    src/server/server/serverpackets/S_Board.java

     

    public S_Board(L1NpcInstance board) {//검색
      if (board.getNpcId() == 86000) {//이렇게 변경
       buildPacket2(board, 0);
      } else {
       buildPacket(board, 0);
      }
     }

     public S_Board(L1NpcInstance board, int number) {//검색
      if (board.getNpcId() == 86000) {//이렇게 변경
       buildPacket2(board, number);
      } else {
       buildPacket(board, number);
      }
     }

     

    private void buildPacket2(L1NpcInstance board, int number) { //메소드부분 적당한곳에 껴넣으세요.
      int count = 0;
      String[][] db = null;
      int[] id = null;
      Connection con = null;
      PreparedStatement pstm = null;
      ResultSet rs = null;
      try {
       db = new String[8][3];
       id = new int[8];
       con = L1DatabaseFactory.getInstance().getConnection();
       pstm = con
         .prepareStatement("SELECT * FROM board_server order by id desc");
       rs = pstm.executeQuery();
       while (rs.next() && count < 8) {
        if (rs.getInt("id") <= number || number == 0) {
         id[count] = rs.getInt(1);
         db[count][0] = rs.getString(2);
         db[count][1] = rs.getString(3);
         db[count][2] = rs.getString(4);
         count++;
        }
       }
      } catch (SQLException e) {
       _log.log(Level.SEVERE, e.getLocalizedMessage(), e);
      } finally {
       SQLUtil.close(rs);
       SQLUtil.close(pstm);
       SQLUtil.close(con);
      }

      writeC(Opcodes.S_OPCODE_BOARD);
      writeD(board.getId());
      writeC(0xFF); // ?
      writeC(0xFF); // ?
      writeC(0xFF); // ?
      writeC(0x7F); // ?
      writeH(count);
      writeH(300);
      for (int i = 0; i < count; ++i) {
       writeD(id[i]);
       writeS(db[i][0]);
       writeS(db[i][1]);
       writeS(db[i][2]);
      }
     }

     

    src/server/server/serverpackets/S_BoardRead.java

     

    public S_BoardRead(L1NpcInstance board, int number) {//검색
      if (board.getNpcId() == 86000) {//이렇게 변경
       buildPacket2(board, number);
      } else {
       buildPacket(board, number);
      }
     }

     

    private void buildPacket2(L1NpcInstance board, int number) { //메소드 적당한곳에 껴넣으세요
      Connection con = null;
      PreparedStatement pstm = null;
      ResultSet rs = null;
      try {
       con = L1DatabaseFactory.getInstance().getConnection();
       pstm = con.prepareStatement("SELECT * FROM board_server WHERE id=?");
       pstm.setInt(1, number);
       rs = pstm.executeQuery();
       while (rs.next()) {
        writeC(Opcodes.S_OPCODE_BOARDREAD);
        writeD(number);
        writeS(rs.getString(2));
        writeS(rs.getString(4));
        writeS(rs.getString(3));
        writeS(rs.getString(5));
       }
      } catch (SQLException e) {
       _log.log(Level.SEVERE, e.getLocalizedMessage(), e);
      } finally {
       SQLUtil.close(rs);
       SQLUtil.close(pstm);
       SQLUtil.close(con);
      }
     }

     

     

    소스 부분은 다됬구요...

    나비켓에 테이블을 하나 만드셔야 됩니다

    테이블명은 board_server 입니다.

    데이블 만들고 설계하기 모르시는 분들은 쉽게하시려면...

    나비켓 board테이블을 sql내버리기 하셔서

    이름바꾸기 board_server 바꾸시고 배치시키시면 됩니다.

    테이블 안에 필터들은 board와 동일합니다.

    [출처] 서버 게시판 // 유저 게시판 나눠봅시다~! (비공개 카페)

    이 게시물을..
    N
    0
    0
    • 리마스터팩 요정 소울 엠피 수정jstory
    • 0
      준희미니

    준희미니 님의 최근 글

    로한구축성공 283 1 2021 06.14 에오스 구축성공 356 2 2021 04.01 [에바] 나비켓 테이블 관련 설명 747 1 2016 07.29 에바소스인데 오픈대기 켜고 끄는 소스에요~ 70 2016 07.29 퍼플채팅 색(진보라채팅) 59 2016 07.29

    준희미니 님의 최근 댓글

    rt 2021 05.25 ㄳ 2021 05.11 ㄳ 2021 05.11 rt 2021 05.09 rt 2021 04.25
    글쓴이의 서명작성글 감추기 
    댓글 쓰기 에디터 사용하기 닫기
    • view_headline 목록
    • 14px
    • 리마스터팩 요정 소울 엠피 수정
    • 목록
      view_headline
    × CLOSE
    기본 (1,058) 제목 날짜 수정 조회 댓글 추천 비추
    분류 정렬 검색
    • 소스자료는 직접 올려주세요
      2017.06.06 - 16:14 591
    1058
    아머브레이크 데스티니 시전시 성공 확률 조정하는 소스가 있나요?
    안정환 2024.04.23 - 10:01 102
    1057
    List.spr(변신,몬스터 수정소스)개조방법
    유튜브고도리 2024.04.19 - 05:02 242
    1056
    NPC 외침 멘트 깔끔정리(by.유튜브고도리)
    유튜브고도리 2024.04.11 - 05:57 125
    1055
    디아블로 참 만들기
    유튜브고도리 2024.04.09 - 05:55 114
    1054
    리니지m 처럼 피통 늘리기,오류가 날때
    유튜브고도리 2024.04.09 - 05:18 91
    1053
    욕하면 채금 먹게 하기
    유튜브고도리 2024.04.09 - 04:59 71
    1052
    레벨에 따른 호칭 부여..?
    밤톨이11 2024.04.08 - 04:24 72
    1051
    초보자 보호 시스템
    밤톨이11 2024.04.08 - 04:21 57
    1050
    마법무기 데미지 증가
    밤톨이11 2024.04.08 - 04:19 70
    1049
    레벨 제한 맵
    밤톨이11 2024.04.08 - 04:14 65
    1048
    마법스크롤
    밤톨이11 2024.04.08 - 04:06 32
    1047
    리니지m 아지트 소유중에도 공성선포하기
    유튜브고도리 2024.04.07 - 21:37 41
    1046
    리니지m 마법인형이 마법을 쓰네?
    유튜브고도리 2024.04.07 - 21:36 61
    1045
    드래곤 슬레이어 각반(장비추가소스)
    유튜브고도리 2024.04.07 - 19:08 51
    1044
    린엠 게렝 변신 카드 만들기
    유튜브고도리 2024.04.06 - 06:06 100
    1043
    버프 물약 개별 소스 오래전 소스
    밤톨이11 2024.04.05 - 18:43 57
    1042
    일시 스텟 상승 물약
    밤톨이11 2024.04.05 - 18:42 26
    1041
    성 전환 물약
    밤톨이11 2024.04.05 - 18:37 30
    1040
    MP 물약 소스
    밤톨이11 2024.04.05 - 18:35 41
    1039
    리니지 옛날버젼..이라는데...구동가능여부 확인 부탁드립니다.
    도난차량 2024.03.24 - 04:56 354
    1038
    랭커
    foqwer 2024.03.14 - 10:43 141
    1037
    인첸별
    foqwer 2024.03.14 - 10:42 106
    1036
    몬스터 앞에 레벨 넣기
    프렌치좋아 2024.03.04 - 01:40 370
    1035
    3.63 글루딘 Single 용
    블루블랙3 2024.02.28 - 23:08 411
    1034
    Sprite file doesn`t exist 오류
    하앙비 2023.12.23 - 02:19 229
    1033
    전쟁세율 고정값 15%
    하남궁 2023.11.29 - 17:02 198
    1032
    인형합성사
    Rebecca 2023.10.09 - 22:54 337
    1031
    2.0 레벨업시 HP량 올리기
    Rebecca 2023.10.09 - 22:49 434
    1030
    전사버전 펫 만렙 변경
    Rebecca 2023.10.09 - 22:44 162
    1029
    맵 순간이동 가능 불가능지역 설정하기
    Rebecca 2023.10.09 - 22:39 237
    1028
    트레져박스 업로드입니다.
    린컴충성 2023.10.07 - 04:46 182
    1027
    리마스터 접속기 소스자료
    홍자놀기 2023.09.08 - 05:41 2284
    1026
    대미지 발동시 범위 질문드립니다
    나잇따나읻따 2023.05.21 - 22:26 292
    1025
    리니지 리마스터 몹 스폰수 어디서 줄일 수 있나요?
    001001 2023.04.25 - 16:06 727
    1024
    전사팩 로봇가능
    노력하자 2023.03.16 - 19:14 1113
    1023
    2.7 자동 물약 소스
    퍽퍽띠 2022.11.18 - 00:40 1215
    1022
    2.0 자동칼질소스 (클래스 파일에서 빼왔습니다)
    drumlinek 2022.11.06 - 05:20 929
    1021
    npc가 인겜에서 채팅으로 말하기
    하늘마음 2022.10.06 - 10:04 320
    1020
    유저 아이피보는 소스
    캐빈N.01 2020.12.15 - 21:34 639
    1019
    인공지능
    캐빈N.01 2020.12.15 - 21:27 1125
    1018
    아데나가 19억이 되면 자동으로 1억으로 금괴로 바꾸기
    강우리 2020.12.12 - 01:48 995
    1017
    린올기반 휘장 각반 견갑 장비인식 안되는거 수정함
    신화서버 2020.11.17 - 01:48 295
    1016
    방어구 인챈트별 피 증가 소스
    LGTwins 2020.09.12 - 05:52 688
    1015
    장신구 옵션 변경
    LGTwins 2020.08.31 - 07:00 751
    1014
    자동물약
    legena 2020.07.05 - 02:30 2089
    1013
    리마스터팩 스냅퍼 개방 레벨설정 본섭화 수정(몽양님 요청)
    jstory 2020.06.13 - 07:22 764
    1012
    리마스터팩 룬마력제거 검사 적용안대는 부분 수정
    jstory 2020.06.10 - 04:05 286
    1011
    리마스터팩 쓸모없는 아이템 활용
    jstory 2020.06.10 - 04:01 731
    1010
    리마스터팩 요정 소울 엠피 수정
    jstory 2020.06.10 - 03:54 459
    1009
    리마스터팩 자동공지시간에 버프주기
    jstory 2020.06.10 - 03:15 404
    • 1 2 3 4 5 6 7 8 9 10 .. 22
    • / 22 GO
  • GAMEZONE
 GAMEZONE all rights reserved.
by OrangeDay