[IGS&DarkRP] Как сделать чтобы профессия не появлялась если она не куплена в F4?

Как сделать чтобы профессия не появлялась если она не куплена в F4?

 IGS("Элитный Джаггернаут", "team_jagv")
 	:SetDarkRPTeams("jagv") -- одна тима (command)
 	:SetCategory("Личная профессия")
 	:SetDescription("Вы сможете ходить за жестого джаггера, с ковбойкой.")
 	:SetPrice(1000)
 	:SetPerma()
	:SetIcon("models/tfusion/playermodels/mw3/sp_juggernaut.mdl", true)

А именно мне надо провести функцию

    customCheck = function(ply) 
        -- нужно провести функцию которая проверяет куплена ли профессия или нет. 
    end,
    CustomCheckFailMsg = "[DarkRP] Вам нужно купить эту профессию",

Добавь в код предмета :SetNetworked()

Потом в кастомчек профессии добавь return ply:HasPurchase("team_jagv")

А что значит “не появлялась” ? Где?

Потому что донатные профы и так должны быть недоступны для тех, кто их не покупал. По умолчанию.

ITEM на скриншоте может иметь 3 значения:

  • nil – профа не продается (не донатная)
  • false – профа продается, но игрок ее не купил
  • ITEM – профа продается и игрок ее купил

Если вы не используете хук IGS.playerCanChangeTeam, то allow будет nil, а tobool(ITEM) при наличии покупки будет true. При отсутствии – false. Соответственно, если профа продается, а у игрока она не куплена, то хук playerCanChangeTeam вернет false и сообщение “Это для донатеров”, не дав рядовому игроку получить доступ к профессии

customCheck хук, насколько я помню, отвечает за возможность взять профессию, а не за ее видимость. В разных F4 за видимость могут отвечать разные вещи

В моем f4 customcheck нужен чтобы она могла пропасть если нету доступа

Тогда ответ с :SetNetworked() корректный для твоего случая. Хоть и не очень красивый. Может, не стоит скрывать профессию из видимости, если она донатная? Пусть у игроков наоборот слюнки текут, наблюдая ее)

1 лайк