족보&나이
안녕하세요 모카쿠키입니다.
성공스샷란에 올린 족보 시스템 소스를 올려볼까 합니다.
제 필요에 의해서 공개된 소스를 짜집어 봤는데,
의외로 필요하신 분들이 많은거 같아서 공개 해보려고 합니다.
내용은 성공게시판 참고 하시고,
추가된거라곤, 게시판 만들어서 넣어놨습니다.
소스 적용하신 뒤 각 아지트에 게시판 추가해 두시면 나름 괜찮지 않을까 싶네요.
소스에 불필요한 소스도 추가되있고 그럴겁니다.
(많을겁니다 -_-;; 응용한거라서요;;)
적당히, 자신의 팩에 맞게 적용바랍니다.
(그래도 조금 수정했다고 뒤에 주석으로 이름 달아놨습니다;;; 지우지 마세용 ㅎㅎ)
제가 사용중인 팩은 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());
board.onAgeRead(l1pcinstance, readD());//족보 by 모카

로스트사가 님의 최근 댓글
감사합니다. 2019 06.13 감사합니다. 2019 06.12 감사합니다. 2019 05.03 감사합니다. 2019 05.03 감사합니다. 2018 03.11