Ir para conteúdo
Entre para seguir isso  
vankk

[TFS 1.2] Offline Message

Recommended Posts

vankk    16
vankk

Offline Message

by vankk

Eu estava codando um sistema de Auction para o Aura, e precisou dessa função, e gostaria de compartilhar com vocês para caso vocês precisem também. Basicamente o script irá enviar uma message para um jogador contendo uma mensagem.

Execute em seu phpMyAdmin essa query:

CREATE TABLE `offline_message` (
	`id` int(11) NOT NULL AUTO_INCREMENT,
	`player_name` varchar(64) NOT NULL,
	`message` TEXT NOT NULL,
	PRIMARY KEY (`id`),
	FOREIGN KEY (`player_name`) REFERENCES `players`(`name`) ON DELETE CASCADE
) ENGINE=MyISAM DEFAULT CHARSET=latin1

 

Em data/global.lua adicione

function doSendOfflineMessage(targetName, message)
	db.query(string.format('INSERT INTO `offline_message` (player_name, message) VALUES (%s, %s)', db.escapeString(targetName), db.escapeString(message)))
end

function Player.checkOfflineMessage(self, playerName)
	local resultId = db.storeQuery(string.format('SELECT * FROM `offline_message` WHERE `player_name` = %s', db.escapeString(playerName)))
    if resultId ~= false then
    	local message = result.getDataString(resultId, "message")
    	local id = result.getDataString(resultId, "id")
        self:sendTextMessage(MESSAGE_INFO_DESCR, string.format('Offline Message:\n%s', message))

        db.query(string.format('DELETE FROM `offline_message` WHERE `id` = %d', id))
    end
end

Em data/creaturescripts/login.lua adicione essa linha em qualquer parte do código antes do return true:

player:checkOfflineMessage(player:getName())

Para enviar uma mensagem para algum jogador é doSendOfflineMessage(playerName, message). Por exemplo:

doSendOfflineMessage('Vankk', 'Aura é o melhor servidor baiak de todos os tempos. Parabéns.')

Até a próxima :wow:.

vankk.

Compartilhar este post


Link para o post
Majesty    1755
Majesty

Muito obrigado pela sua contribuição, seu tópico de conteúdo foi aprovado!
Nós do OTServ Brasil agradecemos, seu conteúdo com certeza ajudará a muitos outros. 
Você recebeu +1 REP!

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×