Physgun Wiki

GM:OnPlayerSellDoor

 GM:OnPlayerSellDoor( Player ply, Entity ent )

Вызывается из 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)