up
info
Grupo: Conde
Registrado: 07/04/15
Posts: 926
Reputação: +335
Gênero: Masculino

@Loouis, vê se funfa:
local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) endfunction onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) endfunction onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) endfunction onThink() npcHandler:onThink() endlocal devotedTokenId = 1515 --id do devoted tokenlocal qntdDT = 20 --quantidade de devoted tokenslocal boxId = 1414 --id do item que o player receberáfunction greetCallback(cid)npcHandler:say('Olá treinador, eu troco Devoted Tokens por uma box onde poderá vir um held aleatorio do tier 1 à 2, mais para isso preciso de 20 devoted tokens, você tem os 20 devoted tokens?', cid)npcHandler:addFocus(cid)return trueendfunction creatureSayCallback(cid, type, msg) if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then if getPlayerItemCount(cid, devotedTokenId) >= qntdDT then doPlayerRemoveItem(cid, devotedTokenId, qntdDT) npcHandler:say('Aqui está. Agora vá, continue sua jornada.', cid) npcHandler:releaseFocus(cid) else npcHandler:say('Opa, parece que você não tem o necessário para esta troca. Volte quando tiver.', cid) npcHandler:releaseFocus(cid) end endreturn trueendnpcHandler:setCallback(CALLBACK_GREET, greetCallback)npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)npcHandler:addModule(FocusModule:new())
*se você não souber como instalar esse npc, avisa que eu te ajudo.
Editado Maio 25 por Danihcv
Em 25/05/2016 at 01:39, Danihcv disse:@Loouis, vê se funfa:
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 local devotedTokenId = 1515 --id do devoted token local qntdDT = 20 --quantidade de devoted tokens local boxId = 1414 --id do item que o player receberá function greetCallback(cid) npcHandler:say('Olá treinador, eu troco Devoted Tokens por uma box onde poderá vir um held aleatorio do tier 1 à 2, mais para isso preciso de 20 devoted tokens, você tem os 20 devoted tokens?', cid) npcHandler:addFocus(cid) return true end function creatureSayCallback(cid, type, msg) if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then if getPlayerItemCount(cid, devotedTokenId) >= qntdDT then doPlayerRemoveItem(cid, devotedTokenId, qntdDT) npcHandler:say('Aqui está. Agora vá, continue sua jornada.', cid) npcHandler:releaseFocus(cid) else npcHandler:say('Opa, parece que você não tem o necessário para esta troca. Volte quando tiver.', cid) npcHandler:releaseFocus(cid) end end return true end npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
*se você não souber como instalar esse npc, avisa que eu te ajudo.
Oi, desculpe a demora, tive um problema pra adicionar esse npc.
Dialogo usado:
Eu:hi
NPC:Olá treinador, eu troco Devoted Tokens por uma box onde poderá vir um held aleatorio do tier 1 à 2, mais para isso preciso de 20 devoted tokens, você tem os 20 devoted tokens?
Eu:yes
NPC:Pronto ai está...
mais nenhum item era removido da minha bag nem adicionado...mesmo sem eu ter os tokens ele falou isso...
NPC.XML:
<?xml version="1.0" encoding="UTF-8"?>
<npc name="Breno" script="abreno.lua" walkinterval="350000" floorchange="0" speed="0" lookdir="2">
<health now="150" max="150"/>
<look type="662" head="95" body="88" legs="114" feet="94"/>
<parameters>
<parameter key="message_greet" value="Ola |PLAYERNAME|, eu tenho uma dificil task para voce, esta interessado?Se sim diga {task}"/>
</parameters>
</npc>
NPC.LUA:
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
local devotedTokenId = 14338 --id do devoted token
local qntdDT = 20 --quantidade de devoted tokens
local boxId = 14188 --id do item que o player receberá
function greetCallback(cid)
npcHandler:say('Olá treinador, eu troco Devoted Tokens por uma box onde poderá vir um held aleatorio do tier 1 à 2, mais para isso preciso de 20 devoted tokens, você tem os 20 devoted tokens?', cid)
npcHandler:addFocus(cid)
return true
end
function creatureSayCallback(cid, type, msg)
if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
if getPlayerItemCount(cid, 14338) >= qntdDT then
doPlayerRemoveItem(cid, 14338, qntdDT)
npcHandler:say('Aqui está. Agora vá, continue sua jornada.', cid)
npcHandler:releaseFocus(cid)
else
npcHandler:say('Opa, parece que você não tem o necessário para esta troca. Volte quando tiver.', cid)
npcHandler:releaseFocus(cid)
end
end
return true
end
npcHandler:setCallback(CALLBACK_GREET, greetCallback)
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
info
Grupo: Conde
Registrado: 07/04/15
Posts: 926
Reputação: +335
Gênero: Masculino

