CR 링서버기준 지폭지술 스크립트 오류 수정
아래 =로 표시해둔 부분이 누락되어 범위내의 상단1줄 및 우측1줄에 위치한 몹에
지폭지술이 안들어가는 버그가 있음
= 추가하여 버그 수정
Magic 마법지폭지술 {
set @id, myid();
set @sd, mysd();
callfunc "맵제한";
set @damage, callfunc("공격력계산", get_mp(@sd) + ( get_mp(@sd)/2 ));
if(get_mp(@sd) < 600)
{
message @sd, 3, "마력이 부족합니다.";
end;
}
else
{
set_mp @sd, 0;
}
magic_delay @sd, 255 - callfunc("주술사딜레이");
callfunc("모션딜레이", 6, 300);
sound @id, 0, 107;
set @x1, get_x(@id)-6;
set @x2, get_x(@id)+6;
set @y1, get_y(@id)-6;
set @y2, get_y(@id)+6;
if (@x1 < 0) { set @x1, 0; }
if (@x2 > get_mapwidth(@sd) -1) { set @x2, get_mapwidth(@sd) -1; }
if (@y1 < 0) { set @y1, 0; }
if (@y2 > get_mapheight(@sd)-1) { set @y2, get_mapheight(@sd) -1; }
for (set @i, @x1; @i <= @x2; set @i, @i+1)
{
for (set @j, @y1; @j <= @y2; set @j, @j+1)
{
set @target, obj_getxy(@i, @j);
if(@target == 0) { continue; }
set @istype, istype(@target);
effect @target, 104;
if(@istype == 1)
{
set @target_sd, id2sd(@target);
if (isenemy(@sd, @target_sd) == 1 || ismapoption(get_mapid(@sd), 32) == 1)
{
if (ispartymember(@sd, @target_sd) != 1 && @sd != @target_sd)
{
damage @id, @target, @damage, 0;
message @target_sd, 3, get_name(@sd) + "님이 지폭지술을 가합니다.";
}
}
}
else if(@istype == 2)
{
if(get_mobid(@target) < 10000)
{
set @n_ac, get_mobac(@target); set_mobac @target, @n_ac + $acpass;
damage @id, @target, @damage, 0; set_mobac @target, @n_ac;
}
}
}
}
message @sd, 3, "지폭지술을 외웠습니다.";
}

통통이 님의 최근 댓글