hmm maybe using OnTouch is a bit buggy well, try
prt_fild01,1,1,0 script #dummy_light 111,{
end;
OnAttach:
addrid 1;
getmapxy .@map_npc$,.@x_npc,.@y_npc,1;
getmapxy .@map$,.@x,.@y,0;
if ( distance( .@x_npc,.@y_npc,.@x,.@y ) < 2 )
unitkill getcharid(3);
end;
}
- script main_bolt -1,{
OnInit:
while(1) {
do {
.@x = rand(1,400);
.@y = rand(1,400);
}
while( !checkcell( "prt_fild01",.@x,.@y,cell_chkpass ) );
movenpc "#dummy_light",.@x,.@y;
enablenpc "#dummy_light";
specialeffect EF_LIGHTBOLT,AREA,"#dummy_light";// seems doesn't work with sprite -1
disablenpc "#dummy_light";
if ( getareausers( "prt_fild01",(.@x-1),(.@y-1),(.@x+1),(.@y+1) ) > 0 )
donpcevent "#dummy_light::OnAttach";
sleep 30000;
}
}