Ir para conteúdo

Featured Replies

Postado

Olá, no meu server eu tenho um NPC que vende 3 items chamados de, "refiner", "great refiner" e "ultra refiner". Como o próprio nome diz ele é usado para refinar armas. Enfim, esse NPC vende os refiner por gold's mas queria que ele vendesse por esmeraldas. (que é obtida no sistema de minério que eu coloquei no server)

 

Vou deixar aqui os preços e o ID de cada item.

 

Refiner ID 8301, Gostaria que o NPC cobrasse o valor de 100 esmeraldas ID 9970

 

Great Refiner ID 8303, Gostaria que o NPC cobrasse o valor de 125 esmeraldas ID 2147

 

Ultra Refiner ID 8299, Gostaria que o NPC cobrasse o valor de 150 esmeraldas ID 2144

 

 

 

AGRADEÇO DESDE JÁ<3

 

  • Respostas 10
  • Visualizações 859
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • So volto tarde
    So volto tarde

    Tive de mudar o nome de "refiner" para "normal refiner", também corrigi alguns erros que deixei passar.    

Posted Images

Postado
  • Autor
13 minutos atrás, So volto tarde disse:

Manda o script do npc ai

Ele não tem um script! está como default.

 

Spoiler

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Ferreiro" script="default.lua" walkinterval="0">
    <health now="100" max="100"/>
    <look type="833"/>
    <parameters>
        <parameter key="module_shop" value="1"/>
        <parameter key="message_greet" value="Olá, |PLAYERNAME|! Eu vendo Refiner. Diga {Trade}."/>
        <parameter key="shop_buyable" value="Refiner,8301,5000000;Great Refiner,8303,10000000;Ultra Refiner,8299,15000000"/>
    </parameters>
</npc>

 

Postado
Spoiler

local temple = {x=44,y=151,z=8}
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 storage = 23254
local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
local shopWindow = {}
local moeda = 2145
local t = {
          [11499] = {price = 10}, -- [ID DO ITEM QUE SERÁ VENDIDO] = {QUANTO IRÁ CUSTAR}
          [2495] = {price = 100},
          }
local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks)
        if  t[item] and not doPlayerRemoveItem(cid, moeda, t[item].price) then
                  selfSay("você não tem "..t[item].price.." "..getItemNameById(moeda), cid)
                         else
                doPlayerAddItem(cid, item)
                selfSay("aqui está seu item!", cid)
                 setPlayerStorageValue(cid, 23254,0)
           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())

Encontrei este shopwindow aqui pelo fórum. não sei se é funcional mas vale a pena tentar, caso queira, dá para fazer de outra forma sem ser pelo shopwindow, diretamente pela fala do npc.

Postado
  • Autor
3 horas atrás, So volto tarde disse:
  Mostrar conteúdo oculto

local temple = {x=44,y=151,z=8}
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 storage = 23254
local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
local shopWindow = {}
local moeda = 2145
local t = {
          [11499] = {price = 10}, -- [ID DO ITEM QUE SERÁ VENDIDO] = {QUANTO IRÁ CUSTAR}
          [2495] = {price = 100},
          }
local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks)
        if  t[item] and not doPlayerRemoveItem(cid, moeda, t[item].price) then
                  selfSay("você não tem "..t[item].price.." "..getItemNameById(moeda), cid)
                         else
                doPlayerAddItem(cid, item)
                selfSay("aqui está seu item!", cid)
                 setPlayerStorageValue(cid, 23254,0)
           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())

Encontrei este shopwindow aqui pelo fórum. não sei se é funcional mas vale a pena tentar, caso queira, dá para fazer de outra forma sem ser pelo shopwindow, diretamente pela fala do npc.

testei mas não funcionou ;x

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