close_btn
로그인, 회원가입후 더 많은 혜택을 누리세요 로그인 회원가입 닫기

족보&나이

2016.05.03 22:49

로스트사가 조회 수:143

안녕하세요 모카쿠키입니다.

성공스샷란에 올린 족보 시스템 소스를 올려볼까 합니다.

제 필요에 의해서 공개된 소스를 짜집어 봤는데,

의외로 필요하신 분들이 많은거 같아서 공개 해보려고 합니다.

 

내용은 성공게시판 참고 하시고,

추가된거라곤, 게시판 만들어서 넣어놨습니다.

소스 적용하신 뒤 각 아지트에 게시판 추가해 두시면 나름 괜찮지 않을까 싶네요.

 

소스에 불필요한 소스도 추가되있고 그럴겁니다.

(많을겁니다 -_-;; 응용한거라서요;;)

 

적당히, 자신의 팩에 맞게 적용바랍니다.

(그래도 조금 수정했다고 뒤에 주석으로 이름 달아놨습니다;;;  지우지 마세용 ㅎㅎ)

제가 사용중인 팩은 SUNY 팩입니다.

 

※첨부된 파일은 l1j.server.server.serverpackets 에 집어 넣습니다.

 

보라색 = 경로

초록색 = 검색

빨간색 = 추가

 

l1j.server.server.model.Instance.L1PcInstance.java

 

 private byte _sex; // ● 성별

 public byte get_sex() {
  return _sex;
 }

 public void set_sex(int i) {
  _sex = (byte) i;
 }  //검색

 

 public int getAge() {
  return _age;
 }

 public void setAge(int i) {
  _age = i;
 }

//족보 by 모카

 

private short _accessLevel;//검색

private int _age; //족보 by 모카

 

 

 

l1j.server.server.storage.mysql.MySqlCharacterStorage.java

 

pc.setAge(rs.getInt("Age"));//족보 by 모카

pc.setLastPk(rs.getTimestamp("LastPk")); //검색후 윗줄에추가

 

,Age=?,LastPk=?  //검색후 바로앞에 추가

 

pstm.setInt(++i, pc.getAge());//족보 by 모카

pstm.setTimestamp(++i, pc.getLastPk());  //검색후 윗줄에추가

 

,Age=?,LastPk=?  //검색후 바로앞에 추가

 

pstm.setInt(++i, pc.getAge());//족보 by 모카

pstm.setTimestamp(++i, pc.getLastPk());  //검색후 윗줄에추가

 

l1j.server.server.UserCommands.java

 

} else if (cmd.equalsIgnoreCase("봉인해제")) {
    unSealing2(pc, param);

 } else if (cmd.equalsIgnoreCase("나이")) {
    age(pc, param);

} else if (cmd.equalsIgnoreCase("족보")) {
     age2(pc, param);

 

유저명령어 뜨는 곳에 .나이 .족보 추가해주시고요

 

 private void describe(L1PcInstance pc) {
  try {
   StringBuilder msg = new StringBuilder();
   pc.sendPackets(new S_SystemMessage("-- 내 우호도 정보 --"));
   pc.sendPackets(new S_SystemMessage("우호도: " + pc.getKarma() + ""));
   pc.sendPackets(new S_SystemMessage(msg.toString()));
  } catch (Exception e) {
   pc.sendPackets(new S_SystemMessage(".우호도 명령어 에러"));
  }
 }//
검색시 특별히 이것이 아니라도 상관없습니다. 적당한 곳에 넣어주세요.

 

//나이입력 By 모카
 private void age(L1PcInstance pc, String cmd) {
  try {
   StringTokenizer tok = new StringTokenizer(cmd);
   String AGE = tok.nextToken();
   int AGEint = Integer.parseInt(AGE);
  
   if (AGEint > 99) {
    pc.sendPackets(new S_SystemMessage("입력하신 나이는 올바른 값이 아닙니다."));
    return;
   }
  
   pc.setAge(AGEint);
   pc.save();
   pc.sendPackets(new S_SystemMessage(pc.getName()+" 님의 나이 (" + AGEint
     + ")가 설정되었습니다."));
  } catch (Exception e) {
   pc.sendPackets(new S_SystemMessage("  사용 예) .나이 28"));
  }
 }
 
 private void age2(L1PcInstance pc, String cmd) {
  try {
   StringTokenizer tok = new StringTokenizer(cmd);
   String AGE2 = tok.nextToken();
   int AGEint2 = Integer.parseInt(AGE2);
  
      switch (AGEint2) {
   case 1:
    pc.sendPackets(new S_Age(pc , 1)); 
    break;
   case 2:
    pc.sendPackets(new S_Age(pc , 2)); 
    break;
   case 3:
    pc.sendPackets(new S_Age(pc , 3)); 
    break;
   case 4:
    pc.sendPackets(new S_Age(pc , 4)); 
    break;
   default:
    pc.sendPackets(new S_SystemMessage("  .족보 1~4 만 가능합니다."));

   }
  
    
     } catch (Exception e) {
         pc.sendPackets(new S_SystemMessage("  사용 예) .족보 2"));
     }
    }

//족보 By 모카

 

l1j.server.server.serverpackets.S_ChatPacket.java

 

} else if (type == 4) // 혈맹 채팅//여기서 부터 위스파. 까지의 내용을 이 내용으로 바꿔주세요

