Ir para conteúdo
  • 0

Anúncio de Player


Amantezinho

Pergunta

E aí XTIBIA, queria fazer um pedido (de novo, e como todos, HAHAHHA) ... Esté é um um script de anúncio de Player p/ Player.

  • Como Funciona?

O Player usará um comando "/announce" + o que quer falar para ir uma mensagem para todos do server, pelo custo de 1 diamond. Logo do lado da mensagem aparecerá por quem foi feito o anúncio.

(ex: /announce Troco 5 diamonds por 10K! )


Para o público ficará:

( Troco 5 diamonds por 10K! - Announcement made by Surfistinha.)

Se possível que essas mensagens sejam salvas num log, para que no caso de alguém abusar do sistema, mandando palavrões, etc, seja possível analisar.

Agradeço desde já a ajuda.

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Não testei.

 

Script:

 

 

 

 

local config = {
storage = 19400, -- storage em que será salvo o tempo
cor = "green", -- de acordo com o constant.lua da lib
tempo = 60, -- em segundos
itemid = 2159, --item que sera removido
price = 1, -- quantidade de item que sera removido
level = 1000 -- level necessario para poder utilizar o comando.
}


function onSay(cid, words, param, channel)
if(param == '') then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.")
return true
end


if getPlayerLevel(cid) >= config.level then
if getPlayerStorageValue(cid, config.storage) - os.time() <= 0 then
if doPlayerRemoveItem(cid, config.itemid, config.price) then
setPlayerStorageValue(cid, config.storage, os.time() + (config.tempo*1))
doBroadcastMessage(""..getCreatureName(cid).." [ANUNCIO]: "..param.."", config.cor)
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Vc Falo Com Sucesso " ..config.tempo.. " second(s) espere.")
else
doPlayerSendCancel(cid, "Você precisa " ..config.price.. " Scarab Coins para falar novamente no Anuncio.")
return true
end
else
doPlayerSendCancel(cid, "Você Falo no Anuncio " ..(getPlayerStorageValue(cid, config.storage) - os.time()).. " seconds Espere.")
return true
end
else
doPlayerSendCancel(cid, "You have to be level " ..config.level.. " or more in order to use broadcast.")
end
end

 

 

 

 

Tag:

 

 

 

 

<talkaction words="/announce" event="script" value="anuncio.lua"/>

 

 

 

 

Sobre o log,estou vendo se consigo fazer.

Editado por kaleudd
Link para o comentário
Compartilhar em outros sites

  • 0

Sobre os logs, você pode fazer de dois jeitos:

1. registrar no banco de dados, mas para isso você tem que criar uma tabela em seu BD -- Fica mais fácil para depois puxar e criar comandos para ver quem usou, quando e a mensagem. (Gosto mais desta parte)

2. Colocar para registrar em .txt mesmo, acho um pouco arcaico, mas pode também fazer comandos para ver, e editar se quiser.

 

Se tiver dúvidas posso fazer as duas maneiras para você. Só escolher.

Link para o comentário
Compartilhar em outros sites

  • 0

Sobre os logs, você pode fazer de dois jeitos:

1. registrar no banco de dados, mas para isso você tem que criar uma tabela em seu BD -- Fica mais fácil para depois puxar e criar comandos para ver quem usou, quando e a mensagem. (Gosto mais desta parte)

2. Colocar para registrar em .txt mesmo, acho um pouco arcaico, mas pode também fazer comandos para ver, e editar se quiser.

 

Se tiver dúvidas posso fazer as duas maneiras para você. Só escolher.

Acho que em .txt é melhor para mim HAHAHA, Puxo pelo Ctrl+ F nome do player. Mas nesse ficará separado por linha ou bugará tudo tipo

 

mensagem1mensagem2mensagem3?

Link para o comentário
Compartilhar em outros sites

  • 0

Ok,

Fiz um txt para cada jogador:

Crie uma pasta 'log anuncio'

e na script coloca isso:

function registrarLog(cid, param)
	f = io.open('data/log anuncio/'.. getCreatureName(cid) ..'.txt','a+')
	f:write("Jogador : "..getCreatureName(cid).." - fez o anúncio no dia " .. os.date("%d %B %Y às %X.", os.time()) .."\nMensagem: ".. param .."\n----------------------------------------------------------\n")
	f:close()
end

e no final da script do comando, depois desta linha:

doBroadcastMessage(""..getCreatureName(cid).." [ANUNCIO]: "..param.."", config.cor)

coloca isso:

registrarLog(cid, param)

Não testei, quaisquer erro reporte aqui.

Link para o comentário
Compartilhar em outros sites

  • 0

Testado e aprovado!
Ambos os scripts! :)
É possível fazer uma action para usar esse sistema?
Ex: Uso um item, que abrirá uma caixa para digitar o texto. quando o player clicar enviar irá fazê-lo dizer /comando [mensagem]


-
E se possível, onde e o que eu coloco para deixar o texto (após dito) não aparecer. Pq o player fala /announce tal coisa e mostra , como se ele falasse normal. (PS: Ele fala normal e fala pro servidor tbm. )

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...