Ir para conteúdo

[Encerrado] NPC Shopping que usar outro tipo de moeda para vender seus itens


Fearlet155

Posts Recomendados

- Preciso de um npc que vende os itens com as seguintes caracteristicas -

 

ID DA MOEDA : 12237 NOME DA MOEDA : BLACK DIAMONDS

 

150 black diamonds poderia trocar por item id : 11415 - MASTER BALL

 

Com 50 black diamonds poderia trocar por item id : 12232 - REVESTIMENTO DE METAL

 

Com 50 black diamonds poderia trocar por item id : 10548 - ANCIENT STONE

 

Com 50 black diamonds poderia trocar por item id :12618 - BOOST STONE

Link para o comentário
Compartilhar em outros sites

Em data/npc, coloque um novo arquivo com o nome BD.xml e cole isso dentro:

 

 

 

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Davion" script="data/npc/scripts/BD.lua" walkinterval="3000" floorchange="0" access="5" >
<health now="150" max="150"/>
<look type="259" head="0" body="114" legs="114" feet="0"/>
<parameters>
<parameter key="message_greet" value="Welcome to the diamond store, here you can buy Masterball(150BD), Revestimento de Metal(50BD), Ancient Stone(50BD) and Boost Stone(50BD)."/>
<parameter key="message_farewell" value="Bye! See you next time."/>
</parameters>
</npc>

 

 

 

Após, na pasta script, crie um arquivo chamado "BD.lua" e cole isso:

 

 

 

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
local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
-- Conversa Jogador/NPC
if(msgcontains(msg, 'offer') or msgcontains(msg, 'Offer')) then
selfSay('I sell Masterball.', cid)
elseif(msgcontains(msg, 'masterball') or msgcontains(msg, 'Masterball')) then
selfSay('The masterball costs 150BD, you really want this?', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'revestimento') or msgcontains(msg, 'Revestimento')) then
selfSay('The Revestimento de Metal costs 50BD, you really want this?', cid)
talkState[talkUser] = 2
elseif(msgcontains(msg, 'Ancient') or msgcontains(msg, 'ancient')) then
selfSay('The Ancient Stone costs 50BD, you really want this?', cid)
talkState[talkUser] = 3
elseif(msgcontains(msg, 'boost') or msgcontains(msg, 'boost')) then
selfSay('The Boost Stone costs 50BD, you really want this?', cid)
talkState[talkUser] = 4
-- Confirmação da Compra
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if(doPlayerRemoveItem(cid, 12237, 150) == true) then
selfSay('Thanks!', cid)
doPlayerAddItem(cid, 11415, 1)
talkState[talkUser] = 0
else
selfSay('You do not have enough black diamonds.', cid)
talkState[talkUser] = 0
end
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then
if(doPlayerRemoveItem(cid, 12237, 50) == true) then
selfSay('Thanks!', cid)
doPlayerAddItem(cid, 12232, 1)
talkState[talkUser] = 0
else
selfSay('You do not have enough black diamonds.', cid)
talkState[talkUser] = 0
end
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 3) then
if(doPlayerRemoveItem(cid, 12237, 50) == true) then
selfSay('Thanks!', cid)
doPlayerAddItem(cid, 10548, 1)
talkState[talkUser] = 0
else
selfSay('You do not have enough black diamonds.', cid)
talkState[talkUser] = 0
end
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 4) then
if(doPlayerRemoveItem(cid, 12237, 50) == true) then
selfSay('Thanks!', cid)
doPlayerAddItem(cid, 12618, 1)
talkState[talkUser] = 0
else
selfSay('You do not have enough black diamonds.', cid)
talkState[talkUser] = 0
end
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

 

 

PS: Não testei, mas veja ai... Se der algum erro só chamar! ^^

Link para o comentário
Compartilhar em outros sites

  • 4 years later...
A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta.

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...