Ir para conteúdo
  • 0

[Resolvido] Mensagem Catch Chanel


Taiger

Pergunta

Boa noite galera.

Eu queria fazer uma modificação no sistema de anuncio de catch. Segue o código:

for _, oid in ipairs(getPlayersOnline()) do
            doPlayerSendChannelMessage(oid, cid,"[Catch Channel] O Jogador [".. getCreatureName(cid) .."] Capturou um ["..poke.."]!.", TALKTYPE_CHANNEL_W, 5)
        end

 

Eu queria que ao invés de aparecer a mensagem de todos os pokes capturados apenas os de level >= 80 aparecesse, e shiny de qualquer level mas com mensagem em laranja. Alguém poderia me ajudar?

 

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

14 respostass a esta questão

Posts Recomendados

  • 0

@Taiger veja se é isso:

 

	if pokes[poke].wildLvl >= 80 or poke:find("Shiny") then
		local text_color = poke:find("Shiny") and TALKTYPE_CHANNEL_O or TALKTYPE_CHANNEL_W
		for _, oid in ipairs(getPlayersOnline()) do
			doPlayerSendChannelMessage(oid, cid, "[Catch Channel] O jogador [".. getCreatureName(cid) .."] capturou um ["..poke.."]!.", text_color, 5)
		end
	end

 

Editado por gabrielzika
erro de digitação
Link para o comentário
Compartilhar em outros sites

  • 0

Isso é simples, verifica se o pokemon é shiny e se o seu level é maior ou igual a 80.

São essas funções que você irá usar.

isShinyName(poke), getPokeLevel(poke), MESSAGE_STATUS_CONSOLE_ORANGE

 

Obs: Os nomes das funções isSinhyName e getPokeLevel podem ser que sejam diferentes do seu servidor, porem praticamente é isso.

Link para o comentário
Compartilhar em outros sites

  • 0
8 horas atrás, BlazerX disse:

Isso é simples, verifica se o pokemon é shiny e se o seu level é maior ou igual a 80.

São essas funções que você irá usar.


isShinyName(poke), getPokeLevel(poke), MESSAGE_STATUS_CONSOLE_ORANGE

 

Obs: Os nomes das funções isSinhyName e getPokeLevel podem ser que sejam diferentes do seu servidor, porem praticamente é isso.

Teria como postar aqui ja adaptado ao sistema que eu postei, pq não faço a minima ideia kk.

Link para o comentário
Compartilhar em outros sites

  • 0

Não quer que eu faça seu serv de poketibia todo não?

Eu mostrei o que você deve fazer e quais funções devem ser utilizadas, agora se você não consegue fazer então por que mexer com poketibia?

 

Link para o comentário
Compartilhar em outros sites

  • 0
1 hora atrás, BlazerX disse:

Não quer que eu faça seu serv de poketibia todo não?

Eu mostrei o que você deve fazer e quais funções devem ser utilizadas, agora se você não consegue fazer então por que mexer com poketibia?

 

Se você quiser fazer um server fica a vontade, agora se não quer ajudar é só dizer que não ou nem responder pq no tópico eu pesso ajuda e não um sermão.

Link para o comentário
Compartilhar em outros sites

  • 0
Em 25/11/2019 em 21:05, Taiger disse:
Versão do Servidor: TFS - 0.3.5
Tipo de Script:
Código:
  Mostrar conteúdo oculto



 

Boa noite galera.

Eu queria fazer uma modificação no sistema de anuncio de catch. Segue o código:


for _, oid in ipairs(getPlayersOnline()) do
            doPlayerSendChannelMessage(oid, cid,"[Catch Channel] O Jogador [".. getCreatureName(cid) .."] Capturou um ["..poke.."]!.", TALKTYPE_CHANNEL_W, 5)
        end

 

Eu queria que ao invés de aparecer a mensagem de todos os pokes capturados apenas os de level >= 80 aparecesse, e shiny de qualquer level mas com mensagem em laranja. Alguém poderia me ajudar?

 

Mano fiz mas não testei.

Usei as funções que o brother ali falou.

Espero ter ajudado ^^ 

Spoiler

for _, oid in ipairs(getPlayersOnline()) do
if getPokeLevel(poke) >= 80 then 
        doPlayerSendChannelMessage(oid, cid,"[Catch Channel] O Jogador [".. getCreatureName(cid) .."] Capturou um ["..poke.."]!.", TALKTYPE_CHANNEL_W, 5)
	if isShinyName(poke) then
		doPlayerSendChannelMessage(oid, cid,"[Catch Channel] O Jogador [".. getCreatureName(cid) .."] Capturou um ["..poke.."]!.", TALKTYPE_CHANNEL_W, 22)
		elseif getPokeLevel(poke) <= 79 and not isShinyName(poke) then
		doPlayerSendTextMessage(cid, 25, "Voce pegou um poke!")
		end
	end
end

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

Opa vlw pela ajuda rapazes, estou no serviço, chegando em casa eu testo.

5 horas atrás, gabrielzika disse:

