BonSay~^ Posted January 12, 2016 Share Posted January 12, 2016 Ola pessoal do forum estou criando um comando para staffs para mutar freezar e banir ja fiz o freeze e mute menos o ban mas eu queria saber oque fazer para conseguir mutar o player por tempo e banir por tempo tambem obrigado aguardo respostas ServerSide function getPlayerFromPartialName(name) local name = name and name:gsub("#%x%x%x%x%x%x", ""):lower() or nil if name then for _, player in ipairs(getElementsByType("player")) do local name_ = getPlayerName(player):gsub("#%x%x%x%x%x%x", ""):lower() if name_:find(name, 1, true) then return player end end end end function freeze (source, command, nick, ...) conta = getAccountName ( getPlayerAccount ( source ) ) local t = {...} local text = table.concat (t, " ") if getPlayerFromPartialName ( nick ) and isObjectInACLGroup ("user."..conta, aclGetGroup ( "Console" ) ) then local jogador = getPlayerFromPartialName ( nick ) local nickMUTE = getPlayerName ( jogador ) local nickADM = getPlayerName (source) setElementFrozen (jogador, true) outputChatBox ("O admin "..nickADM.." freezou o jogador "..nickMUTE.." Reason ("..text..")", root, 255,255,255, true) outputChatBox ("Voce foi freezado pelo admin "..nickADM.."", jogador, 255,255,255, true) else outputChatBox ("Esse nick nao existe", source, 255,255,255, true) end end addCommandHandler ("freeze", freeze) function unfreeze (source, command, nick, ...) local t = {...} local text = table.concat (t, " ") if nick and text then if getPlayerFromPartialName ( nick ) then local jogador = getPlayerFromPartialName ( nick ) local nickMUTE = getPlayerName ( jogador ) local nickADM = getPlayerName (source) setElementFrozen (jogador, false) outputChatBox ("O admin "..nickADM.." desfreezou o jogador "..nickMUTE.." Reason ("..text..")", root, 255,255,255, true) outputChatBox ("Voce foi desfreezado pelo admin "..nickADM.."", jogador, 255,255,255, true) end end end addCommandHandler ("unfreeze", unfreeze) function mute (source, command, nick, ...) local t = {...} local text = table.concat (t, " ") if getPlayerFromPartialName ( nick ) then local jogador = getPlayerFromPartialName ( nick ) local nickMUTE = getPlayerName ( jogador ) local nickADM = getPlayerName (source) setPlayerMuted (jogador, true) outputChatBox ("O admin "..nickADM.." mutou o jogador "..nickMUTE.." Reason ("..text..")", root, 255,255,255, true) outputChatBox ("Voce foi mutado pelo admin "..nickADM.."", jogador, 255,255,255, true) else outputChatBox ("#FF0000[ERRO]#ffffff ", source, 255,255,255, true) end end addCommandHandler ("mute", mute) function unmute (source, command, nick, ...) local t = {...} local text = table.concat (t, " ") if nick and text then if getPlayerFromPartialName ( nick ) then local jogador = getPlayerFromPartialName ( nick ) local nickMUTE = getPlayerName ( jogador ) local nickADM = getPlayerName (source) setPlayerMuted (jogador, false) outputChatBox ("O admin "..nickADM.." desmutou o jogador "..nickMUTE.." Reason ("..text..")", root, 255,255,255, true) outputChatBox ("Voce foi desmutado pelo admin "..nickADM.."", jogador, 255,255,255, true) end end end addCommandHandler ("unmute", unmute) Link to comment
n3wage Posted January 12, 2016 Share Posted January 12, 2016 Para o ban você pode simplesmente usar o parâmetro seconds da função banPlayer para determinar quantos segundos o jogador ficará banido, Já para o mute você pode fazer uma dessas coisas: Salvar (com element data, account data ou uma tabela) quantos segundos o jogador ficará calado e no evento onPlayerChat checar se já se passaram esses segundos que você salvou, se ainda faltam segundos você cancela o evento e não deixa o player 'falar', caso contrario não faz nada. Usar um timer para descalar o player (ineficiente). Meu tópico sobre timestamp pode te ajudar no calculo dos segundos Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now