Четверг, 28 Марта 2024, 11:28

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 4 из 4
  • «
  • 1
  • 2
  • 3
  • 4
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Как сделать инвентарь в игре? (подскажите то, как реализовать на GM)
Как сделать инвентарь в игре?
Dva_KotaДата: Среда, 22 Декабря 2010, 17:58 | Сообщение # 61
заслуженный участник
Сейчас нет на сайте
Вместо этого аргумента можно писать или сразу готовый текст в кавычках, или "переменную, отвечающую за текст" (о ней я писал выше).


Новый пример инвентаря! /20.06.2012/

Energy Wars
zik13Дата: Среда, 22 Декабря 2010, 18:19 | Сообщение # 62
Dark wolf
Сейчас нет на сайте
Quote
3. вот немного подправил твой скрипт

Code
if mouse_check_button_pressed(mb_right)
{
if slot[argument0,1] = 1
{

slot[argument0,0] = 0
slot[argument0,1] = 0
slot[argument0,2] = 0
slot[argument0,3] = 0
slot[argument0,4] = 0
изменение переменноей игрока
}
else
{
slot[argument0,1] -= 1
изменение переменной игрока
}
}

это воспроизведется не взависимости от предмета

Добавлено (22.12.2010, 18:11)
---------------------------------------------
как это исправить

Добавлено (22.12.2010, 18:19)
---------------------------------------------
по по вуду 2 вопроса

спрайт героя стал невидимым

Dva_KotaДата: Четверг, 23 Декабря 2010, 10:32 | Сообщение # 63
заслуженный участник
Сейчас нет на сайте
Quote (zik13)
это воспроизведется не взависимости от предмета

Ну конечно. Я думал ты догадаешься что вместо "изменение переменной игрока" нужно не просто изменять переменную, а предварительно проверить какой предмет в слоте. Проверку делай по индексу спрайта (он у тебя записан в slot[argument0,4]) или лучше по названию предмета (slot[argument0,4]). Проверку делай через switch. Пример:

Code
switch (slot[argument0,4])
     {
     case 'Маленькое зелье hp': увеличение здоровья; break;
     case 'следующий предмет': увеличение следующего параметра; break;
     }

Добавлено (23.12.2010, 10:32)
---------------------------------------------
2. Ты прописал в Draw рисование текста и не прописал рисование самого спрайта объекта. Посмотри, я недавно где-то писал как это исправить.


Новый пример инвентаря! /20.06.2012/

Energy Wars
TheApKoTДата: Четверг, 23 Декабря 2010, 10:42 | Сообщение # 64
GML ProgrammeR
Сейчас нет на сайте
Quote (zik13)
у меня новый инвентарь

Epic Fail.


Посоветуйте, где скачать VB6 :C
zik13Дата: Четверг, 23 Декабря 2010, 10:43 | Сообщение # 65
Dark wolf
Сейчас нет на сайте
я по другому сделал ))
Dva_KotaДата: Четверг, 23 Декабря 2010, 10:44 | Сообщение # 66
заслуженный участник
Сейчас нет на сайте
Что по другому сделал?
Опять новый инвентарь?
blink


Новый пример инвентаря! /20.06.2012/

Energy Wars
zik13Дата: Четверг, 23 Декабря 2010, 10:45 | Сообщение # 67
Dark wolf
Сейчас нет на сайте
Code
if mouse_check_button_pressed(mb_middle)
{  
if slot[argument0,1] = 1
{

slot[argument0,0] = 0
slot[argument0,1] = 0
slot[argument0,2] = 0
slot[argument0,3] = 0
slot[argument0,4] = 0
}
if slot[argument0,1] >= 1
{
slot[argument0,1] -= 1
}
}

if mouse_check_button_pressed(mb_right)
{  
if slot[argument0,1] = 1
{
if slot[argument0,4] = s_heal_smoll { o_player.health+=15 o_player.hpdraw=15 instance_create(o_player.x,o_player.y-25,o_drawhp)}   
if slot[argument0,4] = s_heal_medyum { o_player.health+=30 o_player.hpdraw=30 instance_create(o_player.x,o_player.y-25,o_drawhp)}    
slot[argument0,0] = 0
slot[argument0,1] = 0
slot[argument0,2] = 0
slot[argument0,3] = 0
slot[argument0,4] = 0
}
if slot[argument0,1] >= 1
{
if slot[argument0,4] = s_heal_smoll { o_player.health+=15 o_player.hpdraw=15 instance_create(o_player.x,o_player.y-25,o_drawhp)}   
if slot[argument0,4] = s_heal_medyum { o_player.health+=30 o_player.hpdraw=30 instance_create(o_player.x,o_player.y-25,o_drawhp)}   
slot[argument0,1] -= 1
}
}
Dva_KotaДата: Четверг, 23 Декабря 2010, 10:47 | Сообщение # 68
заслуженный участник
Сейчас нет на сайте
Что то я не врубаюсь.... Что это?

