!mute [id] [minute]
------------------------------
!mute 2 9 --> ID 2 muted for 9 minute.
!mute 2 --> ID 2 no longer muted.
Thanks.
mute = {} function split(str, pat) local t = {} local fpat = "(.-)" .. pat local last_end = 1 local s, e, cap = str:find(fpat, 1) while s do if s ~= 1 or cap ~= "" then 	 table.insert(t,cap) end last_end = e+1 s, e, cap = str:find(fpat, last_end) end if last_end <= #str then cap = str:sub(last_end) table.insert(t, cap) end return t end function unmute(id) 	local id = tonumber(id) 	mute[id] = false end addhook("say","_say") function _say(id,txt) 	if mute[id] then return 1 	else 		local t = split(txt," ") 		if t[1] == "!mute" and #t == 3 then 			local id = tonumber(t[2]) 			local minutes = tonumber(t[3]) 			mute[id] = true 			timer(minutes * 1000 * 60, "unmute",""..id,1) 		end 	end end
function array(b) 	local a = {} 	for i = 1, 32 do 		a[i] = b 	end 	return a end function splitString(string) 	local c = {} 	for word in string.gmatch(string, '[^%s]+') do 		table.insert(c, word) 	end 	return c end plr = {} plr.mute = array(0) plr.admin = { 	[usgn1] = 1, 	[usgn2] = 1, 	[usgn3] = 1 }		--// Write USGN's here addhook('say', '_sayFunc') addhook('second', '_secondFunc') function _muteFunc(id, time) 	if not time then 		plr.mute[id] = 0 		return 1 	else 		plr.mute[id] = time * 60 		return 2 	end end function _secondFunc() 	for _, id in pairs(player(0, 'tableliving')) do 		if plr.mute[id] > 0 then 			plr.mute[id] = plr.mute[id] - 1 		end 	end end function _sayFunc(id, msg) 	if plr.mute[id] == 0 then 		--// Saycommands 		local a = splitString(msg) 		if string.sub(a[1], 1, 1) == '!' then 			if plr.admin[player(id, 'usgn')] then	--// All admin functions 				if string.upper(string.sub(a[1], 2, string.len(a[1]))) == 'MUTE' then		--// Mute syntax 					local b = _muteFunc(a[2], a[3]) 					if b == 1 then 						print(player(id, 'name')..'('..player(id,'usgn')..'): muted '..player(a[2], 'name')..'('..player(a[2], 'usgn')..') for '..a[3]..' minutes.') 					elseif b == 2 then 						print(player(id, 'name')..'('..player(id,'usgn')..'): unmuted '..player(a[2], 'name')..'('..player(a[2], 'usgn')..')') 					end 				end 			end 			--// All non-admin functions 			return 1 		end 	else 		return 1 	end end
function _secondFunc() for _,id in pairs(player(0,"table")) do if plr.mute[id] > 0 then plr.mute[id] = plr.mute[id] - 1 end end end
print(player(id, 'name')..'('..player(id,'usgn')..'): unmuted '..player(a[2], 'name')..'('..player(a[2], 'usgn')..')')
print(player(id, 'name')..'('..player(id,'usgn')..'): unmuted '..player(a[2], 'name')..'('..player(a[2], 'usgn')..')')
function Split(string) local c = {} for word in string.gmatch(string, '[^%s]+') do table.insert(c, word) end return c end muted = {} for a = 1,32 do muted[a] = false end admins = {12345,54321,xxxxx} -- your usgn here addhook("say","OnSay") function OnSay(id,text) local id = tonumber(id) -- debug if muted[id] == true then 	msg2(id,"©255000000[ERROR] You Are Muted !") 	return 1 end local i = Split(text) for _, k in ipairs(admins) do if player(id,"usgn") == k then if i[1] == "!mute" then 	local param = tonumber(i[2]) 	local mintime = tonumber(i[3]) 		if (muted[param]==false) then 		msg("©255255255> "..player(id,"name").." muted "..player(param,"name").." for "..mintime.." Minute(s) !") 			muted[param] = true 				timer(mintime * 1000 * 60, "unp",""..param) 					return 1 				else 					muted[param] = false 				msg("©255255255> "..player(id,'name').." unmuted "..player(param,"name")) 				end 				return 1 			end 		end 	end end addhook("join","OnPlayer") addhook("leave","OnPlayer") function OnPlayer(id) 	muted[id] = false end function unp(v) v = tonumber(v) -- debug 	msg2(v,"You are UnMuted !") muted[v] = false end