Ir para conteúdo

Featured Replies

Postado

Reedem Points

by vankk

 

Basicamente esse script é você utilizar essa talkaction, e o jogador resgatar os pontos baseado no código de transação do PagSeguro. Irei explicar as configurações do script no final.

 

Vá em data/talkactions/scripts e crie um arquivo .lua e coloque o nome de reedem_points.lua após isso, adicione esse código dentro dele;

local config = {
	tableName = 'pagseguro_log', -- nome da tabela em sua database
	estructureTable = 'transacaoid', -- nome da estrutura da tabela
	tablePoints = 'pontos', -- nome da estrutura da tabela do pagseguro que mostra a qntidade de pontos que o jogador recebeu
	pointsEstructure = 'coins', -- nome da tabela de points do seu servidor
}

function onSay(player, words, param)
	local tables = {config.tableName, config.estructureTable, config.pointsEstructure, config.tablePoints}
	for i = 1, #tables do
		if not tables[i] then
			player:sendTextMessage(MESSAGE_EVENT_ORANGE, 'Por favor contate o Administrador do servidor, parece que ele configurou errado o script.')
			return false
		end
	end

	local tmpParam = param
	if not tmpParam then
		player:sendTextMessage(MESSAGE_EVENT_ORANGE, 'Por favor coloque o código de transação do PagSeguro.')
		return false
	end

	local resultId = db.storeQuery(string.format('SELECT * FROM `%s` WHERE `%s` = %s AND `reemded` = 0 ', config.tableName, config.estructureTable, db.escapeString(tmpParam)))
	if not resultId then
		player:sendTextMessage(MESSAGE_EVENT_ORANGE, 'Não existe esse código em nossa database ou então já foi resgatado.')
		return false
	end

	local amountPoints = result.getDataInt(resultId, config.tablePoints)
	result.free(resultId)

    db.query(string.format('UPDATE `%s` SET `reemded` = 1 WHERE `%s` = %s', config.tableName, config.estructureTable, db.escapeString(tmpParam)))
    db.query(string.format('UPDATE `accounts` SET `%s` = `%s` + %d WHERE `id` = %d', config.pointsEstructure, config.pointsEstructure, amountPoints, player:getAccountId()))
    player:sendTextMessage(MESSAGE_INFO_DESCR, string.format('Você resgatou com sucesso %d pontos utilizando o código %s.', amountPoints, tmpParam))
	return false
end

Agora vá em data/talkactions/talkactions.xml e adicione essa tag

<talkaction words="!points" separator=" " script="players/reedem_points.lua" />

Execute essa query em seu phpMyAdmin, mas antes de executar leia a explicação!

ALTER TABLE `pagseguro_log` ADD `reemded` INT(1) NOT NULL DEFAULT '1';

Então vamos lá para a explicação, é bem importante que você preste atenção nessa caralha se não vai dar merda.

 

No script eu adicionei a tabela config, no qual funciona da seguinte maneira:

  • tableName = É o nome da tabela que fica o seu log das transações do PagSeguro
  • estructureTable = É o nome da estrutura que fica dentro do log da transação do pagSeguro no qual guarda o código de transação
  • tablePoints = É o nome da estrutura que fica dentro do log da transaçÃo do pagSeguro no qual guarda quantos pontos o jogador recebeu
  • pointsEstructure = É o nome da estrutura que fica dentro da tabela accounts que guarda os pontos dos jogadores.

 

Agora que você já sabe o que é o tableName, na query na qual eu falei acima você precisará mudar para o nome da sua tabela do log do PagSeguro.

Por exemplo, caso o nome da sua tabela seja pagseguro_transactions, você muda para a parte pagseguro_log para pagseguro_transactions.

 

Lembrando que não dou suporte então, caso não entendeu, leia novamente o tópico até entender, porque está de uma maneira bem explicada.

 

Atenciosamente,

vankk.

discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Postado

Parabéns, seu tópico de conteúdo foi aprovado!
Muito obrigado pela sua contribuição, nós do Tibia King agradecemos.
Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.

Mostrar conteúdo oculto

 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

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