@@ -18,7 +18,7 @@ commands:Register("slay", function(playerid, args, argsCount, silent, prefix)
1818
1919 local players = FindPlayersByTarget (args [1 ], false )
2020 if # players == 0 then
21- return ReplyToCommand (playerid , config :Fetch (" admins.prefix" ), FetchTranslation (" admins.invalid_player" )) -- translation
21+ return ReplyToCommand (playerid , config :Fetch (" admins.prefix" ), FetchTranslation (" admins.invalid_player" ))
2222 end
2323
2424 local admin = nil
@@ -57,7 +57,7 @@ commands:Register("slap", function(playerid, args, argsCount, silent, prefix)
5757
5858 local players = FindPlayersByTarget (args [1 ], false )
5959 if # players == 0 then
60- return ReplyToCommand (playerid , config :Fetch (" admins.prefix" ), " No players found." ) -- translation
60+ return ReplyToCommand (playerid , config :Fetch (" admins.prefix" ), " No players found." )
6161 end
6262
6363 local health = (args [2 ] or 0 )
@@ -76,6 +76,9 @@ commands:Register("slap", function(playerid, args, argsCount, silent, prefix)
7676 vel .z = vel .z + math.random (100 , 300 )
7777 pl :CBaseEntity ().AbsVelocity = vel
7878 pl :CBaseEntity ().Health = pl :CBaseEntity ().Health - health
79+ if pl :CBaseEntity ().Health <= 0 then
80+ pl :Kill ()
81+ end
7982
8083 if not pl :CBasePlayerController ():IsValid () then return end
8184 ReplyToCommand (playerid , config :Fetch (" admins.prefix" ),
@@ -106,33 +109,31 @@ commands:Register("rename", function(playerid, args, argsCount, silent, prefix)
106109
107110 local players = FindPlayersByTarget (args [1 ], false )
108111 if # players == 0 then
109- return ReplyToCommand (playerid , config :Fetch (" admins.prefix" ), " No players found." ) -- translation
112+ return ReplyToCommand (playerid , config :Fetch (" admins.prefix" ), " No players found." )
110113 end
111114
112115 local pl = players [1 ]
113116 local name = args [2 ]
114117 if not pl :CBasePlayerController ():IsValid () then return end
115118 if name == pl :CBasePlayerController ().PlayerName then
116- return ReplyToCommand (playerid , config :Fetch (" admins.prefix" ), " Same name." ) -- translation
119+ return ReplyToCommand (playerid , config :Fetch (" admins.prefix" ), " Same name." )
117120 end
118121
119122 local admin = nil
120123 if playerid ~= - 1 then
121124 admin = GetPlayer (playerid )
122125 end
123126
124-
125- local oldname = pl :CBasePlayerController ().PlayerName
126127 pl :CBasePlayerController ().PlayerName = name
127128 if not admin :CBasePlayerController ():IsValid () then return end
128129 ReplyToCommand (playerid , config :Fetch (" admins.prefix" ),
129130 FetchTranslation (" admins.rename.message" ):gsub (" {ADMIN_NAME}" , admin :CBasePlayerController ().PlayerName ):gsub (
130- " {PLAYER_NAME}" , pl :CBasePlayerController ().PlayerName )) -- translation
131+ " {PLAYER_NAME}" , pl :CBasePlayerController ().PlayerName ))
131132end )
132133
133134commands :Register (" csay" , function (playerid , args , argsCount , silent , prefix )
134135 if playerid == - 1 then
135- if argc < 1 then
136+ if argsCount < 1 then
136137 return print (string.format (FetchTranslation (" admins.csay.syntax" ), config :Fetch (" admins.prefix" ),
137138 " sw_" ))
138139 end
@@ -188,31 +189,38 @@ commands:Register("rcon", function(playerid, args, argsCount, silent, prefix)
188189 server :Execute (cmd )
189190end )
190191
191- local ChangeMap = function (playerid , args , argsCount , silent )
192- if playerid == - 1 then
193- if argc < 1 then
194- return print (string.format (FetchTranslation (" admins.changemap.syntax" ),
195- config :Fetch (" admins.prefix" ), " sw_" ))
196- end
197- local map = args [1 ]
198- if server :IsMapValid (map ) == 0 then
199- return print (string.format (FetchTranslation (" admins.invalid_map" ),
200- config :Fetch (" admins.prefix" ), map ))
192+ local ChangeMap = function (playerid , args , argsCount , silent , prefix )
193+ if playerid ~= - 1 then
194+ local player = GetPlayer (playerid )
195+ if not player then return end
196+
197+ local hasAccess = exports [" admins" ]:HasFlags (playerid , " g" )
198+
199+ if not hasAccess then
200+ return ReplyToCommand (playerid , config :Fetch (" admins.prefix" ), FetchTranslation (" admins.no_permission" ))
201201 end
202- playermanager :SendMsg (MessageType .Chat ,
203- string.format (FetchTranslation (" admins.changing_map" ), config :Fetch (" admins.prefix" ), map ))
202+ end
203+
204+ if argsCount < 1 then
205+ return ReplyToCommand (playerid , config :Fetch (" admins.prefix" ), string.format (FetchTranslation (" admins.changemap.syntax" ), prefix ))
206+ end
204207
205- SetTimeout (3000 , function ()
206- server :ChangeMap (map )
207- end )
208+ local map = args [1 ]
209+
210+ if not server :IsMapValid (map ) then
211+ return ReplyToCommand (playerid , config :Fetch (" admins.prefix" ), FetchTranslation (" admins.invalid_map" ):gsub (" {MAP}" , map ))
208212 end
213+
214+ playermanager :SendMsg (MessageType .Chat , string.format (" %s %s" , config :Fetch (" admins.prefix" ), FetchTranslation (" admins.changing_map" ):gsub (" {MAP}" , map )))
215+ SetTimeout (3000 , function ()
216+ server :ChangeMap (map , tostring (tonumber (map )) == map )
217+ end )
209218end
210219commands :Register (" map" , ChangeMap )
211220commands :Register (" changemap" , ChangeMap )
212221
213222
214223local AddSlapMenuSelectedPlayer = {}
215- local AddSlapMenuSelectedHealth = {}
216224
217225commands :Register (" addslapmenu" , function (playerid , args , argc , silent , prefix )
218226 if playerid == - 1 then return end
@@ -225,7 +233,6 @@ commands:Register("addslapmenu", function(playerid, args, argc, silent, prefix)
225233 end
226234
227235 AddSlapMenuSelectedPlayer [playerid ] = nil
228- AddSlapMenuSelectedHealth [playerid ] = nil
229236
230237 local players = {}
231238
@@ -295,7 +302,6 @@ commands:Register("addslapmenu_selecthealth", function (playerid, args, argc, si
295302 if not AddSlapMenuSelectedPlayer [playerid ] then return player :HideMenu () end
296303
297304 local health = args [1 ]
298- AddSlapMenuSelectedHealth [playerid ] = health
299305
300306 local pid = AddSlapMenuSelectedPlayer [playerid ]
301307 local pl = GetPlayer (pid )
@@ -305,26 +311,9 @@ commands:Register("addslapmenu_selecthealth", function (playerid, args, argc, si
305311 return
306312 end
307313
308- if not pl :CBaseEntity ():IsValid () then return end
309- local vel = pl :CBaseEntity ().AbsVelocity
310- vel .x = vel .x + math.random (50 , 230 ) * (math.random (0 , 1 ) == 1 and - 1 or 1 )
311- vel .y = vel .y + math.random (50 , 230 ) * (math.random (0 , 1 ) == 1 and - 1 or 1 )
312- vel .z = vel .z + math.random (100 , 300 )
313-
314- pl :CBaseEntity ().AbsVelocity = vel
315- pl :CBaseEntity ().Health = pl :CBaseEntity ().Health - AddSlapMenuSelectedHealth [playerid ]
316-
317- if not player :CBasePlayerController ():IsValid () then return end
318- if not pl :CBasePlayerController ():IsValid () then return end
319- ReplyToCommand (playerid , config :Fetch (" admins.prefix" ),
320- FetchTranslation (" admins.slap.message" ):gsub (" {ADMIN_NAME}" ,
321- player and player :CBasePlayerController ().PlayerName ):gsub (" {PLAYER_NAME}" ,
322- pl :CBasePlayerController ().PlayerName ):gsub (" {HEALTH}" , tostring (health )))
323-
314+ player :ExecuteCommand (" sw_slap #" .. pid .. " " .. health )
324315end )
325316
326- local AddSlayMenuSelectedPlayer = {}
327-
328317commands :Register (" addslaymenu" , function (playerid , args , argc , silent , prefix )
329318 if playerid == - 1 then return end
330319 local player = GetPlayer (playerid )
@@ -335,8 +324,6 @@ commands:Register("addslaymenu", function(playerid, args, argc, silent, prefix)
335324 FetchTranslation (" admins.no_permission" ))
336325 end
337326
338- AddSlayMenuSelectedPlayer [playerid ] = nil
339-
340327 local players = {}
341328
342329 for i = 0 , playermanager :GetPlayerCap () - 1 , 1 do
@@ -354,7 +341,7 @@ commands:Register("addslaymenu", function(playerid, args, argc, silent, prefix)
354341 table.insert (players , { FetchTranslation (" admins.no_players" ), " " })
355342 end
356343
357- menus :RegisterTemporary (" addslaymenuadmintempplayer_" .. playerid , FetchTranslation (" admins.add .slay" ), config :Fetch (" admins.amenucolor" ), players )
344+ menus :RegisterTemporary (" addslaymenuadmintempplayer_" .. playerid , FetchTranslation (" admins.adminmenu .slay" ), config :Fetch (" admins.amenucolor" ), players )
358345
359346 player :HideMenu ()
360347 player :ShowMenu (" addslaymenuadmintempplayer_" .. playerid )
@@ -378,19 +365,5 @@ commands:Register("addslaymenu_selectplayer", function(playerid, args, argc, sil
378365 local pl = GetPlayer (pid )
379366 if not pl then return end
380367
381- AddSlayMenuSelectedPlayer [playerid ] = pid
382-
383- if not pl :CBaseEntity ():IsValid () then return end
384- if not pl :CBasePlayerController ():IsValid () then return end
385- if pl :CBaseEntity ().Health <= 0 then
386- return ReplyToCommand (playerid , config :Fetch (" admins.prefix" ), FetchTranslation (" admins.slay.already_dead" ):gsub (" {PLAYER_NAME}" , pl :CBasePlayerController ().PlayerName ))
387- end
388-
389- pl :Kill ()
390- if not player :CBasePlayerController ():IsValid () then return end
391- ReplyToCommand (playerid , config :Fetch (" admins.prefix" ),
392- FetchTranslation (" admins.slay.message" ):gsub (" {ADMIN_NAME}" ,
393- player and player :CBasePlayerController ().PlayerName ):gsub (" {PLAYER_NAME}" ,
394- pl :CBasePlayerController ().PlayerName ))
395-
368+ player :ExecuteCommand (" sw_slay #" .. pid )
396369end )
0 commit comments