Ir para conteúdo
  • Cadastre-se

(Resolvido)[PEDIDO] Comando de mute para tutor


Ir para solução Resolvido por Linus,

Posts Recomendados

Alguém me passa uma Script que o tutor muta tal player e esse player fica 30 minutos sem poder falar no help, somente no help. TFS 1.0

 

Ex do comando. !mute "player

Link para o post
Compartilhar em outros sites
function onSay(cid, words, param)

	local player = Player(cid)
	local m = string.explode(param, ",")
	local target = Player(m[1])
	local time = tonumber(m[2])

	if player:getAccountType() < ACCOUNT_TYPE_TUTOR  then
		return false
	end

	if time == nil then
		player:sendCancelMessage("Invalid param specified.")
		return false
	end

	if target == nil then
		player:sendCancelMessage("A player with that name is not online.")
		return false
	end

	if target:getAccountType() ~= ACCOUNT_TYPE_NORMAL then
		player:sendCancelMessage("You can only mutate a normal player.")
		return false
	end

	if time == 0 and time >= 360 then
		player:sendCancelMessage("you can only mute for a maximum of 360 minutes")
		return false
	end

	local condition = Condition(CONDITION_MUTED)
	condition:setParameter(CONDITION_PARAM_TICKS, time*60*1000)

	target:doaddCondition(condition)
	target:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have been muted by " .. player:getName() .. " , to "..time.. " minutes.")
	player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You muted " .. target:getName() .." to "..time.." minutes.")
end

	<talkaction words="/mute" separator=" " script="ARQUIVO.lua" />
Editado por Linus (veja o histórico de edições)

As Pessoas vivem apegadas aquilo que traduzem como correto e verdadeiro,assim elas definem a realidade.

mas oque significa o correto e o verdadeiro?

 

 

Link para o post
Compartilhar em outros sites

/mute nomedoplayer, tempo(máximo 360 minutos.)

/mute Linus, 10 -- Mutado por de 10 minutos.

As Pessoas vivem apegadas aquilo que traduzem como correto e verdadeiro,assim elas definem a realidade.

mas oque significa o correto e o verdadeiro?

 

 

Link para o post
Compartilhar em outros sites

Não funcionou, deu erro na script.

 

[WARNING] - Event : : checkscript] can not load script: scripts/mute.lua

data/talkaction/scripts/mute.lua :37:  'end' expected (to close 'function' at line 1) near '<eof>


UP

Editado por arthur122222 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Cara sempre que não funcionar poste o erro que dá, tu tinha postado falando que não funcionou e não falou o erro que dava, tu acha que eu tenho bola de cristal pra saber o que se passa no seu server ?

 

Segundo, esse erro foi porque tu copiou errado, esqueceu de copiar o ultimo end...  :facepalm:

function onSay(cid, words, param)

	local player = Player(cid)
	local m = string.explode(param, ",")
	local target = Player(m[1])
	local time = tonumber(m[2])

	if player:getAccountType() < ACCOUNT_TYPE_TUTOR  then
		return false
	end

	if time == nil then
		player:sendCancelMessage("Invalid param specified.")
		return false
	end

	if target == nil then
		player:sendCancelMessage("A player with that name is not online.")
		return false
	end

	if target:getAccountType() ~= ACCOUNT_TYPE_NORMAL then
		player:sendCancelMessage("You can only mutate a normal player.")
		return false
	end

	if time == 0 and time >= 360 then
		player:sendCancelMessage("you can only mute for a maximum of 360 minutes")
		return false
	end

	local condition = Condition(CONDITION_MUTED)
	condition:setParameter(CONDITION_PARAM_TICKS, time*60*1000)

	target:doaddCondition(condition)
	target:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have been muted by " .. player:getName() .. " , to "..time.. " minutes.")
	player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You muted " .. target:getName() .." to "..time.." minutes.")

	return true
end
Editado por Linus (veja o histórico de edições)

