사이트 로그인
2017.01.03 12:27
1인 몬스터 인던 예제 입니다.
바람박스에서 봤는데 좋은 정보여서 퍼왔습니다.
script 인던 {
set @sd, mysd();
set @id, myid();
set @list, list1("인던 입장할래?", "입장", "대화 종료");
if(@list == 0) end;
if(@list == 1)
{
if(#indun == 1)
{
dialog 0, 0, 0, "이미 다른 누군가가 도전 중입니다.";
end;
}
if(!party(@sd))
{
if(get_mobhp(#indun_mob) > 0)
{
set_xy #indun_mob, 0, 0;
set_mobhp #indun_mob, 0;
}
set #indun, 1;
set #indun_member, 1;
mobspawn 맵번호, x좌표, y좌표, 2, 몹번호;
set #indun_mob, obj_getxy(x좌표,y좌표);
warp @sd, 맵번호, x좌표, y좌표;
broadcast 0, 12, "[알림] " + get_name(@sd) + "님이 인던에 도전하셨습니다.", 0;
}
else
{
if(party_member(@sd, 0) != @sd)
{
dialog 0, 0, 0, "그룹장만 입장 요청이 가능합니다.";
end;
}
set #indun_member, party_member_count(@sd);
for(set @loop, 0; @loop < #indun_member; set @loop, @loop+1)
{
set @member, party_member(@sd, @loop);
if(get_mapid(@sd) != get_mapid(@member))
{
dialog 0, 0, 0, ""+get_name(@member)+"님이 다른 맵에 계십니다.";
end;
}
warp @member, 맵번호, x좌표, y좌표;
broadcast 0, 12, "[알림] " + get_name(@sd) + "님의 일행이 인던에 도전하셨습니다.", 0;
}
set #indun, 1;
if(get_mobhp(#indun_mob) > 0)
{
set_xy #indun_mob, 0, 0;
set_mobhp #indun_mob, 0;
}
mobspawn 맵번호, x좌표, y좌표, 2, 몹번호;
set #indun_mob, obj_getxy(x좌표,y좌표);
}
}
else if(@list == 2) end;
}
// onpckill
if(get_lastkillmob_id(@sd) == 몹번호)
{
set #indun, 0;
set #indun_mob, 0;
set #indun_member, 0;
set @cnt, party_member_count(@sd);
for(set @loop, 0; @loop < @cnt; set @loop, @loop+1)
{
set @member, party_member(@sd, @loop);
warp @member, 맵번호, x좌표, y좌표;
broadcast 0, 12, "[알림] " + get_name(@sd) + "님의 일행이 인던을 성공적으로 클리어하셨습니다.", 0;
}
}
// onpclogin
if(get_mapid(@sd) == 맵번호)
{
warp @sd, 이동할맵번호, x좌표, y좌표;
}
// onpclogout
if(get_mapid(@sd) == 맵번호)
{
warp @sd, 이동할맵번호, x좌표, y좌표;
set #indun_member, #indun_member-1;
if(#indun_member == 0)
{
set #indun, 0;
if(get_mobhp(#indun_mob) > 0)
{
set_xy #indun_mob, 0, 0;
set_mobhp #indun_mob, 0;
}
}
}
// onpcdead
if(get_mapid(@sd) == 맵번호)
{
warp @sd, 이동할맵번호, x좌표, y좌표;
set #indun_member, #indun_member-1;
if(#indun_member == 0)
{
set #indun, 0;
if(get_mobhp(#indun_mob) > 0)
{
set_xy #indun_mob, 0, 0;
set_mobhp #indun_mob, 0;
}
}
}