Суббота, 23 Ноября 2024, 04:13

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Стрельба очередями
hmprДата: Четверг, 28 Августа 2014, 20:35 | Сообщение # 1
частый гость
Сейчас нет на сайте
Помогите пожалуйста заставить этого мерзавца стрелять очередями. Пока что он только ходит взад и вперед периодически останавливаясь и выпуская по одной пуле в игрока, а нужно чтобы было все тоже самое только выпускал бы он например по 3 пули с определенным временным промежутком между каждой пулей




WhoAmIДата: Пятница, 29 Августа 2014, 00:18 | Сообщение # 2
Сумасшедший программист
Сейчас нет на сайте
Используй алармы.
В начале надо рассмотреть вот что:
room_speed * кол-во секунд - данная формула является формулой секунды. Она эквивалента 30 * кол-во секунд т.к. 30 скорость игрового процесса по умолчанию.
Пример:
Код

alarm[0] = room_speed * 4; //Событие alarm 0 начинается через четыре секунды.


Alarm - событие происходящие через заданный промежуток после его вызова
Чтобы твой мерзавец стрелял 3 раза в 3 секунды, затем останавливался на одну секунду и это повторялось по кругу измени последнюю строчку alarm'a 1:
Код

alarm[2] = room_speed * 1; //Ждём секунду

В Alarm 2 скопируй тоже-самое что и в alarm'e 1, и опять измени последнюю строчку:
Код

alarm[3] = room_speed * 1;

Создай Alarm 3 и в третий раз скопируй то что написано в Alarm 1. Последняя строка опять подлежит изменению:
Код

alarm[0] = room_speed * 1;


Уваля всё получилось. Осталось только расставить промежутки времени на нужные тебе, это легко сделать изменяя room_speed * 1, на то что ты хочешь.


Struggle #Gamiron12

Сообщение отредактировал WhoAmI - Пятница, 29 Августа 2014, 00:22
hmprДата: Пятница, 29 Августа 2014, 15:54 | Сообщение # 3
частый гость
Сейчас нет на сайте
спасибо большое. теперь все работает. правда возник один вопрос: очередь более чем из 11 патронов вообще нет возможности реализовать?
LunarPixelДата: Пятница, 29 Августа 2014, 16:22 | Сообщение # 4
старожил
Сейчас нет на сайте
WhoAmI, и зачем же столько Алармов!?
Заведи переменную, отвечающую за количество патронов в очереди, например N=10

Ну и в alarm 1 пиши что-то типа:

Код
if N>0
{
N-=1;
Твой код создания пули
alarm[1] = room_speed * 1;
}
else
{
N=100;
alarm[0] = room_speed * 1;
}


WhoAmIДата: Пятница, 29 Августа 2014, 16:25 | Сообщение # 5
Сумасшедший программист
Сейчас нет на сайте
hmpr, всё можно - для этого используй переменные.
Создай переменную count = кол-во выстрелов.
Перепиши alarm 1:
Код

if(count > 0){
    /Код стрельбы.
    //Опять измени последнюю строчку
    count -= 1
    alarm[2] = нужное_тебе_время;
}else{
count = кол-во выстрелов;
alarm[0] = нужное_тебе_время;
}

Теперь перепиши Alarm 2:
Код

if(count > 0){
//Код стрельбы
//Измени последнюю строчку
count-=1;
alarm[1] = нужное_тебе_время;
}else{
alarm[0] = нужное_тебе время;
count = кол-во выстрелов;
}

P.S. читай справку GM. Без обид, но такими вопросами ты только засоряешь форум.
Перевод справки тут
P.S.S
От плюсика за проделанные старания не откажусь cool (извиняюсь за попрошайничество)
P.S.S.S LunarPixel,я не успел biggrin


Struggle #Gamiron12

Сообщение отредактировал WhoAmI - Пятница, 29 Августа 2014, 16:29
hmprДата: Суббота, 30 Августа 2014, 23:50 | Сообщение # 6
частый гость
Сейчас нет на сайте
Спасибо. Справку читал, но там о чем-то подобном мало написано (точнее не написано вообще). А на счет засорения форума... так он для того и нужен... или я не прав?
MrSlapДата: Воскресенье, 31 Августа 2014, 12:23 | Сообщение # 7
почетный гость
Сейчас нет на сайте
WhoAmI, а если засунуть проверку в сам аларм, так вообще одним можно обойтись =)

Создаю интерактивную повесть.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг