Ir para conteúdo

Featured Replies

Postado

olá galera boa noite gostaria de pedir a vocês se possível , um npc que compre os itens das quest que tem no meu server e que venda outros itens, só que a moeda de compra e venha e diferente e 6527 -- envent coins , moeda que ganha nos eventos.

eu gostaria que o npc tivesse o shop , quando o player falar 'trade' aparecesse o shop do lado > da tela como aparece com os outros npc. 

Agradecido desde ja :)

  • Respostas 7
  • Visualizações 1.7k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

Postado
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
function onCreatureAppear(cid) npcHandler:eek:nCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:eek:nCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:eek:nCreatureSay(cid, type, msg) end
function onThink() npcHandler:eek:nThink() 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
local shopWindow = {}
local moeda = 6527 -- ID certain item
local t = {
[2195] = {price = 15}, -- [ITEMID TO SELL] = {HOW TO COST}
[2493] = {price = 25},
[2361] = {price = 30},
[8851] = {price = 20},
[8925] = {price = 30},
[2640] = {price = 50},
[2494] = {price = 100},
[9932] = {price = 50},
[2472] = {price = 70},
[8931] = {price = 100}
}
local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks)
if t[item] and not doPlayerRemoveItem(cid, moeda, t[item].price) then
selfSay("you dont have"..t[item].price.." "..getItemNameById(moeda), cid)
else
doPlayerAddItem(cid, item)
selfSay("Here your item!", cid)
end
return true
end
if (msgcontains(msg, 'trade') or msgcontains(msg, 'TRADE'))then
for var, ret in pairs(t) do
table.insert(shopWindow, {id = var, subType = 0, buy = ret.price, sell = 0, name = getItemNameById(var)})
end
openShopWindow(cid, shopWindow, onBuy, onSell)
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Postado
  • Autor

Boa noite mano o npc nao estar comprando os itens nao aparece o shop mas ela nao compra. como faço pra ele vender tbm?

mano deu esse erro aki, vc teria como me mandar a outra parte do npc? 

[18/06/2016 00:56:01] [Error - LuaScriptInterface::loadFile] data/npc/scripts/runes.lua:5: function arguments expected near ':'
[18/06/2016 00:56:01] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/runes.lua
[18/06/2016 00:56:01] data/npc/scripts/runes.lua:5: function arguments expected near ':'

 

 

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

Postado

quak versão do seu server?

eu testei e funcionou aqui, me mostra como editou seu npc

tem razão, uma code tinha bugado a função. gerando um 'ekk:' duplicado!!

 

aqui está:

 

tradecoins.lua

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
local shopWindow = {}
local moeda = 6527 -- ID certain item
local t = {
[2195] = {price = 15}, -- [ITEMID TO SELL] = {HOW TO COST}
[2493] = {price = 25},
[2361] = {price = 30},
[8851] = {price = 20},
[8925] = {price = 30},
[2640] = {price = 50},
[2494] = {price = 100},
[9932] = {price = 50},
[2472] = {price = 70},
[8931] = {price = 100}
}
local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks)
if t[item] and not doPlayerRemoveItem(cid, moeda, t[item].price) then
selfSay("you dont have"..t[item].price.." "..getItemNameById(moeda), cid)
else
doPlayerAddItem(cid, item)
selfSay("Here your item!", cid)
end
return true
end
if (msgcontains(msg, 'trade') or msgcontains(msg, 'TRADE'))then
for var, ret in pairs(t) do
table.insert(shopWindow, {id = var, subType = 0, buy = ret.price, sell = 0, name = getItemNameById(var)})
end
openShopWindow(cid, shopWindow, onBuy, onSell)
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Npc Coins.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<npc name="Npc Coins" script="data/npc/scripts/tradecoins.lua" walkinterval="0" floorchange="0">
<health now="100" max="100"/>
<look type="325" head="0" body="114" legs="0" feet="0" addons="3"/>
<parameters>
<parameter key="message_greet" value="Olá |PLAYERNAME|. Eu vendo alguns itens! {trade}"/>
</parameters>
</npc>

 

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

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

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