npc에 모든몬스터를 전멸시키는 코드를넣어보자.
얼마전 흥미로운 정보를 접했다.. 그건 npc를 이용해서 유저가 운영자의명령권한인 "!킬올" 이라는 명령어를 쓸수있는 기능에대한것.
그것이바로 cm.killAllMob이다. (컴퓨터.죽인다모든몬스터를)
사용방법은 아주 단순하다.
cm.killAllMob(); // << 이렇게 치기만하면 끝이다. 이렇게치면 이 npc가존재하는맵에 몬스터가 죄다
// 작살난단소리고.. 일정몹만을 잡고싶을땐.. (괄호안에 몬스터코드를 적음되려나?)


간단히 설명하면 npc를 클릭하면 위 mode(a)기능에의해 negative의 값이 1개가올라간다.(npc를 누르면 자동적으로 '프리메이플 룰' 능력으로 mode가 1 이된다고 이전에 언급했었지?! )
초기 -1 에서 0이되어 if (negative == 0) 구문이 발동하여 해당 대괄호안에 명령어가 작동되기시작한다.

만일 이상태에서 대화 중지를 눌렀을경우 mode(a)의 값은 자동적으로 0이되어 if (mode == 0) 일때의 구문이 발동하게된다.
그 기능으로 이 npc의 창을 닫는다. (cm.dispose();/ return;)
이 명령어 안쓰면 대화그만하기 누르는순간 npc창이 안닫치고 무한으로 뜨는 현상 발생하니..주의;;
이제 저 npc창에서 발록을 소환한다고 누르는순간 이번엔 "selection"의 숫자가 1로 올라가게된다. (왜인진 묻지마..프리메이플룰이기때문이니까.. )
그런이유로 if (selection == 1)의 효력이 발생.
발록을소환한다. (cm.spawnMob)
발록은 여러가지파츠1가 모여서 만들어진 몬스터이기에 각각 따로따로 그 부위에맞는 몬스터코드를 입력해줘야한다.
그리고 두번째창.
"몬스터 모두없애기"를 쓰면..
아래 라벨(L)값에따라서 selection의값이 달라진다.
내가 라벨(L)로 등록한건 2
그런이유로 selection이 2가된다.
그래서 if(selection == 2)의 문구의 명령어가 발동된다.
cm.killAllMob 으로 인하여 모든몬스터가 전멸한다.
이것은 몬스터가 너무많아 렉이걸려 그장소에 제대로 있지못할때.
잡몹들을 모두 처리하는데에 사용된다.
.. 근데 문제는 유저 모두가 쓸수있어서.. 만일 프리섭에 고갱님 끌어모을생각이라면.. "사냥방해" 목적으로 이용하기 정말 이것만큼 좋은건없을듯.
p.s 언제나그렇지만.. 명령어를실행할때 대소문자구분..착실히하자.

negative 님의 최근 댓글
님 누구셈? 전 그냥 이웃블로그 분들 어둠정보공유하는거 허락맡고 퍼오는건데 ㅋㅋ 2016 06.07