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
1 minuto atrás, dalvorsn disse:

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?

 

 

a verdade nem faço ideia mas como eu disse o script q eu cabei de colocar é pra a neve (fora da agua entao a condition drown nao afeita) mas só me deparei q os bixos ficabam igualmente "gelados" q embaixo da agua entao achei q o problema seria no stepout por isso coloquei um if pro os bixos e summons mas sem resultado algum, enquanto o drown nem sei, só achei isso nas libs

CONDITION_DROWN = 32768

 

mas nao achei funçao alguma com essa storage, pelo menos nas libs

Link para o comentário
Compartilhar em outros sites

  • 0
6 minutos atrás, Josegvb disse:

 

 

a verdade nem faço ideia mas como eu disse o script q eu cabei de colocar é pra a neve (fora da agua entao a condition drown nao afeita) mas só me deparei q os bixos ficabam igualmente "gelados" q embaixo da agua entao achei q o problema seria no stepout por isso coloquei um if pro os bixos e summons mas sem resultado algum, enquanto o drown nem sei, só achei isso nas libs

CONDITION_DROWN = 32768

 

mas nao achei funçao alguma com essa storage, pelo menos nas libs

 

drunk ~= drown

Link para o comentário
Compartilhar em outros sites

  • 0
1 minuto atrás, dalvorsn disse:

 

drunk ~= drown

 

 

confusioncondition = createConditionObject(CONDITION_DRUNK)

setConditionParam(confusioncondition, CONDITION_PARAM_TICKS, 1000)

 

acho que ali seria o problema?

 

bebo = createConditionObject(CONDITION_DRUNK)

setConditionParam(bebo, CONDITION_PARAM_TICKS, -1)

 

mas tem storage diferente ao drown

CONDITION_DRUNK = 2048

Link para o comentário
Compartilhar em outros sites

  • 0
1 minuto atrás, Josegvb disse:

 

 

confusioncondition = createConditionObject(CONDITION_DRUNK)

setConditionParam(confusioncondition, CONDITION_PARAM_TICKS, 1000)

 

acho que ali seria o problema?

 

bebo = createConditionObject(CONDITION_DRUNK)

setConditionParam(bebo, CONDITION_PARAM_TICKS, -1)

 

mas tem storage diferente ao drown

CONDITION_DRUNK = 2048

isso não é storage, isso é o enum da condition, a condition drunk em si é feita nas sources, experimenta anular ela e ve se para de acontecer isso, se parar entao aconselho a refazer ela

Ela funciona no move da criatura, quando ela tenta dar um step, tem uma chance de 'bebada' ir para outra direção, faça um delay nisso que deve  acabar com o problema que ta tendo

Link para o comentário
Compartilhar em outros sites

  • 0

e a função quanto eu coloquei no meu servidor tb dava esse erro com aquele ajuste eu arrumei pro meu servidor agora no seu não sei porque não vai talvez seja a base não sei de dizer.

Link para o comentário
Compartilhar em outros sites

  • 0
19 minutos atrás, dalvorsn disse:

isso não é storage, isso é o enum da condition, a condition drunk em si é feita nas sources, experimenta anular ela e ve se para de acontecer isso, se parar entao aconselho a refazer ela

Ela funciona no move da criatura, quando ela tenta dar um step, tem uma chance de 'bebada' ir para outra direção, faça um delay nisso que deve  acabar com o problema que ta tendo

 

bom, ai ja complica haha eu dificilmente entendo pouco dos scripts, pra mexer nas sources me fode kk tentei, removi o 

        case CONDITION_DRUNK:

do condition.cpp pelo oque o log me disse

[27/08/2016 17:42:26] [Error - CreatureScript Interface] 
[27/08/2016 17:42:26] data/lib/110-conditions.lua
[27/08/2016 17:42:26] Description: 
[27/08/2016 17:42:26] (luaCreateConditionObject) Condition not found

 

consegui "desativar" ela porem nada mudou os bixos se mexem do msm jeito la na neve e embaixo da agua

peço desculpas pela noobise :( 

 

talves seja oq o @nociam disse mas isso afeitaria o player tb? pq o player ta ficando certinho como deberia e o player tb usa essa funçao

Link para o comentário
Compartilhar em outros sites

  • 0

testei no sua base acho que agora vai testa ai e arruma as velocidade que vc quer certinho conforme o seu doregainspeed.

 

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,(-getCreatureSpeed(cid)))
  end
 if(isPlayer(cid)) then
          if getCreatureOutfit(cid).lookType == 558 or getCreatureOutfit(cid).lookType == 557 then -- aqui coloca as roupas de neve
            doChangeSpeed(cid,(-getCreatureSpeed(cid))+400)
    else
      doChangeSpeed(cid,(-getCreatureSpeed(cid))+200)
          end
  end
    if isWild(cid)or isSummon(cid) then
            poketype1 = pokes[getCreatureName(cid)].type       
            poketype2 = pokes[getCreatureName(cid)].type2 
            if poketype1 == "ice" or poketype2 == "ice" or poketype1 == "dragon" or poketype2 == "dragon"  then  
           doChangeSpeed(cid,(-getCreatureSpeed(cid))+400)
   else
     doChangeSpeed(cid,(-getCreatureSpeed(cid))+200)
            end
       end
return true
end
function onStepOut(cid, item, position, fromPosition)
  doChangeSpeed(cid,(-getCreatureSpeed(cid))+200)
return true
end

 

Link para o comentário
Compartilhar em outros sites

  • 0
3 minutos atrás, dalvorsn disse:

Um jeito pratico de voce fazer é mudando a constant para o valor de alguma outra, só pra testar mesmo

 

troquei o valor da constant

CONDITION_DRUNK = 2048 

 

pra o valor da CONDITION_FOOD = 8192

tb fiz o msm pra

CONDITION_DROWN = 32768

CONDITION_FREEZING = 262144

 

porem, nada mudou eles continuam igual

Link para o comentário
Compartilhar em outros sites

  • 0
4 minutos atrás, Josegvb disse:

 

troquei o valor da constant

CONDITION_DRUNK = 2048 

 

pra o valor da CONDITION_FOOD = 8192

tb fiz o msm pra

CONDITION_DROWN = 32768

CONDITION_FREEZING = 262144

 

porem, nada mudou eles continuam igual

Ai teria que analisar melhor, não tenho pra fazer isso agora, vou ficar te devendo

Link para o comentário
Compartilhar em outros sites

  • 0
Agora, dalvorsn disse:

Ai teria que analisar melhor, não tenho pra fazer isso agora, vou ficar te devendo

 

11 minutos atrás, nociam disse:

testei no sua base acho que agora vai testa ai e arruma as velocidade que vc quer certinho conforme o seu doregainspeed.

 

  Mostrar conteúdo oculto
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,(-getCreatureSpeed(cid)))

  end

 if(isPlayer(cid)) then

          if getCreatureOutfit(cid).lookType == 558 or getCreatureOutfit(cid).lookType == 557 then -- aqui coloca as roupas de neve

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

    else

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

          end

  end

    if isWild(cid)or isSummon(cid) then

            poketype1 = pokes[getCreatureName(cid)].type       

            poketype2 = pokes[getCreatureName(cid)].type2 

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

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

   else

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

            end

       end

return true

end

function onStepOut(cid, item, position, fromPosition)

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

return true

end

 

 

funfando 100% :D mt obrigado @nociam

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...