초보개발자 입니다. 연아통파 구축중인데 자동기원 오류로 이렇게 올립니다.
안녕하세요 초보 개발자 입니다.
바람의나라 를 구축 중인데요 자동기원으로 몇일 골머리 썩다 이렇게 올립니다.
자동기원 스크립트는
@자동기원1 {
set @sd, mysd();
set @id, myid();
set_spellinterval @sd, get_spellinterval(@sd)-200;
set @pk, ismapoption(@sd, 6);
if(@pk)
{
message @sd, 3, "사용할수없는곳입니다.";
end;
}
if(get_state(@sd) == 3 || get_state(@sd) == 1)
{
message @sd, 3, "사용이 불가능합니다.";
end;
}
if(ismapoption(@sd,48))
{
message @sd, 3, "공성맵에서는 사용이 불가능합니다.";
end;
}
if($heal_name$ == "백호의희원")
{
message @sd, 3, "백호의희원은 자동기원을 사용할 수 없습니다.";
end;
}
set @ts, name2sd($heal_target_name$);
if(@ts > 0)
{
set @x1, get_x(@id);
set @y1, get_y(@id);
set @x2, get_x(name2id($heal_target_name$));
set @y2, get_y(name2id($heal_target_name$));
if(@x1 > @x2) set @cha, @x1-@x2;
else set @cha, @x2-@x1;
if(@y1 > @y2) set @cha2, @y1-@y2;
else set @cha2, @y2-@y1;
if(@cha < 7 && @cha2 < 7)
{
if(@id != name2id($heal_target_name$))
{
callfunc "TARGETHEALMAGIC", $mp_delay, $hp_target, $heal_effect, $heal_sound, $heal_name$, 1;
end;
}
}
}
else
{
message @sd, 3, "타겟이범위내에없습니다.";
end;
}
}
이렇게 되있고 펑션은 아래것을 쓰는거 같더라구요 근대 뭐가 문제인지 타겟이 범위내에 없다고 계속 뜨는데 어떻게 해야하나요?
고수님들 도와주세요 ㅜㅠ
FUNC_TARGETHEALMAGIC { set @id, myid(); set @sd, mysd(); set @hp, getarg(1); set @target_id, script_target(@sd);
callfunc "MANA_DELAY", getarg(0), 0, @sd; if(istype(@target_id) != 1) { message @sd, 3, "걸리지 않습니다."; end; } set @target_sd, id2sd(@target_id); if(get_state(@target_sd) == 1) { message @sd, 3, "걸리지 않습니다."; end; }
if( (get_hp(@target_sd)+@hp) > get_maxhp(@target_sd) ) { set_hp @target_sd, get_maxhp(@target_sd); showgage @target_id; } else { set_hp @target_sd, get_hp(@target_sd)+@hp; showgage @target_id; }
set_mp @sd, get_mp(@sd)-getarg(0); callfunc "BEGINFUNC", getarg(2), getarg(3), 0, 0, 6, @target_id; message @sd, 3, getarg(4) + "을(를) 외웠습니다."; if( @id != @target_id ) { message @target_sd, 3, get_name(@sd) + "님이 " + getarg(4) + "을(를) 외워주셨습니다."; } if($healsay == 1) { say @id, 2, (getarg(1))+""; } return; }

댓글2
-
인연서버2020.06.30 - 00:42 #8508973
예전 생각나네요 저도 처음엔 이 오류로 몇일 고생했었는데 허허
해당 메시지를 보면 if 문에서 걸려서 메시지가 나오는건데
set @ts, name2sd($heal_target_name$);
if(@ts > 0)이부분에서 @ts가 0보다 작거나 같기때문에 발생한다고 보면$heal_target_name$ 이 정상적으로 설정되지 않았을 가능성이 높습니다.이부분에서 어떤식으로 찾아가느냐say @id , 0 , $heal_target_name$ ;이런식으로 메시지를 확인했을때 정상적으로 가지고 오지않았다고 보면해당 $heal_target_name$ 를 설정하는 부분을 찾아야겠죠아마도 FUNC_TARGETHEALMAGIC 함수에서 확인할수있을것같네요
키큰동생 님의 최근 댓글
에러 1064 배치를 하니 이런 에러가 뜨는데 이거 왜이런건가요?? 내포인트 어떻게 할건가요 ㅠㅠ 2017 03.25 버전은 어떻게 되죠?? 2017 03.24 ㅠㅠ 나도 다운받고싶다 2016 12.03