Skip to content

Commit 0f4ef32

Browse files
1STDbrenodanyel
andauthored
admin: fix missing mapmanager error (#326)
* 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. * Update [admin]/admin/server/admin_servermaps.lua Co-authored-by: iDannz <[email protected]> * Update [admin]/admin/server/admin_servermaps.lua Co-authored-by: iDannz <[email protected]> * Update [admin]/admin/server/admin_servermaps.lua Co-authored-by: iDannz <[email protected]> * Update [admin]/admin/server/admin_servermaps.lua Co-authored-by: iDannz <[email protected]> * Update admin_servermaps.lua Co-authored-by: iDannz <[email protected]>
1 parent 4711160 commit 0f4ef32

File tree

1 file changed

+25
-14
lines changed

1 file changed

+25
-14
lines changed

[admin]/admin/server/admin_servermaps.lua

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,26 +10,31 @@
1010

1111
function getServerMaps (loadList)
1212
if checkClient( true, source, 'getServerMaps' ) then return end
13-
local tableOut
13+
local tableOut = {}
14+
15+
local mapmanager = getResourceFromName("mapmanager")
16+
17+
if mapmanager and (getResourceState(mapmanager) ~= "running") then
18+
mapmanager = nil
19+
end
1420

1521
-- Check if 'mapmanager' resource exists
16-
if ( not getResourceFromName("mapmanager") ) then
22+
if ( not mapmanager ) then
1723
-- 'mapmanager' resource doesn't exist, send fake data
1824
triggerClientEvent(source ,"getMaps_c", source, { }, nil, nil )
1925
return false;
2026
end
2127

2228
if loadList then
23-
tableOut = {}
2429
-- local deletedMaps = {}
2530
local gamemodes = {}
26-
gamemodes = call(getResourceFromName("mapmanager"), "getGamemodes")
31+
gamemodes = call(mapmanager, "getGamemodes")
2732
for id,gamemode in ipairs (gamemodes) do
2833
tableOut[id] = {}
2934
tableOut[id].name = getResourceInfo(gamemode, "name") or getResourceName(gamemode)
3035
tableOut[id].resname = getResourceName(gamemode)
3136
tableOut[id].maps = {}
32-
local maps = call(getResourceFromName("mapmanager"), "getMapsCompatibleWithGamemode" , gamemode)
37+
local maps = call(mapmanager, "getMapsCompatibleWithGamemode" , gamemode)
3338
for _,map in ipairs (maps) do
3439
table.insert(tableOut[id]["maps"] ,{name = getResourceInfo(map, "name") or getResourceName(map), resname = getResourceName(map)})
3540
end
@@ -38,7 +43,7 @@ function getServerMaps (loadList)
3843
table.sort((tableOut), sortCompareFunction)
3944
table.insert(tableOut, {name = "no gamemode", resname = "no gamemode", maps = {}})
4045
local countGmodes = #tableOut
41-
local maps = call(getResourceFromName("mapmanager"), "getMapsCompatibleWithGamemode")
46+
local maps = call(mapmanager, "getMapsCompatibleWithGamemode")
4247
for id,map in ipairs (maps) do
4348
-- if fileOpen(":"..getResourceName(map).."/deleted") then
4449
-- table.insert(deletedMaps ,{name = getResourceInfo(map, "name") or getResourceName(map), resname = getResourceName(map)})
@@ -52,8 +57,8 @@ function getServerMaps (loadList)
5257
-- local countGmodes = countGmodes + 1
5358
-- tableOut[countGmodes]["maps"] = deletedMaps
5459
end
55-
local map = call(getResourceFromName("mapmanager"), "getRunningGamemodeMap")
56-
local gamemode = call(getResourceFromName("mapmanager"), "getRunningGamemode")
60+
local map = call(mapmanager, "getRunningGamemodeMap")
61+
local gamemode = call(mapmanager, "getRunningGamemode")
5762
gamemode = gamemode and getResourceName(gamemode) or "N/A"
5863
map = map and getResourceName(map) or "N/A"
5964
triggerClientEvent(source ,"getMaps_c", source, tableOut, gamemode, map)
@@ -64,7 +69,13 @@ addEventHandler("getMaps_s", getRootElement(), getServerMaps)
6469
function startGamemodeMap(gamemode, map)
6570
if checkClient( true, source, 'startGamemodeMap' ) then return end
6671

67-
if ( not getResourceFromName("mapmanager") ) then
72+
local mapmanager = getResourceFromName("mapmanager")
73+
74+
if mapmanager and (getResourceState(mapmanager) ~= "running") then
75+
mapmanager = nil
76+
end
77+
78+
if ( not mapmanager ) then
6879
if ( source ) then
6980
outputChatBox ( "Please start the mapmanager resource to use this action.", source, 255, 0, 0 );
7081
end
@@ -73,15 +84,15 @@ function startGamemodeMap(gamemode, map)
7384
end
7485

7586
if gamemode == "no gamemode" then
76-
call(getResourceFromName("mapmanager"), "changeGamemodeMap", getResourceFromName(map))
87+
call(mapmanager, "changeGamemodeMap", getResourceFromName(map))
7788
else
7889
if gamemode == map then
79-
call(getResourceFromName("mapmanager"), "changeGamemode", getResourceFromName(gamemode))
90+
call(mapmanager, "changeGamemode", getResourceFromName(gamemode))
8091
else
81-
if gamemode == getResourceName(call(getResourceFromName("mapmanager"), "getRunningGamemode")) then
82-
call(getResourceFromName("mapmanager"), "changeGamemodeMap", getResourceFromName(map))
92+
if gamemode == getResourceName(call(mapmanager, "getRunningGamemode")) then
93+
call(mapmanager, "changeGamemodeMap", getResourceFromName(map))
8394
else
84-
call(getResourceFromName("mapmanager"), "changeGamemode", getResourceFromName(gamemode), getResourceFromName(map))
95+
call(mapmanager, "changeGamemode", getResourceFromName(gamemode), getResourceFromName(map))
8596
end
8697
end
8798
end

0 commit comments

Comments
 (0)