Вызывается из PLAYER:SellDoor до продажи. Решает, разрешена ли продажа, и назначает сумму компенсации.
Реализация по умолчанию сначала спрашивает класс профессии игрока (метод CanSellDoor), и только если тот вернул nil, возвращает 66% от цены двери:
function GM:OnPlayerSellDoor(ply, ent)
local canSell, refund = player_manager.RunClass(ply, "CanSellDoor", ent)
if canSell != nil then return canSell, refund end
return true, math.floor(self.Config.Defaults.DoorCost * self.Config.Defaults.DoorSellPercent)
end
Аргументы
1 Player plyПродавец (главный владелец двери).
2 Entity entПродаваемая дверь.
Возвращает
1 booleanРазрешить ли продажу. false/nil: продажа отменяется.
2 numberСумма компенсации. nil: считается по конфигу.
Пример
Запрет продажи дверей во время рейда:
hook.Add("OnPlayerSellDoor", "NoSellDuringRaid", function(ply, ent)
if ply.InRaid then return false end
end)