Skip to content

Commit

Permalink
Redm merger (#156)
Browse files Browse the repository at this point in the history
* commit first changes

* Update admin_server.lua

* more changes

* update version check

* add Controls Dependency

* Update admin_server.lua

* commit progress, still needs fixes

* fix

* more version check fixes

* spectate and redm fixes

* redm fixes

* RedM and FiveM Fixes for non-onesync users

Co-authored-by: Blue <[email protected]>
  • Loading branch information
Blumlaut and Blumlaut authored Oct 14, 2020
1 parent cc73b52 commit ff71c71
Show file tree
Hide file tree
Showing 8 changed files with 4,829 additions and 75 deletions.
15 changes: 0 additions & 15 deletions __resource.lua

This file was deleted.

49 changes: 28 additions & 21 deletions admin_client.lua
Original file line number Diff line number Diff line change
Expand Up @@ -62,35 +62,39 @@ Citizen.CreateThread( function()
while true do
Citizen.Wait(0)
if frozen then
FreezeEntityPosition(PlayerPedId(), frozen)
if IsPedInAnyVehicle(PlayerPedId(), true) then
FreezeEntityPosition(GetVehiclePedIsIn(PlayerPedId(), false), frozen)
FreezeEntityPosition(GetPlayerPed(-1), frozen)
if IsPedInAnyVehicle(GetPlayerPed(-1), true) then
FreezeEntityPosition(GetVehiclePedIsIn(GetPlayerPed(-1), false), frozen)
end
end
end
end)

AddEventHandler('EasyAdmin:requestSpectate', function(playerId, tgtCoords)
local oldCoords = GetEntityCoords(PlayerPedId())
local oldCoords = GetEntityCoords(GetPlayerPed(-1))
local playerId = GetPlayerFromServerId(playerId)
if tgtCoords.z == 0 then tgtCoords = GetEntityCoords(GetPlayerPed(playerId)) end
if GetPlayerPed(playerId) == GetPlayerPed(-1) then return end
frozen = true
SetEntityCoords(PlayerPedId(), tgtCoords.x, tgtCoords.y, tgtCoords.z - 10.0, 0, 0, 0, false)
SetEntityCoords(GetPlayerPed(-1), tgtCoords.x, tgtCoords.y, tgtCoords.z - 10.0, 0, 0, 0, false)
Wait(500)
local playerId = GetPlayerFromServerId(playerId)
local adminPed = GetPlayerPed(-1)
spectatePlayer(GetPlayerPed(playerId),playerId,GetPlayerName(playerId))
Wait(500)
SetEntityCoords(PlayerPedId(), oldCoords.x, oldCoords.y, oldCoords.z, 0, 0, 0, false)
SetEntityCoords(GetPlayerPed(-1), oldCoords.x, oldCoords.y, oldCoords.z, 0, 0, 0, false)
end)

AddEventHandler('EasyAdmin:TeleportRequest', function(px,py,pz)
SetEntityCoords(PlayerPedId(), px,py,pz,0,0,0, false)
AddEventHandler('EasyAdmin:TeleportRequest', function(playerId,tgtCoords)
local playerId = GetPlayerFromServerId(playerId)
if tgtCoords.z == 0 then tgtCoords = GetEntityCoords(GetPlayerPed(playerId)) end
SetEntityCoords(GetPlayerPed(-1), tgtCoords.x, tgtCoords.y, tgtCoords.z,0,0,0, false)
end)

AddEventHandler('EasyAdmin:SlapPlayer', function(slapAmount)
if slapAmount > GetEntityHealth(PlayerPedId()) then
SetEntityHealth(PlayerPedId(), 0)
if slapAmount > GetEntityHealth(GetPlayerPed(-1)) then
SetEntityHealth(GetPlayerPed(-1), 0, false)
else
SetEntityHealth(PlayerPedId(), GetEntityHealth(PlayerPedId())-slapAmount)
SetEntityHealth(GetPlayerPed(-1), GetEntityHealth(GetPlayerPed(-1))-slapAmount, false)
end
end)

Expand Down Expand Up @@ -124,9 +128,9 @@ end, false)

AddEventHandler('EasyAdmin:FreezePlayer', function(toggle)
frozen = toggle
FreezeEntityPosition(PlayerPedId(), frozen)
if IsPedInAnyVehicle(PlayerPedId(), false) then
FreezeEntityPosition(GetVehiclePedIsIn(PlayerPedId(), false), frozen)
FreezeEntityPosition(GetPlayerPed(-1), frozen)
if IsPedInAnyVehicle(GetPlayerPed(-1), false) then
FreezeEntityPosition(GetVehiclePedIsIn(GetPlayerPed(-1), false), frozen)
end
end)

Expand All @@ -138,8 +142,7 @@ AddEventHandler('EasyAdmin:CaptureScreenshot', function(toggle, url, field)
end)

function spectatePlayer(targetPed,target,name)
local playerPed = PlayerPedId() -- yourself
enable = true
local playerPed = GetPlayerPed(-1) -- yourself
if targetPed == playerPed then enable = false end

if(enable)then
Expand All @@ -150,17 +153,21 @@ function spectatePlayer(targetPed,target,name)
NetworkSetInSpectatorMode(true, targetPed)

DrawPlayerInfo(target)
ShowNotification(string.format(GetLocalisedText("spectatingUser"), name))
if not RedM then
ShowNotification(string.format(GetLocalisedText("spectatingUser"), name))
end
enable = true
else

local targetx,targety,targetz = table.unpack(GetEntityCoords(targetPed, false))

RequestCollisionAtCoord(targetx,targety,targetz)
NetworkSetInSpectatorMode(false, targetPed)

StopDrawPlayerInfo()
ShowNotification(GetLocalisedText("stoppedSpectating"))
if not RedM then
ShowNotification(GetLocalisedText("stoppedSpectating"))
end
frozen = false
enable = false

end
end
Expand Down
37 changes: 27 additions & 10 deletions admin_server.lua
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ MutedPlayers = {}
CachedPlayers = {}
OnlineAdmins = {}
ChatReminders = {}
RedM = false
if GetConvar("gamename", "not-rdr3") == "rdr3" then
RedM = true
end

ExcludedWebhookFeatures = {}

Expand Down Expand Up @@ -261,7 +265,11 @@ Citizen.CreateThread(function()
end

-- give player the right settings to work with
TriggerClientEvent("EasyAdmin:SetSetting", source, "button",GetConvarInt("ea_MenuButton", 289) )
local key = GetConvar("ea_MenuButton", 289)
if RedM then
key = GetConvar("ea_MenuButton", "PhotoModePc")
end
TriggerClientEvent("EasyAdmin:SetSetting", source, "button", key)
if GetConvar("ea_alwaysShowButtons", "false") == "true" then
TriggerClientEvent("EasyAdmin:SetSetting", source, "forceShowGUIButtons", true)
else
Expand All @@ -285,9 +293,9 @@ Citizen.CreateThread(function()
AddEventHandler('EasyAdmin:requestSpectate', function(playerId)
if DoesPlayerHavePermission(source,"easyadmin.spectate") then
PrintDebugMessage("Player "..getName(source,true).." Requested Spectate to "..getName(playerId,true))
SendWebhookMessage(moderationNotification,string.format(GetLocalisedText('spectatedplayer'), getName(source), getName(playerId)), "spectate")
local tgtCoords = GetEntityCoords(GetPlayerPed(playerId))
TriggerClientEvent("EasyAdmin:requestSpectate", source, playerId, tgtCoords)
SendWebhookMessage(moderationNotification,string.format(GetLocalisedText('spectatedplayer'), getName(source), getName(playerId)), "spectate")
end
end)

Expand Down Expand Up @@ -438,8 +446,6 @@ Citizen.CreateThread(function()

RegisterCommand("unban", function(source, args, rawCommand)
if args[1] and DoesPlayerHavePermission(source,"easyadmin.unban") then
--TriggerClientEvent("chat:addMessage", source, { args = { "EasyAdmin", "Please use the WebAdmin Interface, if possible." } })
--[[
PrintDebugMessage("Player "..getName(source,true).." Unbanned "..args[1])
UnbanIdentifier(args[1])
if (source ~= 0) then
Expand All @@ -448,7 +454,6 @@ Citizen.CreateThread(function()
Citizen.Trace(GetLocalisedText("done"))
end
SendWebhookMessage(moderationNotification,string.format(GetLocalisedText("adminunbannedplayer"), getName(source), args[1])) -- Use the "safe" getName function instead.
]]
end
end, false)

Expand Down Expand Up @@ -565,7 +570,7 @@ Citizen.CreateThread(function()
local tgtPed = GetPlayerPed(tgtPlayer)
local tgtCoords = GetEntityCoords(tgtPed)
SendWebhookMessage(moderationNotification,string.format(GetLocalisedText("teleportedtoplayer"), getName(source), getName(id)), "teleport")
TriggerClientEvent('EasyAdmin:TeleportRequest', source, tgtCoords.x, tgtCoords.y, tgtCoords.z)
TriggerClientEvent('EasyAdmin:TeleportRequest', source, tgtPlayer,tgtCoords)
else
print('EASYADMIN FAILED TO TELEPORT'..source..' TO ID: '..id)
end
Expand Down Expand Up @@ -1034,16 +1039,28 @@ Citizen.CreateThread(function()

local verFile = LoadResourceFile(GetCurrentResourceName(), "version.json")
local verContent = json.decode(verFile)
local curVersion = (verContent.fivem.version or verContent.version)
local variant = "fivem"
if RedM then
curVersion = verContent.redm.version
variant = "redm"
else
curVersion = verContent.fivem.version
end
local updatePath = "/Blumlaut/EasyAdmin"
local resourceName = "EasyAdmin ("..GetCurrentResourceName()..")"
function checkVersion(err,response, headers)
if err == 200 then
local data = json.decode(response)
if curVersion ~= data.fivem.version and tonumber(curVersion) < tonumber(data.fivem.version) then
local remoteVersion = data.version
local changelog = data.changelog
if RedM then
remoteVersion = data.redm.version
changelog = data.redm.changelog
end
if curVersion ~= remoteVersion and tonumber(curVersion) < tonumber(remoteVersion) then
print("\n--------------------------------------------------------------------------")
print("\n"..resourceName.." is outdated.\nNewest Version: "..data.fivem.version.."\nYour Version: "..curVersion.."\nPlease update it from https://github.com"..updatePath.."")
print("\nUpdate Changelog:\n"..data.changelog)
print("\n"..resourceName.." is outdated.\nNewest Version: "..remoteVersion.."\nYour Version: "..curVersion.."\nPlease update it from https://github.com"..updatePath.."")
print("\nUpdate Changelog:\n"..changelog)
print("\n--------------------------------------------------------------------------")
elseif tonumber(curVersion) > tonumber(data.version) then
print("Your version of "..resourceName.." seems to be higher than the current version.")
Expand Down
Loading

0 comments on commit ff71c71

Please sign in to comment.