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
6 horas atrás, Josegvb disse:

 

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

Acho que não é da speed, e sim da verificação de ser monster ou não. Não sei, nunca usei o DXP.

Deixa esse script e só tira as linhas que tenham escrito speed. Se continuar o problema é das funções stepIn e stepOut do DXP, se arrumar o problema é nas funções que mudam o speed :X: 

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

  • 0
Agora, Gabriel Netto disse:

Acho que não é da speed, e sim da verificação de ser monster ou não. Não sei, nunca usei o DXP.

Deixa esse script e só tira as linhas que tenham escrito speed. Se continuar o problema é das funções stepIn e stepOut do DXP

 

se eu tiro:

    elseif isInArray (pokesSnow, getCreatureName (cid)) then

        doChangeSpeed(cid, -getCreatureSpeed(cid))

        doChangeSpeed(cid, getCreatureSpeed(cid) + 350)

   

 

os bixos ficam assim:

 

9364bc0b1bafa3de8788fda5c5f99bd0.gif

Link para o comentário
Compartilhar em outros sites

  • 0
Agora, Josegvb disse:

 

se eu tiro:

    elseif isInArray (pokesSnow, getCreatureName (cid)) then

        doChangeSpeed(cid, -getCreatureSpeed(cid))

        doChangeSpeed(cid, getCreatureSpeed(cid) + 350)

   

 

os bixos ficam assim:

 

9364bc0b1bafa3de8788fda5c5f99bd0.gif

Tirou o regain speed tmb?

Link para o comentário
Compartilhar em outros sites

  • 0
Agora, Gabriel Netto disse:

Tirou o regain speed tmb?

 

opa nao, tirei agora o 

 

    else

        doRegainSpeed (cid)

 

do step out

e ficou assim:

69e4602ab1e92e73c3fb03dd5f19d96e.gif

Link para o comentário
Compartilhar em outros sites

  • 0
6 minutos atrás, Gabriel Netto disse:

