Ir para conteúdo

Featured Replies

Postado

Olá pessoas do TK.

Venho aqui lhes pedir uma talkaction para players poderem mandar broadcast no servidor com um exhausted de 10 minutos.

Oque eu quero com isso é que o player mande o broadcast semelhantemente ao broadcast mandado por GM's e GOD's e tals, com a finalidade de procurar outras guilds para WAR,

então nesse script eu gostaria que somente players que são líderes de guild consiga mandar esse Broadcast, mas que esse broadcast tenha um um cooldown de 10 minutos e que todos os players participem de alguma guild consiga vizualizar a mensagem, não só players que são líderes de guild ...

Postado
Em 03/07/2016 at 11:41, Dragonas disse:

Olá pessoas do TK.

Venho aqui lhes pedir uma talkaction para players poderem mandar broadcast no servidor com um exhausted de 10 minutos.

Oque eu quero com isso é que o player mande o broadcast semelhantemente ao broadcast mandado por GM's e GOD's e tals, com a finalidade de procurar outras guilds para WAR,

então nesse script eu gostaria que somente players que são líderes de guild consiga mandar esse Broadcast, mas que esse broadcast tenha um um cooldown de 10 minutos e que todos os players participem de alguma guild consiga vizualizar a mensagem, não só players que são líderes de guild ...

 

data/talkactions/scripts/bcplayer.lua

local storage = 6557 -- Storage eu registra os 10 minutos entre as mensagens
local storage2 = 6558 -- Storage que proibe o player de falar fora do prazo
local tempo = 600 -- Tempo em segundo entre uma mensagem e outra

function onSay(cid, words, param, channel)
	if getPlayerStorageValue(cid, storage2) < 1 and getPlayerGuildRank(cid) == "Leader" then
		if(param == '') then
		doPlayerSendTextMessage(cid, 19, "A mensagem nao pode ser vazia.")
        return true
		else
		doBroadcastMessage(param)
		setPlayerStorageValue(cid, storage, os.time() + tempo)
		setPlayerStorageValue(cid, storage2, 1)
        return true
		end
	elseif getPlayerStorageValue(cid, storage2) >= 1 then
	 doPlayerSendTextMessage(cid, 19, "Voce tem que aguardar 10 minutos entre uma mensagem e outa!")
	 return true
	else
	doPlayerSendTextMessage(cid, 19, "Somente lideres de guild podem usar esse comando!")
	return true
	end
end

 

data/talkactions/talkactions.xml

<talkaction words="!bc" event="script" value="bcplayer.lua"/>

 

data/globalevents/scripts/bccheck.lua

local storage = 6557 -- Storage eu registra os 10 minutos entre as mensagens
local storage2 = 6558 -- Storage que proibe o player de falar fora do prazo

function onThink(interval, lastExecution, thinkInterval)
		if #getPlayersOnline() > 0 then
		for _, cid in ipairs(getPlayersOnline()) do
            if getPlayerStorageValue(cid, storage2) == 1 and getPlayerStorageValue(cid, storage) - os.time() < 1 then
                setPlayerStorageValue(cid, storage2, 0)
            end
		end
		end
		return true
end

 

data/globalevents/globalevents.xml

<globalevent name="bcplayer" interval="1000" event="script" value="bccheck.lua"/>

1000 == 1 segundo (tempo que executa o script para chegar o tempo entre uma mensagem e outra, se seu server for em segundos, use 1 para 1 segundo)

 

Aguardo um retorno.

Postado
12 horas atrás, Dragonas disse:

Muitooo obrigado Kemmlly

 

Testarei mais tarde ...

 

Funcionou perfeitamente, só não aparece o nome do player que está mandando a msg ...

 

local storage = 6557 -- Storage eu registra os 10 minutos entre as mensagens
local storage2 = 6558 -- Storage que proibe o player de falar fora do prazo
local tempo = 600 -- Tempo em segundo entre uma mensagem e outra

function onSay(cid, words, param, channel)
	if getPlayerStorageValue(cid, storage2) < 1 and getPlayerGuildRank(cid) == "Leader" then
		if(param == '') then
		doPlayerSendTextMessage(cid, 19, "A mensagem nao pode ser vazia.")
        return true
		else
		doBroadcastMessage(""..getCreatureName(cid)..": "..param.."")
		setPlayerStorageValue(cid, storage, os.time() + tempo)
		setPlayerStorageValue(cid, storage2, 1)
        return true
		end
	elseif getPlayerStorageValue(cid, storage2) >= 1 then
	 doPlayerSendTextMessage(cid, 19, "Voce tem que aguardar 10 minutos entre uma mensagem e outa!")
	 return true
	else
	doPlayerSendTextMessage(cid, 19, "Somente lideres de guild podem usar esse comando!")
	return true
	end
end

 

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo