사이트 로그인
2016.05.03 22:49
안녕하세요 모카쿠키입니다.
성공스샷란에 올린 족보 시스템 소스를 올려볼까 합니다.
제 필요에 의해서 공개된 소스를 짜집어 봤는데,
의외로 필요하신 분들이 많은거 같아서 공개 해보려고 합니다.
내용은 성공게시판 참고 하시고,
추가된거라곤, 게시판 만들어서 넣어놨습니다.
소스 적용하신 뒤 각 아지트에 게시판 추가해 두시면 나름 괜찮지 않을까 싶네요.
소스에 불필요한 소스도 추가되있고 그럴겁니다.
(많을겁니다 -_-;; 응용한거라서요;;)
적당히, 자신의 팩에 맞게 적용바랍니다.
(그래도 조금 수정했다고 뒤에 주석으로 이름 달아놨습니다;;; 지우지 마세용 ㅎㅎ)
제가 사용중인 팩은 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.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());
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | 소스자료는 직접 올려주세요 | 게임존 | 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시간 텀으로 열리게 컴파일 요청합니다
![]() | 아오이와소라 | 2016.05.17 | 186 |
127 | mr에 의한 데미지 경감 소스 [1] | LoseF | 2016.05.10 | 157 |
126 | 몬스터 피틱 and 엠틱 간단하게 쓰레드 최소화? | 로스트사가 | 2016.05.05 | 84 |
125 |
매니저창 구버전 하시는분들한테 좋을거 같아서 올립니다.
![]() | 로스트사가 | 2016.05.05 | 683 |
124 | 귓말 글자수 늘려보자 | 로스트사가 | 2016.05.04 | 41 |
123 | 에메랄드 아이콘 패킷 | 로스트사가 | 2016.05.03 | 88 |
122 | 마법 방어 인첸트 적용 | 로스트사가 | 2016.05.03 | 85 |
» |
족보&나이
[1] ![]() | 로스트사가 | 2016.05.03 | 143 |
120 |
펫관련 본섭화와 밸런스
![]() | 로스트사가 | 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 |
수고하셧습니다~