I need help in my own script!

Hi, so i’m a starter in Lua Code and i’m trying to create my own server, all is going good but i need help in some stuff.

Those are:
1 - I’ve done a godmode script and the only problem is that i can’t set for only admins to use, so if someone can help me out in that i would be grateful.

My godmode script:

–Godmode by Tweety & Pedrinho, do not redistrbute without permission–

state=true

RegisterCommand(“godmode”,function()
Citizen.Wait(1)

if state==true then

	TriggerEvent('chatMessage' , "^2Godmode: ON")
				SetEntityInvincible(GetPlayerPed(-1), true)
		SetPlayerInvincible(PlayerId(), true)
		SetPedCanRagdoll(GetPlayerPed(-1), false)
		ClearPedBloodDamage(GetPlayerPed(-1))
		ResetPedVisibleDamage(GetPlayerPed(-1))
		ClearPedLastWeaponDamage(GetPlayerPed(-1))
		SetEntityProofs(GetPlayerPed(-1), true, true, true, true, true, true, true, true)
		SetEntityOnlyDamagedByPlayer(GetPlayerPed(-1), false)
		SetEntityCanBeDamaged(GetPlayerPed(-1), false)	
	state=false

else

	TriggerEvent('chatMessage' , "^1Godmode: OFF")
	SetEntityInvincible(GetPlayerPed(-1), false)
		SetPlayerInvincible(PlayerId(), false)
		SetPedCanRagdoll(GetPlayerPed(-1), true)
		ClearPedLastWeaponDamage(GetPlayerPed(-1))
		SetEntityProofs(GetPlayerPed(-1), false, false, false, false, false, false, false, false)
		SetEntityOnlyDamagedByPlayer(GetPlayerPed(-1), false)
		SetEntityCanBeDamaged(GetPlayerPed(-1), true)
	state=true
	
end		

end)

2 - Some commands like /car ; /dv ; /heal ; /give(item,weapon,accountmoney,etc) and +, how can i set them to only admins commands?

Thanks!

Try this:

server.lua

local admins = {
               --add admins identifier here, like:
                'license:23131dadad', --admin1
                'license:1321kdasda', --admin2
}

function IsAdmin(player)
    for i,id in ipairs(admins) do
        for x,pid in ipairs(GetPlayerIdentifiers(player)) do
            if string.lower(pid) == string.lower(id) then
                return true
            end
        end
    end
    return false
end

RegisterCommand(“godmode”,function(source, args)
              if isAdmin(source) then
                       TriggerClientEvent('godmode', source)
              end
end)

client.lua

local state = true
RegisterNetEvent('godmode')
AddEventHandler("godmode", function()
           if state then

	TriggerEvent('chatMessage' , "^2Godmode: ON")
				SetEntityInvincible(GetPlayerPed(-1), true)
		SetPlayerInvincible(PlayerId(), true)
		SetPedCanRagdoll(GetPlayerPed(-1), false)
		ClearPedBloodDamage(GetPlayerPed(-1))
		ResetPedVisibleDamage(GetPlayerPed(-1))
		ClearPedLastWeaponDamage(GetPlayerPed(-1))
		SetEntityProofs(GetPlayerPed(-1), true, true, true, true, true, true, true, true)
		SetEntityOnlyDamagedByPlayer(GetPlayerPed(-1), false)
		SetEntityCanBeDamaged(GetPlayerPed(-1), false)	
	state=false

else

	TriggerEvent('chatMessage' , "^1Godmode: OFF")
	SetEntityInvincible(GetPlayerPed(-1), false)
		SetPlayerInvincible(PlayerId(), false)
		SetPedCanRagdoll(GetPlayerPed(-1), true)
		ClearPedLastWeaponDamage(GetPlayerPed(-1))
		SetEntityProofs(GetPlayerPed(-1), false, false, false, false, false, false, false, false)
		SetEntityOnlyDamagedByPlayer(GetPlayerPed(-1), false)
		SetEntityCanBeDamaged(GetPlayerPed(-1), true)
	state=true
	
end	
end)

I didnt test this code so… Try it

I am rn remaking the DB and once im ready i will test it out, thanks!
I will let you know if it works

Not working, says in chat “godmode is not an valid command!”

Can you help me?

Try this instead of RegisterCommand:

RegisterServerEvent('checkAdmin')
AddEventHandler('checkAdmin', function()
	
               if isAdmin(source) then
                       TriggerClientEvent('godmode', source)
              end

end)

And on client.lua add:

RegisterCommand("godmode", function() 
  TriggerServerEvent("checkAdmin") 
end)

Should i switch RegisterNetEvent for the RegisterCommand in client.lua?

Are you wanting to use discord_perms or are you using ace?

Try this

this is untested and does require Discord_perms

replace folder_name with the folder you have this script located in.

replace staff_team with the discord role you wish to use

this is for discord, using it for ace perms would be the same as using isAdmin

client.lua

local godmode = false
local isAdmin = false
 
Citizen.CreateThread(function()
    TriggerServerEvent("folder_name.getIsAllowedAdmin")
end)

RegisterNetEvent("folder_name.returnIsAllowedAdmin")
AddEventHandler("folder_name.returnIsAllowedAdmin", function(IsAllowedAdmin)
    allowedToUse2 = IsAllowedAdmin
end)

RegisterCommand('godmode', function(source, args, rawCommand, user)

	if admin then
		god = not god
		if god then
		godmode = true
		  TriggerEvent("chatMessage", "[Goverment]", {255, 0, 0}, "Godmode Activiated")
		else
			godmode = false
		  TriggerEvent("chatMessage", "[Goverment]", {255, 0, 0}, "Godmode Deactivated")
		end
		else
		 TriggerEvent("chatMessage", "[Goverment]", {255, 0, 0}, "You're not staff")
		end
	
end)

server.lua

RegisterServerEvent("folder_name.getIsAllowedAdmin")
AddEventHandler("folder_name.getIsAllowedAdmin", function()
    local src = source
    if exports.discord_perms:IsRolePresent(src, "Staff Team") then
        TriggerClientEvent("folder_name.returnIsAllowedAdmin", src, true)
    else
        TriggerClientEvent("folder_name.returnIsAllowedAdmin", src, false)
    end
end)

Thanks for the help but ApachePT already helped me out and i figured out the solution, my script is now complete and working!

Anyways i will test your code too and let you know if worked.