PDR 스크립트 고수님들 몹 스크립트 질문드려봅니다 ㅠㅠ
본문
몬스터 공격 스크립트를 만들고 싶은데
아래대로 짜게 되면
범위 내에 존재하는 모든 플레이어를 다 공격하더군요
그리고 유령상태에서도 계속 공격을 합니다..
단일 대상 공격으로 바꾸려면 어떻게 수정해야 될까요?! 거기에 죽은상태일때는 공격안하게 하려면 어떻게 짜야할까요 ㅠㅠ
알려주시면 대단히 감사드리겠습니다ㅠ_ㅠ
onmove:
set @id, myid();
set @target, get_mobtarget(@id);
set @r, rand(1,100);
if(@r <= 80)
{
.@xr = 6;
.@yr = 6;
.@x1 = get_x(@id) - .@xr;
.@x2 = get_x(@id) + .@xr;
.@y1 = get_y(@id) - .@yr;
.@y2 = get_y(@id) + .@yr;
.@node = get_objnextnode(0);
while(.@node)
{
.@node_chk = 0;
.@target_id = node2id(.@node);
//set_idsegment(.@target_id);
if(.@target_id > 0 && .@target_id != @id)
{
.@node = get_objnextnode(.@node);
.@node_chk = 1;
if(.@x1 <= get_x(.@target_id) && get_x(.@target_id) <= .@x2 && .@y1 <= get_y(.@target_id) && get_y(.@target_id) <= .@y2)
{
if(istype(.@target_id) == 1)
{
action @id, 1, 30, 0;
sound .@target_id, 726;
set .@target_sd, id2sd(.@target_id);
if(get_state(.@target_sd) == 1) { continue; }
damage 2, @id, .@target_id, rand(42000,50000),0;
message .@target_sd, 3, "공격을 가합니다.";
}
}
}
if(.@node_chk == 0)
.@node = get_objnextnode(.@node);
}
}
댓글목록 5
김태희님의 댓글
김태희 쪽지쪽지보내기 프로필프로필확인 검색아이디로 검색 전체게시물전체게시물oninit:
// 몬스터 생성시 실행
end;
onmove:
// 움직일때마다 실행
end;
onattack:
// 몬스터 공격시 실행 (근접 공격)
end;
onsay:
// 누군가 말할시 실행
// @userid : 유저 옵젝번호
// @last_say$ : 말한 값
end;
onclick:
// 누군가 클릭할시 실행
// @userid : 유저 옵젝번호
end;
ondamaged:
// 공격당할시 실행
// @attackerid : 유저 공격한 옵젝번호
end;
ondead:
// 죽을시 실행
end;
}
김태희님의 댓글
김태희 쪽지쪽지보내기 프로필프로필확인 검색아이디로 검색 전체게시물전체게시물단일을 할꺼면 온 어택 으로~
서이린님의 댓글
서이린 쪽지쪽지보내기 프로필프로필확인 검색아이디로 검색 전체게시물전체게시물서이린님의 댓글
서이린 쪽지쪽지보내기 프로필프로필확인 검색아이디로 검색 전체게시물전체게시물DR에서는
변신함수로
set_looktype @id, 13, 1; 이런걸 넣을때 db 엔피시 스폰 위에서부터 순번대로 엔피시 이미지 변신이 됐었는데
PDR에선 저걸 넣으니 오류가 생기네요 어떤식으로 몬스터 변신 스크립트를 짜야 될까요?