Пятница, 29 Марта 2024, 04:20

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

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

Открывай скрипт drag_item и смотри как там сделано. По аналогии при использовании или при выкидывании предмета из инвентаря обнуляй переменные ячейки из которой удаляешь


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

Energy Wars
zik13Дата: Среда, 22 Декабря 2010, 12:43 | Сообщение # 42
Dark wolf
Сейчас нет на сайте
тои есть создать скрипт destroy_item и в нем прописать код обнуления ?

Добавлено (22.12.2010, 12:43)
---------------------------------------------
и еще мне надо реализовать появление таблички в ней кнопки выкинуть и использовать

Dva_KotaДата: Среда, 22 Декабря 2010, 12:54 | Сообщение # 43
заслуженный участник
Сейчас нет на сайте
я бы все делал не скриптом, а кодом, прямо в объекте. Можешь и скрипт сделать.
Ты имеешь ввиду панель с кнопками? Делаешь две кнопки, для одной ставишь "активировать объект инвентарь", для другой "деактивировать объект инвентарь"


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

Energy Wars
zik13Дата: Среда, 22 Декабря 2010, 12:56 | Сообщение # 44
Dark wolf
Сейчас нет на сайте
так под напряв мозг я смог реализовать удаление но удаление всего кол-во предметов а не 1
Dva_KotaДата: Среда, 22 Декабря 2010, 12:57 | Сообщение # 45
заслуженный участник
Сейчас нет на сайте
при удалении проверяй переменную, которая отвечает за количество предметов (комментарии в событии создания инвентаря). Если больше 1 - уменьшай эту переменную на 1, если нет - удаляй предмет из инвентаря

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

Energy Wars


Сообщение отредактировал Dva_Kota - Среда, 22 Декабря 2010, 12:59
zik13Дата: Среда, 22 Декабря 2010, 13:05 | Сообщение # 46
Dark wolf
Сейчас нет на сайте
а как это проделать со скриптом

Сообщение отредактировал zik13 - Среда, 22 Декабря 2010, 13:06
Dva_KotaДата: Среда, 22 Декабря 2010, 13:13 | Сообщение # 47
заслуженный участник
Сейчас нет на сайте
ну там где ты сделал удаление объекта из инвентаря добавь проверку

Code
if (slot[0,1]>1)
{
slot[0,1]-=1
потом выкидывание одного предмета (или использование, в зависимости от того что именно нужно)
}
else
{
удаление (здесь твой скрипт или код для удаление из ячейки инвентаря)
}

Только в коде у тебя, возможно не slot[0,1] будет, а как-то по другому. Главное в квадратных скобках второе число поставь 1 (первое число должно меняться в зависимости от того какая ячейка, смотри по аналогии с тем как ты делал удаление)


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

Energy Wars


Сообщение отредактировал Dva_Kota - Среда, 22 Декабря 2010, 13:14
zik13Дата: Среда, 22 Декабря 2010, 13:16 | Сообщение # 48
Dark wolf
Сейчас нет на сайте
а так пойдет ?

if mouse_check_button_pressed(mb_right)
{
if slot[argument0,0] = 1
slot[argument0,1] = 1
slot[argument0,2] = 1
slot[argument0,3] = 1
slot[argument0,4] = 1
{
slot[argument0,0] = 0
slot[argument0,1] = 0
slot[argument0,2] = 0
slot[argument0,3] = 0
slot[argument0,4] = 0
}
}

Dva_KotaДата: Среда, 22 Декабря 2010, 13:20 | Сообщение # 49
заслуженный участник
Сейчас нет на сайте
Ты сам понял что написал?

p.s.: если понял - напиши комментарии что у тебя делает каждая строка. Я через пол часа вернусь - посмотрю.


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

Energy Wars


Сообщение отредактировал Dva_Kota - Среда, 22 Декабря 2010, 13:21
zik13Дата: Среда, 22 Декабря 2010, 13:54 | Сообщение # 50
Dark wolf
Сейчас нет на сайте
ах да точно

Добавлено (22.12.2010, 13:28)
---------------------------------------------
а терь правильно !

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
}
if slot[argument0,1] >= 1
{
slot[argument0,1] -= 1
}
}

Добавлено (22.12.2010, 13:47)
---------------------------------------------
все работает !

Добавлено (22.12.2010, 13:51)
---------------------------------------------
терь новые вопросы :

1) как сделать так :

внизу кнопка на нее тыкаеш и появляется окошко инвентаря которое можно двигать

2) как сделать что бы при использовании каких не будь зелий и тд.
возле героя появлялся зеленый текст который постепенно исчезает

Добавлено (22.12.2010, 13:54)
---------------------------------------------
3) как реализовать что бы когда зелье из инвентаря исчезало прибавлялись жз

Сообщение отредактировал zik13 - Среда, 22 Декабря 2010, 13:36
Dva_KotaДата: Среда, 22 Декабря 2010, 14:26 | Сообщение # 51
заслуженный участник
Сейчас нет на сайте
1. Как делать появление/исчезание инвентаря я писал выше. Чтобы двигать можно было - привязывай к мышке: проверяешь нажал ли ты кнопку и проверяешь где относительно инвентаря курсор - например сверху делаешь полоску на инвентаре (как в окнах windows) если курсор находится в этой области (координаты проверяй) и если нажата кнопка - привязывай инвентарь к курсору (как привязывал к виду, например - я выше писал), если нет - не привязывай.

