Ir para conteúdo
  • 0

/mute Apenas no help


roriscrave

Pergunta

Quero um comando que ao mutar o jogador, ele tome muted APENAS NO HELP. Quero que ele possa falar nos outros chats normalmente, mas no help só depois que sair esse mute.

> Eu sei que tem o tempo de 2min para falar no help, mas tem player que fica zuando no help, ai usaria o comando para banir por X horas por exemplo.

 

Tentei usar esse do , mas ele muta em todos channels, ate no default, fazendo o player morrer sem poder usar magias

http://www.xtibia.com/forum/topic/181749-talk-comando-mute-atualizado/

Link para o comentário
Compartilhar em outros sites

  • Respostas 51
  • Created
  • Última resposta

Top Posters For This Question

Posts Recomendados

  • 0

Sendo que o jogador e o tempo ja foram informados!

Teste agora:

 

function onSay(cid, words, param)

	local CHANNEL_HELP = 7
	local storage = 456112

	if words == "/mute" then
		local mute = param:split(",")
		local target = getPlayerByName(mute[1])
		local time = tonumber(mute[2])

		if target == false then
			doPlayerSendCancel(cid, "Jogador nao encontrado ou nao esta online.")
			return false
		end

		if time == nil then
			doPlayerSendCancel(cid, "Informe o tempo em minutos.")
			return false
		end

		local condition = createConditionObject(CONDITION_MUTED)
		setConditionParam(condition, CONDITION_PARAM_SUBID, CHANNEL_HELP)
		setConditionParam(condition, CONDITION_PARAM_TICKS, time * 60 * 1000)

		doAddCondition(target, condition)
		doPlayerSendTextMessage(target, MESSAGE_INFO_DESCR, "Você foi mutado por " .. time .. " minutos.")
		setPlayerStorageValue(target, storage, 1)
		return false
	elseif words == "/unmute" then
		local remove = getPlayerByName(param)

		if remove == false then
			doPlayerSendCancel(cid, "Jogador nao encontrado ou nao esta online.")
			return false
		end

		if getPlayerStorageValue(remove, storage) == 1 then
			doRemoveCondition(remove, CONDITION_MUTED, CONDITIONID_DEFAULT, CHANNEL_HELP)
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você desmutou o jogador " .. getCreatureName(remove) .. ".")
			setPlayerStorageValue(target, storage, -1)
		else
			doPlayerSendCancel(cid, "O jogador " .. getCreatureName(remove) .. " nao esta mutado.")
		end
	end
	return false
end

 

Link para o comentário
Compartilhar em outros sites

  • 0

Acabei de testar! quando eu falo

 

"/mute Testando, 10"

 

Aparece isto:

 

"Jogador nao encontrado ou nao esta online."

Teste agora please...

Link para o comentário
Compartilhar em outros sites

  • 0

Agora eu falo

 

"/mute Testando, 10"

 

aparece isto:

 

"Informe o tempo em minutos."

Tente assim:

"/mute Testando,10"

Sem espaço

Link para o comentário
Compartilhar em outros sites

  • 0

tentei sem o espaço e cuntinua mandando a mesma msg!

Assim vai?

 

function onSay(cid, words, param)

	local CHANNEL_HELP = 7
	local storage = 456112

	if words == "/mute" then
		local mute = string.explode(param, ",")
		local target = getPlayerByName(mute[1])
		local time = tonumber(mute[2])

		if target == false then
			doPlayerSendCancel(cid, "Jogador nao encontrado ou nao esta online.")
			return false
		end

		if time == nil then
			doPlayerSendCancel(cid, "Informe o tempo em minutos.")
			return false
		end

		local condition = createConditionObject(CONDITION_MUTED)
		setConditionParam(condition, CONDITION_PARAM_SUBID, CHANNEL_HELP)
		setConditionParam(condition, CONDITION_PARAM_TICKS, time * 60 * 1000)

		doAddCondition(target, condition)
		doPlayerSendTextMessage(target, MESSAGE_INFO_DESCR, "Você foi mutado por " .. time .. " minutos.")
		setPlayerStorageValue(target, storage, 1)
		return false
	elseif words == "/unmute" then
		local remove = getPlayerByName(param)

		if remove == false then
			doPlayerSendCancel(cid, "Jogador nao encontrado ou nao esta online.")
			return false
		end

		if getPlayerStorageValue(remove, storage) == 1 then
			doRemoveCondition(remove, CONDITION_MUTED, CONDITIONID_DEFAULT, CHANNEL_HELP)
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você desmutou o jogador " .. getCreatureName(remove) .. ".")
			setPlayerStorageValue(target, storage, -1)
		else
			doPlayerSendCancel(cid, "O jogador " .. getCreatureName(remove) .. " nao esta mutado.")
		end
	end
	return false
