소매치기 주문서 소스
프리서버 오픈소스 리니지 소매치기 주문서 소스
else if (itemId == 120013) { // <----번호 알아서 잘 지정 소매치기
L1Character somebject = (L1Character) L1World.getInstance().findObject(some);
if (somebject != null) {
if (somebject instanceof L1PcInstance) {
L1PcInstance target = (L1PcInstance) somebject;
if (pc.getId() == target.getId()) {
return;
}
if (pc.getZoneType() != 0) {
pc.sendPackets(new S_SystemMessage("Normal존에서만 사용이 가능합니다."));
return;
}
if (target.getZoneType() != 0) {
pc.sendPackets(new S_SystemMessage("타겟이 Normal존에 없어서 사용이 불가합니다."));
return;
}
if (target.isGm() == true) {
pc.sendPackets(new S_SystemMessage("\\fY운영자에게 사용하시면 바로 감옥갈 수 있습니다."));
return;
}
L1ItemInstance item2 = pc.getInventory().storeItem(120013, 1);
int time = 1;
Random random = new Random();
int kt3 = random.nextInt(100);
if(kt3 < 10 + (pc.getLevel()/5)) { // 10% + 레벨/5% 확률 추가
L1ItemInstance aden = target.getInventory().CaoPenalty();//랜덤아이템
if(aden != null){
target.getInventory().tradeItem(aden, aden.isStackable() ? aden.getCount() : 1, pc.getInventory());
pc.sendPackets(new S_SystemMessage(target.getName()+"님의 아이템 "+aden.getViewName()+" 을 소매치기에 성공했습니다."));
target.sendPackets(new S_SystemMessage("\\fY누군가에게 "+aden.getViewName()+" 를(을)소매치기 당하였슴니다."));
}
}else{//실패의경우
target.sendPackets(new S_SystemMessage("\\fY주변에있는"+pc.getName()+" 님이 소매치기를시도하다 실패하였습니다."));
pc.sendPackets(new S_SystemMessage("소매치기에 실패하였습니다."));
pc.onAction(pc);//널포인트 익셉션 오류 방지 ?
pc.sendPackets(new S_Poison(pc.getId(), 2)); // 동결 상태가 되었습니다.
pc.broadcastPacket(new S_Poison(pc.getId(), 2)); // 동결 상태가 되었습니다.
pc.sendPackets(new S_Paralysis(S_Paralysis.TYPE_STUN, true));
pc.killSkillEffectTimer(87);
pc.setSkillEffect(87, time * 30 * 1000);//여기까지 스턴
pc.setPinkName(true);//보라돌이만들자
pc.broadcastPacket(new S_SkillSound(pc.getId() , 10));
int hp = pc.getMaxHp()/10;//피를 10/1 로 깍자
pc.setCurrentHp(hp);
int law = pc.getLawful()-3000;//라우풀수치 - 만
pc.setLawful(law);
}
}
}
에러나시는분들 임포트 살펴주세요~
출처 린프리

찰떡01 님의 최근 댓글
ㄳ 2023 06.17 ㄱㅅ 2020 12.19 클라 공유 부탁드립니다. 2020 12.19 ㄱㅅ 2020 11.26 ㄱㅅ 2020 11.05