close_btn
로그인, 회원가입후 더 많은 혜택을 누리세요 로그인 회원가입 닫기

L1NpcInstance.java

 

public void onTalkAction(L1PcInstance cha){
//
switch(getNpcTemplate().get_npcId()){
//
case 70191://할트 (윈성 용병대장)
cha.sendPackets(cha.get_netConnection().bph().get_NPCTalk().S_NPCTalkReturn(this, "halt1"), true);
break;


public void onFinalAction(L1PcInstance cha, String action){
if(!distance(this, cha, 5)){ // 5셀 안에 있다면
if(action.equalsIgnoreCase("haste")){ // 헤이스트사
if(!cha.get_Buff_헤이스트()){
cha.set_Buff_헤이스트(true);

 

// 중략

 

}else if(action.equalsIgnoreCase("demand")){ // 할트 (윈성 용병단)
if(cha.get_PetOn()){ // 펫이 있다면
}else{ // 펫이 없다면
int 소환갯수 = cha.get_cha() / 8;
int 소환몹 = 0;
if(소환갯수>3) 소환갯수 = 3 ;
소환몹 = 100060;

for(int i=0 ; i<소환갯수 ; ++i){
try{
L1Npc template1 = MonsterTable.getInstance().getTemplate(소환몹);
L1SummonInstance pet = new L1SummonInstance(template1);
Object[] parameters = {template1};
pet = (L1SummonInstance) Class.forName("psjump.server.model.L1SummonInstance").getConstructors()[0].newInstance(parameters);
pet.setNPCTemplateType("L1SummonInstance");
pet.set_isdead(false);
pet.setAttackable(false);
switch(i){
case 0:
pet.set_x(cha.get_x()+cha.getRnd().nextInt(3));
pet.set_y(cha.get_y()+cha.getRnd().nextInt(3));
break;
case 1:
pet.set_x(cha.get_x()-cha.getRnd().nextInt(3));
pet.set_y(cha.get_y()-cha.getRnd().nextInt(3));
break;
case 2:
pet.set_x(cha.get_x()-cha.getRnd().nextInt(3));
pet.set_y(cha.get_y()+cha.getRnd().nextInt(3));
break;
case 3:
pet.set_x(cha.get_x()+cha.getRnd().nextInt(3));
pet.set_y(cha.get_y()-cha.getRnd().nextInt(3));
break;
default:
pet.set_x(cha.get_x()+cha.getRnd().nextInt(3));
pet.set_y(cha.get_y()+cha.getRnd().nextInt(3));
break;
}
pet.setHomeX(pet.get_x());
pet.setHomeY(pet.get_y());
pet.set_map(cha.get_map());
pet.set_heading(4);
pet.set_level(template1.get_level());
pet.set_exp(82);
pet.set_lawful(1);
pet.set_temphp(template1.getHp());
pet.set_maxHp(template1.getHp());
pet.setcurrentHp(template1.getHp());
pet.set_tempmp(template1.getMp());
pet.set_maxBaseMp(template1.getMp());
pet.setcurrentMp(template1.getMp());
pet.set_physicalAttackSmall(template1.get_damage());
pet.set_physicalAttackLarge(template1.get_damage());
pet.set_ac(10);
pet.set_Mr(template1.get_mr());
pet.set_Agro(template1.is_agro());
pet.set_Agrocoi(template1.is_agrocoi());
pet.set_Agrososc(template1.is_agrososc());
pet.set_gfxid(template1.get_gfxid());
pet.set_nameid(template1.get_nameid());
while(true){
pet.set_objectId(IdFactory.getInstance().getNextId());
if(L1World.getInstance().storeObject(pet)){
// 현재좌표의 월드맵포인트를 임시로 저장
pet.set_wmp(WorldMapPoint.getInstance().get_map(pet.get_x(), pet.get_y(), pet.get_map()));
WorldMapPoint.getInstance().AddObject(pet.get_x(), pet.get_y(), pet.get_map() ,pet.get_objectId());
break;
}
}
pet.set_SummonOwn(cha);
if(cha.get_PetOn()){ // 펫이 있다면
cha.get_pet().펫추가(pet);
}else{ // 펫이 없다면
cha.set_PetOn(true);
cha.set_pet(new PetSystem());
cha.get_pet().펫추가(pet);
cha.get_pet().주인설정(cha);
}
pet.Start();
}catch (Exception e){
System.out.println(e);
}
}
}

 

 

이미 하신분들은 다하셨겠지만

할짓도 없고 올만에 소스나 올려볼까 해서 이거라도 올려봅니다 ㅎ


onTalkAction 부분에서 대화창이 아무나 다 소환을 할수 있게 되어있습니다.
그래서 그부분에
(성혈이 아닐경우 cha.sendPackets(cha.get_netConnection().bph().get_NPCTalk().S_NPCTalkReturn(this, "halt4"), true);)
성혈을 검색하는 구문을 넣으셔서 성혈만 소환할수있게 사용할수있습니다.


소환몹 부분은
100060 폭풍의칼날단 L1Monster 45 100 50 0 0 0 30 20 16 18 12 12 0 1025 0 small 0 0 0 0 0 0 0 0 0 0 2 148 '폭풍의 칼날단' 1 0 0 0 0 0 0 0 0 620 950
바로 위에부분을 나비캣 Monster에 넣으셔서 사용하시면됩니다.
없으신분들을 위한것으로 필요하신대로 사용하시면됩니다.

 

소환갯수는 카리에 관계있도록 되어있습니다.


 

[출처] 윈성 용병대장에게서 폭풍의칼날단 받는소스 입니다 (비공개 카페)

번호 제목 글쓴이 날짜 조회 수
공지 소스자료는 직접 올려주세요 게임존 2017.06.06 550
259 아이템 표기 번호 준희미니 2016.06.27 137
258 금화주머니 나름 초간단; [1] 준희미니 2016.06.27 49
257 공격석 (정령탄 준희미니 2016.06.27 26
256 허접한 용계 리뉴얼 준희미니 2016.06.27 60
255 호랑이,진돗개 펫일때 부활안되는부분 준희미니 2016.06.27 50
254 던젼 특정장소갈때 열쇠체크하고 가기? %추가% 준희미니 2016.06.27 38
253 5단룬적용하기 준희미니 2016.06.27 105
252 4색데스&진데스간단하게적용해보쟝 준희미니 2016.06.27 209
251 하이네 텔레포트 트랩 준희미니 2016.06.27 23
250 반지 착용 제한 준희미니 2016.06.27 42
249 eva)3.80 // 변신레벨에 따른 공속의 변화를 주자 준희미니 2016.06.27 224
248 드래곤의 연금술 용액 준희미니 2016.06.27 29
247 화룡의 안식처 준희미니 2016.06.27 34
246 10주년 아이템 강화하자 //질문있습니다 준희미니 2016.06.27 18
245 와우 1.38 게시판이 열렸네요, 슈롬에 올렸던건데 준희미니 2016.06.27 108
244 실제 방어구 적용 소스 준희미니 2016.06.27 75
243 1.38 운영자계정 확인법 준희미니 2016.06.27 79
242 유저 피바 [2] 준희미니 2016.06.27 125
241 카스파 패밀리 준희미니 2016.06.27 69
240 1.38 어밴 소스 입니다 준희미니 2016.06.27 28
239 1.38 버전 왕관 주기 소스 입니다 준희미니 2016.06.27 38
238 1.38 버전 데미지 업 물약 소스 입니다 준희미니 2016.06.27 37
237 1.38 겜블 소스 입니다 준희미니 2016.06.27 102
236 모든몹과 NPC가 말하는 소스입니다 준희미니 2016.06.24 183
235 [[ 템삭제 ]] 준희미니 2016.06.24 54
234 군주 스킬 아이콘 만들기 준희미니 2016.06.24 64
233 덱방을 알아보자.. 준희미니 2016.06.24 56
232 소환몹 데미지 부분 흠 준희미니 2016.06.24 86
» 윈성 용병대장에게서 폭풍의칼날단 받는소스 입니다 준희미니 2016.06.24 32
230 빈주문서추가 준희미니 2016.06.24 67
229 공성시간 자동 돌리기 준희미니 2016.06.24 67
228 헤이스트 아이템 헤이스트효과구현 준희미니 2016.06.24 35
227 공성 성주혈외에 강제텔레포트.txt 준희미니 2016.06.24 32
226 다엘(이도류,크로우)효과수정.txt 준희미니 2016.06.24 82
225 라던_전층_주문서.txt 준희미니 2016.06.24 46
224 마법사용시 카오적용.txt 준희미니 2016.06.24 22
223 마법서복권.txt 준희미니 2016.06.24 54
222 마법투구 헤이스트추가.txt 준희미니 2016.06.24 33
221 마수군왕의 징표함 적용.txt 준희미니 2016.06.24 34
220 프리징 블리자드 적용소스.txt 준희미니 2016.06.24 47
219 상아탑 3층 텔 및 오렌 상아탑 텔. 안되시는분들 준희미니 2016.06.24 55
218 보스 스폰시 y/n 메시지 준희미니 2016.06.24 98
217 만라우풀일때 아이템 안떨구기.txt 준희미니 2016.06.24 90
216 안톤 제작 준희미니 2016.06.24 43
215 점팩 ui5차 화면 반경 설정 준희미니 2016.06.24 29
214 vc2010..접속기 만드는 소스?? ( 초보자 ) [6] Freedos82 2016.06.10 490
213 신규보호 외부화 연구사원 2016.06.07 99
212 특정무기 인첸 제한 걸기 연구사원 2016.06.07 164
211 특정레벨 도달시 자동혈탈퇴 소스(중립 혈 / 신규혈) 등등 연구사원 2016.06.07 62
210 스턴이걸리는무기,아이스가날라가는활을 만들자!!!ㅋ 연구사원 2016.06.07 313