В общем решил я сделать ловушки для хантера. 2 удались , а вот 3 не получается=( При попадании игрока на ловушку , он останавливается и его ход завершается и он получает урон. Потом каждые 30 пунктов она наносит урон всем в радиусе , а потом уничтожается ,и каждый раз ее урон снижается на 9 процентов. После срабатывания создатель ловушки получает опыт.
Вот ее примерный код , который у меня нифига не получился=(
if collision_circle(x,y,2,global.Sunit,0,0) and !collision_circle(x,y,3,hunter,0,0) and bang=0 { bang=1 with global.Sunit{path_end() global.Sunit.x=global.Lovuska.x global.Sunit.y=global.Lovuska.y scr_EndTurn() UnitSpeed-=100 effect_create_above(ef_explosion,x,y,2, c_gray ) }}
if global.Phase1=1 and bang=1{ timer+=1 timer2+=1 if timer=30{ timer=0 effect_create_above(ef_explosion,x,y,2, c_green) damage-=damage*0.09 global.Lovuska=id global.Uron=damage with all{ if point_distance(x,y,global.Lovuska.x,global.Lovuska.y)<100{ Uron=floor(global.Uron) Uron+=floor(random_range(Uron*0.1,-Uron*0.1)) global.HP[O]-=Uron draw_text_up(x-32,y-32,-Uron,c_black,c_green,damage_font) if global.HP[O]<0 {global.HP[O]=0} if global.HP[O]=0{global.Death=1 global.Death[O]=1 }
with hunter { if global.Death=1 {Exp+=50} exp+=floor(random_range(4,10)) global.Exp[O]+=Exp draw_text_up(x-30,y+15,"+exp:"+string(exp),c_black,c_white,font4) Exp=0
А вот код удачных 2 двух ловушек: Простой урон и стоп:
_create_ev=' hunter=global.Sunit damage=global.AT[global.O]*1.5 name=global.Name[global.O] ' _step_ev=' if collision_circle(x,y,2,global.Sunit,0,0) and !collision_circle(x,y,3,hunter,0,0) { global.Lovuska=id
with global.Sunit{ Uron=global.Lovuska.damage-global.DF[O] Uron+=floor(random_range Uron*0.1,-Uron*0.1)) global.HP[O]-=Uron draw_text_up(x-32,y-32,Uron,c_white,c_red,damage_font) path_end() global.Sunit.x=global.Lovuska.x global.Sunit.y=global.Lovuska.y scr_EndTurn() if global.HP[O]<0 global.HP[O]=0 if global.HP[O]=0{global.Death=1 global.Death[O]=1 } UnitSpeed-=100 } effect_create_above(ef_explosion,x,y,2, c_gray )
with hunter { if global.Death=1 {exp+=50} exp+=floor(random_range(15,30)) global.Exp[O]+=exp draw_text_up(x-30,y+15,"+exp:"+string(exp),c_black,c_white,font4) exp=0
if global.Phase1=1 and bang=1{ timer+=1 timer2+=1 if timer=30{ timer=0 effect_create_above(ef_explosion,x,y,2, c_green) damage-=damage*0.09 global.Lovuska=id global.Uron=damage with all{if !O=0 and point_distance(x,y,global.Lovuska.x,global.Lovuska.y)<100{ Uron=floor(global.Uron) Uron+=floor(random_range(Uron*0.1,-Uron*0.1)) global.HP[O]-=Uron draw_text_up(x-32,y-32,-Uron,c_black,c_green,damage_font) if global.HP[O]<0 {global.HP[O]=0} if global.HP[O]=0{global.Death=1 global.Death[O]=1 }
dima9595, аниме клевое ,а делаю я трпг с огромным количеством мобов , и 10 уникальными игровыми персонажами (по 1-2 будет). Там есть класс "хантер" то есть "охотник". Умеют средне стрелять и ставить ловушки на мобов.