Jump to content

Olá Tibiano! Notamos que você está com um adblocker ligado... 

Nós promovemos servidores dentro da comunidade, para que eles tenham visibilidade.

Por favor, nos ajude a continuar promovendo esses servidores. Adicione nosso domínio na whitelist de seu adblocker, ok? :)

  • 0
Taiger

[Resolvido] Mensagem Catch Chanel

Question

Versão do Servidor: TFS - 0.3.5
Tipo de Script:
Código:

Please login or register to see this spoiler.

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?

 

Edited by Taiger

Share this post


Link to post
Share on other sites

14 answers to this question

Recommended Posts

  • 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

 

Edited by gabrielzika
erro de digitação

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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?

 

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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

 

Edited by gabrielzika
erro de digitação

Share this post


Link to post
Share on other sites
  • 0

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.

Share this post


Link to post
Share on other 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.

Edited by Taiger

Share this post


Link to post
Share on other 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!

Share this post


Link to post
Share on other 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

 

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other sites
  • 0
A questão neste tópico de suporte foi respondida e/ou o autor do tópico resolveu o problema. Este tópico está fechado e foi movido para

Please login or register to see this link.

. Se você tiver outras dúvidas, crie um novo tópico.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...