Ir para conteúdo

Npc Cura


papaleguas33

Posts Recomendados

Galera to quebrando a cabeça aqui mais ta dificil, to querendo montar um npc de cura tipo o player ta no vermelho ai chega e fala heal ele cura mais ta fogo alguém tem uma luz , começando aqui mais ta dificil :)

 

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)

local talkState = {}

 

function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end

function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end

function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end

function onThink() npcHandler:onThink() end

 

function creatureSayCallback(cid, type, msg)

if(not npcHandler:isFocused(cid)) then

return false

end

 

if(msgcontains(msg, 'heal') or msgcontains(msg, 'hi')) then

doPlayerAddHealth(cid,100)

end

return true

end

 

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

Link para o comentário
Compartilhar em outros sites

Galera to quebrando a cabeça aqui mais ta dificil, to querendo montar um npc de cura tipo o player ta no vermelho ai chega e fala heal ele cura mais ta fogo alguém tem uma luz , começando aqui mais ta dificil :)

 

local keywords = {'hi','hello','heal'}

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

function onCreatureAppear(cid)		 npcHandler:onCreatureAppear(cid)		 end
function onCreatureDisappear(cid)	  npcHandler:onCreatureDisappear(cid)	  end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink()					 npcHandler:onThink()					 end
npcHandler:setMessage(1,'')

function npcActions(cid, message, keywords, parameters, node)
  local percent = getCreatureMaxHealth(cid) * 0.3
  local heal = percent - getCreatureHealth(cid)
  if getCreatureHealth(cid) < percent then
  selfSay('You look bad! Take care.')
  doPlayerAddHealth(cid, heal)
  doSendMagicEffect(12,getCreaturePosition(cid))
  else selfSay('Hello, |PLAYERNAME|') end
  npcHandler:resetNpc()
end

for i = 1,#keywords do keywordHandler:addKeyword({keywords[i]}, npcActions, {}) end

npcHandler:addModule(FocusModule:new())

Link para o comentário
Compartilhar em outros sites

Brainless , ai que ta o problema o meu tb estava dando o mesmo erro que está dando o seu olha o erro no console.

 

[19/02/2009 11:37:15] data\npc\scripts\Cipfried.lua:18: attempt to call global 'doPlayerAddHealth' (a nil value)

[19/02/2009 11:37:15] stack traceback:

[19/02/2009 11:37:15] data\npc\scripts\Cipfried.lua:18: in function 'callback'

[19/02/2009 11:37:15] data/npc/lib/npcsystem/keywordhandler.lua:40: in function 'processMessage'

[19/02/2009 11:37:15] data/npc/lib/npcsystem/keywordhandler.lua:168: in function 'processNodeMessage'

[19/02/2009 11:37:15] data/npc/lib/npcsystem/keywordhandler.lua:128: in function 'processMessage'

[19/02/2009 11:37:15] data/npc/lib/npcsystem/npchandler.lua:371: in function 'onCreatureSay'

[19/02/2009 11:37:15] data\npc\scripts\Cipfried.lua:9: in function <data\npc\scripts\Cipfried.lua:9>

 

 

Lembrando a versão do meu otserv é 8.40.

Link para o comentário
Compartilhar em outros sites

Brainless , ai que ta o problema o meu tb estava dando o mesmo erro que está dando o seu olha o erro no console.

 

[19/02/2009 11:37:15] data\npc\scripts\Cipfried.lua:18: attempt to call global 'doPlayerAddHealth' (a nil value)

[19/02/2009 11:37:15] stack traceback:

[19/02/2009 11:37:15] data\npc\scripts\Cipfried.lua:18: in function 'callback'

[19/02/2009 11:37:15] data/npc/lib/npcsystem/keywordhandler.lua:40: in function 'processMessage'

[19/02/2009 11:37:15] data/npc/lib/npcsystem/keywordhandler.lua:168: in function 'processNodeMessage'

[19/02/2009 11:37:15] data/npc/lib/npcsystem/keywordhandler.lua:128: in function 'processMessage'

[19/02/2009 11:37:15] data/npc/lib/npcsystem/npchandler.lua:371: in function 'onCreatureSay'

[19/02/2009 11:37:15] data\npc\scripts\Cipfried.lua:9: in function <data\npc\scripts\Cipfried.lua:9>

 

 

Lembrando a versão do meu otserv é 8.40.

 

 

substitua doPlayerAddHealth por doCreatureAddHealth

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...