공성 성주혈외에 강제텔레포트.txt
L1MonsterInstance 부분에서
public void onAction(L1PcInstance cha){
if(is_isdead()){ // 죽었다면
Fight = false;
attack(cha, true);
if(!Isdie){ // 아이템및 경험치를 뿌려줘야 한다면
FightStart(cha, true);
}
}else{ // 죽지 않았다면
if(!cha.is_isdead()){ // 유저가 죽지 않았다면
cha.AddFightList(this); // 전투리스트목록에 넣기
attack(cha, false);
AddFightPlayer(cha); // 전투중인 유저목록에 넣기
AddExpList(cha); // 경험치 뿌려줄 리스트에 넣기
FightStart(cha, false);
}else{ // 유저가 죽었다면
DelFightPlayer(cha);
}
} if(getNpcTemplate().get_npcId() == 100050 ){//수호탑몬스터id <<자기 나비켓 디비 수호탑아이디 적을것!!!
if(get_currentHp() > 15000 && get_currentHp() < 20000){
AllsendPackets(bph().get_AttackPacket().S_AttackPacket(this, cha, 33, _CalcDmgPc.Dmg, 0), true);
}else if(get_currentHp() < 10000 && get_currentHp() > 5000){
AllsendPackets(bph().get_AttackPacket().S_AttackPacket(this, cha, 34, _CalcDmgPc.Dmg, 0), true);
}else if(get_currentHp() <= 0){
AllsendPackets(bph().get_AttackPacket().S_AttackPacket(this, cha, 35, _CalcDmgPc.Dmg, 0), true);
if(cha.getClanid() != 0){ // 클랜이 있다면
L1PcInstance[] player = L1World.getInstance().getAllPlayers();
for(int i=0 ; i<player.length ; ++i){
if (player[i].getClanid() == cha.getClanid()){
L1Teleport.getInstance().teleport(player[i], 33120, 32769, 4); //켄트성문으로
}
else if(player[i].get_map() == 4 && player[i].get_x() >= 33089 && player[i].get_x() <= 33209 && player[i].get_y() >= 32712 && player[i].get_y() <= 32832)
{
L1Teleport.getInstance().teleport(player[i], 33061, 32788, 4); //켄말로이동
}
player[i].sendPackets(player[i].get_netConnection().bph().get_cp().S_ChatPacket(player[i], cha.getClanname()+" 혈맹이 켄트성 공성전에 승리하였습니다.", 73, 2), true);
}
}
}
}
}
ps. 수호탑 무너졌을시 마지막으로 어택한 혈맹은 성문앞으로 텔되고
멘트는 전체공지되고 성주변 깃발안에 있는 성혈제외 인원만 강제 켄말 텔됩니다.
그외 위치에 있는 플레이어에게는 멘트만 뜨고 강제텔은 없습니다. 확인했습니다.
첨부파일 컴파일 하시면 됩니다.
-출저-무진
[출처] 공성 성주혈외에 강제텔레포트.txt (비공개 카페)

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