@Taiger veja se é isso:

 


	if pokes[poke].wildLvl >= 80 or poke:find("Shiny") then
		local text_color = poke:find("Shiny") and TALKTYPE_CHANNEL_O or TALKTYPE_CHANNEL_W
		for _, oid in ipairs(getPlayersOnline()) do
			doPlayerSendChannelMessage(oid, cid, "[Catch Channel] O jogador [".. getCreatureName(cid) .."] capturou um ["..poke.."]!.", text_color, 5)
		end
	end

 

@gabrielzika Funcionou amigo, muito obrigado. Só mais uma pergunta, para eu por também uma tabela para adicionar os pokes que eu quero que apareça a msg, como eu colocaria?

 

@Ayron5 Obrigado tb por tentar ajudar.

Link para o comentário
Compartilhar em outros sites

  • 0

@Taiger

 

	local pokesCheck = {"Alakazam", "Blastoise"}
	if isInArray(pokesCheck, poke) or pokes[poke].wildLvl >= 80 or poke:find("Shiny") then
		local text_color = poke:find("Shiny") and TALKTYPE_CHANNEL_O or TALKTYPE_CHANNEL_W
		for _, oid in ipairs(getPlayersOnline()) do
			doPlayerSendChannelMessage(oid, cid, "[Catch Channel] O jogador [".. getCreatureName(cid) .."] capturou um ["..poke.."]!.", text_color, 5)
		end
	end

 

Editado por gabrielzika
erro de digitação
Link para o comentário
Compartilhar em outros sites

  • 0
5 horas atrás, BlazerX disse:

Esse Taiger nem agradece, o cara quer de mão beijada limpando a bundinha, eu falei como é que se faz e nem pra dar o rep+ pela ajuda.

Eu pedi ajuda já que eu não manjo de programação, e você veio com grosseria. Mesmo assim eu te dou rep+, só tente ser mais gentil com os membros ja que isso aqui é uma comunidade.

 

@gabrielzika vou testar aqui. Obrigado

10 horas atrás, gabrielzika disse:

@Taiger

 


	local pokes = {"Alakazam", "Blastoise"}
	if isInArray(pokes, poke) or pokes[poke].wildLvl >= 80 or poke:find("Shiny") then
		local text_color = poke:find("Shiny") and TALKTYPE_CHANNEL_O or TALKTYPE_CHANNEL_W
		for _, oid in ipairs(getPlayersOnline()) do
			doPlayerSendChannelMessage(oid, cid, "[Catch Channel] O jogador [".. getCreatureName(cid) .."] capturou um ["..poke.."]!.", text_color, 5)
		end
	end

 

Agora só aparece os pokes que estão na tabela. Aparece um erro nessa linha:

if isInArray(pokes, poke) or pokes[poke].level >= 80 or poke:find("Shiny") then

542901974_errocatch.png.e4eb8bd2f48ca6ebbb604e30196e1037.png

 

@gabrielzika se não der para corrigir deixa queto e eu fecho o tópico com sua melhor resposta, você já me ajudou muito.

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

  • 0

 

 

Já temos isso por aqui, a única diferença é que não lida com o level do Pokémon!

 

Bem, eu não sei qual a função do seu servidor que puxa a informação de level do Pokémon, mas seria algo assim:

 

local text_color = (string.find(poke, "Shiny") or getPokemonLevel(poke) >= 80) and TALKTYPE_CHANNEL_ORANGE or TALKTYPE_CHANNEL_W

for _, oid in ipairs(getPlayersOnline()) do
		doPlayerSendChannelMessage(oid,getCreatureName(cid),"[Catch Channel] O Jogador [".. getCreatureName(cid) .."] Capturou um ["..poke.."]!.", text_color, 10)
end

 

Boa sorte amigo!

Link para o comentário
Compartilhar em outros sites

  • 0

@Taiger malz ksks, tenta agr!

 

	local pokesCheck = {"Alakazam", "Blastoise"}
	if isInArray(pokesCheck, poke) or pokes[poke].wildLvl >= 80 or poke:find("Shiny") then
		local text_color = poke:find("Shiny") and TALKTYPE_CHANNEL_O or TALKTYPE_CHANNEL_W
		for _, oid in ipairs(getPlayersOnline()) do
			doPlayerSendChannelMessage(oid, cid, "[Catch Channel] O jogador [".. getCreatureName(cid) .."] capturou um ["..poke.."]!.", text_color, 5)
		end
	end

 

Link para o comentário
Compartilhar em outros sites

  • 0
26 minutos atrás, gabrielzika disse:

@Taiger malz ksks, tenta agr!

 


	local pokesCheck = {"Alakazam", "Blastoise"}
	if isInArray(pokesCheck, poke) or pokes[poke].wildLvl >= 80 or poke:find("Shiny") then
		local text_color = poke:find("Shiny") and TALKTYPE_CHANNEL_O or TALKTYPE_CHANNEL_W
		for _, oid in ipairs(getPlayersOnline()) do
			doPlayerSendChannelMessage(oid, cid, "[Catch Channel] O jogador [".. getCreatureName(cid) .."] capturou um ["..poke.."]!.", text_color, 5)
		end
	end

 

Muito obrigado mano, funcionou certinho.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...