Суббота, 18 Мая 2024, 22:38

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Как сделать дополнительную жизнь при 50000 очков? (Как записать такой скрипт)
Как сделать дополнительную жизнь при 50000 очков?
tifasoДата: Вторник, 30 Ноября 2010, 10:20 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
В событии Step у игрока я записал код
Code
if (score >= 50000)
{
lives += 3;
sound_play(wav_1up);
}

Но как то он не так срабтывает он зацикливается и считывает этот код снова и снова. Нужно сделать чтобы если игрок набрал 50000 очков или чуть больше игроку добавлялось 3 дополнительные жизни и произойти это должно всего 1 раз.



Мой сайт: http://tifaso.narod.ru/
Мои проекты: Cерия игр Hyougo;
Медвежонок Кит;
Argo Player; Text Manager
ezhickovichДата: Вторник, 30 Ноября 2010, 10:25 | Сообщение # 2
[Великий и могучий хозяинъ]
Сейчас нет на сайте
Quote (tifaso)
Но как то он не так срабтывает он зацикливается и считывает этот код снова и снова

Ну ясен пень скор, ведь не уменьшается...
Если это должно сработать только раз, то заведи переменную и прибавляй жизнь только если она равна нулю к примеру... (ну и естественно ставь ей значение 1, когда когда скор будет больше 50000)



Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
ilgamerДата: Вторник, 30 Ноября 2010, 10:26 | Сообщение # 3
Needle Games
Сейчас нет на сайте
а переменная score где записана?
а код правильный, попробуй убратьзнак больше(>)
---------------------------------------
ezhickovich имел в виду, что тебе нужно создать переменную в Step игрока или в обьект где у тебя ведётся счет. Она будет равна 0 а когда счет равен 50000 то 1.
И ставь проверку в степ игрока,
Code

if (score = 50000)   
{   
if var=1
}
{
lives += 0;   
}




Сообщение отредактировал ilgamer - Вторник, 30 Ноября 2010, 10:38
ezhickovichДата: Вторник, 30 Ноября 2010, 10:29 | Сообщение # 4
[Великий и могучий хозяинъ]
Сейчас нет на сайте
Quote (ilgamer)
а код правильный

Да ты что?
На каждой итерации будет проверятся условие и после того как юзер наберёт 50000 скора оно будет всегда верным... => код не верный...

Нужно что-то вроде:

Quote (ezhickovich)
Если это должно сработать только раз, то заведи переменную и прибавляй жизнь только если она равна нулю к примеру... (ну и естественно ставь ей значение 1, когда когда скор будет больше 50000)

Это учитывая то, что жизнь прибавится только раз...



Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
tifasoДата: Вторник, 30 Ноября 2010, 11:36 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
Код я собрал при помощи декодера.
Так что он верный!
Нужно только сделать чтобы его не зацикливало!
Если ставить равно то добавление происходит только когда счёт равен 50000, а в игре может получится что он чуть больше 50000 и событие всё равно должно произойти, но только один раз



Мой сайт: http://tifaso.narod.ru/
Мои проекты: Cерия игр Hyougo;
Медвежонок Кит;
Argo Player; Text Manager
LorderonДата: Вторник, 30 Ноября 2010, 11:56 | Сообщение # 6
старожил
Сейчас нет на сайте
Очки при этом должны сниматься?
Если да, то:
Code
if (score >= 50000)  
{  
lives += 3;  
score-=50000;
sound_play(wav_1up);  
}
AnotherNoobДата: Вторник, 30 Ноября 2010, 11:57 | Сообщение # 7
заслуженный участник
Сейчас нет на сайте
Ну конечно! Вы же пишите в Step! Там действие происходит при каждом обновлении комнаты. Добавьте в этот скрипт строчку для обнуления очков!
ezhickovichДата: Вторник, 30 Ноября 2010, 12:04 | Сообщение # 8
[Великий и могучий хозяинъ]
Сейчас нет на сайте
tifaso, я тебе уже написал ответ... (самый очевидный...)

Добавлено (30.11.2010, 12:00)
---------------------------------------------
strade, зачем обнулять очки?
Ведь ГГ может потом набрать ещё очков и т.д.

Добавлено (30.11.2010, 12:04)
---------------------------------------------
Впрочем автор сам виноват...
Ему предложили несколько вариантов, а ему никакой не нравится...
Хотя мы не экстрасенсы... wink




Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
AnotherNoobДата: Вторник, 30 Ноября 2010, 12:04 | Сообщение # 9
заслуженный участник
Сейчас нет на сайте
Quote (ezhickovich)
strade, зачем обнулять очки?
Ведь ГГ может потом набрать ещё очков и т.д.


Ну так он потом опять 50000 тысяч наберёт.. короче tifaso, объясните нам, должны-ли они обнуляться или они опять должны прибавляться к тому же числу? Если да, то логичнее будет сделать 2 счётчика - один внутренний, который обнуляется, а второй внешний - для игрока и вывода на экран.
tifasoДата: Вторник, 30 Ноября 2010, 12:56 | Сообщение # 10
постоянный участник
Сейчас нет на сайте
Quote
strade, зачем обнулять очки?
Ведь ГГ может потом набрать ещё очков и т.д.

Здесь я согласен обнулять очки не нужно
Quote
Впрочем автор сам виноват...
Ему предложили несколько вариантов, а ему никакой не нравится...
Хотя мы не экстрасенсы...

