쿠베라 2.0 강철세트 제작하면 아이템이 축으로 나오는데 이유를 알고 싶어요.

경험치랭킹
포인트랭킹
글작성랭킹
댓글작성랭킹
리니지연구소 통계
  • 876(31) 명현재 접속자
  • 8,689 명오늘 방문자
  • 12,722 명어제 방문자
  • 17,525 명최대 방문자
  • 3,463,203 명전체 방문자
  • 474,486 개전체 게시물
  • 52,170 개전체 댓글수
  • 11,440 명전체 회원수
SNS 공유
    Facebook Twitter GooglePlus KakaoStory NaverBand
홍보글은 홍보게시판에만.. 게시판 잘보고 올리세요! 홍보게시판 외에 홍보글 발견시 바로 아이디 차단됩니다!
새글
새댓글
질문게시판

쿠베라 2.0 강철세트 제작하면 아이템이 축으로 나오는데 이유를 알고 싶어요.

소스 상에서는 축으로 나올만한 이유가 없는 것 같은데.


i = ItemDatabase.find("강철 장화");

if (i != null) {

craft_list.put("request iron boots", i);


List<Craft> l = new ArrayList<Craft>();

l.add(new Craft(ItemDatabase.find("부츠"), 1));

l.add(new Craft(ItemDatabase.find("철괴"), 160));

l.add(new Craft(ItemDatabase.find("아데나"), 8000));

list.put(i, l);


다른 올라이트 소스를 찾아봐도 제작 npc 헥터 부분은 동일합니다. 다른 팩에서는 일반템으로 제작이 되는데

쿠베라 팩에서만 축복템으로 제작이 되네요.


채택됨
쭹이 05.02 19:29  
강철장화를 검색하다 축이 걍보다 번호가 앞이라 그렬수도 조건문에서 그냥강철장화 아이디 비교도 넣어보샘
잘은 모르지만 감으로
18 Comments
신상 05.02 14:44  
댓글내용 확인
쭹이 05.02 19:29  
강철장화를 검색하다 축이 걍보다 번호가 앞이라 그렬수도 조건문에서 그냥강철장화 아이디 비교도 넣어보샘
잘은 모르지만 감으로
163매니아 05.03 23:15  
이거 아직 못하셨죠?
서약 05.04 00:22  
네 못했어요 ㅠ
쭹이 05.04 01:04  
우왁 나 또 찍어서 마췄나봐 ㅋ ㄱㅅ
고사리도루묵 05.04 01:29  
아뇨 해결 안댓어욤 ㅠㅠ. 젤 성의껏 적어주셔서. 강철장화 아이디 비교라는 말이 이해가 안되네요. nameid 라면 축이든 걍이든 동일하고 어차피 bless 0 1 차이가 아닌지?
쭹이 05.04 01:38  
그 구버전은 축템하고 저주하고 그냥이랑 3분류자나여 저기 문자열로지금 검색하는데 데이타베이스 파인드가 검색을하다 저 문자열을 만나면 스탑하고 그걸리턴하는데 ㄱ 순서가 축이먼저라 아래 그냥짜리가 있는데 그전에 먼저검색되는게 축이 아닌가 는 생각인거에요
님말데로 블래스0 1구분이면 저기 파인드 메소드 정의 가셔서 코드에 블래스 1의 조건을 넣으면 될거라는거죠
지금 파인드메소드가 이름만 넘기는데 메소드의 매게변수를 bless를 추가하면 더 정확해지겠너요
함수를 오버로드해서 매개변수 이름, 축복 두가지 만들어서 하면 다른데서 호출 하는거에는 영향 안받을거임  쉽죠?

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

쭹이 05.04 02:11  
검색이 저 강철장화 문자 만나면 멈추고 리턴하거나
끝까지 검색해서 마지막꺼를 리턴 할수 있어요 두번째 방법으로 되서 축복만 나오는거 일수도 축복이 항상번호가 뒤거든요 ㅋ그래서 축복만 나올꺼에요 아니면 console.writelin(i) 해서 획인해보에요
쭹이 05.04 02:19  
find(string name, string bless){} <---오버로딩 함수를만들어서 원래find함수에서 똑같이하고 블래스 비교조건넣고 호출할때 저 매개변수 두개넣으면 두개정 의된 함수가 호출 됩니다.
이렇게하면 기존에 다른곳에서 매개변수값 하나만넣고 호출 하던것들은 기존 것이 호출되고 님은 강철장화 호출할때 find("강철장화",1)쓰면되요 ㅋ
-이상-
이거 책한권을 썼네요
고사리도루묵 05.04 10:02  
음. 저도 이 생각을 했었는데 기본적으로 쿠베라팩 아이템데이타베이스에는 bless 항목이 없어요. 아이템데이타베이스에서 축 걍 저주가 구분되는지 않고 실제 캐릭터 인벤이나 드랍등 아이템의 생성에만 관여가 되더라구요.
find 함수 새로 정의하고 itemdatabase 에서 bless 항목을 추가할까도 생각을 해봤는데 그렇게 하면 또 다른 템들 전체가 영향을 받거나 강철세트만 임의 추가한다면 그것도 통일성이 없어질 것 같아서.
어차피 제작은 캐리터인벤토리를 기준으로 하는거니 거기에서 검색을 해볼까도 고민을 했는데.
역시나 제작 재료에 대한 부분은 캐릭터인벤토리가 기준이 되겠지만, 생성해서 지급하는 부분은 또 역시 아이템데이타베이스가 기준이고.
그래서 생성된 강철세트를 지급할 때 블레스를 강제로 구현하는 방법을 생각하고 있는중입니다.

아니면 아예 꼼수로 아이템번들 템을 지급하고 그 번들템을 클릭해서 걍템을 지급하는 방법도 있는데
구버전 리니지 추억 컨셉이라는 또 너무 안맞아서 ㅠㅠ
쭹이 05.04 10:09  
find 함수 같은 이름으로 여러개 정의가능해요 매개변수 타입이나 갯수만 다르면 자바 오버로딩 검색해서 보세요 쉽고편하고 자바 에서 필수 문법중 하나예요
오버라이드 오버로딩은 필수 문법  객체지향 언어에서 오버로딩 안되는 언어들도 있음 ㅋ
저기 보니 저 리스트를 가지고 어따 가공하는거 같은데 그것도 획인해야할듯 지금 스크립트는 데이터만 저장하고 실행부분은 아닌거 같네요
고사리도루묵 05.04 10:17  
여러개 정의가 가능하죠. 아이템데이타베이스가 아니라 bless 항목은 당연히 캐릭터인벤토리나 드랍등에 정의된 bless를 차용해 올 수 있겠죠.

한데 동일한 코드 구성을 가지고 있는 다른 제작품들은 모두 일반템이 나오고 다른 제작 npc인 이벨빈 제작템들도 일반템이 제작되는 걸로 봐선 단순히 아이템데이타베이스 검색 순위의 문제는 아닌 듯 합니다.

다른 올라이트팩에서 축복받은 무기마법주문서 제작하는 코드를 본 기억이 있는데
쿠베라역시 올라이트 기반이니 거기 소스를 좀 참고해보면 제작아이템의 축복 여부를 지정해서 지급할 수 있지 않을까 생각이 드네요.

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

고사리도루묵 05.04 10:40  
맞아요 실제로 아이템을 지급하는 부분은 CraftController.toCraft 에 있었습니다. 여기에 블레스를 인자를 넣어서 강제로 블레스를 맞춰주면 될듯합니다. 감사해요!!!

아, 근데 그러면 또 모든 제작템들에 블레스가 부여되는 문제가 생기네요.
이걸 이용하면 일반 제작시 축복템을 제작하는게 가능해 지는데
그러면 또 그때마다 액션에 축복 여부를 주고 축복이 있을때는 축복템을 지급하고
그게 없을때는 일반템을 지급하고 이런식으로 정의를 해줘야 하는군요. 쉽지않네요.

그냥 강철세트만 따로 축무기 만드는 클래스 참고해서 변경해야 겠습니다.
CraftController.toCraft에 축복 여부를 지정하면 일이 점점 커질 듯.
쭹이 05.04 10:50  
함수(sting 이름, string bless=null) {}자바는 이게되나요?
이게도면  다른데서 호출하는데 영향 안받을듯
고사리도루묵 05.04 10:29  
축복받은무기마법주문서를 만드는 클래스를 확인해보니
인벤토리에서 재료를 확인하고 아이템 지급시에 블레스를 부여해서 지급하네요. 이걸 좀 참고하면 해결이 가능할 듯 합니다.
감사합니다.
쭹이 05.04 10:59  
열띤 토론 이게연구소지 ㅋ
사실코드 몬지도모로고 뇌피셜로만 했어요 여행중이라ㅋ
대화해주셔서 ㄱㅅ
잘 해결되시기바랍니돳
고사리도루묵 05.04 11:34  
많은 도움이 되었고 해결했습니다. ^^
쭹이 05.04 13:54  
얼쑤 지화자~얼쑤
흥부가 기가막혀 흥부가 기가막혀~
상태 제목