@Loouis, eu esqueci de adicionar o comando pra dar o item ao player kkkkk.
O script na seguitne forma é pra estar funcionando corretamente:
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 local devotedTokenId = 1515 --id do devoted token local qntdDT = 20 --quantidade de devoted tokens local boxId = 1414 --id do item que o player receberá function greetCallback(cid) npcHandler:say('Olá treinador, eu troco Devoted Tokens por uma box onde poderá vir um held aleatorio do tier 1 à 2, mais para isso preciso de 20 devoted tokens, você tem os 20 devoted tokens?', cid) npcHandler:addFocus(cid) return true end function creatureSayCallback(cid, type, msg) if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then if getPlayerItemCount(cid, devotedTokenId) >= qntdDT then doPlayerAddItem(cid, boxId, 1) doPlayerRemoveItem(cid, devotedTokenId, qntdDT) npcHandler:say('Aqui está. Agora vá, continue sua jornada.', cid) npcHandler:releaseFocus(cid) else npcHandler:say('Opa, parece que você não tem o necessário para esta troca. Volte quando tiver.', cid) npcHandler:releaseFocus(cid) end end return true end npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
Se não funcionar, veja se aparece algum erro na distro. E mande.
12 horas atrás, Danihcv disse:@Loouis, eu esqueci de adicionar o comando pra dar o item ao player kkkkk.
O script na seguitne forma é pra estar funcionando corretamente: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 local devotedTokenId = 1515 --id do devoted token local qntdDT = 20 --quantidade de devoted tokens local boxId = 1414 --id do item que o player receberá function greetCallback(cid) npcHandler:say('Olá treinador, eu troco Devoted Tokens por uma box onde poderá vir um held aleatorio do tier 1 à 2, mais para isso preciso de 20 devoted tokens, você tem os 20 devoted tokens?', cid) npcHandler:addFocus(cid) return true end function creatureSayCallback(cid, type, msg) if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then if getPlayerItemCount(cid, devotedTokenId) >= qntdDT then doPlayerAddItem(cid, boxId, 1) doPlayerRemoveItem(cid, devotedTokenId, qntdDT) npcHandler:say('Aqui está. Agora vá, continue sua jornada.', cid) npcHandler:releaseFocus(cid) else npcHandler:say('Opa, parece que você não tem o necessário para esta troca. Volte quando tiver.', cid) npcHandler:releaseFocus(cid) end end return true end npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
Se não funcionar, veja se aparece algum erro na distro. E mande.
agora esta funfando 100%, Obrigado Rep+



info
Grupo: Cavaleiro
Registrado: 08/02/14
Posts: 151
Reputação: +8
Oi, gente queria um npc que:
Player:hi
NPC:Olá treinador, eu troco Devoted Tokens por uma box onde poderá vir um held aleatorio do tier 1 à 2, mais para isso preciso de 20 devoted tokens, você tem os 20 devoted tokens?
player:yes
(ai o npc remove os 20 devoted token(ID:XXXX) e da pro player 1 um item id (XXXX).)
só que queria que o player podesse realizar essa troca com esse npc quantas vezes ele quiser...
Agradeço e dou Reputação+ pra quem ajudar