end

 

Link para o comentário
Compartilhar em outros sites

  • 0

Assim vai?

 

 

function onSay(cid, words, param)

	local CHANNEL_HELP = 7
	local storage = 456112

	if words == "/mute" then
		local mute = string.explode(param, ",")
		local target = getPlayerByName(mute[1])
		local time = tonumber(mute[2])

		if target == false then
			doPlayerSendCancel(cid, "Jogador nao encontrado ou nao esta online.")
			return false
		end

		if time == nil then
			doPlayerSendCancel(cid, "Informe o tempo em minutos.")
			return false
		end

		local condition = createConditionObject(CONDITION_MUTED)
		setConditionParam(condition, CONDITION_PARAM_SUBID, CHANNEL_HELP)
		setConditionParam(condition, CONDITION_PARAM_TICKS, time * 60 * 1000)

		doAddCondition(target, condition)
		doPlayerSendTextMessage(target, MESSAGE_INFO_DESCR, "Você foi mutado por " .. time .. " minutos.")
		setPlayerStorageValue(target, storage, 1)
		return false
	elseif words == "/unmute" then
		local remove = getPlayerByName(param)

		if remove == false then
			doPlayerSendCancel(cid, "Jogador nao encontrado ou nao esta online.")
			return false
		end

		if getPlayerStorageValue(remove, storage) == 1 then
			doRemoveCondition(remove, CONDITION_MUTED, CONDITIONID_DEFAULT, CHANNEL_HELP)
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você desmutou o jogador " .. getCreatureName(remove) .. ".")
			setPlayerStorageValue(target, storage, -1)
		else
			doPlayerSendCancel(cid, "O jogador " .. getCreatureName(remove) .. " nao esta mutado.")
		end
	end
	return false
end

 

tb preciso desse script aqui player mutado continua mandando mensagem

Link para o comentário
Compartilhar em outros sites

  • 0

Agora está dando este erro:

 

[05/08/2015 10:59:19] [Error - TalkAction Interface]
[05/08/2015 10:59:19] data/talkactions/scripts/muteplayer.lua:onSay
[05/08/2015 10:59:19] Description:
[05/08/2015 10:59:19] (luaCreateConditionObject) This function can only be used while loading the script.
[05/08/2015 10:59:19] [Error - TalkAction Interface]
[05/08/2015 10:59:19] data/talkactions/scripts/muteplayer.lua:onSay
[05/08/2015 10:59:19] Description:
[05/08/2015 10:59:19] (luaSetConditionParam) This function can only be used while loading the script.
[05/08/2015 10:59:19] [Error - TalkAction Interface]
[05/08/2015 10:59:19] data/talkactions/scripts/muteplayer.lua:onSay
[05/08/2015 10:59:19] Description:
[05/08/2015 10:59:19] (luaSetConditionParam) This function can only be used while loading the script.
[05/08/2015 10:59:19] [Error - TalkAction Interface]
[05/08/2015 10:59:19] data/talkactions/scripts/muteplayer.lua:onSay
[05/08/2015 10:59:19] Description:
[05/08/2015 10:59:19] (luaDoAddCondition) Condition not found
Link para o comentário
Compartilhar em outros sites

  • 0

Agora está dando este erro:

Tente assim (estou no serviço e não posso testar):

local CHANNEL_HELP = 7
local storage = 456112

local condition = createConditionObject(CONDITION_MUTED)

