2.0 올나팩 제작 npc 수정 도움

경험치랭킹
포인트랭킹
글작성랭킹
댓글작성랭킹
리니지연구소 통계
  • 428(17) 명현재 접속자
  • 12,549 명오늘 방문자
  • 10,712 명어제 방문자
  • 17,525 명최대 방문자
  • 4,188,572 명전체 방문자
  • 603,593 개전체 게시물
  • 81,099 개전체 댓글수
  • 13,561 명전체 회원수
SNS 공유
    Facebook Twitter GooglePlus KakaoStory NaverBand
홍보글은 홍보게시판에만.. 게시판 잘보고 올리세요! 홍보게시판 외에 홍보글 발견시 바로 아이디 차단됩니다!
새글
새댓글
질문게시판

2.0 올나팩 제작 npc 수정 도움

2.0 올나이트팩에서 제작 npc에게 주문서 제작을 고쳤는데요.
 

일반 주문서만 인식해서 재료로 소진되어야 하는데


축데이랑 걍데이랑 저데이랑 다 같은 종류로 취급되어져 문제가 됩니다.


이부분 어떻게 수정해야 할까요?ㅠㅠ

채택됨
pieceB 2023.09.19 10:33  
제가 소스는 알수 없어서 그냥 일반적으로 대응하는 방법을 써드립니다.
혹시 축데이 , 저데이, 걍데이 코드번호같은게 있거나 "무기 마법 주문서" 이 대신에 "축복받은 무기 마법 주문서" 또는 "저주받은 무기 마법주문서"
가 코드에 들어가는 문자열인지 확인이 가능해야합니다.
다른방법으로  "무기 마법 주문서" <-- 이 안에 들어가는 텍스트 대신 item_id가 들어갈수 있다면 수정은 가능할거 같습니다.

Item i = ItemDatabase.find("무기 주문서 상자");
if (i != null) {
craft_list.put("request hard leather", i);

List<Craft> l = new ArrayList<Craft>();
if ( ItemDatabase.find(일반 무기마법 주문서 코드), 20)){
l.add(new Craft(ItemDatabase.find("무기 마법 주문서"),20));
list.put(i, l); 
}else if(  축데이나 저데이가 있을경우    축무기 || 저주데이 일 경우    ){
}else{
      실패를 가정하엿을대 예외처리
}
}
일반 무기 마법 주문서<===는 예문으로 제가 일반 무기마법주문서라는 텍스트가 있다는 가정하에 써드립니다.
보시면 if문이 새로이 들어가있을건데요. 만약에  일반 무기 마법 주문서가 있다면 리스트에 담겠다를 표현합니다.

예외처리는 직접하셔야하는 부분일거 같아요. 예) 축무기나, 저데이가 없을시 어떻게 하겠다를 표시합니다.

정 모르시겠으면

Item i = ItemDatabase.find("무기 주문서 상자");
if (i != null) {
craft_list.put("", i);

List<Craft> l = new ArrayList<Craft>();
ItemDatabase.find(일반 무기마법 주문서 코드), 20)){
l.add(new Craft(ItemDatabase.find("일반 무기 마법 주문서 코드 또는 일반 무기 마법 주문서"),20));
list.put(i, l); 

}
find에서 "일반 무기 마법 주문서"를 한번 찾아보시는게 좋습니다.
제가 봤을때 "무기 마법 주문서" 라고 하는것은 축, 저주, 일반 세가지를 다 일컬어서 말하는거 같으니
일반 무기 마법 주문서를 어떻게 등록햇는지 확인하시면 됩니다.


제가 소스가 없다보니 방식만 알려드린다는점 이해해주세요.
9 Comments
페어리 2023.09.17 13:18  
&& bless ==0  (0 1 -1 3개중 1개)

럭키 포인트 2 점 당첨!! 축하드립니다!

라스트가디언 2023.09.17 15:09  
오류 뜨는데요 어디에 넣어야되나요
범이 2023.09.18 08:22  
("무기 마법 주문서") && bless ==1 이렇게 해보신거에요
라스트가디언 2023.09.19 22:26  
네 오류가 납니다.

럭키 포인트 32 점 당첨!! 축하드립니다!

pieceB 2023.09.19 10:33  
제가 소스는 알수 없어서 그냥 일반적으로 대응하는 방법을 써드립니다.
혹시 축데이 , 저데이, 걍데이 코드번호같은게 있거나 "무기 마법 주문서" 이 대신에 "축복받은 무기 마법 주문서" 또는 "저주받은 무기 마법주문서"
가 코드에 들어가는 문자열인지 확인이 가능해야합니다.
다른방법으로  "무기 마법 주문서" <-- 이 안에 들어가는 텍스트 대신 item_id가 들어갈수 있다면 수정은 가능할거 같습니다.

Item i = ItemDatabase.find("무기 주문서 상자");
if (i != null) {
craft_list.put("request hard leather", i);

List<Craft> l = new ArrayList<Craft>();
if ( ItemDatabase.find(일반 무기마법 주문서 코드), 20)){
l.add(new Craft(ItemDatabase.find("무기 마법 주문서"),20));
list.put(i, l); 
}else if(  축데이나 저데이가 있을경우    축무기 || 저주데이 일 경우    ){
}else{
      실패를 가정하엿을대 예외처리
}
}
일반 무기 마법 주문서<===는 예문으로 제가 일반 무기마법주문서라는 텍스트가 있다는 가정하에 써드립니다.
보시면 if문이 새로이 들어가있을건데요. 만약에  일반 무기 마법 주문서가 있다면 리스트에 담겠다를 표현합니다.

예외처리는 직접하셔야하는 부분일거 같아요. 예) 축무기나, 저데이가 없을시 어떻게 하겠다를 표시합니다.

정 모르시겠으면

Item i = ItemDatabase.find("무기 주문서 상자");
if (i != null) {
craft_list.put("", i);

List<Craft> l = new ArrayList<Craft>();
ItemDatabase.find(일반 무기마법 주문서 코드), 20)){
l.add(new Craft(ItemDatabase.find("일반 무기 마법 주문서 코드 또는 일반 무기 마법 주문서"),20));
list.put(i, l); 

}
find에서 "일반 무기 마법 주문서"를 한번 찾아보시는게 좋습니다.
제가 봤을때 "무기 마법 주문서" 라고 하는것은 축, 저주, 일반 세가지를 다 일컬어서 말하는거 같으니
일반 무기 마법 주문서를 어떻게 등록햇는지 확인하시면 됩니다.


제가 소스가 없다보니 방식만 알려드린다는점 이해해주세요.
라스트가디언 2023.09.19 22:26  
일반 주문서 코드는 어디서 찾는지 모르겠습니다 코드로해도 안읽히는 것 같기도 하구요 ㅠㅠ
pieceB 2023.09.20 14:58  
find로 주문서 관련하여 검색하셨나요?

없으시다면 주문서 관련하여 DB에 컬럼명을 찾아보면 될거같아요.
라스트가디언 2023.09.20 20:47  
찾아봤는데 무기마법주문서는 한종류이고 bless에서 0 1 2 중에서 축, 일반, 저주로 나뉘네요
동일 합니다 따로 되어있지 않네요
라스트가디언 2023.09.20 22:20  
다른 방법으로 해결했습니다 도움 감사합니다.
상태 제목