에바팩 배경 3.0

감찬호2020.01.10 13:02조회 수 438댓글 25

    • 글자 크기










에바팩 버경3.0버전

티켓을사서 판매할때 배당계산이 안된다
 -음 소스를 제작하던 중간에 유출된것인지 판매할때 배당계산이

상점 리스트에는 제대로되는데 실제로는 나비켓에 적힌 가격대로 적용 되더군요

2.세금을 없애기 힘들다.

 - 세금을 없애지않을경우 판매배당계산이 정확하지않습니다.

3.티켓이름표시

- 세금 없앤후 티켓이름이 라운드 + 버그베어등번호 로 표기되게

 

원본소스 출처를 하라하실까봐 글쓰는데

지금 이 소스는 에바팩에서 문제점(BUG)들을 FIX한 소스입니다.

 

일단 초기 상태의 에바팩이라면 상점 BUY SELL 자체가 아에안될텐데요

나비켓 샵 테이블에 추가해주면 일단 판매 구매는 됩니다.

70035 40309 0 1000 0 1000
70035 40309 1 1000 0 -1
70035 40309 2 1000 0 -1
70035 40309 3 1000 0 -1
70035 40309 4 1000 0 -1

 

70041 40309 0 1000 0 1000
70041 40309 1 1000 0 -1
70041 40309 2 1000 0 -1
70041 40309 3 1000 0 -1
70041 40309 4 1000 0 -1

 

70042 40309 0 1000 0 1000
70042 40309 1 1000 0 -1
70042 40309 2 1000 0 -1
70042 40309 3 1000 0 -1
70042 40309 4 1000 0 -1
// 나비켓 추가하실때 주의사항 purchasing_price 에 0으로 표기시 문제발생 꼭-1 로 표기

//이렇게 판매는 한가지만 10000적어넣으시구

//구매는 다 1000 넣으시면 됩니다.

SRC\l1j\server\server\model\shop\L1Shop.java
// 세율 안들어가는 NPC            <<< 검색 합니다.
  if (getNpcId() == 70068 || getNpcId() == 70020 || getNpcId() == 70056
    || getNpcId() == 70051 || getNpcId() == 70055 || getNpcId() == 4213002
    || getNpcId() == 70017 || getNpcId() == 4200105
    ||  getNpcId() == 70035 || getNpcId() == 70041 || getNpcId() == 70042 ) { //빨간색만추가합니다.세금을없애기위한추가

//////////////////////그다음 또 검색합니다.///////////////////

..

....

/////////검색///////////////////////////
private void NoTaxSellItems(L1PcInventory inv, L1ShopBuyOrderList orderList) {
.
.
.
  if (_npcId == 4200105){
    int type = item.getItem().getType2();
    if(type == 1){
    item.setEnchantLevel(6);
    }else if (type == 2){
    item.setEnchantLevel(4);
    }
  }
  if (getNpcId() == 70035 || getNpcId() == 70041 || getNpcId() == 70042) { //세금 삭제후 이름 표기안되던문제fix by사부
    int[] ticket = L1BugBearRace.getInstance().getTicketInfo(order.getOrderNumber());
    item.setSecondId(ticket[0]);
    item.setRoundId(ticket[1]);                                                                  // 이 빨간색 전부 끼워넣어줍니다.
    item.setTicketId(ticket[2]);
    L1BugBearRace.getInstance().addBetting(order.getOrderNumber(), amount);
  }
  inv.storeItem(item);
  }
 }

 

/////////////////////////////원본 검색//////////////////////////////
public L1AssessedItem assessItem(L1ItemInstance item) {
  L1ShopItem shopItem = getPurchasingItem(item.getItemId());
  if (shopItem == null) { return null; }
////////////////////////////추가/////////////////////////////////////////////////
  if (item.getItemId() == 40309){    //SELL눌렀을때 배당율 계산해서 리스트에 보여지게하는  소스 by사부
        float dividend = L1BugBearRace.getInstance().getTicketPrice(item);
  return new L1AssessedItem(item.getId(), (int) (getAssessedPrice(shopItem)*dividend));
  }else
////////////////////////////추가///////////////////////////////////////////////////
  return new L1AssessedItem(item.getId(), getAssessedPrice(shopItem));
 }

 

 

SRC\l1j\server\server\serverpackets\S_NoTaxShopSellList.java

 

 

import l1j.server.server.model.L1BugBearRace;

//임포트시킵니다.