function onSay(cid, words, param)
	if words == "/mute" then
		local mute = string.explode(string.lower(param), ",")
		local target = getPlayerByName(mute[1])
		local tempo = tonumber(mute[2])

		if target == false then
			doPlayerSendCancel(cid, "Jogador nao encontrado ou nao esta online.")
			return false
		end

		if tempo == nil then
			doPlayerSendCancel(cid, "Informe o tempo em minutos.")
			return false
		end
		setConditionParam(condition, CONDITION_PARAM_SUBID, CHANNEL_HELP)
		setConditionParam(condition, CONDITION_PARAM_TICKS, tempo * 60 * 1000)
		doAddCondition(target, condition)
		doPlayerSendTextMessage(target, MESSAGE_INFO_DESCR, "Você foi mutado por " .. tempo .. " minutos.")
		setPlayerStorageValue(target, storage, 1)
		return false
	elseif words == "/unmute" then
		local remove = getPlayerByName(param)

		if remove == false then
			doPlayerSendCancel(cid, "Jogador nao encontrado ou nao esta online.")
			return false
		end

		if getPlayerStorageValue(remove, storage) == 1 then
			doRemoveCondition(remove, CONDITION_MUTED, CONDITIONID_DEFAULT, CHANNEL_HELP)
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você desmutou o jogador " .. getCreatureName(remove) .. ".")
			setPlayerStorageValue(target, storage, -1)
		else
			doPlayerSendCancel(cid, "O jogador " .. getCreatureName(remove) .. " nao esta mutado.")
		end
	end
	return false
end
Link para o comentário
Compartilhar em outros sites

  • 0

Não acontece nada! e quando eu dou reload no server aparece isto:

 

[05/08/2015 11:14:55] [Error - TalkAction Interface]
[05/08/2015 11:14:55] data/talkactions/scripts/muteplayer.lua
[05/08/2015 11:14:55] Description:
[05/08/2015 11:14:55] data/talkactions/scripts/muteplayer.lua:6: attempt to perform arithmetic on global 'time' (a nil value)
[05/08/2015 11:14:55] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/muteplayer.lua)
Link para o comentário
Compartilhar em outros sites

  • 0

Não acontece nada! e quando eu dou reload no server aparece isto:

Segue:

 

local CHANNEL_HELP = 7
local storage = 456112

local condition = createConditionObject(CONDITION_MUTED)

function onSay(cid, words, param)
	if words == "/mute" then
		local mute = string.explode(string.lower(param), ",")
		local target = getPlayerByName(mute[1])
		local tempo = tonumber(mute[2])

		if target == false then
			doPlayerSendCancel(cid, "Jogador nao encontrado ou nao esta online.")
			return false
		end

		if tempo == nil then
			doPlayerSendCancel(cid, "Informe o tempo em minutos.")
			return false
		end
		setConditionParam(condition, CONDITION_PARAM_SUBID, CHANNEL_HELP)
		setConditionParam(condition, CONDITION_PARAM_TICKS, tempo * 60 * 1000)
		doAddCondition(target, condition)
		doPlayerSendTextMessage(target, MESSAGE_INFO_DESCR, "Você foi mutado por " .. tempo .. " minutos.")
		setPlayerStorageValue(target, storage, 1)
		return false
	elseif words == "/unmute" then
		local remove = getPlayerByName(param)

		if remove == false then
			doPlayerSendCancel(cid, "Jogador nao encontrado ou nao esta online.")
			return false
		end

		if getPlayerStorageValue(remove, storage) == 1 then
			doRemoveCondition(remove, CONDITION_MUTED, CONDITIONID_DEFAULT, CHANNEL_HELP)
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você desmutou o jogador " .. getCreatureName(remove) .. ".")
			setPlayerStorageValue(target, storage, -1)
		else
			doPlayerSendCancel(cid, "O jogador " .. getCreatureName(remove) .. " nao esta mutado.")
		end
	end
	return false
end

 

Link para o comentário
Compartilhar em outros sites

  • 0

este erro quando eu tento mutar o player:

 

