Форум сайта Game--Maker.narod.ru

Объявление

Сайт переехал сюда: GMBest.w6.ru
форум: GMBest.w6.ru/forum

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Help me pleae !!!

Сообщений 1 страница 19 из 19

1

Народ помогите, вобщем, вот такая ситуация:
Сижу значит за игрухой типа башенок, значит подползают к маей базе, допустим, 10 enemy, а у меня на базе пушки стоят, и if_distance_to_object(enemy)<200 пушки стреляют по enemy. В результате сиих манипуляций у меня возникли следующие баги:
1. зомби подходят пушки активизируются, но стреляют не по тому, который distance< 200, а по любому, ползи он хоть в другом конце карты(((((
2. Пушек у меня несколько, а стреляют они все по одному зомби(((
Вот...Заранее благодарен за помощь

0

2

Ответ на первый баг:
Дело в том, что ты не задал идентификатор объекта, по которому стоит стерелять.
Попробуй добавить к своему коду следующее:

В step:
if_distance_to_object(enemy)<200
{
if(instance_number(enemy)>0)//если число объектов данного образца > 0
{
enemy_idn=instance_nearest(x,y,enemy)//ищем ближайшего врага и определяем его идентификатор
}
}

Далее стрельбу ведем по объекту enemy с идентификатором enemy_idn, то есть по тому, который всех ближе к пушке и на дистанции < 200, если данный объект существует.

P.S.: необходимо использовать не образец объекта, а его идентификатор.

0

3

Logos2012 зачем так сложно?
Самый элементарный вариант-
Пушки они стоят на месте,далее делаем невидимую ауру,во врагах к примеру пишет а=0
Далее если с аурой сталкиваеться враг делаем а=1 к врагу,и незабыть в степе указать а=0 если враг НЕсталкиваеться с аурой
Далее у пушки опрос,если у врага а=1 и он столкновен с аурой то стрелять по нему,но тогда пушка будет стрелять во всех подряд по 1 разу кто в ауре,ставим время на задержку,и выбор(randome)в кого стрелять!
Кхе-кхе помойму у logos2012 проще.
P.s переношу в проверенную группу с достиганием 8 постов :D

0

4

:huh:  как я сам то до ауры не допёр,спс
А про идентификацию вообще бы ни подумал, впринципе и то и другое это решит обе проблемы.
Пойду творить дальше, кстати подскажите как сделать переменную имени, всмысле выводится сообщение, типа "как вас зовут?", а потом по всей игре твоё имя тыкают куда не попадь :D

Отредактировано Opex (2008-05-13 22:22:47)

0

5

Элементарно,переменная а=name
Можешь сделать в начале 20 имён и рандом
Если рандом =2 пусть а=name2
Если рандом =5 пусть а=name5
А name забиваешь в начале,ТОЛЬКО НЕЗАБУДЬ ЧТО ПЕРЕМЕННЫЕ ПИШУТЬСЯ ДРАВОМ!(Draw)

0

6

Я имею ввиду, вначале игры тебя спрашивают: Введите ваше имя __________________ , игруха запоминает его, а потом тыкает его в сообщения .

0

7

вот ввод имени (исходник)

http://narod.ru/disk/323705000/talkn.gm6.html

Отредактировано GRID (2008-05-14 18:56:48)

0

8

Ответ про имя:

1) Вариант с использование внутренней глобальной переменой:
При нажатии на кнопку (некий объект) - Left Button:

global.name=get_string('your_name','введите имя')//Записываем имя в переменную

У героя в Draw:
draw_text(x,y,global.name)//Выводим значение переменной у героя.
//не забываем рисовать спрайт героя

/*Не уверен точно, будет ли сохраняться значение глобальной переменной при выходе из игры. Если это не прокатит, то используй второй вариант.*/

2) Вариант с использованием внешненго файла
При нажатии на кнопку (некий объект) - Left Button:

global.name=get_string('your_name','введите имя')//Записываем имя в переменную
ini_open('*.ini')//Открываем *.ini
ini_write_string('names','name1',global.name)//Записываем в *.ini строку
ini_close()//закрываем *.ini

В Create у героя:

ini_open('*.ini')
nm=ini_read_string('names','name1','Имя')//Считываем строку
ini_close()

В событии Draw у героя:

draw_text(x,y,nm)//Рисуем переменую
//не забываем рисовать спрайт героя

Отредактировано logos2012 (2008-05-14 15:17:25)

+1

9

logos2012 +1  :cool:

0

10

Как теперь эту переменную в сообщение вставить?

0

11

mes='Hi '+global.name//Записываем сообщение в переменную
show_message(mes)//Выводим сообщение

0

12

У меня очередной вопрос:
Создал я enemy второго типа, прописал всё как следует, задал enemy2_idn, короче аналогично как и для первого. Однако теперь пушки стреляют одновременно по enemy1 и enemy2, , чё делать?

0

13

У тебя снаряды 2 разных обьекта (типа снаряд анти моб1 и анти2) или одним

0

14

Сделай рандомом выбор по кому стрелять-
это в степе у=randome(2)
Далее если у>1 то стрелять в 1 врага
Если у<1 то стрелять во 2 врага.

0

15

Нельзя ли как-нибудь условием "кто ближе" ?
Если можно то как)))

Отредактировано Opex (2008-05-19 19:06:38)

0

16

пусть каждая башня содержит тогда 3 ауры:
дальняя (самая большая)
средняя и близкая

и типа когда моб к ней подходит создаем невидимый обьект допустим
дальняя+моб=choise1
сред.+моб=choise2
с близкой уж понятно.
И создаём 3 вида патрон (ближний,средний и дальний)
и делаем так
_________________
create: middle_ammo > create (instance destroy long_ammo)
create: close_ammo > create (instance destroy middle_ammo)
тоесть когда создаёться ближе снаряд дальний исчезает но появляется снаряд летящий в более близкого
ферштеин? :)

если не понятно кину исходник  :rofl:

Отредактировано GRID (2008-05-19 19:37:06)

0

17

Вроде понятно, но ты всё же кинь исходник :suspicious:

0

18

Кто-нибудь подскажите как грамотно прописать систему покупки=>постройки зданий... Имею ввиду, как в стратежках кликаешь по иконке здания, оно значит следует за курсором, и при нажатии ставится, У меня как бы есть своя система, но в DRUG & Drop и с багами, прошу грамотный код))) :writing: 
Желательно очень подробно   :D

Отредактировано Opex (2008-05-22 04:24:41)

0

19

Незаморачивай голову =) Сделай здание своим курсором =)

0



Создать форум. Создать магазин