Добавлен 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
Т.е. у меня есть какие-то данные
Как и указал нвц
Отредактирован avuremybe
Иначе у меня страница магазина будет формироваться туеву хучу времени.
Делай структурами и храни данные в них, это будет и удобнее, и проще.
Кроме того, при заполнении можно создавать каждому магазину/инвентарю свой пул всех доступных предметов и переносить предметы из него, а не копировать.
Отредактирован avuremybe
Там же parentKey - GetUnitUserData().
А чем удобнее и проще то?
То есть единственное преимущество структуры над хэш-таблицей - это разница в скорости обращения к глобалке и к хэшу. И на сколько я знаю, она не велика.
Циклом легче подбирать если такого есть хеша счетчик
Подбор цико вот как выглядит...
Отредактирован Ige