CR
dúvida

isWalkable

Por craigmabbit, 18 de nov. de 2013 em Scripts

resolvido
10
2.7k
18 de novembro de 2013 às 09:45

alguma forma de pegar o cid dentro da função isWalkable
\/ nessa parte.

local creature = getTopCreature(pos)
if creature.type > 0 then
doPlayerSendTextMessage(cid, 27, "testfsafse")

o erro que da. [18/11/2013 09:44:00] (luaDoPlayerSendTextMessage) Player not found
BananaFightB
18 de novembro de 2013 às 10:34

Cara... Cara... Cara..., CID Representa o id de uma criatura, como você vai pegar o cid, sem especificar de qual criatura ele deve pegar....

 

local cid = getTileThingByPos(pos)
 
if isCreature(cid.uid) then
return print("Im a creature")
end
 
return print("That isnot a creature")
end
Acho que assim funciona...
18 de novembro de 2013 às 13:31

ai ele não pega o cid, ele pega qualquer criatura que estiver cima do tile

BananaFightB
18 de novembro de 2013 às 20:25

E não é isso que você quer retornar ?, o Cid da criatura que esta encima do tile ?

20 de novembro de 2013 às 16:58

não, quero retorna o cid mesmo.

brun123B
20 de novembro de 2013 às 20:34

cid = creature identification, um número que referencia uma criatura, criaturas podem ser monstros, players ou npcs

se quiser pegar o cid de algum player que está ativando alguma talkaction ou algo do tipo, você pode passar o cid como parâmetro pra sua função de isWalkable e executar a doPlayerSendMessage, se quiser mandar a mensagem pra criatura que está na posição que você está verificando, basta acessar o campo "uid" da tabela retornada por getTopCreature, assim:

 

 

local creature = getTopCreature(position)
if isPlayer(creature.uid) then
  --
end
21 de novembro de 2013 às 15:21

@brun123

to tentando passar o player que executa , mas ele não cata o cid desse player fiz assim

ele da player not found no cid

 

local creature = getTopCreature(pos)

if creature.type > 0 then
if isCreature(creature.uid) then
doPlayerSendTextMessage(cid, 27, "test")
doPlayerSendTextMessage(creature.uid, 27, "test")

Editado Novembro 21 por craigmabbit

KilluaK
21 de novembro de 2013 às 22:25

Eu acho que vc nao tem que pegar o cid dentro da funcao. Vc declara a funcao e quando for executar ela, faz assim:

if not isWalkable(cid, pos) then
doPlayerSendTextMessage(cid, 27, "test")

Dai sim ele vai mandar a mensagem pra criatura (cid) que ta executando a acao.

22 de novembro de 2013 às 15:59

amoeba era isso ai , obg pode fechar

OmegaO
22 de novembro de 2013 às 20:29

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