사이트 로그인
2016.07.07 19:26
L1NpcInstance.java
private int _npoint;
public int getNpoint() { return _npoint; }
public int setNpoint(int i){ return _npoint = i; }
private int _spoint;
public int getSpoint() { return _spoint; }
public int setSpoint(int i){ return _spoint = i; }
private int _kpoint;
public int getKpoint() { return _kpoint; }
public int setKpoint(int i){ return _kpoint = i; }
private int _ppoint;
public int getPpoint() { return _ppoint; }
public int setPpoint(int i){ return _ppoint = i; }
L1ScarecrowInstance.java
package l1j.server.server.model.Instance;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.Random;
import l1j.server.Config;
import l1j.server.server.datatables.NpcTable;
import l1j.server.server.model.Broadcaster;
import l1j.server.server.model.L1Attack;
import l1j.server.server.model.L1Object;
import l1j.server.server.model.L1World;
import l1j.server.server.model.item.L1ItemId;
import l1j.server.server.serverpackets.S_ChangeHeading;
import l1j.server.server.serverpackets.S_NpcChatPacket;
import l1j.server.server.serverpackets.S_PacketBox;
import l1j.server.server.serverpackets.S_SystemMessage;
import l1j.server.server.templates.L1Npc;
import l1j.server.server.utils.CalcExp;
public class L1ScarecrowInstance extends L1NpcInstance {
private static final long serialVersionUID = 1L;
private static Random _random = new Random(System.nanoTime());
public L1ScarecrowInstance(L1Npc template) {
super(template);
}
@Override
public void onAction(L1PcInstance player) {
L1Attack attack = new L1Attack(player, this);
if (attack.calcHit()) {
if (this.getNpcId() == 4500060){
if (player.getInventory().findItemId(40308).getCount() < 1000000){
player.sendPackets(new S_PacketBox(S_PacketBox.GREEN_MESSAGE,
"100만원 이상 소지시 게임가능합니다."));
return;
}
this.setNpoint(this.getNpoint()+25000);
player.getInventory().consumeItem(40308, 50000);//5만
int chance = _random.nextInt(15000)+1;
if (chance <= 100){
player.getInventory().storeItem(40308, 700000);
String chatId = " 당첨:"+player.getName()+"\\fY님 아데나 70만원당첨!";
Broadcaster.broadcastPacket(this, new S_NpcChatPacket(this, chatId, 0));
} else if (chance >= 101 && chance <= 150){
player.getInventory().storeItem(40308, 1200000);
String chatId = " 당첨:"+player.getName()+"\\fY님 120만원당첨!";
Broadcaster.broadcastPacket(this, new S_NpcChatPacket(this, chatId, 0));
} else if (chance >=151 && chance <= 175){
player.getInventory().storeItem(40308, 2000000);
String chatId = " 당첨:"+player.getName()+"\\fY님 아데나 200만원당첨!";
Broadcaster.broadcastPacket(this, new S_NpcChatPacket(this, chatId, 0));
} else if (chance >=176 && chance <= 189){
player.getInventory().storeItem(40308, 3500000);
String chatId = " 당첨:"+player.getName()+"\\fY님 아데나 350만원당첨!";
Broadcaster.broadcastPacket(this, new S_NpcChatPacket(this, chatId, 0));
} else if (chance >= 190 && chance <= 192){
player.getInventory().storeItem(40308, 10000000);
String chatId = " 3등당첨:"+player.getName()+"\\fY님 아데나 1000만원당첨!";
Broadcaster.broadcastPacket(this, new S_NpcChatPacket(this, chatId, 0));
} else if (chance >= 193 && chance <= 194){
player.getInventory().storeItem(40308, 30000000);
String chatId = " 2등당첨:"+player.getName()+"\\fY님 아데나 3000만원당첨!";
Broadcaster.broadcastPacket(this, new S_NpcChatPacket(this, chatId, 0));
} else if (chance >= 194 && chance < 196){
player.getInventory().storeItem(40308, 70000000);
Broadcaster.broadcastPacket(this, new S_PacketBox(S_PacketBox.GREEN_MESSAGE, " 1등당첨:"+player.getName()+"님1등당첨 상금 7천만원당첨"));
} else if (chance >= 196 && chance <= 200){
int k2 = (int) (this.getNpoint()*0.6);
int k3 = this.setNpoint(this.getNpoint() - k2);
player.getInventory().storeItem(40308, k3);
Broadcaster.broadcastPacket(this, new S_PacketBox(S_PacketBox.GREEN_MESSAGE, " 잭팟:"+player.getName()+"님 상금 ["+k3+"]원 획득"));
this.setNpoint(k2);
} else if (chance >= 201 && chance <= 15000){
player.sendPackets(new S_SystemMessage("\\fY실패 : [25000]원 적립 , 총 : ["+this.getNpoint()+
"]원 적립"));
}
}
if (this.getNpcId() == 4500061){
if (player.getInventory().findItemId(40308).getCount() < 10000000){
player.sendPackets(new S_PacketBox(S_PacketBox.GREEN_MESSAGE,
"1000만원 이상 소지시 게임가능합니다."));
return;
}
this.setSpoint(this.getSpoint()+50000);
player.getInventory().consumeItem(40308, 100000);//10만
int chance = _random.nextInt(15000)+1;
if (chance <= 100){
player.getInventory().storeItem(40308, 1000000);
String chatId = " 당첨:"+player.getName()+"\\fY님 아데나 100만원당첨!";
Broadcaster.broadcastPacket(this, new S_NpcChatPacket(this, chatId, 0));
} else if (chance >= 101 && chance <= 150){
player.getInventory().storeItem(40308, 3000000);
String chatId = " 당첨:"+player.getName()+"\\fY님 아데나 300만원당첨!";
Broadcaster.broadcastPacket(this, new S_NpcChatPacket(this, chatId, 0));
} else if (chance >= 151 && chance <= 175){
player.getInventory().storeItem(40308, 4000000);
String chatId = " 당첨:"+player.getName()+"\\fY님 아데나 400만원당첨!";
Broadcaster.broadcastPacket(this, new S_NpcChatPacket(this, chatId, 0));
} else if (chance >= 176 && chance <= 189){
player.getInventory().storeItem(40308, 10000000);
String chatId = " 당첨:"+player.getName()+"\\fY님 아데나 1000만원당첨!";
Broadcaster.broadcastPacket(this, new S_NpcChatPacket(this, chatId, 0));
} else if (chance >= 190 && chance <= 192){
player.getInventory().storeItem(40308, 30000000);
String chatId = " 3등당첨:"+player.getName()+"\\fY님 아데나 3000만원당첨!";
Broadcaster.broadcastPacket(this, new S_NpcChatPacket(this, chatId, 0));
} else if (chance >= 193 && chance <= 194){
player.getInventory().storeItem(40308, 40000000);
String chatId = " 2등당첨:"+player.getName()+"\\f님 아데나 4000만원당첨!";
Broadcaster.broadcastPacket(this, new S_NpcChatPacket(this, chatId, 0));
} else if (chance >= 194 && chance < 196){
player.getInventory().storeItem(40308, 130000000);
Broadcaster.broadcastPacket(this, new S_PacketBox(S_PacketBox.GREEN_MESSAGE, " 1등당첨:"+player.getName()+"님 1등당첨금1억3천획득"));
} else if (chance >= 196 && chance <= 200){
int k2 = (int) (this.getSpoint()*0.6);
int k3 = this.setSpoint(this.getSpoint() - k2);
player.getInventory().storeItem(40308, k3);
Broadcaster.broadcastPacket(this, new S_PacketBox(S_PacketBox.GREEN_MESSAGE, " 잭팟:"+player.getName()+"님 상금 ["+k3+"]원 획득"));
this.setSpoint(k2);
} else if (chance >= 201 && chance <= 15000){
player.sendPackets(new S_SystemMessage("\\fY실패 : [50000]원 적립 , 총 : ["+this.getSpoint()+
"]원 적립"));
}
}
if (this.getNpcId() == 4500062){
if (player.getInventory().findItemId(40308).getCount() < 300000){
player.sendPackets(new S_PacketBox(S_PacketBox.GREEN_MESSAGE,
"30만원 이상 소지시 게임가능합니다."));
return;
}
this.setKpoint(this.getKpoint() + 5000);
player.getInventory().consumeItem(40308, 10000);//1만원
int chance = _random.nextInt(15000)+1;
if (chance <= 100){
player.getInventory().storeItem(40308, 200000);
String chatId = " 당첨:"+player.getName()+"\\fY님 아데나 20만원당첨!";
Broadcaster.broadcastPacket(this, new S_NpcChatPacket(this, chatId, 0));
} else if (chance >= 101 && chance <= 150){
player.getInventory().storeItem(40308, 400000);
String chatId = " 당첨:"+player.getName()+"\\fY님 아데나 40만원당첨!";
Broadcaster.broadcastPacket(this, new S_NpcChatPacket(this, chatId, 0));
} else if (chance >= 151 && chance <= 175){
player.getInventory().storeItem(40308, 500000);
String chatId = " 당첨:"+player.getName()+"\\fY님 아데나 50만원당첨!";
Broadcaster.broadcastPacket(this, new S_NpcChatPacket(this, chatId, 0));
} else if (chance >= 176 && chance <= 189){
player.getInventory().storeItem(40308, 1000000);
String chatId = " 당첨:"+player.getName()+"\\fY님 아데나 100만원당첨!";
Broadcaster.broadcastPacket(this, new S_NpcChatPacket(this, chatId, 0));
} else if (chance >= 190 && chance <= 192){
player.getInventory().storeItem(40308, 3000000);
String chatId = " 3등당첨:"+player.getName()+"\\fY님 아데나 300만원당첨!";
Broadcaster.broadcastPacket(this, new S_NpcChatPacket(this, chatId, 0));
} else if (chance >= 193 && chance <= 194){
player.getInventory().storeItem(40308, 5000000);
String chatId = " 2등당첨:"+player.getName()+"\\fY님 아데나 500만원당첨!";
Broadcaster.broadcastPacket(this, new S_NpcChatPacket(this, chatId, 0));
} else if (chance >= 194 && chance < 196){
player.getInventory().storeItem(40308, 30000000);
Broadcaster.broadcastPacket(this, new S_PacketBox(S_PacketBox.GREEN_MESSAGE, " 1등당첨:"+player.getName()+"님 1등당첨상금 3000만원획득"));
} else if (chance >= 196 && chance <= 200){
int k2 = (int) (this.getKpoint()*0.6);
int k3 = this.setKpoint(this.getKpoint() - k2);
player.getInventory().storeItem(40308, k3);
Broadcaster.broadcastPacket(this, new S_PacketBox(S_PacketBox.GREEN_MESSAGE, " 잭팟:"+player.getName()+"님 상금 ["+k3+"]원 획득"));
this.setKpoint(k2);
} else if (chance >= 201 && chance <= 15000){
player.sendPackets(new S_SystemMessage("\\fY실패 : [5000]원 적립 , 총 : ["+this.getKpoint()+
"]원 적립"));
}
}
if (this.getNpcId() == 4500063){
if (player.getInventory().findItemId(40308).getCount() < 500000){
player.sendPackets(new S_PacketBox(S_PacketBox.GREEN_MESSAGE,
"50만원 이상 소지시 게임가능합니다."));
return;
}
this.setPpoint(this.getPpoint()+15000);
player.getInventory().consumeItem(40308, 30000);//3만
int chance = _random.nextInt(15000)+1;
if (chance <= 100){
player.getInventory().storeItem(40308, 300000);
String chatId = " 당첨:"+player.getName()+"\\fY님 아데나 30만원당첨!";
Broadcaster.broadcastPacket(this, new S_NpcChatPacket(this, chatId, 0));
} else if (chance >= 101 && chance <= 150){
player.getInventory().storeItem(40308, 500000);
String chatId = " 당첨:"+player.getName()+"\\fY님 아데나 50만원당첨!";
Broadcaster.broadcastPacket(this, new S_NpcChatPacket(this, chatId, 0));
} else if (chance >= 151 && chance <= 175){
player.getInventory().storeItem(40308, 1000000);
String chatId = " 당첨:"+player.getName()+"\\fY님 아데나 100만원당첨!";
Broadcaster.broadcastPacket(this, new S_NpcChatPacket(this, chatId, 0));
} else if (chance >= 176 && chance <= 189){
player.getInventory().storeItem(40308, 3000000);
String chatId = " 당첨:"+player.getName()+"\\fY님 아데나 300만원당첨!";
Broadcaster.broadcastPacket(this, new S_NpcChatPacket(this, chatId, 0));
} else if (chance >= 190 && chance <= 192){
player.getInventory().storeItem(40308, 5000000);
String chatId = " 3등당첨:"+player.getName()+"\\fY님 아데나 500만원당첨!";
Broadcaster.broadcastPacket(this, new S_NpcChatPacket(this, chatId, 0));
} else if (chance >= 193 && chance <= 194){
player.getInventory().storeItem(40308, 20000000);
String chatId = " 2등당첨:"+player.getName()+"\\fY님 아데나 2000만원당첨!";
Broadcaster.broadcastPacket(this, new S_NpcChatPacket(this, chatId, 0));
} else if (chance >= 194 && chance < 196){
player.getInventory().storeItem(40308, 60000000);
Broadcaster.broadcastPacket(this, new S_PacketBox(S_PacketBox.GREEN_MESSAGE, " 1등당첨:"+player.getName()+"님 1등당첨상금 6000만원획득"));
} else if (chance >= 196 && chance <= 200){
int k2 = (int) (this.getPpoint()*0.6);
int k3 = this.setPpoint(this.getPpoint() - k2);
player.getInventory().storeItem(40308, k3);
Broadcaster.broadcastPacket(this, new S_PacketBox(S_PacketBox.GREEN_MESSAGE, " 잭팟:"+player.getName()+"님 상금 ["+k3+"]원 획득"));
this.setPpoint(k2);
} else if (chance >= 201 && chance <= 15000){
player.sendPackets(new S_SystemMessage("\\fY실패 : [15000]원 적립 , 총 : ["+this.getPpoint()+
"]원 적립"));
}
}
if (player.getLevel() < 99) {//허수아비로 올릴 수 있는 레벨
ArrayList<L1PcInstance> targetList = new ArrayList<L1PcInstance>();
targetList.add(player);
ArrayList<Integer> hateList = new ArrayList<Integer>();
hateList.add(1);
CalcExp.calcExp(player, getId(), targetList, hateList, getExp());
player.getInventory().storeItem(40308,100);
}
int heading = getMoveState().getHeading();
if (heading < 7) heading++;
else heading = 0;
getMoveState().setHeading(heading);
Broadcaster.broadcastPacket(this, new S_ChangeHeading(this));
}
attack.action();
}
@Override
public void onTalkAction(L1PcInstance l1pcinstance) {}
public void onFinalAction() {}
public void doFinalAction() {}
}
나비켓 npc 테이블
4500062 통돌이 [1만] 통돌이 [1만] 1등 3천만원 L1Scarecrow 7078 1 2 0 0 0 0 0 0 99 0 20 0 small 0 1 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0
4500063 통돌이 [3만] 통돌이 [3만] 1등 6천만원 L1Scarecrow 7078 1 2 0 0 0 0 0 0 99 0 20 0 small 0 1 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0
4500061 통돌이 [10만] 통돌이 [10만] 1등 1억3천만원 L1Scarecrow 7081 1 2 0 0 0 0 0 0 99 0 20 0 small 0 1 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0
4500060 통돌이 [5만] 통돌이 [5만] 1등 7천만원 L1Scarecrow 7081 1 2 0 0 0 0 0 0 99 0 20 0 small 0 1 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0
제가 만든 소스입니다
존님 소스보고 베낀게 아니라 그전부터 만들어둿던거 공개하는거니
태클하지마세요
출처 나
[출처] 통돌이 소스올려요 (존님꺼아님) (비공개 카페)
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | 소스자료는 직접 올려주세요 | 게임존 | 2017.06.06 | 550 |
559 | 대만 3.52c 옵코 | 준희미니 | 2016.07.28 | 44 |
558 | 감자팩 로봇 자동시작하기 [1] | 43inwide | 2016.07.07 | 462 |
557 | 감자팩 엔코인샵 화폐 변경하기 | 43inwide | 2016.07.07 | 141 |
556 | 린올팩 텔녀UI | 43inwide | 2016.07.07 | 131 |
555 | 그냥 떠오기3.52c | 준희미니 | 2016.07.07 | 152 |
554 | 추가 패킷~~~~~~~~~ | 준희미니 | 2016.07.07 | 62 |
553 | 3.53C 타이머 | 준희미니 | 2016.07.07 | 36 |
552 | YN메세지 먹통 되는거 수정 | 준희미니 | 2016.07.07 | 54 |
551 | [UI6] 리스시에 아이콘 제대로 안받아오는 현상 수정 | 준희미니 | 2016.07.07 | 51 |
550 | 3.53 통합창고 npcaction | 준희미니 | 2016.07.07 | 43 |
549 | 드래곤키 사용불가능현상 (임시방편) | 준희미니 | 2016.07.07 | 35 |
548 | [UI6] 3.53c 교환/스텟 수정후 | 준희미니 | 2016.07.07 | 42 |
547 | 예스노 실험하긔 | 준희미니 | 2016.07.07 | 26 |
546 | 드래곤포탈부분 // 전 수정없이 ;; | 준희미니 | 2016.07.07 | 30 |
545 | [UI6] y/n 관련 정리.. | 준희미니 | 2016.07.07 | 52 |
544 | [UI6] 드래곤진주 / 광분의물약 (3단가속) | 준희미니 | 2016.07.07 | 200 |
543 | [UI6] 던전 타이머 적용 하기-아케인님 자료 응용- | 준희미니 | 2016.07.07 | 105 |
542 | 아머브레이크 소스 | 준희미니 | 2016.07.07 | 107 |
541 | 카운터 매직 짜집기^^:; | 준희미니 | 2016.07.07 | 84 |
540 | 숨겨진용들의땅 스폰 | 준희미니 | 2016.07.07 | 73 |
539 | 블러드 러스트 해결...했긴했는데...조금수정된이야기 | 준희미니 | 2016.07.07 | 75 |
538 | 드레이크 마법인형 New | 준희미니 | 2016.07.07 | 97 |
537 | /입장시간 입니다 | 준희미니 | 2016.07.07 | 79 |
536 | [UI6]-포비뉨:시장상인찾기- 수정 | 준희미니 | 2016.07.07 | 30 |
» | 통돌이 소스올려요 (존님꺼아님 | 준희미니 | 2016.07.07 | 113 |
534 | 설벽좌표 | 준희미니 | 2016.07.07 | 22 |
533 | (ui5) 영자명령어 혈전시작 ,종료 | 준희미니 | 2016.07.07 | 35 |
532 | 리스창 다른방식입니다 | 준희미니 | 2016.07.07 | 47 |
531 | 짜집기! 보완.PC방 버프 | 준희미니 | 2016.07.07 | 92 |
530 | 스트링빌더사용해보긔 | 준희미니 | 2016.07.07 | 43 |
529 | 에르자베 | 준희미니 | 2016.07.07 | 36 |
528 | 오림스코어 패킷번호? | 준희미니 | 2016.07.07 | 26 |
527 | 블러드 러스트 와 막대류 | 준희미니 | 2016.07.07 | 34 |
526 | 3.53C 창고 물건찾을때 금액 패킷 | 준희미니 | 2016.07.07 | 34 |
525 | 미소님 요청 622 설문처리 | 준희미니 | 2016.07.07 | 21 |
524 | 아이템 유즈빼먹었네요 ㅠ ㅠ.. | 준희미니 | 2016.07.07 | 37 |
523 | 혈맹 계급 관련 | 준희미니 | 2016.07.07 | 49 |
522 | 일부 마법 아이콘이 안뜨던부분? | 준희미니 | 2016.07.07 | 76 |
521 | 소스대마왕님이 질문하신 소스... | 준희미니 | 2016.07.07 | 57 |
520 | [재수정]픽시의 변신 막대... | 준희미니 | 2016.07.07 | 34 |
519 | 리스창 몬스터킬 | 준희미니 | 2016.07.07 | 33 |
518 |
검색하다가 얻은 3.53C 옵코드 및 패킷
![]() | 준희미니 | 2016.07.07 | 68 |
517 |
윈말 촛대 좌표
![]() | 준희미니 | 2016.07.07 | 18 |
516 |
일팩버전. 3.53c관련 통소스 참고하세요
![]() | 준희미니 | 2016.07.07 | 67 |
515 | 편 지 패 킷. | 준희미니 | 2016.07.07 | 27 |
514 | 기억 실시간 저장하시고 싶으신분? | 준희미니 | 2016.07.07 | 61 |
513 | ER변경 MAX 127 | 준희미니 | 2016.07.07 | 34 |
512 | 당신의 계급이 %s 로 변경되었습니다 | 준희미니 | 2016.07.07 | 29 |
511 | 대마왕표 첫공개소스 ㅜㅜ빠른기억창 로드 | 준희미니 | 2016.07.07 | 56 |
510 | UI6 게시판 업데이트 | 준희미니 | 2016.07.07 | 36 |