As Pessoas vivem apegadas aquilo que traduzem como correto e verdadeiro,assim elas definem a realidade.

mas oque significa o correto e o verdadeiro?

 

 

Link para o post
Compartilhar em outros sites

Em data/talkactions crie um arquivo com nome Muteplayer.lua e cole isso dentro :

 

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)
 --Mensagem que será enviada ao jogador
  message = "Você Foi Mutado Por ".. getCreatureName(cid) .."."
if (words == "/mute") then
local t = string.explode(param, ",")  
if param == '' then  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "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_RED, "Jogador com esse nome não existe ou está offline.")  return TRUE  end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Você mutou o jogador "..t[1].." por "..time.." minuto(s).")
doAddCondition(player, v[tonumber(time)])
setPlayerStorageValue(player, 90000, os.time()+time*60)
doPlayerSendTextMessage(player, MESSAGE_STATUS_CONSOLE_RED, message)
elseif (words == "/desmute") then
if param == '' then  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Invalid param specified.")  return true end  
local player = getPlayerByNameWildcard(param)
if(not player)then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Jogador Não Encontrado.") return true end
if getCreatureCondition(player, CONDITION_MUTED) == false then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Este Jogador Não Esta Mutado.") return true end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Você desmutou o jogador "..param..".")
doRemoveCondition(player, CONDITION_MUTED)
setPlayerStorageValue(player, 90000, -1)
doPlayerSendTextMessage(player, MESSAGE_STATUS_CONSOLE_RED, "Você foi Desmutado Por ".. getCreatureName(cid) ..".")
end
return true  
end

 

Adicione essa tag em talkactions.xml :

 

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

Em data/creatureevents crie um arquivo com nome Mute_check e cole isso dentro :

 

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

 

Em Creatureevents.xml adicione essa tag:

 

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

Comandos: 

/mute teste,5        
(muta por 5 minutos)
/desmute teste      (desmuta o player)

Lembrando que mesmo se o player deslogar, ele continua mutado...

 

Editado por brendoonh (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
<talkaction log="no" access="1" words="/mute" event="script" value="arquivo.lua"/>
function onSay(cid, words, param)

local param = string.explode(param, ",")

if not tostring(param[1]) or tonumber(param[2]) then
	return doPlayerSendCancel(cid, "It's wrong, please use: /mute player, time")
end

	if getPlayerByName(param[1]) then
		doMutePlayer(param[1] , param[2])
	else 
		doPlayerSendCancel(cid, "This player doesn't exists")
	end
return true
end

/mute Caronte,10

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites

Deu o seguinte erro:

 

 

[WARNING] - Event : : checkscript] can not load script: scripts/mute.lua

data/talkaction/scripts/mute.lua :5:  ')' expected near 'then'

Link para o post
Compartilhar em outros sites

 

Deu o seguinte erro:

 

 

[WARNING] - Event : : checkscript] can not load script: scripts/mute.lua

data/talkaction/scripts/mute.lua :5:  ')' expected near 'then'

 

 

Hehe, tente de novo, editei...

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites

Como você ta usando?

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites

O player conseguiu falar ?

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites

A tag do meu continha um pequeno erro, tente com essa tag: 

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

Testei esse script no meu ot e funcionou perfeitamente...

Editado por brendoonh (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

E continua sem funcionar.

 

Ahusahuasshua, 

agora ta funcionando:

function onSay(cid, words, param)

local param = string.explode(param, ",")

if not tostring(param[1]) or not tonumber(param[2]) then
	return doPlayerSendCancel(cid, "It's wrong, please use: /mute player, time")
end

local player = getPlayerByName(param[1])
	if player then
		doMutePlayer(player , param[2])
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You muted in "..param[2].." seconds the player: "..param[1]..".")

	else 
		doPlayerSendCancel(cid, "This player doesn't exists")
	end
return true
end

usa a mesma tag que eu passei no post anterior, ele possuía um erro .

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo