Ir para conteúdo
  • 0

[DxP] Pokemon Alternando Sprite


ticardo

Pergunta

Fala galerinha, bom existe um sistema no DxP que faz as sprites dos pokemons megas se movimentaram paradas, (pra dar efeito do fogo se mexendo numa rapidash por exemplo),
Dei uma analisada nos scripts e encontrei como funciona, porem queria adaptar esse sistema pra pokemons selvagens e summons.


                                                 [Exemplo uma rapidash, ela tanto selvagem quando summon ficaria alternando a sprite] 


pois nesse sistema só esta funcionando quando você mega evolui um pokemon, assim não possibilitando a adição de pokemons nao megas. 
Bom segue as funções que encontrei relacionado a isso:
 

Alternando Outfit:

function doPantinOutfit(cid, times, megaName)    if not isCreature(cid) or not isMega(cid) then return true end    if getCreatureOutfit(cid).lookType == 1875 or getCreatureOutfit(cid).lookType == 2 then return true end    local name = doCorrectString(getCreatureName(cid))    if not megasConf[megaName] then return true end    local outfitIndex = 1    if times <= 500 then        outfitIndex = 1    elseif times > 500 and times <= 1000 then        outfitIndex = 2    elseif times > 1000 and times <= 1500 then        outfitIndex = 3    end    doSetCreatureOutfit(cid, {lookType = megasConf[megaName].out[outfitIndex]}, -1)    times = times + 50    if times > 1500 then       times = 0    end    addEvent(doPantinOutfit, 50, cid, times, megaName)end

 

Quando o pokemon mega evolui existe a seguinte linha ativando a função anterior:

 

if isInArray({"Charizard", "Blaziken", "Ampharos"}, name) then           doPantinOutfit(cid, 0, megaName)        else           doSetCreatureOutfit(cid, {lookType = megasConf[megaName].out}, -1)           checkOutfitMega(cid, megaName)        end

 

Seguindo como está a tabela pokemons/outfits teria que ser mais ou menos assim:

 

oufitConf = {        ["Hypno"] = { out = {27, 28, 29}},}

 

Bom, alguém tem alguma ideia de como dá pra adaptar esse sistema pro jeito que expliquei ?

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
31 minutos atrás, nociam disse:

 

 

obg @nociam tb tava precisando ^^, mas tem algum jeito de deixar-lo mais natural?

pq agr por ejemplo olha o rabo do dragonair ele fica "pulando" de uma manera

30ddd9bb4743175bac94f5c48e3129bf.gif

 

acontece a msm coisa mas é mt mais facil de ver com o mega charizard x

aff n sei pq mas no gif aparesce normal mas no meu cliente ele trava horrivel kkk 

a60a02708b93fbfe41f868d413427b9a.gif

Link para o comentário
Compartilhar em outros sites

  • 0
2 horas atrás, nociam disse:

isso ai se arruma no tempo do código do cara.

 

entao no codigo q ele colocou ai poderia mudar pra ver se fica + bonitinho? eu ja tentei mudando isso

  if times <= 500 then        outfitIndex = 1    elseif times > 500 and times <= 1000 then        outfitIndex = 2    elseif times > 1000 and times <= 1500 then        outfitIndex = 3    end

 

 

mas nao consegui mudança alguma 

Link para o comentário
Compartilhar em outros sites

  • 0

kkkk, não e isso e na parte da função louco

 

addEvent(doTradeOutfit, 200, cid, index + 1)

 

se testa ai aumenta diminui o a recursividade dessa funçao

 

ex:

 

addEvent(doTradeOutfit, 300, cid, index + 1)

 

Link para o comentário
Compartilhar em outros sites

  • 0
54 minutos atrás, nociam disse:

kkkk, não e isso e na parte da função louco

 

addEvent(doTradeOutfit, 200, cid, index + 1)

 

se testa ai aumenta diminui o a recursividade dessa funçao

 

ex:

 

addEvent(doTradeOutfit, 300, cid, index + 1)

 

kaposakposkapo obg @nociam ^^ to meio conseguendo aqui, poderia me ajudar com o do mega? é q o dele tem 50 ai, e se eu mudo ele fica mt lerdo msm :s

o codigo do mega é diferente

function doPantinOutfit(cid, times, megaName)
	if not isCreature(cid) or not isMega(cid) then return true end
    if getCreatureOutfit(cid).lookType == 1875 or getCreatureOutfit(cid).lookType == 2 then return true end
	local name = doCorrectString(getCreatureName(cid))
	if not megasConf[megaName] then return true end
	local outfitIndex = 1
	if times <= 500 then
		outfitIndex = 1
	elseif times > 500 and times <= 1000 then 
	   outfitIndex = 2
	elseif times > 1000 and times <= 1500 then 
	   outfitIndex = 3
	end
	doSetCreatureOutfit(cid, {lookType = megasConf[megaName].out[outfitIndex]}, -1)
	times = times + 50
	if times > 1500 then
	   times = 0
	end
	addEvent(doPantinOutfit, 50, cid, times, megaName)
end

ja tentei trocar esse dopaintoutfit pra 60-70 mas fica mt lerdo msm :s sei q é pelo times ai na cima, poderia me ajudar colocando igual o outro? 

 

function doTradeOutfit(cid, index)   
    if not isSummon(cid) then return true end
    local outfit = outfits_order[getCreatureName(cid)]
    if not outfit[index] then index = 1 end
    doSetCreatureOutfit(cid, {lookType = outfit[index]}, -1)
    addEvent(doTradeOutfit, 200, cid, index + 1)
end

 

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...