берём х координату собачки, сравниваем с х координатой врага. если меньше 4 тайлов то:
берём у координату собачки, сравниваем с у координатой врага. если меньше 4 тайлов то:
выполняем верхний код.
таким образом, собака атакует только если близко к ней подойти. и если враг бегает быстрее - он может убежать.
если врагов несколько, скажем с номера 2 до номера 8,
можно сделать цикл от 2 до 8 и делать проверку в цикле, подставляя переменную цикла вместо номера события.
i=2
while i<9
а сюда проверку. если враг нашёлся, то прерываем цикл и идём кусать врага. приоритет отдаётся врагу с меньшим номером события
end
чтобы врага скушать у него должны быть жизни. у события таких не имеется. как я уже говорил - событию врага надо выделить переменную. лучше если её номер будет равен номеру события. для врага с номером 2 это $game_variables[2]насчёт того, что бы съесть врага, пока запуталась,
надо бы условие, и при выполнении этого условия исполнить, код для врага
во враге на первой странице пишем:
if $game_variables[2] <=0
$game_variables[2] = желаемое количество жизней
это выполняется при входе на локацию. после чего самопереключателем переключаемся на вторую страницу, где делаем логику движения и прочего поведения врага, в том числе проверку:
if $game_variables[2] <=0
включиь самопереключатель B и сделать активной страницу 3, где враг помирает.
а в собаке пишем, что когда она на соседней клетке с противником, надо включить анимацию куся и вычесть скажем 10 из переменной с жизнями. всё это можно сделать и стандартными командами события и через скрипт. на вкус и цвет.
привёл пример выше. но это можно сделать и через стандартные операторы события, хотя кодом проще.Скан ид соседних точек положения на карте? Там много кодить? Если честно, не профи в таком моменте, если не трудно, покажите где посмотреть пример такого кода, пожалуйста.
увы не помню строчку обращения к х,у координатам события для тайлов
==============
если что я код для аси привёл, так что в мв не совсем так будет.
Социальные закладки