Новый пример инвентаря! /20.06.2012/

Energy Wars
zik13Дата: Четверг, 23 Декабря 2010, 10:48 | Сообщение # 69
Dark wolf
Сейчас нет на сайте
скрипт

Добавлено (23.12.2010, 10:48)
---------------------------------------------
на проверку предмета в инвентаре

TheApKoTДата: Четверг, 23 Декабря 2010, 10:50 | Сообщение # 70
GML ProgrammeR
Сейчас нет на сайте

zik13, тебе же я посоветую попытаться создать свой инвентарь, а не собирать игру по исходникам. Да, маленький, да, убогий, но свой. Ты же хочешь, чтобы игру написали за тебя, и ты потом сказал, что сделал ее сам. Это не дело.


Посоветуйте, где скачать VB6 :C
Dva_KotaДата: Четверг, 23 Декабря 2010, 11:09 | Сообщение # 71
заслуженный участник
Сейчас нет на сайте
zik13, ты думаешь что я тупой? fool Я вижу что это скрипт.
Я имел ввиду что у тебя означает каждая строка. Просто ты не рационально код написал. А когда у тебя будет 50 предметов ты будешь 50 раз if писать? Это не есть хорошо. Тем более ты опять написал этот же скрпит. Я ведь тебе его подправил (на предидущей странице) - убрал лишнюю проверку. Вот такой шаблон второй части кода (начиная со строки if mouse_check_button_pressed(mb_right)):

Code
if mouse_check_button_pressed(mb_right)
{
if slot[argument0,1] = 1
{

slot[argument0,0] = 0
slot[argument0,1] = 0
slot[argument0,2] = 0
slot[argument0,3] = 0
slot[argument0,4] = 0
изменение переменноей игрока
}
else
{
slot[argument0,1] -= 1
изменение переменной игрока
}
}

а проверку делай, всетаки через switch

Вместо

Code
if slot[argument0,4] = s_heal_smoll { o_player.health+=15 o_player.hpdraw=15 instance_create(o_player.x,o_player.y-25,o_drawhp)}    
if slot[argument0,4] = s_heal_medyum { o_player.health+=30 o_player.hpdraw=30 instance_create(o_player.x,o_player.y-25,o_drawhp)}   

Ставь проверку через switch


Новый пример инвентаря! /20.06.2012/

Energy Wars
zik13Дата: Четверг, 23 Декабря 2010, 11:11 | Сообщение # 72
Dark wolf
Сейчас нет на сайте
мне легче как делаю я я там все понимаю и не путаюсь
Dva_KotaДата: Четверг, 23 Декабря 2010, 11:22 | Сообщение # 73
заслуженный участник
Сейчас нет на сайте
Я там немного напутал: Изменение переменнной должно стоять перед обнулением слотов.
А вообще твой способ более громоздкий и менее рациональный.


Новый пример инвентаря! /20.06.2012/

Energy Wars
zik13Дата: Четверг, 23 Декабря 2010, 11:23 | Сообщение # 74
Dark wolf
Сейчас нет на сайте
но рабочий
Dva_KotaДата: Четверг, 23 Декабря 2010, 11:26 | Сообщение # 75
заслуженный участник
Сейчас нет на сайте
Я и не говорю что не рабочий.
Просто мой тебе совет: про оптимизацию лучше подумать заранее (тем более когда тебе готовый код дают), чем потом, когда игра почти готова, но очччень тормозит, переделывать все и думать где бы лишний код убрать.

Такие "мелочи" потом могут собраться в большие тормоза.


Новый пример инвентаря! /20.06.2012/

Energy Wars


Сообщение отредактировал Dva_Kota - Четверг, 23 Декабря 2010, 11:27
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Как сделать инвентарь в игре? (подскажите то, как реализовать на GM)
  • Страница 4 из 4
  • «
  • 1
  • 2
  • 3
  • 4
Поиск:

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