.

.

  }  else if (type == 9) { // 위스파.

 

} else if (type == 4) // 혈맹 채팅
    {
     writeC(opcode);
     writeC(type);
     if (pc.getAge()==00){//족보 By 모카
      writeS("{" + pc.getName() +"} " + chat);
     }else{
     writeS("{" + pc.getName() +"("+ pc.getAge()+")"+"} " + chat);
     }
     if(Config.혈맹 == true){
                 l1j.server.Leaf.chatlog.append("\r\n[혈맹 ("+pc.getClanname()+") ] " +pc.getName()+": "+ chat);
              }
    }  else if (type == 9) { // 위스파

 

 

 

l1j.server.server.model.Instance.L1BoardInstance.java

 

import l1j.server.server.serverpackets.S_Age; // 족보 by 모카

//임포트 추가해 주시고요

 

public void onEnchantRanking(L1PcInstance player) {
  player.sendPackets(new S_EnchantRanking(this));
 }

 public void onEnchantRankingRead(L1PcInstance player, int number) {
  player.sendPackets(new S_EnchantRanking(player, number));
 }

 

public void onAge(L1PcInstance player) {
  player.sendPackets(new S_Age(this));
  }

  public void onAgeRead(L1PcInstance player, int number) {
  player.sendPackets(new S_Age(player, number));
  }//족보 by 모카

 

 

l1j.server.server.clientpackets.C_Board.java

 

if(board.getNpcTemplate().get_npcId() == 81129){ // 랭킹 게시판 코드 입력
    board.onRanking(pc);
   }

else if(board.getNpcTemplate().get_npcId() == 99989){ // npiID() == 옆에는게시판 번호 입력
    board.onAge(pc);
    }//족보 by 모카

 

l1j.server.server.clientpackets.C_BoardRead.java

 

} else if(board.getNpcTemplate().get_npcId() == 81130){ // 게시판 코드 입력
      board.onEnchantRankingRead(l1pcinstance, readD());

} else if(board.getNpcTemplate().get_npcId()==99989){
      board.onAgeRead(l1pcinstance, readD());//족보 by 모카
//99989 엔피씨가 게시판 번호입니다. 각 아지트에 세워보세요~ㅎ
 
 
 
 
나비켓 추가부분
케릭터에서 설계를 누르시고 추가합니다.
이름 : Age    타입 : int    길이 : 2    십진법 : 0    제로허용 : □    디폴트 : 0
NPC 에서
아무 게시판이나 복사해서 하나 추가합니다.
추가된 NPC 번호가 위 소스의 npcID 가 되는겁니다.
 
 
////출처 모카쿠키

번호 제목 글쓴이 날짜 조회 수
공지 소스자료는 직접 올려주세요 게임존 2017.06.06 550
159 통합 쓰레드(Thread) 소스!! 알고리즘? 김닉넴 2016.05.20 102
158 보스몹 멘트 띄우기 김닉넴 2016.05.19 120
157 로또복권 김닉넴 2016.05.19 80
156 불량 채팅 검출 김닉넴 2016.05.19 51
155 실시간 레벨제한 김닉넴 2016.05.19 59
154 여관 들어가기 김닉넴 2016.05.19 46
153 영자들끼리 대화 김닉넴 2016.05.19 96
152 영자 명령어 경치 복구 김닉넴 2016.05.19 39
151 오토루팅 김닉넴 2016.05.19 244
150 퀘스트템 자동 지급 소스 김닉넴 2016.05.19 115
149 초반 말하는 두루마리 지급 부분 본섭화 김닉넴 2016.05.19 59
148 l1skilluse.handlecommands - null point 에러 야호 2016.05.19 47
147 기억창 소스 김닉넴 2016.05.18 127
146 gm명령 메모리솔류션 김닉넴 2016.05.18 102
145 오림시스템 김닉넴 2016.05.18 80
144 너스핵쓰냐?잡아본다 [2] 김닉넴 2016.05.18 202
143 마을경비 입구가져오는몹 죽이는법 김닉넴 2016.05.18 58
142 던전 타이머 소스 김닉넴 2016.05.18 102
141 낚시터 드랍경로 [1] 김닉넴 2016.05.18 88
140 허수아비렙제 김닉넴 2016.05.18 99
139 운영자 명령어 [혈전시작] 추가방법 김닉넴 2016.05.18 71
138 같은혈 용병로봇들이 상대방혈의 로봇들 치게 하는방법.[초코님 점팩 기준] 김닉넴 2016.05.18 285
137 파티원 수 늘리기 김닉넴 2016.05.18 36
136 [아이서버] 공성주기 변경 김닉넴 2016.05.18 60
135 환영의 체인소드 김닉넴 2016.05.18 29
134 커멘드로 영자권한 주기입니다 김닉넴 2016.05.18 97
133 특정아이템 획득시 전체공지 김닉넴 2016.05.18 105
132 [아이서버] 혈전종료 명령어 김닉넴 2016.05.18 41
131 linall 유저가접하면 알아서 인사하고~ 성주가 접하면 알아서 성주인사를~합니다~ 김닉넴 2016.05.18 139
130 축아이템 만들기 [1] 김닉넴 2016.05.18 182
129 1억수표 김닉넴 2016.05.18 102
128 잊섬 2시간 텀으로 열리게 컴파일 요청합니다 file 아오이와소라 2016.05.17 186
127 mr에 의한 데미지 경감 소스 [1] LoseF 2016.05.10 157
126 몬스터 피틱 and 엠틱 간단하게 쓰레드 최소화? 로스트사가 2016.05.05 84
125 매니저창 구버전 하시는분들한테 좋을거 같아서 올립니다. file 로스트사가 2016.05.05 683
124 귓말 글자수 늘려보자 로스트사가 2016.05.04 41
123 에메랄드 아이콘 패킷 로스트사가 2016.05.03 88
122 마법 방어 인첸트 적용 로스트사가 2016.05.03 85
» 족보&나이 [1] file 로스트사가 2016.05.03 143
120 펫관련 본섭화와 밸런스 file 로스트사가 2016.05.03 198
119 [본섭화]수호탑근처가면투명해제 로스트사가 2016.05.03 46
118 변신 레벨에따른 공속변화 로스트사가 2016.04.30 495
117 5분마다 자도옹지 띄우기 이드1 2016.04.27 103
116 공성 먹자 군주 방지 [1] 이드1 2016.04.27 124
115 몬스터잡은만큼 버프주기 이드1 2016.04.26 113
114 [중복] 자세히 클래스변경물약 이드1 2016.04.26 85
113 유저커멘드 인벤템 보여주기 이드1 2016.04.26 125
112 인첸별 이펙 이드1 2016.04.26 157
111 특정맵 경험치증가 이드1 2016.04.26 95
110 특정아이템 뮨효과 이드1 2016.04.26 135