Ir para conteúdo

Featured Replies

Postado

Exemplo:

NPC NAME: MASTER POKEBALLS

ITENS A VENDA:

ITEM: MASTEBALL PREÇO:10 DIAMONDS

ITEM: SHINY STONE PREÇO: 15 DIAMONDS

ITEM: "MONEY" PREÇO: 1 DIAMONDS

 

Alguém sabe fazer isso ? me ajuda ?

Postado

@Thelzp1 Amigo, teste esse aqui, porém não testei e não sei se realmente funciona, peguei daqui do fórum mesmo, vamos lá!

 

Em Data/npc crie um arquivo .xml com o nome que desejar e adicione:

 

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Nome" script=".lua" walkinterval="3000" floorchange="0" access="5" >
<health now="150" max="150"/>
<look type="664" head="0" body="114" legs="114" feet="0"/>
<parameters>
<parameter key="message_greet" value="Bem-vindo |PLAYERNAME| Aqui voce pode comprar Stones, Vamos la diga {offer}."/>
<parameter key="message_farewell" value="Bye! See you next time."/>
</parameters>
</npc>

Agora em Data/Npc/Scripts crie um arquivo .lua com o nome que desejar e adicione:

 

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('Eu vendo Fire stone, Water stone, Leaf stone. Diga qual voce quer adquirir.', cid) 
elseif(msgcontains(msg, 'Fire stone') or msgcontains(msg, 'fire stone')) then
selfSay('A Fire stone custa 3 Diamonds, Voce vai querer?', cid) 
talkState[talkUser] = 1 
elseif(msgcontains(msg, 'Water stone') or msgcontains(msg, 'water stone')) then
selfSay('A Water stone Custa 3 Diamonds, Voce vai querer?', cid) 
talkState[talkUser] = 2 
elseif(msgcontains(msg, 'Leaf stone') or msgcontains(msg, 'leaf stone')) then
selfSay('A Leaf stone Custa 3 Diamonds, Voce vai querer?', cid) 
talkState[talkUser] = 3 
  
 
-- Confirmação da Compra  
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then  
if(doPlayerRemoveItem(cid, 2145, 3) == true) then  
selfSay('Thanks!', cid) 
doPlayerAddItem(cid, 11447, 1)
talkState[talkUser] = 0 
else  
selfSay('Voce nao tem  diamonds suficiente.', cid) 
talkState[talkUser] = 0  
end  
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then  
if(doPlayerRemoveItem(cid, 2145, 3) == true) then
selfSay('Thanks!', cid) 
doPlayerAddItem(cid, 11442, 1)
talkState[talkUser] = 0
else
selfSay('Voce nao tem  diamonds suficiente.', cid) 
talkState[talkUser] = 0  
end
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 3) then  
if(doPlayerRemoveItem(cid, 2145, 3) == true) then  
selfSay('Thanks!', cid) 
doPlayerAddItem(cid, 11441, 1)
talkState[talkUser] = 0 
else  
selfSay('Voce nao tem  diamonds suficiente.', cid) 
talkState[talkUser] = 0  
end 
end
return TRUE
end
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) 
npcHandler:addModule(FocusModule:new())

Obs: Não sei se é realmente assim que você pediu e se realmente funciona, peguei daqui do TK e aguardo resposta!

Espero ter ajudado, abraços =)

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo