Препятствия, которых нет в Map Andreas -
Neutralneu - 14.01.2014
Доброго времени суток, друзья! Пожалуй, самое любимое в SA:MP для меня - это NPC, ну и их интеллект, конечно. Так вот используя плагин pathfinder, который использует Map Andreas и алгоритм A-star, NPC худо-бедно ходят, всё дело в неидеальности карты высот, а так же в том, что карта высот, помимо неточностей, не видит динамических препятствий (машина, объект). Пришла такая идея, можно ли как-то обозначить для NPC, что перед ним препятствие, скажем взять аналогично gang zone'ам 4 координаты, 2 по x и 2 по y, чтобы описать квадрат и сделать это так, чтобы NPC понял, что это препятствие, не знаю насколько понятно написал, если что я разъясню, но в целом как-то так=)
Re: Препятствия, которых нет в Map Andreas -
eakwarp - 14.01.2014
Фейспалм. Вот серьезно, большой смачный фейспалм.
Максимум, что могу посоветовать, это проверять, находятся ли вокруг нпц игроки или машины и на каком расстоянии от него они находятся. Никаких "ганг зон", тут быть не может.
Re: Препятствия, которых нет в Map Andreas -
Neutralneu - 14.01.2014
Quote:
Originally Posted by eakwarp
Фейспалм. Вот серьезно, большой смачный фейспалм.
Максимум, что могу посоветовать, это проверять, находятся ли вокруг нпц игроки или машины и на каком расстоянии от него они находятся. Никаких "ганг зон", тут быть не может.
|
Я не сказал гангзоны, я сказал как ганзоны, под этим я имел ввиду брать 4 точки и делать так, чтобы эти 4 точки образовали препятствие
Re: Препятствия, которых нет в Map Andreas -
White_116 - 14.01.2014
Ну сделай постобработку. Либо меняй карту высот эмитируя препятствие.
Re: Препятствия, которых нет в Map Andreas -
eakwarp - 14.01.2014
Quote:
Originally Posted by Neutralneu
Я не сказал гангзоны, я сказал как ганзоны, под этим я имел ввиду брать 4 точки и делать так, чтобы эти 4 точки образовали препятствие
|
Лолчто?)
Алгоритм гораздо проще, каждый бот ищет ближайшую машину или игрока вблизи от него, проверяется вектор его направления по отношению к ним, если он направляется на нее, проверяется расстояние до нее, если расстояние близкое относительно ее размера - останавливать бота или поворачивать. Очевидно же.
Re: Препятствия, которых нет в Map Andreas -
Neutralneu - 14.01.2014
Quote:
Originally Posted by eakwarp
Лолчто?)
Алгоритм гораздо проще, каждый бот ищет ближайшую машину или игрока вблизи от него, проверяется вектор его направления по отношению к ним, если он направляется на нее, проверяется расстояние до нее, если расстояние близкое относительно ее размера - останавливать бота или поворачивать. Очевидно же.
|
Спасибо, тема закрыта!