diff --git a/client/events.lua b/client/events.lua index 4769f93..82d93b4 100644 --- a/client/events.lua +++ b/client/events.lua @@ -4,14 +4,20 @@ RegisterNetEvent('QBCore:Client:OnPlayerLoaded', function() ShutdownLoadingScreenNui() LocalPlayer.state:set('isLoggedIn', true, false) - SetCanAttackFriendly(PlayerPedId(), true, false) - NetworkSetFriendlyFireOption(true) + if QBConfig.Server.pvp then + SetCanAttackFriendly(PlayerPedId(), true, false) + NetworkSetFriendlyFireOption(true) + end end) RegisterNetEvent('QBCore:Client:OnPlayerUnload', function() LocalPlayer.state:set('isLoggedIn', false, false) end) +RegisterNetEvent('QBCore:Client:PvpHasToggled', function(pvp_state) + SetCanAttackFriendly(PlayerPedId(), pvp_state, false) + NetworkSetFriendlyFireOption(pvp_state) +end) -- Teleport Commands RegisterNetEvent('QBCore:Command:TeleportToPlayer', function(coords) @@ -133,4 +139,4 @@ RegisterNetEvent('QBCore:Command:ShowMe3D', function(senderId, msg) Wait(0) end end) -end) \ No newline at end of file +end) diff --git a/config.lua b/config.lua index f01a250..cbc8874 100644 --- a/config.lua +++ b/config.lua @@ -31,6 +31,7 @@ QBConfig.Server.closed = false -- Set server closed (no one can join except peop QBConfig.Server.closedReason = "Server Closed" -- Reason message to display when people can't join the server QBConfig.Server.uptime = 0 -- Time the server has been up. QBConfig.Server.whitelist = false -- Enable or disable whitelist on the server +QBConfig.Server.pvp = true -- Enable or disable pvp on the server (Ability to shoot other players) QBConfig.Server.discord = "" -- Discord invite link QBConfig.Server.PermissionList = {} -- permission list diff --git a/server/commands.lua b/server/commands.lua index a2f153d..0f646ef 100644 --- a/server/commands.lua +++ b/server/commands.lua @@ -73,6 +73,13 @@ QBCore.Commands.Add('tpm', 'TP To Marker (Admin Only)', {}, false, function(sour TriggerClientEvent('QBCore:Command:GoToMarker', src) end, 'admin') + +QBCore.Commands.Add('togglepvp', 'Toggle PVP on the server (Admin Only)', {}, false, function(source) + local src = source + local pvp_state = QBConfig.Server.pvp + QBConfig.Server.pvp = not pvp_state + TriggerClientEvent('QBCore:Client:PvpHasToggled', -1, QBConfig.Server.pvp) +end, 'admin') -- Permissions QBCore.Commands.Add('addpermission', 'Give Player Permissions (God Only)', { { name = 'id', help = 'ID of player' }, { name = 'permission', help = 'Permission level' } }, true, function(source, args)