Ir para conteúdo
  • 0

Underwater Walking e outfit de mergulho


Josegvb

Pergunta

Olá queria 1 ajuda com o Underwater walk, tipo no momento esta se voce descer na agua vc fica lento e o poke tb, queria o movement pra que o pokemon ficase + rapido embaixa da agua SE FOR WATER TYPER ou crystal (no caso do shiny onix)

 

tb queria 1 script q ao entrar na agua pegase uma storage, essa storage seria uma newtype[seria o outfit de mergulho] (para nao ficar nos outfits e poder colocar quando quizer) e quando o player entrase na agua automaticamente pegase essa newtype (só se tiver a ganhado a storage) e quando estiver usando o outfit de mergulho a velocidade iria aumentar pra assim ter como andar + rapido embaixo da agua 

Base usada: DxP Open Source

Agradesço desde ja quem tivese a amabilidade de me ajudar ^^ 

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Quando você pisa no tile, o step in é executado. Quando você sai dele, independente de como, o step out é executado. Logo, mesmo dando teleporte em cima do tile do moveevent o step out será executado.

Link para o comentário
Compartilhar em outros sites

  • 0
9 horas atrás, Josegvb disse:

 

 

pq tipo, se vc ta la dentro da agua, vc da tp"saffron, ai vc leva tp pro saffron sem ter pissado no sqm do step out, desse jeito leva tp pra sqms q provavelmente nao ira ter a açao do step out e ai fica com a velocidade da agua

na pokexgame isso tb acontece vc tem que mudar de outfit pra voltar ao normal.

Link para o comentário
Compartilhar em outros sites

  • 0

Também dá pra explorar algumas coisas usando o creatureevent onOutfit(cid, old, current).

PS: Para aqueles não familiarizados com este callback, ele é executado quando uma criatura muda de outfit.

Link para o comentário
Compartilhar em outros sites

  • 0
5 minutos atrás, zipter98 disse:

Também dá pra explorar algumas coisas usando o creatureevent onOutfit(cid, old, current).

PS: Para aqueles não familiarizados com este callback, ele é executado quando uma criatura muda de outfit.

I have a question.

O step in/step out constante caso haja muitos players no servidor, nao pode causar algum lag?

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, eu tentei fazer com o type water do pokémon, mas por algum motivo não estava dando, nem me lembro o erro que ocorria.

Então eu fiz desse jeito tosco de array, mas funciona.

Eu fiz para um servidor ai há pouco tempo atrás, espero que funcione para você também.

 

Se você der TP, a roupa sai e a velocidade volta ao normal.

Os pokémon que estão na tabela não tomam slow da água.

 

local condition = createConditionObject(CONDITION_DROWN)setConditionParam(condition, CONDITION_PARAM_PERIODICDAMAGE, 0)setConditionParam(condition, CONDITION_PARAM_TICKS, -1)setConditionParam(condition, CONDITION_PARAM_TICKINTERVAL, 2000)local pokesWater = {"Squirtle", "Wartortle", "Blastoise", "Staryu", "Starmie", "Phione", "Manaphy", "Magikarp", "Gyarados", "Horsea", "Seadra", "Kingdra", "Tentacool", "Tentacruel","Goldeen", "Seaking", "Horsea", "Dewgong", "Cloyster", "Seel", "Shellder", "Krabby", "Kingler", "Lapras", "Wailord", "Milotic", "Corsola", "Psyduck", "Golduck", "Chinchou", "Lanturn","Poliwag", "Poliwhirl", "Politoed", "Poliwrath", "Slowpoke", "Slowbro", "Shiny Cloyster", "Piplup", "Prinplup", "Empoleon", "Mudkip", "Marshtomp", "Swampert", "Totodile", "Crocodile","Feraligatr", "Shiny Feraligatr", "Shiny Blastoise", "Shiny Empoleon", "Giant Magikarp", "Shiny Giant Magikarp", "Vaporeon", "Shiny Vaporeon", "Omanyte", "Shiny Omanyte", "Omastar","Shiny Omastar", "Kabuto", "Kabutops", "Shiny Kabutops", "Mantine", "Shiny Mantine", "Shiny Politoed", "Shiny Corsola", "Qwilfish", "Shiny Qwilfish", "Shiny Wartortle", "Shiny Squirtle", "Lotad", "Lombre", "Ludicolo", "Crawdaunt", "Marill", "Azumarill", "Wooper", "Quagsire", "Slowking", "Remoraid", "Octillery","Shiny Krabby", "Shiny Kingler", "Shiny Horsea", "Shiny Seadra", "Shiny Kingdra", "Shiny Tentacool", "Shiny Tentacruel", "Shiny Magikarp", "Shiny Gyarados", "Shiny Slowking","Shiny Wailord", "Shiny Milotic", "Shiny Lapras", "Shiny Golduck", "Shiny Psyduck", "Shiny Starmie", "Shiny Lanturn","Mega Blastoise", "Mega Gyarados", "Mega Slowking", "Mega Swampert"}function onStepIn(cid, item, position, fromPosition)	if isPlayer(cid) then		if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue (cid, 17001) >= 1 then		   doPlayerSendCancel(cid, "A roupa apropriada para este solo não pode ser equipada enquanto você estiver montado em seu pokémon.")		return true		end		if getPlayerStorageValue (cid, 5700) >= 1 then			doPlayerSendCancel (cid, "A roupa apropriada para este solo não pode ser equipada enquanto você estiver montado em sua bike.")		return true		end		local newtype = getPlayerSex(cid) == 0 and 1034 or 1035		doChangeSpeed(cid, -getCreatureSpeed(cid))		doChangeSpeed(cid, 1500)		doSetCreatureOutfit (cid, {lookType = newtype}, -1)		doAddCondition(cid, condition)	elseif isInArray (pokesWater, getCreatureName (cid)) then		doChangeSpeed(cid, -getCreatureSpeed(cid))		doChangeSpeed(cid, getCreatureSpeed(cid) + 700)	endreturn trueendfunction onStepOut(cid, item, position, fromPosition)	if isPlayer(cid) then		if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue (cid, 17001) >= 1 then return true end		if getPlayerStorageValue (cid, 5700) >= 1 then return true end				doRemoveCondition(cid, CONDITION_OUTFIT)		doRemoveCondition(cid, CONDITION_DROWN)		doRegainSpeed (cid)	else		doRegainSpeed (cid)	endreturn trueend

 

