Ir para conteúdo
  • Cadastre-se

(Resolvido)Enviar mensagem num channel que só recebe de quem estiver na tela.


Ir para solução Resolvido por koyotestark,

Posts Recomendados

.Qual servidor você utiliza como base? 

OTX2

Qual o motivo deste tópico? 

Estou querendo usar um comando que vai enviar uma mensagem num channel que, só vai captar a mensagem de quem estiver na tela, semelhante ao default.
imaginei que poderia trocar este cid, por algo, mas não imagino o que poderia usar pra fazer isso.

doPlayerSendChannelMessage(cid, MESSAGE_STATUS_CONSOLE_YELLOW, "Teste", TALKTYPE_CHANNEL_O, CHANNEL_TESTE)



 

Link para o post
Compartilhar em outros sites
  • Sub-Admin
12 horas atrás, koyotestark disse:

.Qual servidor você utiliza como base? 

OTX2

Qual o motivo deste tópico? 

Estou querendo usar um comando que vai enviar uma mensagem num channel que, só vai captar a mensagem de quem estiver na tela, semelhante ao default.
imaginei que poderia trocar este cid, por algo, mas não imagino o que poderia usar pra fazer isso.



doPlayerSendChannelMessage(cid, MESSAGE_STATUS_CONSOLE_YELLOW, "Teste", TALKTYPE_CHANNEL_O, CHANNEL_TESTE)

 

 


 

 

 

local playerPos = getCreaturePosition(cid) -- Obter a posição do jogador
local playersOnScreen = getSpectators(playerPos, 7, 5, false, true) -- Obter os jogadores na área de 7x5 tiles em torno do jogador

for _, player in ipairs(playersOnScreen) do
    doPlayerSendChannelMessage(player, TALKTYPE_CHANNEL_O, CHANNEL_TESTE, "Teste", MESSAGE_STATUS_CONSOLE_YELLOW)
end
 

 

Esse é por distância, ele obtém a posição do jogador (getPlayerPosition(cid)) e, em seguida, busca os jogadores na área ao redor usando getPlayersInArea(playerPos, 7, 5). Em seguida, um loop é usado para enviar a mensagem para cada jogador encontrado na área.

 

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
  • Solução

eu tinha acabado de conseguir rs, mas vou testar este seu tambem.

O meu tinha ficado assim:
 

  local players = getSpectators(getCreaturePosition(cid), 10, 10, 7)

for i, tid in ipairs(players) do
if(isPlayer(tid)) then
doPlayerSendChannelMessage(tid, MESSAGE_STATUS_CONSOLE_YELLOW, "Mensagem", TALKTYPE_CHANNEL_W, CHANNEL_TESTE)        
end
end
end

 

Editado por koyotestark (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Sub-Admin
3 horas atrás, koyotestark disse:

eu tinha acabado de conseguir rs, mas vou testar este seu tambem.

O meu tinha ficado assim:
 


  local players = getSpectators(getCreaturePosition(cid), 10, 10, 7)

for i, tid in ipairs(players) do
if(isPlayer(tid)) then
doPlayerSendChannelMessage(tid, MESSAGE_STATUS_CONSOLE_YELLOW, "Mensagem", TALKTYPE_CHANNEL_W, CHANNEL_TESTE)        
end
end
end

 

Esse sisteminha é legal, eu pretendo usar pra acabar com spam

 

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

sim a ideia é essa mesmo, pretendo ver como tirar pra aparecer o nome laranja, por enqunto, fiz gambiarra, e onde ta name = "nome do spell" eu deixei assim "".

o interessante era fazer diretamente na source pra direcionar, pq eu tenho que botar o script em cada spell.

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