Ir para conteúdo

Notice System


comedinhasss

Posts Recomendados

Versão do Script: V0.1 By Comedinha

Versão testada: 9.4+ (pode funcionar em versões anteriores).

Descrição: Quem não se lembra do velho Notice System feito pelo esk? Aquele que toda a noticia nova você tinha que abrir o txt e escrever nele as novidades? Agora não precisa mais disso.

Nota: O script no momento está mais parecido com um ticker system do que um notice system.

 

Novas Funções:

- Adicionar noticias em tempo real para todo o servidor com a data.

- Limpar a janela de noticias em tempo real para todo o servidor.

 

TAG:

<talkaction words="!notice;!news;/notice;/news" event="script" value="notice.lua"/>

 

Script:

local config = {
   add = {"add", "adicionar", "new"},
   clean = {"clean", "limpar"}
}

function onSay(cid, words, param, channel)
   local t = string.explode(param, ",")    
   if(table.isStrIn(param, config.add)) then
       if getPlayerGroupId (cid) >= 5 then
           file = io.open('data/txt/notice.txt','a+')
           if(param == '') then
               doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.")
               return true
           end
           notice = file:write("\n"..getPlayerName(cid).." at " .. os.date("%d %B %Y - %X ", os.time()) .."\n"..t[2].."\n")
           file:close()
           return true
       end
   elseif(table.isStrIn(param, config.clean)) then
       if getPlayerGroupId (cid) >= 5 then
           file = io.open('data/txt/notice.txt','w')
           if(param == '') then
               doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.")
               return true
           end
           notice = file:write("Server News\n")
           file:close()
           return true
       end
       return false
   end
   file = io.open('data/txt/notice.txt','r')
   notice = file:read(-1)
   doShowTextDialog(cid, 7528, notice)
   file:close()
   return true
end

 

Aviso:

Na pasta data crie uma pasta chamada txt e dentro dela um arquivo chamado notice.txt.

Após a instalação do script dentro do servidor digite /notice clean para não ter problemas futuros.

 

Como usar:

Para ver as noticias digite /notice

Para adiconar noticias digite /notice add, (texto)

Para limpar a janela de noticias digite /notice clean

 

Créditos:

Esk

Comedinha (Bruno Carvalho)

Link para o comentário
Compartilhar em outros sites

  • Administrador

Hmm, muito bom!

 

Uma dica seria não usar IO para armazenar as notícias, pois cada vez que você le/salva você consome recursos

de IO do HD, nenhuma VPS ou dedicado comum possui hds bons. Minha sugestão seria ou criar uma tabela

de banco ou usar a camada de cache do storage para isso.

 

A camada de cache de storage é linda pra isso, ela faz tudo em memória (1000x mais rápido que disco) e depois

salva tudo a cada server save.

Link para o comentário
Compartilhar em outros sites

Hmm, muito bom!

 

Uma dica seria não usar IO para armazenar as notícias, pois cada vez que você le/salva você consome recursos

de IO do HD, nenhuma VPS ou dedicado comum possui hds bons. Minha sugestão seria ou criar uma tabela

de banco ou usar a camada de cache do storage para isso.

 

A camada de cache de storage é linda pra isso, ela faz tudo em memória (1000x mais rápido que disco) e depois

salva tudo a cada server save.

 

Sim sim, ele tem um limite de 5 noticias para parar de funcionar e ser necessário usar o clean.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...