XML:

<movevent type="StepIn" itemid="5405-5450" event="script" value="drown.lua"/><movevent type="StepOut" itemid="5405-5450" event="script" value="drown.lua"/>

 

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

  • 0

@Bodak Reborn

 

de boa ta funfando sim! agr só falta umas pequenas modificaçoes q acho sao facil e eu nao tendo conhecimento em scripting posso fazer tb seria colocar um if storage, que seria pra q o script funfase só se o cara tiver x storage (a storage q ganha o outfit)

agora outra duvida, os pokemons se mexem de um jeito "saltinhos" pulando kk nao há forma de deixar eles + naturais?

31ee103e22d2137c047c9f401cb2ebae.gif

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

  • 0

@Josegvb, aqui os pokémon andam normalmente.

Pode ser a velocidade deles, mude-a aqui:

doChangeSpeed(cid, getCreatureSpeed(cid) + 700)

 

Não consegui inserir o gif aqui, dá uma olhada ai:

https://giphy.com/gifs/l0MYICzYa423YqHSM

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

  • 0
24 minutos atrás, Bodak Reborn disse:

@Josegvb, aqui os pokémon andam normalmente.

Pode ser a velocidade deles, mude-a aqui:


doChangeSpeed(cid, getCreatureSpeed(cid) + 700)

 

Não consegui inserir o gif aqui, dá uma olhada ai:

https://giphy.com/gifs/l0MYICzYa423YqHSM

Cara, tenho uma duvida.

Eu pensei em fazer isso aí, mas tipo, tanto step in e step out não dariam lag caso tivesse mt gente fazendo isso não? ;-;

 

Tem uns fixes, na vdd frescuras, que dá pra fazer tmb, por exemplo nessas linhas:

doChangeSpeed(cid, -getCreatureSpeed(cid))
		doChangeSpeed(cid, getCreatureSpeed(cid) + 700)

A speed de todos Pokémons aquáticos vão ficar iguais embaixo d'água. Na minha opinião ficaria meio escroto ehaueaeha. 

 

Ficaria mais "bonito" se pegasse a speed base do Pokémon e somasse com um valor padrão, como 400 ou 300. Aí pelo menos vai haver diferença de speed entre uma Dewgong, por exemplo, e um fodendo Kingdra.

 

Ou botar tres tables, na lib msm, uma pra cada evolução (primeira, segunda e terceira), aí tu vai adicionando, ex.: squirtle na primeira table, wartortle na segunde e assim vai.

Dá pra fazer vários bang louco com isso, inclusive nesse script setar a speed do Pokémon embaixo d'água por estágio evolutivo ;p

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

  • 0
36 minutos atrás, Bodak Reborn disse:

@Josegvb, aqui os pokémon andam normalmente.

Pode ser a velocidade deles, mude-a aqui:


doChangeSpeed(cid, getCreatureSpeed(cid) + 700)

https://giphy.com/gifs/l2SpLAyvcmbfN5QCQ

 

estranho, poderia me falar a velocidade entao dos teus pokemons? 

o meu esta assim:

<monster name="Gyarados" nameDescription="a gyarados" race="water" experience="1100" speed="247" manacost="0">

 

tentei aumentar mas ficou igual só "dando saltinhos" mais rapidos

        doChangeSpeed(cid, getCreatureSpeed(cid) + 3000)

c98bbbc564937c520ed4297d04c92142.gif

 

e se eu abaixar a speed fica dando saltinhos + lerdos

    doChangeSpeed(cid, getCreatureSpeed(cid) + 350)

 6f2d25b0a07dde330f34b9b0e013b26e.gif

 

estou tentando outros valores porem td fica a msm coisa, se fez alguma modificaçao no item, dat e spr no chao ou algo do tipo?

 

@Gabriel Netto se tiver como deixar o script + lindo faça aeuaeuae :( 

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

  • 0
7 minutos atrás, Josegvb disse:

 

estranho, poderia me falar a velocidade entao dos teus pokemons? 

o meu esta assim:

<monster name="Gyarados" nameDescription="a gyarados" race="water" experience="1100" speed="247" manacost="0">

 

tentei aumentar mas ficou igual só "dando saltinhos" mais rapidos

        doChangeSpeed(cid, getCreatureSpeed(cid) + 3000)

c98bbbc564937c520ed4297d04c92142.gif

 

e se eu abaixar a speed fica dando saltinhos + lerdos

    doChangeSpeed(cid, getCreatureSpeed(cid) + 350)

 6f2d25b0a07dde330f34b9b0e013b26e.gif

 

estou tentando outros valores porem td fica a msm coisa, se fez alguma modificaçao no item, dat e spr no chao ou algo do tipo?

 

Qual base tu tá usando, e qual cliente?

Acho q isso aí é um problema no client... acontecia antes de por o script? Acontece em outros locais, como na neve? o.O 

 

@Josegvb, vou sair agr, de noite eu boto o script alterado aq, se o amg ali ainda não tiver posto

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

  • 0
3 horas atrás, Gabriel Netto disse:

 

Qual base tu tá usando, e qual cliente?

Acho q isso aí é um problema no client... acontecia antes de por o script? Acontece em outros locais, como na neve? o.O 

 

base DxP

https://i.gyazo.com/d27608d8804b3139b9d9fdf9f6d0fd51.gif

entao gente, fiz o script pra funfar na neve e aconteceu uma coisa

antes do script:

d27608d8804b3139b9d9fdf9f6d0fd51.gif

 

dps do script

76cd0690ce1bc9ad831b3cacb351ce54.gif

 

ele os bixos ficaram igualzinhos q os bixos da agua "saltinhos"

entao ctz é alguma coisa no script q faz eles ficar assim =x

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

  • 0

@Gabriel Netto eu acabei de ver a burrada dessas duas linhas -.-

doChangeSpeed(cid, -getCreatureSpeed(cid))
doChangeSpeed(cid, getCreatureSpeed(cid) + 700)

Não percebi que eu tava somando 0 + 700.. lol

Eu fiz assim pra não ficar escroto, como o teu exemplo de Dewgong e um fodendo Kingdra. Porém aparentemente eu não utilizei meu cérebro.

Realmente, teria que fazer uma tabela na lib com a velocidade dos pokémon.

Sobre o lag, eu realmente não sei. O servidor para qual eu fiz esse script é sempre lagado mesmo, então não tem como eu saber. Nem pensei nisso na verdade...

 

@Josegvb

A velocidade está igual o meu, não sei o que pode estar causando o bug.

Tenta remover essas linhas:

else
		doRegainSpeed (cid)

do StepOut e vê no que dá. É a única coisa que passa pela minha cabeça...

Link para o comentário
Compartilhar em outros sites

  • 0

@Bodak Reborn

 

removi, porem ta a msm coisa :/

certeza é o script pois na neve se eu desativar ele ou simplemente colocar

    if(not isPlayer(cid)) then
        return true
    end

 

os bixos ficam com velocidade normal

e se mexendo normal mas se eu tirar isso os bixos ficam se movendo "gelados"

Link para o comentário
Compartilhar em outros sites

  • 0

vou ajudar nessa Pda, a roupa deveria ser ao entragar tal item ao npc vc ganha a storage e tem elas no comando do clique outif.

 

script pra usar na neve e so ajeitar do jeito de vcs.

Spoiler
function onStepIn(cid, item, position, fromPosition)
 -- se tiver em ride fly vai setar a speed pra zero
  if getPlayerStorageValue(cid, 17000) == 1 or getPlayerStorageValue(cid, 17001) == 1 or getPlayerStorageValue(cid, 17001) == 1 or getPlayerStorageValue(cid, 17000) == 1 then
    doChangeSpeed(cid, 0)
  end
 if(isPlayer(cid)) then -- aqui verifica se o player estiver com a roupa surf a velocidade aumenta se nao seta 50
          if getCreatureOutfit(cid).lookType == 558 or getCreatureOutfit(cid).lookType == 557 then --- outfit das roupas de neve
            doChangeSpeed(cid, 600)
          else
            doChangeSpeed(cid, 50)
          end
  end
    if ehMonstro(cid) or isSummon(cid) then -- aqui se for pokemon selvagen ou um summon e for do tipo tal seta speed 1000 se nao seta 50
       poketype1 = nometabela[getCreatureName(cid)].type   --  nometabela e aonde fica a parte aonde diz que tipo o pokemon e  
       poketype2 = nometabela[getCreatureName(cid)].type2
            if poketype1 == "ice" or poketype2 == "ice" or poketype1 == "dragon" or poketype2 == "dragon"  then  
           doChangeSpeed(cid, 1000)
            else
              doChangeSpeed(cid, 50)
            end
       end
return true
end
function onStepOut(cid, item, position, fromPosition)
  doRegainSpeed(cid)
return true
end

 

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

×
×
  • Criar Novo...