Добавлен avuremybe
БД содержит равкоды юнитов, хранится в хэше.
Какие есть варианты проверить содержится ли уже такое значение в БД, кроме перебора?
Какие есть варианты проверить содержится ли уже такое значение в БД, кроме перебора?
Принятый ответ
avuremybe, как тебе такой вариант?
function HaveItem takes unit shop, integer itemid returns boolean
return LoadBoolean(ht, GetUnitUserData(shop), itemid)
endfunction
function ShopAddItem takes unit shop, integer itemid returns nothing
if not HaveItem(shop, itemid) then
//...
set lastItem = lastItem + 1
call SaveInteger(ht, GetUnitUserData(shop), lastItem, itemid)
call SaveBoolean(ht, GetUnitUserData(shop), itemid, true)
//...
endif
endfunction
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. avuremybe
Проморгал, что ты в качестве childKey использовал ID предмета.
Действительно, я могу на этой основе построить решение моей проблемы.
Спасибо!
доставать мы потом его как будем?
Ред. scopterectus
Ой, сори. тупанул. ))
Ред. avuremybe
У меня инвентарь бесконечный.
+ хэштейбл тоже не бесконечный
Хотя скорее 8192, но да не важно
Ред. avuremybe
Я понятия не имею, сколько у меня будет предметов, но т.к. карта - рпг, то всякой чепухи типа ингридиентов будет не мало. Поэтому мне нравится идея бесконечного инвентаря.