HU
action

Pedido Comando /mute

Por Huezin, 08 de out. de 2015 em Scripts

comando
mute
8
1.6k
HuezinH
08 de outubro de 2015 às 19:38

Galera preciso de um script de o comando /mute funciona assim:

você usa /mute (player),(tempo) e ele ficar sem falar até esse tempo acabar

08 de outubro de 2015 às 19:45
Melhor resposta

talkaction.xml

<talkaction log="yes" words="/mute;/desmute" access="2" event="script" value="mute.lua"/>

mute.lua salve na pasta scripts:

local v = {}
for k = 1, 100 do
table.insert(v, createConditionObject(CONDITION_MUTED))
setConditionParam(v[k], CONDITION_PARAM_TICKS, k*60*1000)
end
function onSay(cid, words, param)
if (words == "/mute") then
local t = string.explode(param, ",")  
local GMName = getPlayerName(cid)
if param == '' then  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")  return true end  
local player,time,pid = getPlayerByName(t[1]),t[2],getPlayerByNameWildcard(t[1])  
if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then  
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.")  return TRUE  end
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você silenciou o jogador "..t[1].." por "..time.." minuto(s).")
doAddCondition(player, v[tonumber(time)])
setPlayerStorageValue(player, 90000, os.time()+time*60)
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você foi silenciado de todos canais por "..t[2].." minuto(s). Por: "..GMName..".")
elseif (words == "/desmute") then
if param == '' then  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")  return true end  
local player = getPlayerByNameWildcard(param)
if(not player)then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.") return true end
if getCreatureCondition(player, CONDITION_MUTED) == false then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "este jogador não está silenciado.") return true end
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "O player "..param.." não está mais silenciado.")
doRemoveCondition(player, CONDITION_MUTED)
setPlayerStorageValue(player, 90000, -1)
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você não está mais silenciado.")
end
return true  
end

em creaturescripts.xml

<event type="login" name="MutePlayer" event="script" value="Mutar_Check.lua"/>

Mutar_Check.lua salve na pasta scripts

local v = {}
for k = 1, 100000 do
table.insert(v, createConditionObject(CONDITION_MUTED))
setConditionParam(v[k], CONDITION_PARAM_TICKS, k*1000)
end
function onLogin(cid)
if getPlayerStorageValue(cid, 90000) >= os.time() then
doAddCondition(cid, v[tonumber(getPlayerStorageValue(cid, 90000) - os.time())])
end
return TRUE
end

Esse script, ele muta o player de todos os canais públicos

Editado Outubro 8 por AdminGabriel

HuezinH
08 de outubro de 2015 às 20:43

amigo coloquei tudo certinho mais o player consegue falar ainda com /mute

08 de outubro de 2015 às 20:47

/mute Nome do player,Tempo

 

Fez isso?

HuezinH
08 de outubro de 2015 às 21:08

ja resolvi isso obrigado :)

08 de outubro de 2015 às 21:10

ok, marque como melhor resposta para que movam o tópico

HuezinH
08 de outubro de 2015 às 21:38

não esta aparecendo aqui :x

zipter98Z
08 de outubro de 2015 às 21:50

Não apareceu a opção de melhor resposta porque você criou o tópico na área de códigos prontos, né coleguinha.

Movido para resolvidos.

Editado Outubro 8 por zipter98