투석기들 하고싶은데 못하시는분들 많으시죠
가져가세요~!!!
성혈 교체시 복구되는그런건 알아서 하세요 다올리기는 귀차늠 ㅎㅎ
나비켓 npc테이블
90327 투석기^공성병기 $16784 공성-켄트성1 L1Catapult 12159 0 20000 0 0 0 0 0 0 0 0 0 0 large 0 0 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 13 0 0 0
90328 투석기^공성병기 $16784 공성-켄트성2 L1Catapult 12159 0 20000 0 0 0 0 0 0 0 0 0 0 large 0 0 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 13 0 0 0
90329 투석기^공성병기 $16784 수성-켄트성1 L1Catapult 12001 0 20000 0 0 0 0 0 0 0 0 0 0 large 0 0 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 13 0 0 0
90330 투석기^공성병기 $16784 수성-켄트성2 L1Catapult 12001 0 20000 0 0 0 0 0 0 0 0 0 0 large 0 0 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 13 0 0 0
90331 투석기^공성병기 $16784 공성-기란1 L1Catapult 12161 0 20000 0 0 0 0 0 0 0 0 0 0 large 0 0 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 13 0 0 0
90332 투석기^공성병기 $16784 공성-기란2 L1Catapult 12161 0 20000 0 0 0 0 0 0 0 0 0 0 large 0 0 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 13 0 0 0
90333 투석기^공성병기 $16784 수성-기란1 L1Catapult 11999 0 20000 0 0 0 0 0 0 0 0 0 0 large 0 0 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 13 0 0 0
90334 투석기^공성병기 $16784 수성-기란2 L1Catapult 11999 0 20000 0 0 0 0 0 0 0 0 0 0 large 0 0 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 13 0 0 0
90335 투석기^공성병기 $16784 공성-오크1 L1Catapult 12161 0 20000 0 0 0 0 0 0 0 0 0 0 large 0 0 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 13 0 0 0
90336 투석기^공성병기 $16784 공성-오크2 L1Catapult 12161 0 20000 0 0 0 0 0 0 0 0 0 0 large 0 0 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 13 0 0 0
90337 투석기^공성병기 $16784 수성-오크1 L1Catapult 11999 0 20000 0 0 0 0 0 0 0 0 0 0 large 0 0 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 13 0 0 0
90338 투석기^공성병기 $16784 수성-오크2 L1Catapult 11999 0 20000 0 0 0 0 0 0 0 0 0 0 large 0 0 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 13 0 0 0
C_NpcAction.java
/** KimCheolHo -김철호 */
} else if (npcId >= 90327 && npcId <= 90338) {// 투석기
L1NpcInstance npc = (L1NpcInstance) obj;
int pcX = 0;
int pcY = 0;
long curtime = System.currentTimeMillis() / 1000;
if (pc.getShellsTime() + 10 > curtime) { //getShellsTime()이부분은 유저명령어 퀴즈타임인가 글러하셔도됨
pc.sendPackets(new S_ServerMessage(3680)); //3680 투석기 사용: 실패(재장전 시간 필요)
return;
}
///////////기란 공성/////////////////
if (s.equals("0-5")){ //외성문 방향으로 발사!
pcX = _random.nextInt(6) + 33629;
pcY = _random.nextInt(4) + 32730;
if(pc.getInventory().checkItem(46281)){
Shells(npc, 12205, pcX, pcY);
pc.getInventory().consumeItem(46281, 1);
pc.setShellsTime(curtime);
}
}else if (s.equals("0-6")){ // 내성문 방향으로 발사!
pcX = _random.nextInt(8) + 33629;
pcY = _random.nextInt(4) + 32698;
if(pc.getInventory().checkItem(46281)){
Shells(npc, 12205, pcX, pcY);
pc.getInventory().consumeItem(46281, 1);
pc.setShellsTime(curtime);
}
}else if (s.equals("0-7")){ // 수호탑 방향으로 발사!
pcX = _random.nextInt(6) + 33629;
pcY = _random.nextInt(6) + 32675;
if(pc.getInventory().checkItem(46281)){
Shells(npc, 12205, pcX, pcY);
pc.getInventory().consumeItem(46281, 1);
pc.setShellsTime(curtime);
}
}else if (s.equals("0-16")){ // 외성문 방향으로 침묵포탄 발사!
if(pc.getInventory().checkItem(46282)){
ShellsSilence(npc, 12205, pcX, pcY);
pc.getInventory().consumeItem(46282, 1);
pc.setShellsTime(curtime);
}
}else if (s.equals("0-17")){ // 내성문 앞쪽으로 침묵포탄 발사!
if(pc.getInventory().checkItem(46282)){
ShellsSilence(npc, 12205, pcX, pcY);
pc.getInventory().consumeItem(46282, 1);
pc.setShellsTime(curtime);
}
}else if (s.equals("0-18")){ // 내성문 좌측으로 침묵포탄 발사!
if(pc.getInventory().checkItem(46282)){
ShellsSilence(npc, 12205, pcX, pcY);
pc.getInventory().consumeItem(46282, 1);
pc.setShellsTime(curtime);
}
}else if (s.equals("0-19")){ // 내성문 우측으로 침묵포탄 발사!
if(pc.getInventory().checkItem(46282)){
ShellsSilence(npc, 12205, pcX, pcY);
pc.getInventory().consumeItem(46282, 1);
pc.setShellsTime(curtime);
}
}else if (s.equals("0-20")){ // 수호탑 방향으로 침묵포탄 발사!
if(pc.getInventory().checkItem(46282)){
ShellsSilence(npc, 12205, pcX, pcY);
pc.getInventory().consumeItem(46282, 1);
pc.setShellsTime(curtime);
}
///////////기란 수성/////////////////
}else if (s.equals("0-10")){ // 외성문 방향으로 발사!
pcX = _random.nextInt(6) + 33629;
pcY = _random.nextInt(4) + 32735;
if(pc.getInventory().checkItem(46281)){
Shells(npc, 12193, pcX, pcY);
pc.getInventory().consumeItem(46281, 1);
pc.setShellsTime(curtime);
}
///////////켄트 공성/////////////////
}else if (s.equals("0-1")){ // 외성문 방향으로 발사!
pcX = _random.nextInt(4) + 33166;
pcY = _random.nextInt(6) + 32776;
if(pc.getInventory().checkItem(46281)){
Shells(npc, 12201, pcX, pcY);
pc.getInventory().consumeItem(46281, 1);
pc.setShellsTime(curtime);
}
}else if (s.equals("0-2")){ // 수호탑 방향으로 발사!
pcX = _random.nextInt(8) + 33629;
pcY = _random.nextInt(4) + 32699;
if(pc.getInventory().checkItem(46281)){
Shells(npc, 12201, pcX, pcY);
pc.getInventory().consumeItem(46281, 1);
pc.setShellsTime(curtime);
}
}else if (s.equals("0-11")){ // 외성문 방향으로 침묵포탄 발사!
}else if (s.equals("0-12")){ // 외성문 뒤쪽으로 침묵포탄 발사!
}else if (s.equals("0-13")){ // 수호탑 우측으로 침묵포탄 발사!
///////////켄트 수성/////////////////
}else if (s.equals("0-08")){ // 외성문 방향으로 발사!
pcX = _random.nextInt(4) + 33106;
pcY = _random.nextInt(6) + 32768;
if(pc.getInventory().checkItem(46281)){
Shells(npc, 12197, pcX, pcY);
pc.getInventory().consumeItem(46281, 1);
pc.setShellsTime(curtime);
}
///////////오크 공성/////////////////
}else if (s.equals("0-3")){ // 외성문 방향으로 발사!
pcX = _random.nextInt(6) + 32792;
pcY = _random.nextInt(4) + 32313;
if(pc.getInventory().checkItem(46281)){
Shells(npc, 12205, pcX, pcY);
pc.getInventory().consumeItem(46281, 1);
pc.setShellsTime(curtime);
}
}else if (s.equals("0-4")){ // 수호탑 방향으로 발사!
pcX = _random.nextInt(6) + 32796;
pcY = _random.nextInt(6) + 32282;
if(pc.getInventory().checkItem(46281)){
Shells(npc, 12205, pcX, pcY);
pc.getInventory().consumeItem(46281, 1);
pc.setShellsTime(curtime);
}
}else if (s.equals("0-14")){ // 외성문 방향으로 침묵포탄 발사!
}else if (s.equals("0-15")){ // 수호탑 방향으로 침묵포탄 발사!
///////////오크 수성/////////////////
}else if (s.equals("0-09")){ // 외성문 방향으로 발사!
pcX = _random.nextInt(6) + 32792;
pcY = _random.nextInt(4) + 32320;
if(pc.getInventory().checkItem(46281)){
Shells(npc, 12193, pcX, pcY);
pc.getInventory().consumeItem(46281, 1);
pc.setShellsTime(curtime);
}
}/** KimCheolHo -김철호 */
else{
private void 검색해서 바로 위에 추가하삼
/** KimCheolHo -김철호 */
private void Shells(L1NpcInstance npc, int effect, int x, int y){
Collection<L1PcInstance> list = null;
list = L1World.getInstance().getAllPlayers();
for(L1PcInstance player : list){
if (L1CastleLocation.checkInAllWarArea(player.getX(), player.getY(), player.getMapId())) {
player.sendPackets(new S_EffectLocation(x, y, effect));
player.sendPackets(new S_DoActionGFX(npc.getId() , 1));
if ((player.getX() >= x - 2 && player.getX() <= x + 2)
&&(player.getY() >= y - 2 && player.getY() <= y + 2)) {
player.receiveDamage(npc, 300, 2);
player.sendPackets(new S_DoActionGFX(player.getId() , ActionCodes.ACTION_Damage));
Broadcaster.broadcastPacket(player, new S_DoActionGFX(player.getId() , ActionCodes.ACTION_Damage));
}
continue;
}else{
continue;
}
}
}
/** KimCheolHo -김철호 */
에라잇 다가져가라 난이제 곧떠날사람이오 가져가시오 ㅎㅎ
테이블 L1Catapulte 는 몬스터로 하든 엔피시로하든 암케하셔요 ㅎㅎ