Ir para conteúdo

[Monster] [dúvida] Dosetitemactionid Em Npcs


alex008

Posts Recomendados

Me empenhei a fazer todas as actions de rookgaard para meu OT, ja fiz 38 scripts contendo quests e actions

E estou com problemas para fazer o NPC Seymour (bibliotecário de rookgaard), no global, nele se compra uma chave por 5 GP

 

primeiramente:

eu sei fazer chave com porta,

sei fazer a quest q da a chave ja com actionid

 

 

porem, quando tentei fazer a msm coisa com o NPC nao deu certo.

 

script do NPC (o script ta certo so que a função nao ta combinando)

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)

storage = getPlayerStorageValue(cid,9803)

 

if(not npcHandler:isFocused(cid)) then

return false

end

 

local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

 

--------------------MESSAGES------------------------------------------------------------------------------

if msgcontains(msg, 'treinamento') then

selfSay('Em baixo deste piso existe uma sala de treinamento para jogadores que nao sabe jogar muito bem, se você tem dificuldades em jogar tibia sugiro q você faça esse treinamento, mas para isso você irá precisar de uma {chave} que pode ser obtida aqui comigo. O treinamento é muito util até para os que ja sabem jogar.', cid)

elseif msgcontains(msg, 'chave') then

selfSay('A chave para a sala de treinamento custa 5 gp, deseja comprar?.', cid)

talkState[talkUser] = 1

 

 

elseif talkState[talkUser] == 1 then

 

if getPlayerMoney(cid) >= 5 then

if msgcontains(msg, 'yes') then

chave = doPlayerAddItem(cid, 2088, 1)

doSetItemActionId(chave, 4603)

selfSay('Aqui está.', cid)

talkState[talkUser] = 0

end

else

selfSay('você nao tem dinheiro suficiente.', cid)

talkState[talkUser] = 0

end

 

end

 

----------------------------------------------------------------------------------------------------------

end

 

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

end

 

 

 

Error:

33z2y2w.jpg

 

 

SS das falas no cliente:

kbzsyc.jpg

 

 

script para adicionar action id na chave:

chave = doPlayerAddItem(cid, 2088, 1)

doSetItemActionId(chave, 4603)

 

ficando:

you see a silver key (key:4603).

It weighs 1.00 oz.

 

 

 

 

se alguem souber o q esta acontecendo pra dar esse error aí me ajudem, por favor.

obrigado pela atenção.

Link para o comentário
Compartilhar em outros sites

Em relação ao topico tinha a mesma duvida pois ja tinha tentado fazer ambos as opções tanto na quest quanto com npc e não obtive sucesso ^^'..

 

Vlw's por tomar iniciativa de criar o topico..e vlw tbm ao nobinho que realmente de noob num tem nada pelo help, era o que faltava pra mim fexar com "chave" de ouro no meu ats.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...