에바팩 배경 3.0

감찬호2020.01.10 13:02조회 수 422댓글 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
번호 제목 글쓴이 조회 수
235 운영자 세팅법54 감찬호 5261
234 리니지 버전별 인터페이스 및 정보 보고가세요20 번기도합니다 4328
233 프리서버 작업장했던썰2탄 오토방지방법 /운영꿀팁18 앤써니데이비슨 2176
232 나비켓용어 쉽게보자!!20 번뇌 2151
231 1컴 2계정(사진복구)23 번뇌 1473
230 프리서버 자동 작업장 했던썰 /막는법20 앤써니데이비슨 1328
229 1.63 창모드 하는법9 김밥용 1299
228 리니지 서버 칼렉 줄이기 [그림 포함]20 번뇌 1295
227 구버전 확대스킨16 법사 1066
226 옛날 리니지 관련 정보 및 2.0 이하 구버전 드랍확률 팁9 왠마왕 1002
225 구버전 f5~8키 안먹을때..20 미즈하라 907
224 추가] 구버전 스킬 단축키는 먹히고 주문서 등 소모품류만 단축키 안먹힐 때15 서래서래 865
223 외부 접속 가능 여부 체크49 프란츠 852
222 예전 버전 리니지 창모드 방법15 번뇌 825
221 리니지 색깔표!22 번기도합니다 757
220 리니지 구버전 용의던전 지도 입니다.9 김지훈84 741
219 예전 리니지 창모드 방법38 기사도 729
218 초보분들 영상보고구축했는대 안열릴때!!!(펌)54 감찬호 714
217 최신클라 본섭 업데이트 안하고 클라버전 유지 하면서 패치파일 하기20 번기도합니다 678
216 리니지 추천 사냥터60 감찬호 580
이전 1 2 3 4 5 6 7 8 9 10... 12다음
첨부 (0)