Просто разьясните подробнее я просто не могу понять как это сделать
Code
if (score = 50000)     
{     
if var=1   
}   
{   
lives += 0;     
}

Этот код вообще ошибку выдаёт, а как ещё можно я не знаю

Quote

Ну так он потом опять 50000 тысяч наберёт.. короче tifaso, объясните нам, должны-ли они обнуляться или они опять должны прибавляться к тому же числу? Если да, то логичнее будет сделать 2 счётчика - один внутренний, который обнуляется, а второй внешний - для игрока и вывода на экран.

Да очки обнуляться не должны. После того как должно произойти событие, счёт также как ранее должен продолжать прибавлятся. А вообще вся схема счёта у меня собрана на стандартных кнопках Game Maker.



Мой сайт: http://tifaso.narod.ru/
Мои проекты: Cерия игр Hyougo;
Медвежонок Кит;
Argo Player; Text Manager


Сообщение отредактировал tifaso - Вторник, 30 Ноября 2010, 13:00
LgunchikДата: Вторник, 30 Ноября 2010, 13:08 | Сообщение # 11
постоянный участник
Сейчас нет на сайте
добавь переменную
Code
if (новаяПеременная >= 50000)
{
lives += 3;
новаяПеременная=0
sound_play(wav_1up);
}

а на экране отображай score
____________
магу привести пример.....если нужно


>
D9TEJI=DДата: Вторник, 30 Ноября 2010, 13:47 | Сообщение # 12
частый гость
Сейчас нет на сайте
if (score=50000)
{lives+=1 score+=1}

Да, код не совершенен, но сработать должен.

LgunchikДата: Вторник, 30 Ноября 2010, 13:51 | Сообщение # 13
постоянный участник
Сейчас нет на сайте
D9TEJI=D, фишка в том что может получиться так, что ГГ соберёт больше 50000 очков но так и переменная score не присвоит значение 50000...к тому же мой код работает как надо))) cool

>
AGENTX001Дата: Вторник, 30 Ноября 2010, 13:53 | Сообщение # 14
почётный гцупер
Сейчас нет на сайте
if score => 49999
{
lives += 1
score-=50000
sound_play (wav_1up)
}

Нда вот так!

LgunchikДата: Вторник, 30 Ноября 2010, 13:59 | Сообщение # 15
постоянный участник
Сейчас нет на сайте
AGENTX001, читай посты
Quote (tifaso)
Quote
strade, зачем обнулять очки?
Ведь ГГ может потом набрать ещё очков и т.д.

Здесь я согласен обнулять очки не нужно



>
tifasoДата: Вторник, 30 Ноября 2010, 14:10 | Сообщение # 16
постоянный участник
Сейчас нет на сайте
Lgunchik Хорошо только лучше если ты напишешь пример, а то у меня с переменными вообще сплошные проблемы.


Мой сайт: http://tifaso.narod.ru/
Мои проекты: Cерия игр Hyougo;
Медвежонок Кит;
Argo Player; Text Manager
ezhickovichДата: Вторник, 30 Ноября 2010, 14:46 | Сообщение # 17
[Великий и могучий хозяинъ]
Сейчас нет на сайте
tifaso, Игрок может получить больше 50000 скора только один раз?

Добавлено (30.11.2010, 14:46)
---------------------------------------------
Если да...
То создай где-нить переменную (к примеру achiv_livebonus) и присвой ей значение 0

Потом проверяй так:

Code
if (achiv_livebonus == 0 && score >= 50000)
{
      live += 3;
      achiv_livebonus = 1;
}

На ГМЛ наверно будет что-то вроде:
Code
if (score >= 50000)
{
       if (achiv_livebonus = 0)
       {
            live += 3;
            achiv_livebonus = 1;
       }
}



Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!


Сообщение отредактировал ezhickovich - Вторник, 30 Ноября 2010, 14:48
tifasoДата: Вторник, 30 Ноября 2010, 15:22 | Сообщение # 18
постоянный участник
Сейчас нет на сайте
ezhickovich
Quote
tifaso, Игрок может получить больше 50000 скора только один раз?

Не понял вопроса счёт очков как есть так и идёт, а событие должно произойти только один раз дальше счёт также потихоньку должен прибавлятся как и до этого не обнуляя текущий счёт.



Мой сайт: http://tifaso.narod.ru/
Мои проекты: Cерия игр Hyougo;
Медвежонок Кит;
Argo Player; Text Manager
ezhickovichДата: Вторник, 30 Ноября 2010, 15:27 | Сообщение # 19
[Великий и могучий хозяинъ]
Сейчас нет на сайте
Quote (tifaso)
Не понял вопроса счёт очков как есть так и идёт, а событие должно произойти только один раз дальше счёт также потихоньку должен прибавлятся как и до этого не обнуляя текущий счёт.

Перефразирую...
Если игрок наберёт 100000 очков должна прибавится жизнь?



Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
tifasoДата: Вторник, 30 Ноября 2010, 15:49 | Сообщение # 20
постоянный участник
Сейчас нет на сайте
Да именно так!
Подскажи скрипт на примере.



Мой сайт: http://tifaso.narod.ru/
Мои проекты: Cерия игр Hyougo;
Медвежонок Кит;
Argo Player; Text Manager
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Как сделать дополнительную жизнь при 50000 очков? (Как записать такой скрипт)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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