Ir para conteúdo
  • 0

Ajuda arrumar script do npc de quest que eu criei


roriscrave

Pergunta

Bom , é assim o player chega pro npc fala hi,yes. Quando o player falar yes o npc sumona um bixo e cria uma parede no local determinado no script. Porém o item que o npc cria teria que ser removido 10 segundos depois que ele foi criado, e nao esta sendo. Como adiciono uma funçao para que ele remova o item1? (obs: eu mudei no items.xml para o item sumir, porem ele nao some quando eh criado pelo npc)

Script:

 

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

 

monstername1 = "Rat"

monster1 = {x=1025,y=917,z=7}

item1 = 1497

pos1 = {x=1025,y=916,z=7}

 

function creatureSayCallback(cid, type, msg)

 

if(not npcHandler:isFocused(cid)) then

return false

end

 

if msgcontains(msg, 'yes') and getPlayerStorageValue(cid, 21755) > 0 then

selfSay("{".. getCreatureName(cid) .."} você já morreu nesta quest.", cid)

end

if msgcontains(msg, 'yes') and getPlayerStorageValue(cid, 21755) < 5 then

setPlayerStorageValue(cid, 21755, 1)

selfSay("Morra!!!", cid)

 

doSummonCreature(monstername1,monster1)

doSendMagicEffect(monster1,10)

doCreateItem(item1, 1, pos1)

end

end

 

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

 

npcHandler:addModule(FocusModule:new())

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

tá dando o mesmo erro, olha como ta o script, vou marca de vermelho onde adicionei sua parte

 

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

 

local function doRemove(uid)

if uid > 1 then

doRemoveItem(uid, 1)

end

end

 

monstername1 = "Rat"

monster1 = {x=1025,y=917,z=7}

item1 = 1497

pos1 = {x=1025,y=916,z=7}

 

 

function creatureSayCallback(cid, type, msg)

 

if(not npcHandler:isFocused(cid)) then

return false

end

 

if msgcontains(msg, 'yes') and getPlayerStorageValue(cid, 21755) > 0 then

selfSay("{".. getCreatureName(cid) .."} você já morreu nesta quest.", cid)

end

if msgcontains(msg, 'yes') and getPlayerStorageValue(cid, 21755) < 5 then

setPlayerStorageValue(cid, 21755, 1)

selfSay("Morra!!!", cid)

doSummonCreature(monstername1,monster1)

doSendMagicEffect(monster1,10)

doCreateItem(item1, 1, pos1)

local function doRemove(uid)

if uid > 1 then

doRemoveItem(uid, 1)

end

end

addEvent(doRemove, 10*1000, getTileItemById(pos1, item1).uid)

end

end

 

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

 

npcHandler:addModule(FocusModule:new())

Link para o comentário
Compartilhar em outros sites

  • 0

estranhu.. tenta assim.. ;/

local function doRemove(pos, itemid)
if pos and pos.x and itemid and itemid >= 1 then
if getTileItemById(pos, itemid).uid > 1 then
doRemoveItem(getTileItemById(pos, itemid).uid, 1)
end
end
end
addEvent(doRemove, 10*1000, pos1, item1)

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...