10
10
11
11
function getServerMaps (loadList )
12
12
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
14
20
15
21
-- Check if 'mapmanager' resource exists
16
- if ( not getResourceFromName ( " mapmanager" ) ) then
22
+ if ( not mapmanager ) then
17
23
-- 'mapmanager' resource doesn't exist, send fake data
18
24
triggerClientEvent (source ," getMaps_c" , source , { }, nil , nil )
19
25
return false ;
20
26
end
21
27
22
28
if loadList then
23
- tableOut = {}
24
29
-- local deletedMaps = {}
25
30
local gamemodes = {}
26
- gamemodes = call (getResourceFromName ( " mapmanager" ) , " getGamemodes" )
31
+ gamemodes = call (mapmanager , " getGamemodes" )
27
32
for id ,gamemode in ipairs (gamemodes ) do
28
33
tableOut [id ] = {}
29
34
tableOut [id ].name = getResourceInfo (gamemode , " name" ) or getResourceName (gamemode )
30
35
tableOut [id ].resname = getResourceName (gamemode )
31
36
tableOut [id ].maps = {}
32
- local maps = call (getResourceFromName ( " mapmanager" ) , " getMapsCompatibleWithGamemode" , gamemode )
37
+ local maps = call (mapmanager , " getMapsCompatibleWithGamemode" , gamemode )
33
38
for _ ,map in ipairs (maps ) do
34
39
table.insert (tableOut [id ][" maps" ] ,{name = getResourceInfo (map , " name" ) or getResourceName (map ), resname = getResourceName (map )})
35
40
end
@@ -38,7 +43,7 @@ function getServerMaps (loadList)
38
43
table.sort ((tableOut ), sortCompareFunction )
39
44
table.insert (tableOut , {name = " no gamemode" , resname = " no gamemode" , maps = {}})
40
45
local countGmodes = # tableOut
41
- local maps = call (getResourceFromName ( " mapmanager" ) , " getMapsCompatibleWithGamemode" )
46
+ local maps = call (mapmanager , " getMapsCompatibleWithGamemode" )
42
47
for id ,map in ipairs (maps ) do
43
48
-- if fileOpen(":"..getResourceName(map).."/deleted") then
44
49
-- table.insert(deletedMaps ,{name = getResourceInfo(map, "name") or getResourceName(map), resname = getResourceName(map)})
@@ -52,8 +57,8 @@ function getServerMaps (loadList)
52
57
-- local countGmodes = countGmodes + 1
53
58
-- tableOut[countGmodes]["maps"] = deletedMaps
54
59
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" )
57
62
gamemode = gamemode and getResourceName (gamemode ) or " N/A"
58
63
map = map and getResourceName (map ) or " N/A"
59
64
triggerClientEvent (source ," getMaps_c" , source , tableOut , gamemode , map )
@@ -64,7 +69,13 @@ addEventHandler("getMaps_s", getRootElement(), getServerMaps)
64
69
function startGamemodeMap (gamemode , map )
65
70
if checkClient ( true , source , ' startGamemodeMap' ) then return end
66
71
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
68
79
if ( source ) then
69
80
outputChatBox ( " Please start the mapmanager resource to use this action." , source , 255 , 0 , 0 );
70
81
end
@@ -73,15 +84,15 @@ function startGamemodeMap(gamemode, map)
73
84
end
74
85
75
86
if gamemode == " no gamemode" then
76
- call (getResourceFromName ( " mapmanager" ) , " changeGamemodeMap" , getResourceFromName (map ))
87
+ call (mapmanager , " changeGamemodeMap" , getResourceFromName (map ))
77
88
else
78
89
if gamemode == map then
79
- call (getResourceFromName ( " mapmanager" ) , " changeGamemode" , getResourceFromName (gamemode ))
90
+ call (mapmanager , " changeGamemode" , getResourceFromName (gamemode ))
80
91
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 ))
83
94
else
84
- call (getResourceFromName ( " mapmanager" ) , " changeGamemode" , getResourceFromName (gamemode ), getResourceFromName (map ))
95
+ call (mapmanager , " changeGamemode" , getResourceFromName (gamemode ), getResourceFromName (map ))
85
96
end
86
97
end
87
98
end
0 commit comments