Ir para conteúdo

Featured Replies

Postado

Olá Galera!

 

Bom dia. Vim aqui pedir uma ajudinha de vocês novamente -.- .

 

Bom, preciso de um npc de shop, que venderá items Premium em troca de um certo item. Resumindo, você irá comprar items nesse NPC só se tiver um certo item (id: 6527).

 

Mas não seria um npc de Shopsystem normal, esse npc deverá vender os items só no dialogo, não no "Npc Trade". Ex:

 

~|NPC| Olá Player, eu vendo items Donate, diga "ofertas" para saber seus precos.

~|Player| Ofertas.

~|NPC| Eu vendo blessed ring, scale armor e royal helmet. Diga o que quer para saber seu valor.

~|Player| Blessed ring.

~|NPC| O blessed ring custa 5 VIP Coin, se deseja comprar diga "aceito".

~|Player| aceito.

~|NPC| Aqui esta seu item, aproveite ele.

 

Bom, é basicamente isso, esse é um exemplo do dialogo.

 

Agradeço desde já. Rep+ por quem me ajudar. ^^

 

 

 

Oi

  • Respostas 6
  • Visualizações 875
  • Created
  • Última resposta

Top Posters In This Topic

Postado

acho que só pegar npc que vende alguma coisa, edita os id dos item e as frases....

Gente, não dou suporte via mp, caso queira ajuda crie um tópico no fórum!!!
youtube.png  10869_64x64.png
Ajudei? Clicar em gostar não vai te matar

Postado

Adicione troca.lua a pasta seu sever/data/npc/scripts

 

--//

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
msg = string.lower(msg)
--\\
 
   ----
local need = {
--item id....quantidade
{id = 12579, qt = 1},
{id = 12580, qt = 1},
{id = 12581, qt = 1},
}
local storage = 83497
local pokemon = "Aerodactyl" -- nome do poke
   -----
if msgcontains(string.lower(msg), 'help') or msgcontains(string.lower(msg), 'help') then
if getPlayerStorageValue(cid, storage) == 1 then
selfSay("você já completou minha quest!", cid)
return true
end
--//
selfSay("olá, você gostaría de trocar alguns itens e em troca eu dou um pokémon? os items necessaríos são {Old amber, Dome Fossil, Helix Fossil}!", cid)
talkState[talkUser] = 2
return true
elseif msgcontains(msg, 'yes') and talkState[talkUser] == 2 then
  if getPlayerItemCount(cid, need[1].id) < need[1].qt or getPlayerItemCount(cid, need[2].id) < need[2].qt or getPlayerItemCount(cid, need[3].id) < need [3].qt then
       selfSay("você não tem todos itens necessaríos que eu pedi, volte aqui quando tive-los todos!", cid)
  talkState[talkUser] = 0
          return true end
  if not addPokeToPlayer(cid, pokemon, 0, -1, "normal", true) then
       selfSay("You don't have space in your bag or already are with 6 pokemons!! Back here when you 'fix' that!", cid)
       talkState[talkUser] = 0
        return true end
for i = 1, #need do
doPlayerRemoveItem(cid, need.id, need.qt)
end
addPokeToPlayer(cid, pokemon, 0, 1, 'normal', true)
selfSay("nossa muito bom, obrigado e faça um bom proveito do seu novo pokémon!", cid)
setPlayerStorageValue(cid, storage, 1)
talkState[talkUser] = 0
return true
end
return true
end
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

Pode ser este ? só que dai vc edita...

Editado por oiuhygwueuho (veja o histórico de edições)

Gente, não dou suporte via mp, caso queira ajuda crie um tópico no fórum!!!
youtube.png  10869_64x64.png
Ajudei? Clicar em gostar não vai te matar

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.7k

Informação Importante

Confirmação de Termo