Gban (Попытка забанить через Gban)

local superadminRanks = {
    ["superadmin"]    = true,
 }
 
 local function isSuperAdmin(ply)
      return superadminRanks[ply:GetUserGroup()]
 end
 
 TEAM_BANNED = DarkRP.createJob("Забаненый", {
    color = Color(0, 255,242, 255),
    model = {"models/player/charple.mdl"},
    description = [[Профессия забаненого]],
    weapons = {},
    command = "zabanen",
    max = 0,
    salary = 0,
    admin = 0,
    vote = false,
    candemote = false,
    category = "NonRP",
    customCheck = isSuperAdmin,
    CustomCheckFailMsg = "Вы хотите стать забаненым:?"
 })
 
 
 
 -- Создание категории в которой будет находится забаненный
 DarkRP.createCategory{ 
    name = "NonRP",
    categorises = "jobs",
    startExpanded = false,
    color = Color(18, 135, 0, 255),
    canSee = function(ply) return true end,
    sortOrder = 10,
 }

gban_New.lua (29,4 КБ)

[ERROR] igs/extensions/sam.lua:40: attempt to call method ‘sam_getrank’ (a nil value)

  1. v - igs/extensions/sam.lua:40
  2. Run - lua/includes/modules/hook.lua:96
    3. fOnSuccess - igs/core_sv.lua:56
    4. fOnSuccess - igs/apinator.lua:72
    5. onsuccess - igs/apinator.lua:61
    6. unknown - lua/includes/modules/http.lua:59

Ошибка не от гбана

а что это? что мне делать?

Наверное расписать адекватно свою проблему
Написал в заголовке попытка забанить через гбан
Приписал профу и категорию нонрп
Влепил левую ошибку
Ну и что дальше? Что тут понятного?

Я попытался по гайду сделать профессию забаненого на SAM, установил модуль в SAM сделал все как надо захожу на сервер и пытаюсь забанить через Gban и показывает эта ошибка

[ERROR] igs/extensions/sam.lua:40: attempt to call method ‘sam_getrank’ (a nil value)

    v - igs/extensions/sam.lua:40
    Run - lua/includes/modules/hook.lua:96
    3. fOnSuccess - igs/core_sv.lua:56
    4. fOnSuccess - igs/apinator.lua:72
    5. onsuccess - igs/apinator.lua:61
    6. unknown - lua/includes/modules/http.lua:59

Конечно у меня есть подозрение что ошибка от того что я випку установил платную в GMDonate и после теста выдал себе супер админку, но точно знаю что ошибка пошла после установки модуля…

Сейчас удалил випку из GMDonate и модуль, ошибка пропала, также удалил профессию забаненого

на счёт Gban, вижу что мой. Достаточно было поставить последню версию от
30.03.2024
gban_New.lua (25,8 КБ)

в конце файла есть функция которая возвращает sam_getrank. Ибо она уба удалена из SAM ~153v

function PLAYER:sam_getrank()
    return self:sam_get_nwvar("rank", "user")
end

щас попробую, ты не знаешь случаем как сделать ноуклип при нажатии на кнопку стандартную? я указал в рангах разрешение на ноуклип, но могу летать только когда пропишу !noclip

timer.Simple(1, function()
 sam.ranks.take_permission('admin', 'can_noclip')
end)

Если не работает попробуй


hook.Remove("PlayerNoClip", "SAM.CanNoClip")

но проверь не могут ли юзеры летать.

timer.Simple( .1, function()
    hook.Remove( 'PlayerNoClip', 'SAM.CanNoClip' ) -- удаляем ноклип SAM
end)

hook.Add( "PlayerNoClip", "noclip", function( ply )
    if not (ply:CheckGroup("superadmin") or ply:getJobTable().nonrp) then
        return false
    end
end)

У меня есть этот код который удаляет юзерам летать

timer.Simple( .1, function()
    hook.Remove( 'PlayerNoClip', 'SAM.CanNoClip' ) -- удаляем ноклип SAM
end)

hook.Add( "PlayerNoClip", "noclip", function( ply )
    if not (ply:CheckGroup("superadmin") or not --[[добавил not]] ply:getJobTable().nonrp) then
        return false
    end
end)

Этот код не работает? добавил not

Летать могу но даже когда имею ранг “user”

ну по логике →
Если игрок не СуперАдмин или Job не nonrp, то noclip включить не сможет

я вспомнил еще, когда сервер стоял на хостинге я не мог летать за ранг юзера, то есть стоял чистая самка

чистый SAM

	sam.permissions.add("can_noclip", nil, "admin")

	hook.Add("PlayerNoClip", "SAM.CanNoClip", function(ply)
		if ply:HasPermission("can_noclip") then
			return true
		end
	end)

вот щас дал ранг суперадмин, за него могу летать свободно, но когда стоит кастомный ранг и там есть права ноуклипа, но при нажатии стандартной кнопки летать не мог только через команду

local T={
admin=true,
superadmin=true
}
hook.Add('PlayerNoClip', "FFFFFFFFFFF", function(pl)
if not T[pl:sam_getrank()] then 
return false
end
end)

Удали другие хуки на ноуклип

а что с этим кодом делать надо…?

закинуть в SH часть. Такой вопрос настараживает меня.

у меня уже голова не варит просто