Ir para conteúdo
  • Cadastre-se

(Resolvido)globalevent mensagem programada


Ir para solução Resolvido por Wise,

Posts Recomendados

boa noite pessoal, estou precisando de uma script que envie uma mensagem as 17:58 / 17:59 / 18:01 e 18:02

 

as mensagens são diferentes...

se souber colocar só 1 mensagem na script já ajuda que eu copio e faço 5 sem problemas

 

quem puder ajudar salva essa ai :[

Link para o post
Compartilhar em outros sites

So funciona em tfs 0.3.4 > function onThink(interval, lastExecution)
  -- Configurações
    local cor = 22 -- Defina a cor da mensagem (22 = azul) --- escolha a cor da letra
    local mensagens ={
[[ Coloque o texto aqui]]
}

  -- Fim de Configurações

  doBroadcastMessage(mensagens[math.random(1,table.maxn(mensagens))], cor)
return TRUE
end

Link para o post
Compartilhar em outros sites
  • Moderador

So funciona em tfs 0.3.4 > function onThink(interval, lastExecution)

  -- Configurações

    local cor = 22 -- Defina a cor da mensagem (22 = azul) --- escolha a cor da letra

    local mensagens ={

[[ Coloque o texto aqui]]

}

  -- Fim de Configurações

  doBroadcastMessage(mensagens[math.random(1,table.maxn(mensagens))], cor)

return TRUE

end

Não tem nada haver com o que ele pediu.

Link para o post
Compartilhar em outros sites
  • Solução

automsgs.lua (data\globalevents\scripts)

local msg = {
    ['17:58'] = {text = 'Blablabla', type = 20},
    ['17:59'] = {text = 'Blablabla', type = 21},
    ['18:01'] = {text = 'Blablabla', type = 22},
    ['18:02'] = {text = 'Blablabla', type = 23}
}

function onThink(interval, lastExecution)
    local h = msg[os.date('%X'):sub(1, 5)]
    return h and doBroadcastMessage(h.text, h.type) or true
end



 

globalevents.xml (data\globalevents)

<globalevent name="automaticmessages" interval="60" event="script" value="automsgs.lua"/>




Message types

MESSAGE_FIRST = 18
MESSAGE_EVENT_ORANGE = 19
MESSAGE_STATUS_CONSOLE_ORANGE = 20
MESSAGE_STATUS_WARNING = 21
MESSAGE_EVENT_ADVANCE = 22
MESSAGE_EVENT_DEFAULT = 23
MESSAGE_STATUS_DEFAULT = 24
MESSAGE_INFO_DESCR = 25
MESSAGE_STATUS_SMALL = 26
MESSAGE_STATUS_CONSOLE_BLUE = 27

The corrupt fear us.

The honest support us.

The heroic join us.

Link para o post
Compartilhar em outros sites

ssd1.png

 

 

bem, fui testar e funciona até mas ficou um flood imenso D:

tem como ajeitar pra ser só 1 mensagem no horário?

Link para o post
Compartilhar em outros sites
  • Sub-Admin

olá eu uso pra torneio aqui o meu rsrs scripts é meu se postar em outro lugar bote meus devidos créditos...

 

globalevents.xml add

 

<globalevent name="anuncio1" interval="600000" event="script" value="anuncio.lua"/>

 

agora em globalevents/scripts copia um arquivo .lua, renomeia pra anuncio.lua e add isso.

 

local alexy = {
["17:58"] = {nome = "Mensagem 1"},
["17:59"] = {nome = "Mensagem 2"},
["18:01"] = {nome = "Mensagem 3"},
["18:02"] = {nome = "Mensagem 4"},

}

function onThink(interval, lastExecution)
        hours = tostring(os.date("%X")):sub(1, 5)
        tb = alexy[hours]
        if tb then
                doBroadcastMessage(hours .. " - " .. tb.nome .. "")
                        end
        return true
end

 

600000 é o tempo das mensagem ai só vai avisar 1x só tá perfeito!

Editado por alexxxxxxx (veja o histórico de edições)

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites
bem, fui testar e funciona até mas ficou um flood imenso D:

Esqueci de te avisar que em algumas versões os globalevents executam o interval em segundos, e em outras, em milissegundos (como o seu).

O script está sem erros. Basta alterar na tag, onde está 60 (segundos = 1 minuto) por 60000 (milissegundos = 60 segundos = 1 minuto) ou como preferir, desde que seja em milissegundos (este será o tempo de intervalo de execução do script).

 

 

aqui o meu rsrs scripts é meu se postar em outro lugar bote meus devidos créditos...

 

local alexy = {

["17:58"] = {nome = "Mensagem 1"},

["17:59"] = {nome = "Mensagem 2"},

["18:01"] = {nome = "Mensagem 3"},

["18:02"] = {nome = "Mensagem 4"},

}

function onThink(interval, lastExecution)

        hours = tostring(os.date("%X")):sub(1, 5)

        tb = alexy[hours]

        if tb then

                doBroadcastMessage(hours .. " - " .. tb.nome .. "")

                        end

        return true

end

Por um acaso, seu script está quase igual ao meu. Só uma diferença, o seu faz uso desnecessário de funções.

Pra quê usar o metamétodo tostring se a função orientada a objetos :sub já retorna uma substring?

Está semelhante ao uso que o VodkArt fez, portanto não deve ser seu.

The corrupt fear us.

The honest support us.

The heroic join us.

Link para o post
Compartilhar em outros sites

ah me desculpa, o comando do wiise funciona certinho o erro foi meu de ter colocado o intervalo do gobalevents em "60" que equivale a 60 milesimos... em linux 1 segundo é 1000. eu tinha ajustado mas quando fui testar o comando do alex vi que não salvei ai foi por isso que saia tantas mensagens por segundo

ajustei pra 60000 e funcionou perfeito, muito obrigado wiise e alex!  :laugh:  :laugh:  :laugh:  :wow:

Link para o post
Compartilhar em outros sites
  • Sub-Admin

Esqueci de te avisar que em algumas versões os globalevents executam o interval em segundos, e em outras, em milissegundos (como o seu).

O script está sem erros. Basta alterar na tag, onde está 60 (segundos = 1 minuto) por 60000 (milissegundos = 60 segundos = 1 minuto) ou como preferir, desde que seja em milissegundos (este será o tempo de intervalo de execução do script).

 

 

Por um acaso, seu script está quase igual ao meu. Só uma diferença, o seu faz uso desnecessário de funções.

Pra quê usar o metamétodo tostring se a função orientada a objetos :sub já retorna uma substring?

Está semelhante ao uso que o VodkArt fez, portanto não deve ser seu.

mds...

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites
mds...

Pra quê postar uma mensagem sem conteúdo que não contribui em nada, sendo que o tópico já foi resolvido?

Negativado

Regra 2.4 - Mensagens inúteis.

Leia as Regras do fórum para que isso não se repita.

The corrupt fear us.

The honest support us.

The heroic join us.

Link para o post
Compartilhar em outros sites
  • Sub-Admin

que conteúdo ? por que fazer isso cara é comentário meu fio eu aqui tentando coseguir rep e vc vai e da -1 pqp ahaaa vou falar com o matheus ta loko

Editado por alexxxxxxx (veja o histórico de edições)

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites

@alexxxxxxx
Primeiro, acho que você não entendeu. Releia a regra 2.4:

Mensagens inúteis
Não poste mensagens sem conteúdo, que não contribuem em nada ou que não estejam relacionadas ao assunto do tópico. Mensagens assim são chamadas de Floods. Postar coisas como "haha", "lol", "me add no msn aí", entre outras, é o que considera-se completamente inútil (sem conteúdo).

Segundo, respeite as regras do fórum e a mim também.
Espero que isso tenha fim aqui.

The corrupt fear us.

The honest support us.

The heroic join us.

Link para o post
Compartilhar em outros sites
  • Sub-Admin

sim desculpa!

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

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