Как сделать дополнительную жизнь при 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) --------------------------------------------- Впрочем автор сам виноват... Ему предложили несколько вариантов, а ему никакой не нравится... Хотя мы не экстрасенсы...
Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
|
|
| |
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...к тому же мой код работает как надо)))
>
|
|
| |
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 |
постоянный участник
Сейчас нет на сайте
| ezhickovichQuote 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
|
|
| |