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
nbb147N
01 de agosto de 2016 às 12:24

exato, a sto 800000 é o da speed, mas a sto que o player recebe antes de enfrentar essa criatura é positiva, isso tem relação? estou sem entender mais nada :argggg-min:

PoccnnP
01 de agosto de 2016 às 12:29

Sim. Eu preciso saber qual o valor que ele recebe.

Ainda estou querendo saber desse retornar nada, getstore tem que retornar algum valor.

nbb147N
01 de agosto de 2016 às 12:43

olhei no script agora e ele recebeu realmente a sto (11112, 1), pra ter certeza olhei no sqlitestudio e realmente esse personagem está com essa sto.

PoccnnP
01 de agosto de 2016 às 13:26

Mas quando voce faz o teste no script, nao retorna o numero 1 (um)?

nbb147N
01 de agosto de 2016 às 13:53

ops, observação essa explicação que dei foi sobre a sto que ganha na missão e não a que muda a velocidade, pelo que parece ela retorna -1 pelo teste em que você pediu pra fazer ; O

isso ta muito confuso

PoccnnP
01 de agosto de 2016 às 16:16

Tem certeza que a chave da store que voce esta usando sao a mesma?

nbb147N
01 de agosto de 2016 às 19:59

sim, tenho certeza eu chequei tudo

PoccnnP
02 de agosto de 2016 às 10:48

Ora se voce marcou outro valor na chave, nao deveria retornar -1, deveria retornar o valor marcado.

Verifique se nao tem algo errado.

nbb147N
02 de agosto de 2016 às 11:10

como você pode ver está tudo certo, quer que eu cheque mais alguma coisa em especifico?

 

sto check.png

57a0a99196bde_stocheck.thumb.png.fca66a931311405c720d23d5aff25cd7.png

Editado Agosto 2 por nbb147

PoccnnP
02 de agosto de 2016 às 12:20

Quero que voce refaça o teste e post os resultados.

Ele tem que vim com valor 1 (um).

nbb147N
02 de agosto de 2016 às 13:08

testei com o personagem que pertence a storage 11112 e olha o que deu o.O

 

[02/08/2016 12:53:34] 11112 > 299

 

e o personagem que não possui essa storage não aparece nada.

 

 

 

testei a outra storage(800000) e o personagem que possui a storage 11112 deu nisso:

 

[02/08/2016 12:58:15] 800000 > -1

 

eu desloguei e entrei no que não tinha a storage 11112 testei e em seguida entrei no outro que possui, e veio isso:

 

[02/08/2016 12:59:39] 800000 > 300

 

repeti o processo deslogando e logando no char de novo e a sto foi para 299:

 

[02/08/2016 13:02:33] 800000 > 299

 

repeti novamente o processo e mudou novamente:

 

 [02/08/2016 13:03:18] 800000 > 599

 

no caso mudou, como assim? tem algo errado quando adc a velocidade e à tira, "olokomeu naum to entendendu" kkkk

 

 

 

e o personagem que não possui a storage 11112, simplesmente não apareceu nada.

 

 

PoccnnP
02 de agosto de 2016 às 14:11

Hoje a noite, quando eu chegar em casa, eu vou por esse seu sistema em meu servidor de teste e vou analisa-lo por completo e tentarei resolver esse problema.

Possivelmente amanha eu te dou um paecer sobre o mesmo.

nbb147N
02 de agosto de 2016 às 14:37

agradeço por persistir tanto, estou aguardando a resposta = )

PoccnnP
03 de agosto de 2016 às 08:40

Testei em meu servidor e esta funcionando.

Citar

local name, storage = 'fire devil', 11112 

function onAttack(cid, target) 
   if(isMonster(cid) and getCreatureName(cid):lower() == name)then 
      if(isPlayer(target) and getCreatureStorage(target, storage) < 0)then 
         doCreatureSetNoMove(cid, true) -- deixa o monstro imovel. 
         return false 
      elseif(isPlayer(target) and getCreatureStorage(target, storage) > 0)then 
         doCreatureSetNoMove(cid, false) 
      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 
 

 

Obs: se o monstro nao ficar parado usando a funcao setnomove, use a funcao changespeed para deixa-lo parado.

nbb147N
03 de agosto de 2016 às 12:22

o monstro não ficou parado nem com setnomove e nem com speedchange, quando alterei coloquei como speedchange fiz igual o setnomove colocando o (cid, true) e tal, nossa ai funcionou e aqui não, o que pode ser isso?