O problema é nesse regain speed ent, essa função não tem no meu server, ent n posso te ajudar :( 

 

entao me ajude com esse script q eu fiz fazendo uma fusao do script do @nociam e o q voce postou:

olha como ficou os bixos ate bugam n sei pq :/

 

554702f782211d7203da89ec83625f16.gif

 

ele nao esta pegando a speed q eu coloquei :/

doChangeSpeed(cid, 200)

atr troquei pelo outro

 

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

porem o pokemon ficaba travando como o script original postado por vc :/

 

 

e6fda45d1348705cce2dec680ac77e80.gif

 

Spoiler

function onStepIn(cid, item, position, fromPosition)

if(isPlayer(cid)) then -- aqui verifica se o player estiver com a roupa surf a velocidade aumenta se nao seta 50

local newtype = getPlayerSex(cid) == 0 and 558 or 557

doSetCreatureOutfit (cid, {lookType = newtype}, -1)

          if getCreatureOutfit(cid).lookType == 558 or getCreatureOutfit(cid).lookType == 557 then

            doChangeSpeed(cid, 1500)

          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 = pokes[getCreatureName(cid)].type   --  nometabela e aonde fica a parte aonde diz que tipo o pokemon e  

       poketype2 = pokes[getCreatureName(cid)].type2

            if poketype1 == "ice" or poketype2 == "ice" or poketype1 == "dragon" or poketype2 == "dragon"  then  

           doChangeSpeed(cid, 200)

            else

              doChangeSpeed(cid, 50)

            end

       end

return true

end

function onStepOut(cid, item, position, fromPosition)

    if isPlayer(cid) then

          if isRiderOrFlyOrSurf(cid) 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

  doRemoveCondition(cid, CONDITION_OUTFIT)        

  doRegainSpeed(cid)

return true

end

end

 

Link para o comentário
Compartilhar em outros sites

  • 0
1 minuto atrás, Josegvb disse:

 

entao me ajude com esse script q eu fiz fazendo uma fusao do script do @nociam e o q voce postou:

olha como ficou os bixos ate bugam n sei pq :/

 

554702f782211d7203da89ec83625f16.gif

 

ele nao esta pegando a speed q eu coloquei :/

doChangeSpeed(cid, 200)

atr troquei pelo outro

 

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

porem o pokemon ficaba travando como o script original postado por vc :/

 

 

e6fda45d1348705cce2dec680ac77e80.gif

 

  Mostrar conteúdo oculto

function onStepIn(cid, item, position, fromPosition)

if(isPlayer(cid)) then -- aqui verifica se o player estiver com a roupa surf a velocidade aumenta se nao seta 50

local newtype = getPlayerSex(cid) == 0 and 558 or 557

doSetCreatureOutfit (cid, {lookType = newtype}, -1)

          if getCreatureOutfit(cid).lookType == 558 or getCreatureOutfit(cid).lookType == 557 then

            doChangeSpeed(cid, 1500)

          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 = pokes[getCreatureName(cid)].type   --  nometabela e aonde fica a parte aonde diz que tipo o pokemon e  

       poketype2 = pokes[getCreatureName(cid)].type2

            if poketype1 == "ice" or poketype2 == "ice" or poketype1 == "dragon" or poketype2 == "dragon"  then  

           doChangeSpeed(cid, 200)

            else

              doChangeSpeed(cid, 50)

            end

       end

return true

end

function onStepOut(cid, item, position, fromPosition)

    if isPlayer(cid) then

          if isRiderOrFlyOrSurf(cid) 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

  doRemoveCondition(cid, CONDITION_OUTFIT)        

  doRegainSpeed(cid)

return true

end

end

 

O problema é no DXP, dps eu baixo ele aqui e testo os script.

E sem qrer ser chato, fui eu que postei nao, foi o @Bodak Reborn

Link para o comentário
Compartilhar em outros sites

  • 0

Uhm vcs podem trocar essa função  testa ai

 

function doRegainSpeed(cid)              --alterado v1.9 \/
if not isCreature(cid) then return true end
   local speed = playerSpeed
   if isMonster(cid) then
      speed = getCreatureBaseSpeed(cid)
   elseif isPlayer(cid) and isInArray({4, 5, 6, 15}, getPlayerGroupId(cid)) then
      speed = 200 * getPlayerGroupId(cid)
   end
  
   if getCreatureCondition(cid, CONDITION_PARALYZE) == true then
      doRemoveCondition(cid, CONDITION_PARALYZE)
      addEvent(doAddCondition, 10, cid, paralizeArea2)            
   end
  
 if ehMonstro(cid) and pokes[getCreatureName(cid)] then
  speed = pokes[getCreatureName(cid)].agility
 end
 
   if isADM(cid) then
      speed = 1000
   end
  
doChangeSpeed(cid,(-getCreatureSpeed(cid))+speed)
return speed
end

 

 

Link para o comentário
Compartilhar em outros sites

  • 0
12 minutos atrás, nociam disse:

Uhm vcs podem trocar essa função  testa ai

 

function doRegainSpeed(cid)              --alterado v1.9 \/

if not isCreature(cid) then return true end

   local speed = playerSpeed

   if isMonster(cid) then

      speed = getCreatureBaseSpeed(cid)

   elseif isPlayer(cid) and isInArray({4, 5, 6, 15}, getPlayerGroupId(cid)) then

      speed = 200 * getPlayerGroupId(cid)

   end

  

   if getCreatureCondition(cid, CONDITION_PARALYZE) == true then

      doRemoveCondition(cid, CONDITION_PARALYZE)

      addEvent(doAddCondition, 10, cid, paralizeArea2)            

   end

  

 if ehMonstro(cid) and pokes[getCreatureName(cid)] then

  speed = pokes[getCreatureName(cid)].agility

 end

 

   if isADM(cid) then

      speed = 1000

   end

  

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

return speed

end

 

 

 

nop :/ mesma coisa mano e to vendo q o summon enquanto vc + da move nele ele vai ganhando mt speed e ganha, ganha ganha ganha speed

 

77ef15f79922f6399b2041e7ed0b9352.gif

Link para o comentário
Compartilhar em outros sites

  • 0

o erro dele ficar tele portando e por causa dessa função function doRegainSpeed(cid)   e nessa parte doChangeSpeed(cid, -getCreatureSpeed(cid)) parte se tem que ver algo que mude isso pro seu servidor.

Link para o comentário
Compartilhar em outros sites

  • 0

ta dificil x.x

talves @zipter98 teria como me ajudar aki nesse script?

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 isRiderOrFlyOrSurf(cid) 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
 local newtype = getPlayerSex(cid) == 0 and 558 or 557
    doSetCreatureOutfit (cid, {lookType = newtype}, -1)            
          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 = pokes[getCreatureName(cid)].type   --  nometabela e aonde fica a parte aonde diz que tipo o pokemon e  
       poketype2 = pokes[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)
if(isPlayer(cid)) then
 if isRiderOrFlyOrSurf(cid) 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
doRegainSpeed(cid)
doRemoveCondition(cid, CONDITION_OUTFIT) 
end

if ehMonstro(cid) or isSummon(cid) then
  doRegainSpeed(cid)
  end
return true
end

 

o problema é q o pokemon ta andando "gelado" o nocian diz é por causa da funçao doregainspeed e alem desse bug o pokemon como pode ver no gif ai na cima no caso meu summon fica ganhando speed infinita enquanto ele vai andando

Spoiler

function doRegainSpeed(cid)              --alterado v1.9 \/
if not isCreature(cid) then return true end

   local speed = playerSpeed
   if isMonster(cid) then
      speed = getCreatureBaseSpeed(cid)
   elseif isPlayer(cid) and isInArray({4, 5, 6, 15}, getPlayerGroupId(cid)) then
      speed = 200 * getPlayerGroupId(cid) 
   end
   
   doChangeSpeed(cid, -getCreatureSpeed(cid))
   if getCreatureCondition(cid, CONDITION_PARALYZE) == true then
      doRemoveCondition(cid, CONDITION_PARALYZE)
      addEvent(doAddCondition, 10, cid, paralizeArea2)             
   end
   
    if ehMonstro(cid) and pokes[getCreatureName(cid)] then
        speed = pokes[getCreatureName(cid)].agility
    end
    
   if isADM(cid) then
      speed = 1000
   end
    
doChangeSpeed(cid, speed)
return speed
end

e tb se tiver como tirar a duvida de se o servidor ter mts caras iria a lagar por causa desse step in/outç

 

esperando por vc tb @Bodak Reborn=): 

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

  • 0
Agora, Josegvb disse:

alterei o script pra oq minha logica me fala :/ 

 

o script ta funfando porem tem esse movemento gelado dos bixos no DxP

@dalvorsn ou alguem + talves entenda o pq ta bugando? ;x

Ele ta com a condition drunk, quando tenta andar é teleportado, provavelmente ele tenta andar ate o alvo e é teleportado muito rapido e repetitivamente, ai tem que ver como ta de fato acontecendo ai e estudar como fazer para não acontecer, sabes dizer qual função ele seta esse freeze?

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...