NB
tfs 0.3

(resolvido) remover speed de criatura e depois retornar

Por nbb147, 27 de jul. de 2016 em Scripts

speed
monstro
otserv
51
9.5k
PoccnnP
03 de agosto de 2016 às 13:07

Mais nao funcionava em seu servidor? Ele nao ficava cada vez mais rapido? Agora nao entendi.

nbb147N
03 de agosto de 2016 às 20:28

sim ficava, eu tbm não entendi, funcionou no seu e no meu n ;s

tipo no seu servidor ficou como? quando chegava um personagem com a storage ele corria atrás e quando chegava um sem storage ele paralizava? ocorria tudo normalmente?

PoccnnP
04 de agosto de 2016 às 08:41

Essas duas funcoes no meu servidor nao funcionam com monstros, apenas em players.

Mas como voce tinha dito anteriormente, que a funçao speedchange funcionava em monstros, entao pedi para ser feita apenas a mudança da funcao que postei -caso nao funcione- para a funcao speedchange que funciona em seu servidor.

 

 

Meu servidor é um tfs 0.3.6

nbb147N
05 de agosto de 2016 às 22:16

perdão por demorar tanto a dar uma resposta, deixa pra lá isso, pelo visto não rola fazer essa parada, talvez um dia eu consiga de uma outra maneira, muito obrigado por insistir tanto em ajudar e por transmitir conhecimento, rep+ 

PoccnnP
10 de agosto de 2016 às 08:35

@nbb147

Eu estava tentando implementar esse sistema em meu ot e fiquei pu** por nao conseguir manter o monstro parado, entao percebi que a função speedchange modifica a velocidade acescentando valores positivo ou negativamente.

 

Entao consegui fazer com que o monstro fique parado.

Citar

local name, storage = 'dragon lord', 11112 

function onAttack(cid, target) 
   if(isMonster(cid) and getCreatureName(cid):lower() == name)then 
      if(isPlayer(target) and getCreatureStorage(target, storage) < 0)then 
         doChangeSpeed(cid, -getCreatureSpeed(cid)) 
         return false 
      elseif(isPlayer(target) and getCreatureStorage(target, storage) > 0)then 
         if(getCreatureBaseSpeed(cid) > getCreatureSpeed(cid))then 
            doChangeSpeed(cid,getCreatureBaseSpeed(cid)) 
         end 
      end 
   end 
   return true 
end 

function onCombat(cid, target) 
   if isPlayer(cid) and getCreatureStorage(cid, storage) < 0 and isMonster(target) and getCreatureName(target):lower() == name then 
      return false 
   elseif isMonster(cid) and getCreatureName(cid):lower() == name and isPlayer(target) and getCreatureStorage(target, storage) < 0 then 
      return false 
   end 
   return true 
end 

function onKill(cid, target, lastHit) 
   if isMonster(target) and getCreatureName(target):lower() == name and isPlayer(cid) and getCreatureStorage(cid, storage) > 0 then 
      doCreatureSetStorage(cid, storage, -1) 
   end 
   return true 
end 
 

 

2 meses depois...
nbb147N
05 de outubro de 2016 às 20:32

sim cara a velocidade ficava negativa quando o char ñ tinha a sto, e quando o char tinha a sto a velocidade ficava positiva, dois meses depois entro aqui e vejo isso, realmente deu certo ehue valeu, rep+   sz