int price = (int)(shopItem.getPrice() * Config.RATE_SHOP_SELLING_PRICE);
  if (!(npcId == 70068 || npcId == 70020 || npcId == 70056)){
 price = calc.NoTaxPrice(price);
  }  // 원본 소스입니다. 아래소스로 수정 합니다.


int price = (int)(shopItem.getPrice());  <-주의마지막(;)  // 여기 * Config.RATE_SHOP_SELLING_PRICE); 를 지웁니다.
  if (!(npcId == 70068 || npcId == 70020 || npcId == 70056
                            || npcId  == 70035 ||npcId  == 70041 ||npcId == 70042 )) {

 //버경상점을 추가합니다.buy눌렀을때 보여지는 리스트의 정보
    price = calc.NoTaxPrice(price);
  }

///////////////아래루내려가서////////////////////

.

.

.
if (shopItem.getPackCount() > 1) {
    writeS(item.getName() + " (" + shopItem.getPackCount() + ")");
///////////////////////////////////추가//////////////
  }else if (npcId == 70035 || npcId == 70041 || npcId == 70042) { //buy리스트에서 티켓 이름표시를 위한 추가 by사부
    writeS(L1BugBearRace.getInstance().getTicketName(i));
///////////////////////////////////추가//////////////
  }else if (shopItem.getItem().getMaxUseTime() > 0){
    writeS(item.getName() + " [" + item.getMaxUseTime() + "]");

 

 

 

 

 

 

SRC\l1j\server\server\serverpackets\S_ShopSellList.java
/////////////////여기서부터 

 int price = calc.layTax((int)
    (shopItem.getPrice() * Config.RATE_SHOP_SELLING_PRICE));
  writeD(i);
  writeH(shopItem.getItem().getGfxId());
  writeD(price);

/////////////////여기까지 소스가 원본소스입니다. 아래소스로 대체합니다.


int price = calc.layTax((int)
    (shopItem.getPrice() * Config.RATE_SHOP_SELLING_PRICE));
  int price1 = (int)(shopItem.getPrice()); // BUY를 눌러 실제 인벤에서 사라지는 아데나의 양 계산부분 추가 by사부
  if (!(npcId  == 70035 ||npcId  == 70041 ||npcId == 70042) ) {
    price = calc.NoTaxPrice(price);
    }
  writeD(i);
  writeH(shopItem.getItem().getGfxId());
  if (npcId == 70035 || npcId == 70041 || npcId == 70042){
    writeD(price1);  //버그상점 이라면 price1 만큼 가져온다
  }else{
  writeD(price);    // 그외에 price 만큼 가져온다
  }    // 마지막 }꼭  닫아야 합니다.











    • 글자 크기

댓글 달기

댓글 25
번호 제목 글쓴이 조회 수
236 [가이드] 다재다능, 리니지의 꽃! 요정17 wwww 149
235 [공략] 기사 45레벨 퀘스트 공략18 wwww 132
234 [공략] 기사 50레벨 퀘스트 공략17 wwww 86
233 [리니지 실험실] 블러드서커(블서)의 HP흡수 효과 검증 테스트19 테스커 157
232 [리니지] 룸티스의 붉은빛 귀걸이 효과 검증 실험실28 테스커 200
231 [리니지] 베이스 스탯의 인트수치에 따른 마법 치명타의 효과 검증 테스트22 테스커 200
230 [리니지] 용기사 피어와 인트의 상관관계 실험39 테스커 223
229 [베스트] 스탯부터 사냥터 경치수치까지, 법사공략!31 wwww 339
228 [불요정] 기감/본던 사냥 시 획득 경험치량16 wwww 100
227 [육아일기]드테와 4대용의 그림일기.18 wwww 79
226 [통계] 오림 해상전 100회18 wwww 71
225 {공략}리니지 시련던전39 wwww 284
224 1.63 창모드 하는법12 김밥용 1371
223 1컴 2계정(사진복구)26 번뇌 1508
222 2.0구버전 벨런스최고 한번놀러와~글내용!6 다닝 214
221 2000년대 리니지 보스 및 아이템 드랍내용27 테스커 690
220 2m 37레벨 구간에서 장비 4강 무기6강하고 퀘만밀어도 죽는이유가 있나요ㅠ21 321짱구321 50
219 2가지 자료로 힐계열 초기값 및 힐 증가량 도출하기13 왠마왕 111
218 3가지 실험자료로 마방0에서 375까지 캔슬확률 도출하기14 왠마왕 179
217 50렙, 올덱스요정의 레서드래곤 사냥 MR,속성방어 셋팅28 wwww 128
이전 1 2 3 4 5 6 7 8 9 10... 12다음
첨부 (0)