통돌이 소스올려요 (존님꺼아님
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
제가 만든 소스입니다
존님 소스보고 베낀게 아니라 그전부터 만들어둿던거 공개하는거니
태클하지마세요
출처 나
[출처] 통돌이 소스올려요 (존님꺼아님) (비공개 카페)

준희미니 님의 최근 댓글
rt 2021 05.25 ㄳ 2021 05.11 ㄳ 2021 05.11 rt 2021 05.09 rt 2021 04.25