From c6c20c1d9dd9a2a6f93e681062e54d1eb7de1b65 Mon Sep 17 00:00:00 2001 From: 1STD <79057617+1STD@users.noreply.github.com> Date: Sat, 29 May 2021 05:49:08 -0300 Subject: [PATCH 1/6] Update admin_servermaps.lua I made utils functions to return a boolean, this function is checking whether the feature is active or not, so it will return a false or a true one. Why did you do that? Well, when you go to the "Maps" tab, a variable will return an error, if the resource is not linked to the variable and leading to null within ipairs. --- [admin]/admin/server/admin_servermaps.lua | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/[admin]/admin/server/admin_servermaps.lua b/[admin]/admin/server/admin_servermaps.lua index 5f74ebd77..4a50a019d 100644 --- a/[admin]/admin/server/admin_servermaps.lua +++ b/[admin]/admin/server/admin_servermaps.lua @@ -10,7 +10,10 @@ function getServerMaps (loadList) if checkClient( true, source, 'getServerMaps' ) then return end - local tableOut + local tableOut = {} + + -- It will check if the feature is enabled. + if not stateResourceName("mapmanager", "running") then return end -- Check if 'mapmanager' resource exists if ( not getResourceFromName("mapmanager") ) then @@ -20,7 +23,6 @@ function getServerMaps (loadList) end if loadList then - tableOut = {} -- local deletedMaps = {} local gamemodes = {} gamemodes = call(getResourceFromName("mapmanager"), "getGamemodes") @@ -158,3 +160,15 @@ function sortCompareFunction(s1, s2) return false end end + +function stateResourceName(resourceName, state) + if resourceName then + local resourceFromName = getResourceFromName(resourceName); + + if getResourceState(resourceFromName) == tostring(state) then + return true; + else + return false; + end + end +end From e34b5fd184ec29b8a7ac0f44d77f877096d11a11 Mon Sep 17 00:00:00 2001 From: 1STD <79057617+1STD@users.noreply.github.com> Date: Sun, 30 May 2021 02:53:11 -0300 Subject: [PATCH 2/6] Update [admin]/admin/server/admin_servermaps.lua Co-authored-by: iDannz --- [admin]/admin/server/admin_servermaps.lua | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/[admin]/admin/server/admin_servermaps.lua b/[admin]/admin/server/admin_servermaps.lua index 4a50a019d..d0b9d4d70 100644 --- a/[admin]/admin/server/admin_servermaps.lua +++ b/[admin]/admin/server/admin_servermaps.lua @@ -160,15 +160,3 @@ function sortCompareFunction(s1, s2) return false end end - -function stateResourceName(resourceName, state) - if resourceName then - local resourceFromName = getResourceFromName(resourceName); - - if getResourceState(resourceFromName) == tostring(state) then - return true; - else - return false; - end - end -end From c2e1bb611ae7bfbba6365caadefbbcf7607568c2 Mon Sep 17 00:00:00 2001 From: 1STD <79057617+1STD@users.noreply.github.com> Date: Sun, 30 May 2021 02:53:23 -0300 Subject: [PATCH 3/6] Update [admin]/admin/server/admin_servermaps.lua Co-authored-by: iDannz --- [admin]/admin/server/admin_servermaps.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[admin]/admin/server/admin_servermaps.lua b/[admin]/admin/server/admin_servermaps.lua index d0b9d4d70..720aafc5e 100644 --- a/[admin]/admin/server/admin_servermaps.lua +++ b/[admin]/admin/server/admin_servermaps.lua @@ -16,7 +16,7 @@ function getServerMaps (loadList) if not stateResourceName("mapmanager", "running") then return end -- Check if 'mapmanager' resource exists - if ( not getResourceFromName("mapmanager") ) then + if ( not mapmanager ) then -- 'mapmanager' resource doesn't exist, send fake data triggerClientEvent(source ,"getMaps_c", source, { }, nil, nil ) return false; From 249603180e6dc4e63fcf08a3d4508bdc45800084 Mon Sep 17 00:00:00 2001 From: 1STD <79057617+1STD@users.noreply.github.com> Date: Sun, 30 May 2021 02:53:29 -0300 Subject: [PATCH 4/6] Update [admin]/admin/server/admin_servermaps.lua Co-authored-by: iDannz --- [admin]/admin/server/admin_servermaps.lua | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/[admin]/admin/server/admin_servermaps.lua b/[admin]/admin/server/admin_servermaps.lua index 720aafc5e..c2e0e37f9 100644 --- a/[admin]/admin/server/admin_servermaps.lua +++ b/[admin]/admin/server/admin_servermaps.lua @@ -12,8 +12,11 @@ function getServerMaps (loadList) if checkClient( true, source, 'getServerMaps' ) then return end local tableOut = {} - -- It will check if the feature is enabled. - if not stateResourceName("mapmanager", "running") then return end + local mapmanager = getResourceFromName("mapmanager") + + if mapmanager and (getResourceState(mapmanager) ~= "running") then + mapmanager = nil + end -- Check if 'mapmanager' resource exists if ( not mapmanager ) then From e358456575a7ce522faaaf0c805f7bf2d7125a57 Mon Sep 17 00:00:00 2001 From: 1STD <79057617+1STD@users.noreply.github.com> Date: Sun, 30 May 2021 02:53:40 -0300 Subject: [PATCH 5/6] Update [admin]/admin/server/admin_servermaps.lua Co-authored-by: iDannz --- [admin]/admin/server/admin_servermaps.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[admin]/admin/server/admin_servermaps.lua b/[admin]/admin/server/admin_servermaps.lua index c2e0e37f9..2cb9ae38e 100644 --- a/[admin]/admin/server/admin_servermaps.lua +++ b/[admin]/admin/server/admin_servermaps.lua @@ -28,7 +28,7 @@ function getServerMaps (loadList) if loadList then -- local deletedMaps = {} local gamemodes = {} - gamemodes = call(getResourceFromName("mapmanager"), "getGamemodes") + gamemodes = call(mapmanager, "getGamemodes") for id,gamemode in ipairs (gamemodes) do tableOut[id] = {} tableOut[id].name = getResourceInfo(gamemode, "name") or getResourceName(gamemode) From a0c1f839184045915b05d2737ebce1e94d316f28 Mon Sep 17 00:00:00 2001 From: 1STD Date: Mon, 31 May 2021 13:54:58 -0300 Subject: [PATCH 6/6] Update admin_servermaps.lua --- [admin]/admin/server/admin_servermaps.lua | 26 ++++++++++++++--------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/[admin]/admin/server/admin_servermaps.lua b/[admin]/admin/server/admin_servermaps.lua index 2cb9ae38e..06073e9fb 100644 --- a/[admin]/admin/server/admin_servermaps.lua +++ b/[admin]/admin/server/admin_servermaps.lua @@ -34,7 +34,7 @@ function getServerMaps (loadList) tableOut[id].name = getResourceInfo(gamemode, "name") or getResourceName(gamemode) tableOut[id].resname = getResourceName(gamemode) tableOut[id].maps = {} - local maps = call(getResourceFromName("mapmanager"), "getMapsCompatibleWithGamemode" , gamemode) + local maps = call(mapmanager, "getMapsCompatibleWithGamemode" , gamemode) for _,map in ipairs (maps) do table.insert(tableOut[id]["maps"] ,{name = getResourceInfo(map, "name") or getResourceName(map), resname = getResourceName(map)}) end @@ -43,7 +43,7 @@ function getServerMaps (loadList) table.sort((tableOut), sortCompareFunction) table.insert(tableOut, {name = "no gamemode", resname = "no gamemode", maps = {}}) local countGmodes = #tableOut - local maps = call(getResourceFromName("mapmanager"), "getMapsCompatibleWithGamemode") + local maps = call(mapmanager, "getMapsCompatibleWithGamemode") for id,map in ipairs (maps) do -- if fileOpen(":"..getResourceName(map).."/deleted") then -- table.insert(deletedMaps ,{name = getResourceInfo(map, "name") or getResourceName(map), resname = getResourceName(map)}) @@ -57,8 +57,8 @@ function getServerMaps (loadList) -- local countGmodes = countGmodes + 1 -- tableOut[countGmodes]["maps"] = deletedMaps end - local map = call(getResourceFromName("mapmanager"), "getRunningGamemodeMap") - local gamemode = call(getResourceFromName("mapmanager"), "getRunningGamemode") + local map = call(mapmanager, "getRunningGamemodeMap") + local gamemode = call(mapmanager, "getRunningGamemode") gamemode = gamemode and getResourceName(gamemode) or "N/A" map = map and getResourceName(map) or "N/A" triggerClientEvent(source ,"getMaps_c", source, tableOut, gamemode, map) @@ -69,7 +69,13 @@ addEventHandler("getMaps_s", getRootElement(), getServerMaps) function startGamemodeMap(gamemode, map) if checkClient( true, source, 'startGamemodeMap' ) then return end - if ( not getResourceFromName("mapmanager") ) then + local mapmanager = getResourceFromName("mapmanager") + + if mapmanager and (getResourceState(mapmanager) ~= "running") then + mapmanager = nil + end + + if ( not mapmanager ) then if ( source ) then outputChatBox ( "Please start the mapmanager resource to use this action.", source, 255, 0, 0 ); end @@ -78,15 +84,15 @@ function startGamemodeMap(gamemode, map) end if gamemode == "no gamemode" then - call(getResourceFromName("mapmanager"), "changeGamemodeMap", getResourceFromName(map)) + call(mapmanager, "changeGamemodeMap", getResourceFromName(map)) else if gamemode == map then - call(getResourceFromName("mapmanager"), "changeGamemode", getResourceFromName(gamemode)) + call(mapmanager, "changeGamemode", getResourceFromName(gamemode)) else - if gamemode == getResourceName(call(getResourceFromName("mapmanager"), "getRunningGamemode")) then - call(getResourceFromName("mapmanager"), "changeGamemodeMap", getResourceFromName(map)) + if gamemode == getResourceName(call(mapmanager, "getRunningGamemode")) then + call(mapmanager, "changeGamemodeMap", getResourceFromName(map)) else - call(getResourceFromName("mapmanager"), "changeGamemode", getResourceFromName(gamemode), getResourceFromName(map)) + call(mapmanager, "changeGamemode", getResourceFromName(gamemode), getResourceFromName(map)) end end end