[05/08/2015 11:35:20] [Error - TalkAction Interface]
[05/08/2015 11:35:20] data/talkactions/scripts/muteplayer.lua:onSay
[05/08/2015 11:35:20] Description:
[05/08/2015 11:35:20] (luaSetConditionParam) This function can only be used while loading the script.
[05/08/2015 11:35:20] [Error - TalkAction Interface]
[05/08/2015 11:35:20] data/talkactions/scripts/muteplayer.lua:onSay
[05/08/2015 11:35:20] Description:
[05/08/2015 11:35:20] (luaSetConditionParam) This function can only be used while loading the script.
Link para o comentário
Compartilhar em outros sites

  • 0

este erro quando eu tento mutar o player:

Tenta assim:

 

local CHANNEL_HELP = 7
local storage = 456112
local minutes = 3 -- tempo em minutos para mutar o player

local condition = createConditionObject(CONDITION_MUTED)
setConditionParam(condition, CONDITION_PARAM_SUBID, CHANNEL_HELP)
setConditionParam(condition, CONDITION_PARAM_TICKS, minutes * 60 * 1000)

function onSay(cid, words, param)
	if words == "/mute" then
		local mute = string.explode(string.lower(param), ",")
		local target = getPlayerByName(mute[1])

		if target == false then
			doPlayerSendCancel(cid, "Jogador nao encontrado ou nao esta online.")
			return false
		end

		doAddCondition(target, condition)
		doPlayerSendTextMessage(target, MESSAGE_INFO_DESCR, "Você foi mutado por " .. minutes .. " minutos.")
		setPlayerStorageValue(target, storage, 1)
		return false
	elseif words == "/unmute" then
		local remove = getPlayerByName(param)

		if remove == false then
			doPlayerSendCancel(cid, "Jogador nao encontrado ou nao esta online.")
			return false
		end

		if getPlayerStorageValue(remove, storage) == 1 then
			doRemoveCondition(remove, CONDITION_MUTED, CONDITIONID_DEFAULT, CHANNEL_HELP)
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você desmutou o jogador " .. getCreatureName(remove) .. ".")
			setPlayerStorageValue(target, storage, -1)
		else
			doPlayerSendCancel(cid, "O jogador " .. getCreatureName(remove) .. " nao esta mutado.")
		end
	end
	return false
end

 

 

Agora use apenas /mute Player

Att.

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta assim:

 

 

local CHANNEL_HELP = 7
local storage = 456112
local minutes = 3 -- tempo em minutos para mutar o player

local condition = createConditionObject(CONDITION_MUTED)
setConditionParam(condition, CONDITION_PARAM_SUBID, CHANNEL_HELP)
setConditionParam(condition, CONDITION_PARAM_TICKS, minutes * 60 * 1000)

function onSay(cid, words, param)
	if words == "/mute" then
		local mute = string.explode(string.lower(param), ",")
		local target = getPlayerByName(mute[1])

		if target == false then
			doPlayerSendCancel(cid, "Jogador nao encontrado ou nao esta online.")
			return false
		end

		doAddCondition(target, condition)
		doPlayerSendTextMessage(target, MESSAGE_INFO_DESCR, "Você foi mutado por " .. minutes .. " minutos.")
		setPlayerStorageValue(target, storage, 1)
		return false
	elseif words == "/unmute" then
		local remove = getPlayerByName(param)

		if remove == false then
			doPlayerSendCancel(cid, "Jogador nao encontrado ou nao esta online.")
			return false
		end

		if getPlayerStorageValue(remove, storage) == 1 then
			doRemoveCondition(remove, CONDITION_MUTED, CONDITIONID_DEFAULT, CHANNEL_HELP)
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você desmutou o jogador " .. getCreatureName(remove) .. ".")
			setPlayerStorageValue(target, storage, -1)
		else
			doPlayerSendCancel(cid, "O jogador " .. getCreatureName(remove) .. " nao esta mutado.")
		end
	end
	return false
end

 

 

Agora use apenas /mute Player

Att.

Agora não está acontecendo absolutamente nada!

Link para o comentário
Compartilhar em outros sites


×
×
  • Criar Novo...