KO
dúvida

Ver Mana e Vida [AJUDA]

Por koete, 19 de jun. de 2013 em Scripts

resolvido
script
10
1.4k
koeteK
19 de junho de 2013 às 02:09

Tenho um script aqui no meu server que você usa um item em algum player e você vê a vida e a mana dele... se você usar em algum Monster você verá também sua vida e mana.

 

SCRIPT:

function onUse(cid, item, frompos, item2, topos)
local health = getCreatureHealth(item2.uid)
local mana = getCreatureMana(item2.uid)
doPlayerSendTextMessage(cid, 27,'A Vida atual é ' .. health .. ' ')
doPlayerSendTextMessage(cid, 27,'A Mana atual é ' .. mana .. ' ')
return true
end

só que quando eu uso este item em qualquer lugar que não seja Monster ou Player aparece este erro aqui olhe.

 

Erro:

 

 

[19/06/2013 02:06:06] Lua Script Error: [Action Interface]

[19/06/2013 02:06:06] data/actions/scripts/hpmana.lua:onUse

 

[19/06/2013 02:06:06] luaGetCreatureHealth(). Creature not found

 

[19/06/2013 02:06:06] Lua Script Error: [Action Interface]

[19/06/2013 02:06:06] data/actions/scripts/hpmana.lua:onUse

 

[19/06/2013 02:06:06] luaGetCreatureMana(). Creature not found

 

[19/06/2013 02:06:06] Lua Script Error: [Action Interface]

[19/06/2013 02:06:06] data/actions/scripts/hpmana.lua:onUse

 

[19/06/2013 02:06:06] data/actions/scripts/hpmana.lua:4: attempt to concatenate local 'health' (a boolean value)

[19/06/2013 02:06:06] stack traceback:

[19/06/2013 02:06:06] data/actions/scripts/hpmana.lua:4: in function <data/actions/scripts/hpmana.lua:1>

 

 

Olha se for possível eu queria colocar quando eu usar o item no monstro aparecer apenas a vida dele e quando usar o item no player aparecer a vida e mana.

Tem como?

SlicerS
19 de junho de 2013 às 07:39
function onUse(cid, item, frompos, item2, topos)
  if not isCreature(item2.uid) then return true end     
  local health = getCreatureHealth(item2.uid)
  local mana = getCreatureMana(item2.uid)
  doPlayerSendTextMessage(cid, 27, 'A Vida atual é ' .. health .. ' ')
  if not isMonster(item2.uid) then
  doPlayerSendTextMessage(cid, 27, 'A Mana atual é ' .. mana .. ' ')
  end
return true
end

koeteK
19 de junho de 2013 às 12:35

Slicer

 

Mudei o script para

 

function onUse(cid, item, frompos, item2, topos)
  if not isCreature(item2.uid) then return true end	
  local health = getCreatureHealth(item2.uid)
  local mana = getCreatureMana(item2.uid)
  local sex = getPlayerSex(item2.uid)
  doPlayerSendTextMessage(cid, 27, 'A Vida atual é ' .. health .. ' ')
  if not isMonster(item2.uid) then
	  doPlayerSendTextMessage(cid, 27, 'A Mana atual é ' .. mana .. ' ')
doPlayerSendTextMessage(cid, 27, 'A Mana atual é ' .. sex .. ' ')
  end
return true
end

 

quando vai ver o sex do player ele check também o da criatura sendo que ela não tem

dando erro no servidor.

tem como tirar esse erro sem remover o script? (ou eu adicionei errado)

SlicerS
19 de junho de 2013 às 13:00

function onUse(cid, item, frompos, item2, topos)
  if not isCreature(item2.uid) then return true end	
  local health = getCreatureHealth(item2.uid)
  local mana = getCreatureMana(item2.uid)
  doPlayerSendTextMessage(cid, 27, 'A Vida atual é ' .. health .. '.')
  if not isMonster(item2.uid) then
	  local sex = getPlayerSex(item2.uid)
	  doPlayerSendTextMessage(cid, 27, 'A Mana atual é ' .. mana .. '.')
	  doPlayerSendTextMessage(cid, 27, 'O sexo é ' .. (sex == 0 and "female" or "male") ..".")
  end
return true
end

 

oq soh player tiver chuta para dentro do if ^^

Editado Junho 19 por Slicer

brun123B
19 de junho de 2013 às 13:41

faltou colocar a variável sex no seu script slicer, e está mostrando :"A mana atual é "..sex.." enquanto deveria ser "O sexo é ..."

não sei pra que colocar o sexo, já que da pra ver só pela roupa e ainda dando look no player...

getPlayerSex retorna um número, não vai dizer se é male ou female, tem que ver qual número e dizer o sexo que representa em string

SlicerS
19 de junho de 2013 às 13:46

editei la emcima...

para ser sincero nem li o script soh chutei a variavel para baixo kk' S2 brun...

Editado Junho 19 por Slicer

koeteK
20 de junho de 2013 às 08:32

nossa Slicer tu é foda mesmo cara mas na verdade o que você mudou para que tirasse o erro?

quero saber para não comete-lo novamente se eu resolver adicionar novas coisas

 

Edited:

 

nossa cara, o erro tava na ordem da variável? quando eu coloco a variavel acima de "if not isMonster(item2.uid) then" da erro mas quando eu coloca abaixo não da erro. Nunca achei que mudasse alguma coisa a ordem da variavel pra mim podia adiciona-la em qualquer lugar. Basta estar la. Realmente foi um descoberta pra mim. Mais uma vez obrigado cara.

 

 

Esperando resposta para confirmação. +REP

Editado Junho 20 por koete

SlicerS
20 de junho de 2013 às 09:51

eh q tpw assim... colocando a variavel acima do if ele vai executar a funçao getPlayerSex ms se for monstro... agora se tu colocar abaixo do if, ele soh executara a funçao se for um player...

if not isMonster(item2.uid) then

no caso eh 'SE nao for monstro ENTAO' aquela parte dentro do if soh sera executada caso o item2.uid nao for um monstro... ^^

koeteK
20 de junho de 2013 às 14:00

Huuum... Intendi... Pow to bem satisfeito por ter postado esta duvida aqui no Fúrum

alem de ter sanado minha duvida intendi mesmo como funciona certas coisas que eu não sabia.

 

-Dúvida Sanada-

+REP

1 mês depois...
BeekiB
23 de julho de 2013 às 19:07

Tópico movido para a seção de dúvidas e pedidos resolvidos.