Ir para conteúdo
  • 0

Pokemon morre ao passar pelo teleport


klbkevinklb

Pergunta

opa galera boa noite, bom eu sei que eu peço as coisas aqui, mas assim...sao coisas que nao consigo arrumar, entao o problema é assim, o player passa com poke pra fora da ball no teleport e ele morre, alguem poderia me ajudar?

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

@klbkevinklb

 

Preste atenção, quando você pegar algum código do fórum converta ele pra ANSII, as vezes alguns caracteres que não existem na formatção UTF-8 ficam invisivel e bugam o código.

 

no notepadd++ abra o arquivo e converta para ANSII

image.png.d44df6a1fa6eae5500d3766dfb5a4dd3.png

 

Ao converter olha como ficou o código , você deve apagar esses '"?"' para então funcionar.

 

image.thumb.png.568c020b4a4dc4f114e64b434502c24c.png

 

 

O Código atualizado

Spoiler

function onStepIn(cid, item, position, fromPosition)
    if #getCreatureSummons(cid) >= 1 then
        local pokeball = getPlayerSlotItem(cid, 8)
        local poke = getCreatureSummons(cid)[1]
        local btype = getPokeballType(pokeball.itemid)
        local effect = pokeballs[btype].effect
        if not effect then
            effect = 21
        end
        local cd = getCD(pokeball.uid, "blink", 30)
        if cd > 0 then
           setCD(item.uid, "blink", 0)
        end
        doReturnPokemon(cid, poke, pokeball, effect)
        doPlayerSendCancel(cid, '12//,hide')
        doPlayerSendTextMessage(cid, 22, "Seu pokémon retornou para a pokebola.")
   end
   return true
end

 

 

 

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

  • 0

Nossa que confuso acho que ele nao quer um script e sim quanto ele ta com o pokemon e passa pelo teleporta o pokemon morre, kkkkk sei lá interpretei isso, ai seria um ajuste do script que ele ja tem.

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

  • 0
12 horas atrás, Crypter disse:

@klbkevinklb

 

Preste atenção, quando você pegar algum código do fórum converta ele pra ANSII, as vezes alguns caracteres que não existem na formatção UTF-8 ficam invisivel e bugam o código.

 

no notepadd++ abra o arquivo e converta para ANSII

image.png.d44df6a1fa6eae5500d3766dfb5a4dd3.png

 

Ao converter olha como ficou o código , você deve apagar esses '"?"' para então funcionar.

 

image.thumb.png.568c020b4a4dc4f114e64b434502c24c.png

 

 

O Código atualizado

  Ocultar conteúdo


function onStepIn(cid, item, position, fromPosition)
    if #getCreatureSummons(cid) >= 1 then
        local pokeball = getPlayerSlotItem(cid, 8)
        local poke = getCreatureSummons(cid)[1]
        local btype = getPokeballType(pokeball.itemid)
        local effect = pokeballs[btype].effect
        if not effect then
            effect = 21
        end
        local cd = getCD(pokeball.uid, "blink", 30)
        if cd > 0 then
           setCD(item.uid, "blink", 0)
        end
        doReturnPokemon(cid, poke, pokeball, effect)
        doPlayerSendCancel(cid, '12//,hide')
        doPlayerSendTextMessage(cid, 22, "Seu pokémon retornou para a pokebola.")
   end
   return true
end

 

 

 

ta beleza, ele funcionou, mas eu quero que ele fique pra fora da ball, pq imagina se o player entra em uma quest? e o pokemon voltar pra ball? tem como isso?

Link para o comentário
Compartilhar em outros sites

  • 0
2 minutos atrás, Crypter disse:

function onStepIn(cid, item, position, fromPosition)
   if isSummon(cid) then
      doTeleportThing(cid, fromPosition, true)
      return false
   end
   return true
end

 

coloquei esse codigo que vc mando, no lugar do outro codigo citado acima, mas nao funciono

Link para o comentário
Compartilhar em outros sites

  • 0
11 horas atrás, klbkevinklb disse:

coloquei esse codigo que vc mando, no lugar do outro codigo citado acima, mas nao funciono

só isso n vai funcionar, precisa de alterações na source.

 

 

 

 

Sobre o Sistema:

 

Esse sistema tem a função de teleportar seu pokemon a certos sqm, tipo assim, você tem um pokemon e a distancia dele é 7 sqm, ao passar os 7 sqm ele teleporta para você, seja em qualquer lugar até de baixo da terra ou lugares super longe (Não se preocupe o problema do pokemon Morrer com source novas será removido e assim ele não vai morrer)

 

Tutorial que foi postado por mim no outro forum em Maio 29, 2016:

 

Vá em sua source procure por creature.cpp e abra com algum editor de texto e ache:

 

  Citar
		if(!summons.empty())
		{
			std::list<Creature*>::iterator cit;
			std::list<Creature*> despawnList;
			for(cit = summons.begin(); cit != summons.end(); ++cit)
			{
				const Position pos = (*cit)->getPosition();
				if((std::abs(pos.z - newPos.z) > 2) || (std::max(std::abs((
					newPos.x) - pos.x), std::abs((newPos.y - 1) - pos.y)) > 30))
					despawnList.push_back((*cit));
			}

			for(cit = despawnList.begin(); cit != despawnList.end(); ++cit)
				g_game.removeCreature((*cit), true);
		}

Mude para:

 

  Citar
  Citar

		/*if(!summons.empty())
		{
			std::list<Creature*>::iterator cit;
			std::list<Creature*> despawnList;
			for(cit = summons.begin(); cit != summons.end(); ++cit)
			{
				const Position pos = (*cit)->getPosition();
				if((std::abs(pos.z - newPos.z) > 2) || (std::max(std::abs((
					newPos.x) - pos.x), std::abs((newPos.y - 1) - pos.y)) > 30))
					despawnList.push_back((*cit));
			}

			for(cit = despawnList.begin(); cit != despawnList.end(); ++cit)
				g_game.removeCreature((*cit), true);
		}*/

 agora salve ctrl+s e feche.

 

 

Agora procure por Monster.cpp e ache:

 

  Citar
void Monster::onThink(uint32_t interval)

 

abaixo de:

 

  Citar
	if(teleportToMaster && doTeleportToMaster())
		teleportToMaster = false;

 

coloque:

 

  Citar
        if(getMaster()){
    	if(!Position::areInRange<6,6,0>(getPosition(), getMaster()->getPosition()))
                        doTeleportToMaster();           
         } 

 

salve ctrl+s e compila... não esqueça de abilitar as opções em config.lua

 

    -- Summons
    maxPlayerSummons = 1
    teleportAllSummons = true
    teleportPlayerSummons = true

 

lembre se de remover qualquer scripts que teleporta seu pokemon a distancia.

isso ae vlwsss, créditos a mim bjssss

 

 

 

 

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

  • 0
20 minutos atrás, klbkevinklb disse:

Carai, o cara apenas me ajudo e o outro deu advertencia, mano a treta de vcs é passado, o cara apenas me ajudo pqp.

 

Esse membro N e mais bem vindo aqui.

esse assunto esta fujindo do topico , então encerrado esse assunto

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...