JO
tfs 0.3

Underwater Walking e outfit de mergulho

Por Josegvb, 14 de jun. de 2016 em Scripts

agua
mergulho
outfit
addon
andável
57
17.7k
dalvorsnD
27 de agosto de 2016 às 17:57
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?

JosegvbJ
27 de agosto de 2016 às 18:04
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

dalvorsnD
27 de agosto de 2016 às 18:10
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

JosegvbJ
27 de agosto de 2016 às 18:18
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

dalvorsnD
27 de agosto de 2016 às 18:23
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

nociamN
27 de agosto de 2016 às 18:40

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.

JosegvbJ
27 de agosto de 2016 às 18:46
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

dalvorsnD
27 de agosto de 2016 às 18:52

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

nociamN
27 de agosto de 2016 às 18:53

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

 

JosegvbJ
27 de agosto de 2016 às 18:58
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

dalvorsnD
27 de agosto de 2016 às 19:03
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

JosegvbJ
27 de agosto de 2016 às 19:05
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