Как сделать так, чтобы только один герой мог покупать предмет?

  • Автор темы Автор темы BigBug
  • Дата начала Дата начала
  • Официальное уведомление администрации CustomGames.RU
    В связи с масштабным техническим сбоем в инфраструктуре прежнего хостинг-провайдера (Beget), работа форума CustomGames.RU была оперативно перенесена на новую серверную площадку и развёрнута из резервной копии базы данных.

    • Безопасность данных: учётные записи и данные пользователей находятся в полной безопасности. Все пароли и защищаемые параметры хранятся исключительно в криптографически зашифрованном (хэшированном) виде — никаких критических инцидентов для аккаунтов пользователей не произошло.
    • Временные технические ограничения: на этапе синхронизации файлового хранилища часть статических материалов (пользовательские аватары и архивные вложения) временно недоступна. По мере получения доступа к файловым архивам все материалы будут восстановлены в полном объёме.

BigBug

Новичок
25 Май 2026
7
2
Не могу сделать. Может, кто-нибудь делал что-то подобное до этого? Думаю, хорошая врождёнка
 
Можно сделать как:
при появлении в игре, герою в инвентарь кладётся предмет, который отсутствует в магазине. Он ничего пока не делает. Предмет можно прожать, чтобы потратить N голды, и заменить его на предмет, который уже что-то делает
 
Не могу сделать. Может, кто-нибудь делал что-то подобное до этого? Думаю, хорошая врождёнка
function GameMode:OrderFilter(filterTable)
if not filterTable then
return true
end

if filterTable.order_type == DOTA_UNIT_ORDER_PURCHASE_ITEM
and filterTable.shop_item_name == "item_tango" then

local hero = PlayerResource:GetSelectedHeroEntity(filterTable.issuer_player_id_const)

if not hero or hero:GetUnitName() ~= "npc_dota_hero_doom_bringer" then
return false
end
end

return true
end

Ну и про это не забудь mode:SetExecuteOrderFilter(Dynamic_Wrap(GameMode, "OrderFilter"), self)
Если хочешь врожденку делай просто пустышку и выставляй предмет и героя нужного в код.
 
Последнее редактирование:
Реклама: