Bot

  Вход на форум   логин       пароль   Забыли пароль? Регистрация
On-line:  

Раздел: 
Game Maker Форум / Вопросы и Ответы (Для Начинающих) / Bot

Страницы: 1  новая тема

Автор Сообщение

частый гость
Группа: Участники
Сообщений: 24
Добавлено: 21-01-2006 05:17
Подагите создать шорошего бота чтоб стрелал когда и в кого нада
а то я зделал бота а он суchка стреляет то как надо а то всегда в право


Для бота я писал такой код:

if instance_exists(player) {
if point_distance(x, y,player.x, player.y) < 150 {
move_towards_point(player.x-20, player.y-20,2);
if speed=0 {direction=player.direction>10 }
}
}

if instance_exists(player) {
if point_distance(x, y,player.x, player.y) > 150 {
speed =0
}
}


Ив пуле:

direction=wrag.direction;
speed= 10;

ВОТ ТАКАЯ ЗАГАГУЛЕНА!!!

Тут могла быть ваша реклама
Группа: Сообщество GM
Сообщений: 1014
Добавлено: 21-01-2006 09:30
Почему он стреляет вправо это понятно в пуле надо писать:
speed=30
direction=point_direction(x,y,vrag.x,vrag.y)

А зачем я по вашему на своём сайте исходники солдатов выкладывал, там у ботов можно даже реакцию менять!!!

частый гость
Группа: Участники
Сообщений: 24
Добавлено: 21-01-2006 12:13
скажика пожалусто как зделатьдопустем допусте ты содной пушкой поднял другую на I нажемае открывается инвентарь типа как в "кр" и можеш взять эту пушку заместо той поставить или чтоб 2 было.

маэстро
Группа: Сообщество GM
Сообщений: 812
Добавлено: 22-01-2006 19:52
я бы н твоём месте сделал бы так(для умного бота)
if point_distance(x, y,player.x, player.y) < 150 and not collsion_line(x,y,player.x,player.y,Wall,0,0)
Wall - стена
Тогда бот будет стрелять если нет стены между ним и player

магистр
Группа: Сообщество GM
Сообщений: 453
Добавлено: 01-02-2006 14:52
Я знаю как сделать чтоб боту сквозь стену не зырели:


if collsion_line(x,y,o_hero.x,o_hero.y,Wall,0,0)4 then
{
var_visible=true
}
else
{
var_visible=false
}


Меньше ноля обязательно, потому-как если он не видет он возращает значение -4, потом проверяешь:
if var_visible=true
{

if distance_to_object(o_hero)>128 then // если до героя меньше 128
{
//движение тут пиши
}
if distance_to_object(o_hero)>512 then // если до героя меньше 512
{
//тут про стрельбу
}
var_temp=true //переменная используемая дальше по тексту
temp_x=o_hero.x
temp_y=o_hero.y

}

if var_visible=false
{
if (var_temp=true && distance_to_point(x,y,temp_x,temp_y)>48) then
{
// двигать врага к точке с координатами temp_x,temp_y
}
else
{
var_temp=false
}
}

P.S. Енту функцию много где можно использовать(всмысле видения)!!! Например: Если не хочешь чтобы в игре за стеной врага видно небыло, иль чтоб свет реалистично распространялся, может когда нибудь пример выкину(про свет я грю)и ботов тоже выкину, пусть народ засудит...

мастер
Группа: Сообщество GM
Сообщений: 121
Добавлено: 04-02-2006 14:04
позырь примеры тут

Страницы: 1  новая тема
Раздел: 
Game Maker Форум / Вопросы и Ответы (Для Начинающих) / Bot

Отвечать на темы в данном разделе могут только зарегистрированные пользователи

Отвечать на темы могут только зарегистрированные пользователи

KXK.RU