사이트 로그인
2016.07.05 17:05
안녕하세요^^;; 단테스의 유물상자를 짜집기해보았어요... 그냥 상점판매만해놓기보다 조금은더 다양해보일까해서..ㅠㅠ
위사진처럼 라스타바드 중앙광장 단테스주위에 상자들이있구엽 단테스유물상자는 상점판매를하셔도되고 드랍을해도좋고..
이벤트로해도조쿠요~^^ 여러방면으로 좋은쪽으로설정하시구 유물상자를 획득개봉하게되면 음음 위대한주문서들과
단테스상자열쇠까지 100%지급되고 그후에 확률로서 각종아이템들이추가로 지급되는 그런건데엽
확률적으로 특정아이템이 나올때는 단테스유물주머니가 안나와요...^^;; 여기부분은 잘조정해서 완벽하게 가꾸시길바랄게요
단테스상자열쇠를 저렇게 배치해놓은 중앙광장에서 상자를개봉할때쓰도록..해보았어요 내용물은 변경하셔도되구여
열심히 짜집은 흔적들이많이보이실거예여 상당히 소스용량도많이먹고 간소화도잘안되어있는거같죠^^;; 실력탓입니다 헤헷..
짜집기만했을뿐 전체적인 소스구성은 각종연구카페에서 공개된자료에한해서 응용되었습니다. 감사합니다.
서버폴더\data\xml\Item 트레저박스 메모장으로여신후에
<!-- 단테스의 유물 주머니 -->
<TreasureBox Type="SPECIFIC" ItemId="50015">
<Item ItemId="121054" Count="1"/>
</TreasureBox>
나비켓 etcitem 테이블
249003 위대한 용사의 주문 위대한 용사의 주문 scroll normal paper 630 193 2878 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1
249002 위대한 궁수의 주문 위대한 궁수의 주문 scroll normal paper 630 212 2878 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1
249000 위대한 치유의 주문 위대한 치유의 주문 scroll normal paper 630 190 2878 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1
249004 위대한 법사의 주문 위대한 법사의 주문 scroll normal paper 630 220 2878 0 1 0 0 0 0 0 0 0 0 1 0 0 0 800 0 0 1 1
50015 단테스의 유물 주머니 단테스의 유물 주머니 treasure_box normal cloth 0 4777 4246 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 1
50016 단테스의 유물 상자 단테스의 유물 상자 other normal silver 8 3286 7133 4345 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1
430027 단테스의 보물상자 열쇠 단테스의 보물상자 열쇠 other normal iron 0 3560 2152 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1
나비켓 armor 테이블
121054 단테스의 유물 단테스의 유물 ron -1 gemstone 1000 4901 21 0 0 -1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 3 0 0 10 0 0 0 0 3 0 3 1 0 0 1800 0 0 0 0 0 0 0 0 0 0
나비켓 skills 테이블
2600 위대한 용사의 주문 0 0 0 0 0 0 0 1200 buff 4 0 0 0 0 0 2 2 0 -1 0 0 2 $853 0 6342 0 292 0 0
2601 위대한 궁수의 주문 0 0 0 0 0 0 0 1200 buff 4 0 0 0 0 0 8 2 0 -1 0 0 2 $855 0 750 0 294 0 0
2602 위대한 치유의 주문 8 0 0 0 0 0 500 0 buff 3 15 8 0 0 0 12 16 0 -1 0 0 1 $1,471 19 832 0 77 0 0
나비켓 spawnlist_door 테이블
7001 단테스보물상자 4331 32848 32769 479 0 0 0 0 0
7002 단테스보물상자 4331 32846 32773 479 0 0 0 0 0
7003 단테스보물상자 4331 32840 32767 479 0 0 0 0 0
7004 단테스보물상자 4331 32838 32771 479 0 0 0 0 0
7005 단테스보물상자 4331 32843 32762 479 0 0 0 0 0
7006 단테스보물상자 4331 32851 32770 479 0 0 0 0 0
7007 단테스보물상자 4331 32843 32777 479 0 0 0 0 0
C_ItemUse.java
/** 단테스의 유물 상자 **/
} else if (itemId == 50016) {
int bonus = _random.nextInt(100) + 1;
L1ItemInstance bonusitem = null;
bonusitem = pc.getInventory().storeItem(249000, 1);
pc.sendPackets(new S_ServerMessage(403, bonusitem.getItem()
.getNameId()));
bonusitem = pc.getInventory().storeItem(249002, 1);
pc.sendPackets(new S_ServerMessage(403, bonusitem.getItem()
.getNameId()));
bonusitem = pc.getInventory().storeItem(249003, 1);
pc.sendPackets(new S_ServerMessage(403, bonusitem.getItem()
.getNameId()));
bonusitem = pc.getInventory().storeItem(249004, 1);
pc.sendPackets(new S_ServerMessage(403, bonusitem.getItem()
.getNameId()));
bonusitem = pc.getInventory().storeItem(430027, 1);
pc.sendPackets(new S_ServerMessage(403, bonusitem.getItem()
.getNameId()));
pc.getInventory().removeItem(useItem, 1);
if (bonus <= 0.1) {
bonusitem = pc.getInventory().storeItem(20390, 1); //진명황의투구
pc.sendPackets(new S_ServerMessage(403, bonusitem
.getItem().getNameId()));
} else if (bonus >= 0.2 && bonus <= 0.3) {
bonusitem = pc.getInventory().storeItem(20395, 1); //진명황의갑옷
pc.sendPackets(new S_ServerMessage(403, bonusitem
.getItem().getNameId()));
} else if (bonus >= 0.4 && bonus <= 0.5) {
bonusitem = pc.getInventory().storeItem(20402, 1); //진명황의망토
pc.sendPackets(new S_ServerMessage(403, bonusitem
.getItem().getNameId()));
} else if (bonus >= 0.6 && bonus <= 0.7) {
bonusitem = pc.getInventory().storeItem(20408, 1); //진명황의부츠
pc.sendPackets(new S_ServerMessage(403, bonusitem
.getItem().getNameId()));
} else if (bonus >= 0.8 && bonus <= 0.9) {
bonusitem = pc.getInventory().storeItem(20410, 1); //진명황의장갑
pc.sendPackets(new S_ServerMessage(403, bonusitem
.getItem().getNameId()));
} else if (bonus >= 1.0 && bonus <= 1.2) {
bonusitem = pc.getInventory().storeItem(41148, 1); //카운터 배리어
pc.sendPackets(new S_ServerMessage(403, bonusitem
.getItem().getNameId()));
} else if (bonus >= 1.3 && bonus <= 1.5) {
bonusitem = pc.getInventory().storeItem(40222, 1); //디스인티그레이트
pc.sendPackets(new S_ServerMessage(403, bonusitem
.getItem().getNameId()));
} else if (bonus >= 1.6 && bonus <= 1.8) {
bonusitem = pc.getInventory().storeItem(402781, 1); //아머 브레이크
pc.sendPackets(new S_ServerMessage(403, bonusitem
.getItem().getNameId()));
} else if (bonus >= 1.9 && bonus <= 2.1) {
bonusitem = pc.getInventory().storeItem(450142, 1); //파괴의이도류
pc.sendPackets(new S_ServerMessage(403, bonusitem
.getItem().getNameId()));
} else if (bonus >= 2.2 && bonus <= 2.4) {
bonusitem = pc.getInventory().storeItem(450143, 1); //파괴의크로우
pc.sendPackets(new S_ServerMessage(403, bonusitem
.getItem().getNameId()));
} else if (bonus >= 2.5 && bonus <= 2.8) {
bonusitem = pc.getInventory().storeItem(100084, 1); //흑왕도
pc.sendPackets(new S_ServerMessage(403, bonusitem
.getItem().getNameId()));
} else if (bonus >= 2.9 && bonus <= 3.2) {
bonusitem = pc.getInventory().storeItem(100164, 1); //흑왕아
pc.sendPackets(new S_ServerMessage(403, bonusitem
.getItem().getNameId()));
} else if (bonus >= 3.3 && bonus <= 3.5) {
bonusitem = pc.getInventory().storeItem(100189, 1); //흑왕궁
pc.sendPackets(new S_ServerMessage(403, bonusitem
.getItem().getNameId()));
} else if (bonus >= 3.6 && bonus <= 3.7) {
bonusitem = pc.getInventory().storeItem(41149, 1); //소울오브프레임
pc.sendPackets(new S_ServerMessage(403, bonusitem
.getItem().getNameId()));
} else if (bonus >= 3.8 && bonus <= 100) {
bonusitem = pc.getInventory().storeItem(50015, 1); //단테스의유물주머니
pc.sendPackets(new S_ServerMessage(403, bonusitem
.getItem().getNameId()));
}
} else if (itemId == 249002) {// 위대한 궁수의 주문
// pc.setBuffnoch(1);
int[] allBuffSkill = { 2601 };
L1SkillUse l1skilluse = new L1SkillUse();
for (int i = 0; i < allBuffSkill.length; i++) {
l1skilluse.handleCommands(pc, allBuffSkill[i],
pc.getId(), pc.getX(), pc.getY(), null, 0,
L1SkillUse.TYPE_GMBUFF);
pc.sendPackets(new S_SkillSound(pc.getId(), 750, 0));
Broadcaster.broadcastPacket(pc,
new S_SkillSound(pc.getId(), 750, 0));
}
pc.getInventory().removeItem(useItem, 1);
} else if (itemId == 249003) {// 위대한 용사의 주문
// pc.setBuffnoch(1);
int[] allBuffSkill = { 2600 };
L1SkillUse l1skilluse = new L1SkillUse();
for (int i = 0; i < allBuffSkill.length; i++) {
l1skilluse.handleCommands(pc, allBuffSkill[i],
pc.getId(), pc.getX(), pc.getY(), null, 0,
L1SkillUse.TYPE_GMBUFF);
pc.sendPackets(new S_SkillSound(pc.getId(), 6342, 0));
Broadcaster.broadcastPacket(pc,
new S_SkillSound(pc.getId(), 6342, 0));
}
pc.getInventory().removeItem(useItem, 1);
} else if (itemId == 249000) {// 위대한 치유의 주문
// pc.setBuffnoch(1);
int[] allBuffSkill = { 57 };
L1SkillUse l1skilluse = new L1SkillUse();
for (int i = 0; i < allBuffSkill.length; i++) {
l1skilluse.handleCommands(pc, allBuffSkill[i],
pc.getId(), pc.getX(), pc.getY(), null, 0,
L1SkillUse.TYPE_GMBUFF);
}
pc.getInventory().removeItem(useItem, 1);
} else if (itemId == 249004) { // 위대한 법사의 주문
pc.sendPackets(new S_SystemMessage("\\aF위대한 마력에의해 MP가 회복됩니다.")); // 당신의%0가
// 회복해
// 갈
// 것입니다.
pc.setCurrentMp(pc.getCurrentMp() + 10); // 80~100
pc.getInventory().removeItem(useItem, 1);
pc.sendPackets(new S_SkillSound(pc.getId(), 195, 0));
Broadcaster.broadcastPacket(pc, new S_SkillSound(
pc.getId(), 195, 0));
C_Door.java
if(door.getDoorId() >= 8001 && door.getDoorId() <= 8010){
if(pc.getInventory().checkItem(L1ItemId.GIRANCAVE_BOXKEY, 1)){
giranCaveBox(pc, door);
return;
}else{
return;
}
} //검색후 요긔밑에^^;;
if(door.getDoorId() >= 7001 && door.getDoorId() <= 7007){
if(pc.getInventory().checkItem(L1ItemId.GIRANCAVE_BOXKEY1, 1)){
giranCaveBox1(pc, door);
return;
}else{
return;
}
if(door.getDoorId() >= 8001 && door.getDoorId() <= 8010){
if(pc.getInventory().checkItem(L1ItemId.GIRANCAVE_BOXKEY, 1)){
giranCaveBox(pc, door);
return;
}else{
return;
}
} //검색후 요긔밑에^^;;
if(door.getDoorId() >= 7001 && door.getDoorId() <= 7007){
if(pc.getInventory().checkItem(L1ItemId.GIRANCAVE_BOXKEY1, 1)){
giranCaveBox1(pc, door);
return;
}else{
return;
}
}
}
private void giranCaveBox(L1PcInstance pc, L1DoorInstance door) { //검색후
}
}
} //끝나는후 밑에
private void giranCaveBox1(L1PcInstance pc, L1DoorInstance door) {
int ran = _random.nextInt(100) + 1;
L1ItemInstance item = null;
if (door.getOpenStatus() == ActionCodes.ACTION_Close){
pc.getInventory().consumeItem(L1ItemId.GIRANCAVE_BOXKEY1, 1);
door.open();
if (ran >= 0 && ran <= 10){
item = pc.getInventory().storeItem(40018, 2); //강화속도향상물약
pc.sendPackets(new S_ServerMessage(403, item.getName()));
}else if(ran >= 11 && ran <= 20){
item = pc.getInventory().storeItem(550001, 2); //강화용기의물약
pc.sendPackets(new S_ServerMessage(403, item.getName()));
}else if(ran >= 21 && ran <= 30){
item = pc.getInventory().storeItem(550002, 2); //강화엘븐와퍼
pc.sendPackets(new S_ServerMessage(403, item.getName()));
}else if(ran >= 31 && ran <= 40){
item = pc.getInventory().storeItem(550003, 2); //강화지혜의물약
pc.sendPackets(new S_ServerMessage(403, item.getName()));
}else if(ran >= 41 && ran <= 50){
item = pc.getInventory().storeItem(550004, 2); //강화마력의물약
pc.sendPackets(new S_ServerMessage(403, item.getName()));
}else if(ran >= 51 && ran <= 60){
item = pc.getInventory().storeItem(550005, 2); //강화에바의축복
pc.sendPackets(new S_ServerMessage(403, item.getName()));
}else if(ran >= 61 && ran <= 70){
item = pc.getInventory().storeItem(550006, 2); //강화변신주문서
pc.sendPackets(new S_ServerMessage(403, item.getName()));
}else if(ran >= 71 && ran <= 75){
item = pc.getInventory().storeItem(120077, 1); //투명망토
pc.sendPackets(new S_ServerMessage(403, item.getName()));
}else if(ran >= 76 && ran <= 80){
item = pc.getInventory().storeItem(20049, 1); //거대여왕개미의금빛날개
pc.sendPackets(new S_ServerMessage(403, item.getName()));
}else if(ran >= 81 && ran <= 85){
item = pc.getInventory().storeItem(20050, 1); //거대여왕개미의은빛날개
pc.sendPackets(new S_ServerMessage(403, item.getName()));
}else if(ran >= 86 && ran <= 90){
item = pc.getInventory().storeItem(20079, 1); //뱀파이어의망토
pc.sendPackets(new S_ServerMessage(403, item.getName()));
}else if(ran >= 91 && ran <= 95){
item = pc.getInventory().storeItem(20279, 1); //라이아의반지
pc.sendPackets(new S_ServerMessage(403, item.getName()));
}else if(ran >= 96 && ran <= 97){
item = pc.getInventory().storeItem(420021, 1); //테베호루스의반지
pc.sendPackets(new S_ServerMessage(403, item.getName()));
}else if(ran >= 98 && ran <= 100){
item = pc.getInventory().storeItem(420022, 1); //테베아누비스의반지
pc.sendPackets(new S_ServerMessage(403, item.getName()));
}
}
}
L1DoorInstance.java
if (this.getDoorId() >= 8001 && this.getDoorId() <= 8010){ //검색하신후
CloseTime = System.currentTimeMillis() + 1800000;
NpcRestController.getInstance().addDoor(this);
} //끝나는곳 밑에추가
if (this.getDoorId() >= 7001 && this.getDoorId() <= 7007){
CloseTime = System.currentTimeMillis() + 1800000;
NpcRestController.getInstance().addDoor(this);
}
L1SkillId.java
public static final int PHYSICAL_ENCHANT_STR1 = 2600;
public static final int PHYSICAL_ENCHANT_DEX1 = 2601;
L1SkillUse.java
private void sendIcon(L1PcInstance pc) { //검색하신후에 적당한곳안에추가
case PHYSICAL_ENCHANT_STR1: pc.sendPackets(new S_Strup(pc, 6, _getBuffIconDuration)); break;
case PHYSICAL_ENCHANT_DEX1: pc.sendPackets(new S_Dexup(pc, 6, _getBuffIconDuration)); break;
private void deleteRepeatedSkills(L1Character cha) { //검색하신후에
{ PHYSICAL_ENCHANT_DEX, DRESS_DEXTERITY, PHYSICAL_ENCHANT_DEX1},
{ PHYSICAL_ENCHANT_STR, DRESS_MIGHTY, PHYSICAL_ENCHANT_STR1},
switch(_skillId){ //검색하신후에
case PHYSICAL_ENCHANT_STR1:{
L1PcInstance pc = (L1PcInstance) cha;
pc.getAbility().addAddedStr((byte) 6);
pc.sendPackets(new S_Strup(pc, 6, _getBuffIconDuration));
}
break;
case PHYSICAL_ENCHANT_DEX1:{
L1PcInstance pc = (L1PcInstance) cha;
pc.getAbility().addAddedDex((byte) 6);
pc.sendPackets(new S_Dexup(pc, 6, _getBuffIconDuration));
}
break;
L1SkillTimer.java
case PHYSICAL_ENCHANT_STR1:
cha.getAbility().addAddedStr((byte) -6);
if (cha instanceof L1PcInstance) {
L1PcInstance pc = (L1PcInstance) cha;
pc.sendPackets(new S_Strup(pc, 6, 0));
}
break;
case PHYSICAL_ENCHANT_DEX1:
cha.getAbility().addAddedDex((byte) -6);
if (cha instanceof L1PcInstance) {
L1PcInstance pc = (L1PcInstance) cha;
pc.sendPackets(new S_Dexup(pc, 6, 0));
}
break;
빠진게있는지 모르겠네요... 능력이되신다면 좀더 깔끔하게 가꾸어서 사용하시기바랄게요^^;;
제가해놓은것중에 아이템번호들은 아마 받으시는분들 아이템번호와 일치하지않는부분이많을수있으니까요 잘확인해보시고
아이템 알맞게 번호설정하시기바랄게요 위에 모두 아이템이름같은거 적어놓았으니 편하게보고바꾸시면될거예요
이상 짜집기 페이트였습니다...ㅠ ㅠ
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | 소스자료는 직접 올려주세요 | 게임존 | 2017.06.06 | 550 |
509 | UI6 펫/서먼 업데이트 | 준희미니 | 2016.07.07 | 84 |
508 | 인벤정보 표기 B.C | 준희미니 | 2016.07.07 | 88 |
507 | 펫 밥 그 릇. | 준희미니 | 2016.07.07 | 37 |
506 | 에바)샤르나 75,80변신 | 준희미니 | 2016.07.07 | 72 |
505 | UI6차 기억창 로딩부분 18세이상만님께서 수정했던 자료 | 준희미니 | 2016.07.07 | 43 |
504 | 일팩용 3.53c 옵코드 | 준희미니 | 2016.07.07 | 57 |
503 | 중계기 노딜X그!! | 준희미니 | 2016.07.07 | 231 |
502 | 기르관련 맵(중앙광장포함) | 준희미니 | 2016.07.07 | 41 |
501 | 혈맹채팅 안되시는 분들... | 준희미니 | 2016.07.07 | 22 |
500 | 혈맹업데이트(수정) | 준희미니 | 2016.07.07 | 48 |
499 | 숨계도리아 | 준희미니 | 2016.07.07 | 26 |
498 | 일본팩에서 해상전 추출 통으로~ | 준희미니 | 2016.07.07 | 69 |
497 | 일본팩에서 해상전 추출 통으로~ 2 | 준희미니 | 2016.07.07 | 19 |
496 | 일본팩에서 해상전 추출 통으로~ 3 | 준희미니 | 2016.07.07 | 18 |
495 | 일본팩에서 해상전 추출 통으로~ 4 | 준희미니 | 2016.07.07 | 17 |
494 | 일본팩에서 해상전 추출 통으로~ 마지막 | 준희미니 | 2016.07.07 | 23 |
493 | 일팩해상전 에바 적용중 에러 | 준희미니 | 2016.07.07 | 40 |
492 |
일팩 해상전 및 기억 temp창 수정할수있는 통소스 파일.파헤쳐야함
![]() | 준희미니 | 2016.07.07 | 20 |
491 | 스킬 gfx 변경 사항 | 준희미니 | 2016.07.07 | 195 |
490 | 오렌 리뉴얼중 X 지역 땅굴포탈 좌표 | 준희미니 | 2016.07.07 | 16 |
489 | 편지 공개않하는 이유라도 있나요? | 준희미니 | 2016.07.07 | 61 |
488 | 해상전.에 몹나오게하는방법. (요청)허접자료임 고수분들패스 | 준희미니 | 2016.07.07 | 57 |
487 | 편지 리스트 삭제 | 준희미니 | 2016.07.07 | 16 |
486 | 짜집기 기르관련 스킬들 | 준희미니 | 2016.07.07 | 80 |
485 | 해상전 일팩소스 에바소스로 변경작업. 에러 5남기고..필요한파일첨부.조금의희망 | 준희미니 | 2016.07.07 | 30 |
484 | 만피제한소스 | 뤼니징 | 2016.07.07 | 64 |
483 | 사운드 재생 PACKETBOX | 준희미니 | 2016.07.07 | 44 |
482 | 차단, 스펨편지차단 | 준희미니 | 2016.07.07 | 21 |
481 | 차단, 스펨편지차단 | 준희미니 | 2016.07.07 | 13 |
480 | 기억창 사라지는 문제점 해결.. 소스아님 | 준희미니 | 2016.07.07 | 57 |
479 | 픽시의 변신 막대 | 준희미니 | 2016.07.07 | 43 |
478 |
혈맹창
![]() | 준희미니 | 2016.07.07 | 1013 |
477 | 혈맹창 | 준희미니 | 2016.07.07 | 42 |
476 | 다중 편지 발송.. | 준희미니 | 2016.07.07 | 29 |
475 | 편지차단/차단 | 준희미니 | 2016.07.07 | 13 |
474 |
제가 설명했던 배열을 이용한 원형큐 예제입니다
![]() | 준희미니 | 2016.07.07 | 51 |
473 |
방향오류
![]() | 준희미니 | 2016.07.07 | 25 |
472 | 혈맹창고 이용 내역 | 준희미니 | 2016.07.05 | 38 |
471 | 특정렙특정맵에서 경험치 안먹게하기 | 준희미니 | 2016.07.05 | 45 |
470 | 말섬 리뉴얼 입니다 | 준희미니 | 2016.07.05 | 102 |
» |
짜집기 단테스의유물상자^^;;
![]() | 준희미니 | 2016.07.05 | 111 |
468 |
심해 알드란 텔[능동적 자료]
![]() | 준희미니 | 2016.07.05 | 19 |
467 |
독 아이콘 eva 버전
![]() | 준희미니 | 2016.07.05 | 48 |
466 | MiNA 기준 실시간 포트 변경 | 준희미니 | 2016.07.05 | 49 |
465 | 그냥 별건아닌데 | 준희미니 | 2016.07.05 | 160 |
464 | 군주 파티시 피바 | 준희미니 | 2016.07.05 | 48 |
463 | 짜집기 혈맹버프^^;; | 준희미니 | 2016.07.05 | 65 |
462 | 다이노 인형 짜집기 | 준희미니 | 2016.07.05 | 41 |
461 | [UI6] 혈맹탈퇴 | 준희미니 | 2016.07.05 | 18 |
460 | 새로운 본던멥입니당 | 준희미니 | 2016.07.05 | 46 |