У меня такой вопрос по коду:
Делал инвентарь. Создал сетку из объектов-ячеек. При подборе предмета(столкновения с игроком) идет проверка на позицию ячейки и свободна ли она. Все работает хорошо, но когда инвентарь полон, а свободных ячеек нет, выскакивает соответственная ошибка. Ну я и решил добавить условие(если ячейка не пустая) и "бездействие".
Вот код "o_item_parent(Событие столкновения))"
Код
with(o_inv_box)
{
for (i=0; i<10; i+=1)
{
for (j=0; j<6; j+=1)
{
if (box[i,j].item ==-1)
{
if (box[i,j].type == '')
{
box[i,j].item = other.object_index;
box[i,j].sp=other.sp;
box[i,j].mana=other.mana;
box[i,j].dmg=other.dmg;
box[i,j].dis=other.dis;
box[i,j].item_type=other.item_type;
with(other)
{instance_destroy();}
exit;
}
}
else
if (box[i,j].item != -1){exit;}
}
}
}
А это в "o_inv_box(Создание)"
Код
item = -1;
type = '';
for(i = 0; i < 10; i ++) {
for(j = 0; j < 6; j ++) {
box[i,j] = instance_position(xstart+view_xview[0],ystart+view_yview[0],o_inv_box);
}
}
dmg=0;
sp=0;
mana=0;
dis='';
item_type=0;
И что у меня в итоге получается: если оставить код без второго условия, то все предметы подбираются и появляются в инвентаре как надо, а если с условием if (box[i,j].item != -1){exit;}, то предмет, который в первой ячейке является приоритетным, и пока там лежит что-то, то ничего больше не подбирается. Если он пустой, то помещается в первую ячейку и снова ничего не делает.
Подскажите как исправить код, пожалуйста
Нашел в чем ошибка, благодаря одному из старых примеров у вас на сайте