2. Добавь игроку переменную, отвечающую за то, рисовать текст или нет. По умолчанию задай ей значение 0. Она, одновременно, будет отвечать за прозрачность текста. И еще создай переменную, в которую будешь записывать текст.
В событии рисования у игрока рисуй текст с прозрачностью (функция draw_text_color() )


Вместо прозрачности ставь переменную, про которую я писал выше (которая отвечает за прозрачность)
Теперь при использовании предмета задавай переменную, отвечающую за прозрачность =1; переменную, отвечающую за текст ="текст, который нужно писать". У игрока должно быть событие alarm0 (можно не 0, а любой другой, если 0 уже есть). Ставь o_player.alarm0=2 (число сам потом подбери). у игрока в событии alarm0 такой код:
Code
if (переменная_отвечающая_за_прозрачность_надписи>0)
{
переменная_отвечающая_за_прозрачность_надписи-=0,01;
alarm0=2;
}

3. В использовании напиши увеличение (или уменьшение) переменных, отвечающих за характеристики игрока (это уже совсем просто)


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

Energy Wars
zik13Дата: Среда, 22 Декабря 2010, 16:37 | Сообщение # 52
Dark wolf
Сейчас нет на сайте
Quote (Dva_Kota)
1. Как делать появление/исчезание инвентаря я писал выше. Чтобы двигать можно было - привязывай к мышке: проверяешь нажал ли ты кнопку и проверяешь где относительно инвентаря курсор - например сверху делаешь полоску на инвентаре (как в окнах windows) если курсор находится в этой области (координаты проверяй) и если нажата кнопка - привязывай инвентарь к курсору (как привязывал к виду, например - я выше писал), если нет - не привязывай.

неочень понял

Quote (Dva_Kota)
3. В использовании напиши увеличение (или уменьшение) переменных, отвечающих за характеристики игрока (это уже совсем просто)

я так делал но где прописать не понял

Dva_KotaДата: Среда, 22 Декабря 2010, 16:44 | Сообщение # 53
заслуженный участник
Сейчас нет на сайте
1. Что именно не понял? Давай по частям делать. Ты понял как сделать появление/исчезновение инвентаря?

3. там же, где прописываешь "убрать предмет из инвентаря" (только проверяй по имени какой объект был в ячейке)


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

Energy Wars
zik13Дата: Среда, 22 Декабря 2010, 17:04 | Сообщение # 54
Dark wolf
Сейчас нет на сайте
Quote (Dva_Kota)
1. Что именно не понял? Давай по частям делать. Ты понял как сделать появление/исчезновение инвентаря?

с 3 вопросом разберемся и первый продолжим

Quote (Dva_Kota)
3. там же, где прописываешь "убрать предмет из инвентаря" (только проверяй по имени какой объект был в ячейке)

а как это будет выглядить со скриптом выше

Добавлено (22.12.2010, 17:04)
---------------------------------------------
по по вуду 2

draw_text_color(x,y,???,c_green,c_green,c_green,c_green)

??? - че там должно быть

Dva_KotaДата: Среда, 22 Декабря 2010, 17:29 | Сообщение # 55
заслуженный участник
Сейчас нет на сайте
по поводу 2: здесь должна быть переменная, содержащая текст, который должен отображаться (или можешь просто текст в кавычках написать)

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

Energy Wars
zik13Дата: Среда, 22 Декабря 2010, 17:31 | Сообщение # 56
Dark wolf
Сейчас нет на сайте
со вторым не выходит

Добавлено (22.12.2010, 17:31)
---------------------------------------------
http://rghost.ru/3710715 - вот исх сделай плиз все что я попросил

Dva_KotaДата: Среда, 22 Декабря 2010, 17:37 | Сообщение # 57
заслуженный участник
Сейчас нет на сайте
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
изменение переменной игрока
}
}

p.s.: сегодня ничего тебе делать не буду, только подсказывать (у меня праздник, я просто не смогу тебе готовые коды писать)

Добавлено (22.12.2010, 17:37)
---------------------------------------------
если не выходит - пиши конкретно что не получается. Если выдает ошибку - выкладывай лог ошибки.


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

Energy Wars


Сообщение отредактировал Dva_Kota - Среда, 22 Декабря 2010, 17:36
zik13Дата: Среда, 22 Декабря 2010, 17:44 | Сообщение # 58
Dark wolf
Сейчас нет на сайте
так давай разберемся с 2 вопросом :

напиши по подробней как реализовать

Dva_KotaДата: Среда, 22 Декабря 2010, 17:47 | Сообщение # 59
заслуженный участник
Сейчас нет на сайте
я тебе, вроде бы, очень подробно все описал по второму. Что конкретно не получается? что не понятно? или ты хочешь чтобы я опять то же самое написал?

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

Energy Wars
zik13Дата: Среда, 22 Декабря 2010, 17:55 | Сообщение # 60
Dark wolf
Сейчас нет на сайте
просто не все понятно где писать и как

Добавлено (22.12.2010, 17:55)
---------------------------------------------
в коде draw_text....

там есть слово string - че там писать

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

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