Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

Bom dia/tarde/noite galera !

 

Bom, gostaria de saber se consigo criar um novo npc que use os diamonds do server para comercializar os itens ao invés do dinheiro normal.

Mas que ele abra o trade normalmente para visualizar os itens. (O module Shop)

 

Abraço e agradeço desde já !

 

 

 

 

Postado
  • Autor
3 horas atrás, WhiteBubble disse:

Da pra fazer porem quando der "trade" o preço dos itens vai ser em golds mas ao comprar vai descontar os diamonds normalmente.

Acho que ja é um adianto enorme. Se tiver como dar essa força, ficarei mto agradecido.

Postado

Primeiramente, crie um arquivo com o nome diamonds.lua em npc/scripts e dentro coloque:

Spoiler

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 -- ID DOS DIAMONDS.
local t = {
          [2178] = {price = 10}, -- [ID DO ITEM QUE SERÁ VENDIDO] = {QUANTO IRÁ CUSTAR}
		  [10220] = {price = 200},
		  [2153] = {price = 10},
          }
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())

 

 

Agora em NPCS crie um arquivo com nome de diamonds.xml e dentro adicione:

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Diamonds seller" script="diamonds.lua" walkinterval="350000" floorchange="0" speed="0">
<health now="150" max="150"/>
<look type="10" head="91" body="114" legs="86" feet="0"/>
<parameters>
		<parameter key="message_greet" value="Eae |PLAYERNAME|.Eu troco seus diamonds. Digita {trade}!" />
	</parameters>
</npc>

 

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo