Ir para conteúdo

Featured Replies

  • Respostas 20
  • Visualizações 3.5k
  • Created
  • Última resposta

Top Posters In This Topic

Posted Images

Postado
  Em 05/05/2019 em 20:32, Yan Liima disse:

1653830680_tradepointsbyyan.png.c475d473ea7d596da87f9104e0a4ae82.png

#Introdução

Reparei que muitas pessoas estão atrás desse sistema que o DBOBR e NTOBR usa, e atualmente o VitorSubhi postou um, porém é necessário modificar as sources. Apesar de achar o dele bem melhor, estarei deixando este meu sistema(não é necessário mexer nas sources).

 

#Funcionamente

O jogador vai até um NPC e compra um papel, após ter comprado ele pode estar dando trade nesse papel e negociando com algum jogador em troca de qualquer item. Ao finalizar a negociação, os points são transferidos/removidos(caso houver points na conta). Também é possivel comprar o papel por comando, estarei disponibilizando ambos para vocês.

 

#Alguns prints:

Mostrar conteúdo oculto

 

Estarei deixando o script para vocês em inglês, modifique como quiser ;D

Então vamos lá...

#Instalação

Em data/lib crie um arquivo chamado tradepoints.lua cole isto dentro:

Mostrar conteúdo oculto

 

Em data/creaturescripts/tradepoints.lua:

Mostrar conteúdo oculto

 

TAG:


<event type="tradeaccept" name="Trade_Points" event="script" value="tradepoints.lua"/>
<event type="traderequest" name="Trade_Points_Request" event="script" value="tradepoints.lua"/>

login.lua


registerCreatureEvent(cid, "Trade_Points")
registerCreatureEvent(cid, "Trade_Points_Request")

NPC XML:


<?xml version="1.0" encoding="UTF-8"?>
<npc name="Frodo" script="data/npc/scripts/trade_points.lua" walkinterval="2000" floorchange="0" access="5" level="1" maglevel="1">
	<health now="150" max="150"/>
	<look type="275" head="114" body="113" legs="113" feet="113" corpse="2212"/>
	<parameters>
		<parameter key="module_shop" value="1" />
		<parameter key="message_greet" value="Hello |PLAYERNAME|. I sell some utensils and Premium Points Transfer for you to transfer points to other players, remember to buy use '10' to 10 points." />
	</parameters>
</npc>

Data/npc/scripts/trade_points.lua:

Mostrar conteúdo oculto

 

Caso queira que a compra do papel seja feita por talkactions, aqui está:

Mostrar conteúdo oculto

 

Prontinho xD

Agradecimentos ao @lordzetros por ajudar na função scanContainer.

obs: testado em TFS 0.4

 

pra PDA??

  • 4 weeks later...
  • 2 years later...
Postado

Perdão por reviver esse tópico mas há alguma chance de você ter ele adaptado pra Znote?

Consegui refazer:
 

function scanContainer(item, tables)
    if isContainer(item.uid) then
        for i = 0, getContainerSize(item.uid) do
            local item_ct = getContainerItem(item.uid, i)
            if (item_ct) then
            if isContainer(item.uid) then
                scanContainer(item_ct, tables)
            end
            table.insert(tables, item_ct.itemid)
         end
      end
   end
end

function getAccountPointsTrade(cid)
	local Points = 0
	local Result = db.getResult("SELECT `points` FROM `znote_accounts` WHERE `account_id` = " .. getPlayerAccountId(cid) .. " LIMIT 1")
	if Result:getID() ~= -1 then
		Points = Result:getDataInt("points")
	end
	return tonumber(Points)
end

function doAccountAddPointsTrade(cid, count)
	return db.query("UPDATE `znote_accounts` SET `points` = ".. getAccountPointsTrade(cid) + count .." WHERE `account_id` = " .. getPlayerAccountId(cid) .. " LIMIT 1")
end

function doAccountRemovePointsTrade(cid, count)
	return db.query("UPDATE `znote_accounts` SET `points` = ".. getAccountPointsTrade(cid) - count .." WHERE `account_id` = " .. getPlayerAccountId(cid) .. " LIMIT 1")
end

 

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

VlVKQKC.png&key=d5c17620ae9567a1f898dd7a

 

 

 

  • 532144234_Logo_NTO_BLOOD_Finish_HIM_By_Antonio_Luckas(3).png.fd58d1af125a7e82ccdd751637e9ca93.png

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