wargamen
Участник
  
Репутация: 19
Offline
Пол: 
API: Game Maker 6.1
Деятельность: Java, GMS, pixelart
Сообщений: 155
Java, i love you:3
|
 |
« Ответ #300 : Март 09, 2013, 18:33:54 » |
|
Ты лучше обьясни по подробнее. Я тебя немного не пойму.
|
|
|
|
|
Записан
|
"Если ты играешь в престолы, ты должен либо умереть, либо победить! Среднего не бывает!". Песнь льда и пламени.
"Закон бесконечной всемирной извращенности или закон Феликса." Когда сисадмины правили Землей.
|
|
|
cfif31
Посетитель

Репутация: 0
Offline
API: Game Maker 8.0 Pro
Сообщений: 24
|
 |
« Ответ #301 : Март 09, 2013, 18:38:37 » |
|
Ты лучше обьясни по подробнее. Я тебя немного не пойму.
Я использую пример инвентаря в отдельной комнате код из объекта obj_smil_base я изменил (убрал лишнее и item[slot_x,slot_y]+=1; поменял на item[slot_x,slot_y]-=1;) with (obj_inv)//выполняем код для объекта obj_inv { for (slot_y=0; slot_y<inv_height_y; slot_y+=1)//выбираем строку инвентаря для проверки { for (slot_x=0; slot_x<inv_width_x; slot_x+=1)//проверяем все ячейки в этой строке, а потом опять выполнится сторка выше и мы перейдем к следующепй строке инвентаря { if (txt[slot_x,slot_y]=other.name)//когда находим ячейку с таким же предметом { with (other) { if variable_local_exists('max_number')//если у этого объекта есть переменная max_number (ограничение на количество предметов в одной ячейке) { if (other.item[other.slot_x,other.slot_y]<max_number)//проверяем сколько предметов в этой ячейке. если меньше чем max_number: { other.txt[other.slot_x,other.slot_y]=name;//записываем в массив имя other.spr[other.slot_x,other.slot_y]=sprite_index;//записываем в массив какой спрайт отображать в нивентаре other.item[other.slot_x,other.slot_y]+=1;//увеличиваем кол-во предментов на 1 other.max_number[other.slot_x,other.slot_y]=max_number;//записываем максимальное количество предметов в слоте instance_destroy();//удаляем предмет из комнаты exit;//после того как нашли пустую ячейку и записали все нужные параметры прекращаем выполнение кода. остальные ячейки просматривать не имеет смысла } } else {//если у этого объекта нет переменной max_number то все предметы "складываем" в одну ячейку other.txt[other.slot_x,other.slot_y]=name;//записываем в массив имя other.spr[other.slot_x,other.slot_y]=sprite_index;//записываем в массив какой спрайт отображать в нивентаре other.item[other.slot_x,other.slot_y]+=1;//увеличиваем кол-во предментов на 1 (это для отображния в инвентаре. пока что не работает other.max_number[other.slot_x,other.slot_y]=0;//записываем максимальное количество предметов в слоте (т.к. это для безлимитных предметов - ставим 0 instance_destroy();//удаляем предмет из комнаты exit;//после того как нашли пустую ячейку и записали все нужные параметры прекращаем выполнение кода. остальные ячейки просматривать не имеет смысла } } } } } } Добавлено: Март 09, 2013, 21:39:14 Помогите пожалуйста с инвентарем в отдельной комнате, а то когда я открываю инвентарь в комнате с игрой все изменения пропадают, пробовал сохранять первую комнату загружать её из инвентаря всё наоборот(первая загружается во второй изменения проподают)! Как быть?
|
|
|
|
|
Записан
|
|
|
|
MusNik
KeeVee Games
GM Pro user
Репутация: 733
Offline
Пол:  Награды:  ![За постоянность! [200 дней на форуме] За постоянность! [200 дней на форуме]](http://forum.hellroom.ru/awards/78e87f17e3713947881315332c8ce619_hellroomforum_time_silver.gif) ![За лояльность! [+500 репутации] За лояльность! [+500 репутации]](http://forum.hellroom.ru/awards/90cb589b7473ca11705300194079bf64_hellroomforum_good_bronze.gif)   ...
API: GameMaker Studio 2
Сообщений: 3241
|
 |
« Ответ #302 : Март 09, 2013, 22:23:01 » |
|
Помогите пожалуйста с инвентарем в отдельной комнате, а то когда я открываю инвентарь в комнате с игрой все изменения пропадают, пробовал сохранять первую комнату загружать её из инвентаря всё наоборот(первая загружается во второй изменения проподают)! Как быть?
Сделать комнату постоянной?
|
|
|
|
|
Записан
|
|
|
|
|
Dva_Kota
|
 |
« Ответ #303 : Март 10, 2013, 02:11:17 » |
|
cfif31, почитай внимательно первый пост - там есть ответы на многие вопросы. первая ссылка под спойлером - как удалить предметы из инвентаря (там немного не так как при добавлении, т.к. нужно проверять сколько их осталось и, если удалены все предметы, полностью очищать ячейку, а не только количество уменьшать). Добавлено: Март 10, 2013, 02:26:18 И, на всякий случай, поясню про other в этом примере. with (obj_inv)//здесь из объекта "Игрок" (или из любого другого объекта) "перемещаемся" в инвентарь { for (slot_y=0; slot_y<inv_height_y; slot_y+=1) { for (slot_x=0; slot_x<inv_width_x; slot_x+=1) { if (txt[slot_x,slot_y]='Cav') with (other)//здесь "перемещаемся" из инвентаря (т.к. мы до этого "переместились" в него) обратно в первоначальный объект. //Теперь все переменные, перед которыми стоит "other." - это переменные объекта obj_inv { other.item[other.slot_x,other.slot_y]-=1; instance_create(624,928,obj_cav1); with(obj_cav1) move_towards_point(64,34,6) exit; } } } } Вообще из этого кода можно убрать with (other) и other перед переменными. Такая конструкция был сделана там где было много обращений к переменным объекта, в котором выполнялся код (чтобы не писать много раз other перед переменными), потом эту конструкцию я скопировал, а убрать лишнее забыл.
|
|
|
|
|
Записан
|
|
|
|
Federico
Новичок
Репутация: 1
Offline
API: Game Maker 8.0 Lite
Сообщений: 4
|
 |
« Ответ #304 : Март 28, 2013, 23:58:00 » |
|
У меня почему то сам инвентарь вместе с камерой не перемещается  Что делать?  В примере всё работает, а когда копировал в свой TDS единственное что не получается: Инвентарь с предметами не перемещается! Остаётся в левом верхнем углу комнаты 
|
|
|
|
|
Записан
|
|
|
|
|
onChyk
|
 |
« Ответ #305 : Март 29, 2013, 11:48:28 » |
|
У меня почему то сам инвентарь вместе с камерой не перемещается  Что делать?  В примере всё работает, а когда копировал в свой TDS единственное что не получается: Инвентарь с предметами не перемещается! Остаётся в левом верхнем углу комнаты  Рисуй инвентарь не в координатах x,y , а в view_xview[0]+x и view_yview[0]+y
|
|
|
|
|
Записан
|
|
|
|
Federico
Новичок
Репутация: 1
Offline
API: Game Maker 8.0 Lite
Сообщений: 4
|
 |
« Ответ #306 : Март 29, 2013, 13:32:50 » |
|
У меня почему то сам инвентарь вместе с камерой не перемещается  Что делать?  В примере всё работает, а когда копировал в свой TDS единственное что не получается: Инвентарь с предметами не перемещается! Остаётся в левом верхнем углу комнаты  Рисуй инвентарь не в координатах x,y , а в view_xview[0]+x и view_yview[0]+y Немного не понял, куда писать 
|
|
|
|
|
Записан
|
|
|
|
|
onChyk
|
 |
« Ответ #307 : Март 29, 2013, 13:48:11 » |
|
Допустим, в событии draw ты рисуешь что-то в координатах X:100 и Y:100. Теперь ты должен рисовать в координатах X:view_xview[0]+100 и Y:view_yview[0]+100. Если не понял, то в FAQ про это написано.
|
|
|
|
|
Записан
|
|
|
|
Federico
Новичок
Репутация: 1
Offline
API: Game Maker 8.0 Lite
Сообщений: 4
|
 |
« Ответ #308 : Март 29, 2013, 14:18:41 » |
|
Допустим, в событии draw ты рисуешь что-то в координатах X:100 и Y:100. Теперь ты должен рисовать в координатах X:view_xview[0]+100 и Y:view_yview[0]+100. Если не понял, то в FAQ про это написано.
Всё, понял спасибо  Добавлено: Март 29, 2013, 21:00:38 У меня ещё одна проблема, когда я перехожу между комнатами лут не сохраняется, что делать?  Добавлено: Март 30, 2013, 00:26:04 У меня при переходе лут не сохраняется в инвенторе
|
|
|
|
|
Записан
|
|
|
|
|
Dva_Kota
|
 |
« Ответ #309 : Март 30, 2013, 01:08:41 » |
|
Сделай инвентарь постоянным объектом и ставь его только в первую комнату.
|
|
|
|
|
Записан
|
|
|
|
Federico
Новичок
Репутация: 1
Offline
API: Game Maker 8.0 Lite
Сообщений: 4
|
 |
« Ответ #310 : Март 30, 2013, 01:19:51 » |
|
Сделай инвентарь постоянным объектом и ставь его только в первую комнату.
Я, конечно, извеняюсь, я не умею это делать.. Я про то, что бы сделать его постоянным 
|
|
|
|
|
Записан
|
|
|
|
demon3521
Посетитель

Репутация: 6
Offline
Пол: 
API: Game Maker 8.0 Pro
Сообщений: 36
|
 |
« Ответ #311 : Март 30, 2013, 01:30:32 » |
|
в свойствах объекта persistent поставь галочку
|
|
|
|
|
Записан
|
|
|
|
Sanek94
Участник
  
Репутация: 24
Offline
Пол: 
API: Game Maker 8.0 Pro
Сообщений: 214
|
 |
« Ответ #312 : Март 30, 2013, 19:14:10 » |
|
FedericoТак же, в настройке комнаты, делай комнату постоянной - чтобы изменения в ней сохранялись.
|
 Пример инвентаря
Безымянный.png (64.8 Кб, 691x897 - просмотрено 930 раз.)
|
|
|
Записан
|
|
|
|
Night
Новичок
Репутация: 1
Offline
API: Game Maker 8.0 Pro
Деятельность: Создаю игры
Сообщений: 7
Программист NewTimeStudio
|
 |
« Ответ #313 : Март 31, 2013, 17:09:24 » |
|
Классный пример.  Только слоты инвентаря лучше сделать полупрозрачными и с закругленными краями. Это лично мое мнение 
|
|
|
|
|
Записан
|
В команду NewTimeStudio идет набор желающих.На данный момент требуется художник 2d спрайтов
|
|
|
ALT
Посетитель

Репутация: 0
Offline
API: GameMaker Studio
Сообщений: 30
|
 |
« Ответ #314 : Апрель 06, 2013, 10:07:01 » |
|
Классный пример.  Только слоты инвентаря лучше сделать полупрозрачными и с закругленными краями. Это лично мое мнение  А в чем проблема? Один файлик-то всего перерисовать. Это можно и самостоятельно сделать
|
|
|
|
|
Записан
|
|
|
|
|