20.03.2018, 22:26
(
Последний раз редактировалось F1N4L; 21.03.2018 в 14:11.
Причина: Update 21/03/2018
)
Private Messages System
Por conta de uma solicitaзгo (Pedido) e por eu achar, particularmente, um sistema interessante, fiz esta include para quem quer trabalhar com mensagem privada tanto online quanto offline.Por se tratar de um sistema um tanto quanto simples, decidi entгo optar por salvamento em texto. Porйm nгo foi usado include para isso, pois nгo sгo salvos palavras chaves, mas sim as linhas de mensagem privada apenas.
Vale ressaltar que essa include nгo faz verificaзгo caso o jogador exista ou nгo em seu servidor.
A verificaзгo ocorre somente para a pasta designada no macro PRIVATE_MESSAGE_PATH.
Isso pode ser facilmente adaptado!!!
Atualizado
Agora com suporte а MySQL R-40.Mantкm-se as funзхes iguais, mudando somente o valor do macro FILE_SAVE_MODE.
Configurando:
Код:
// -- Include Config #define FILE_SAVE_MODE 2 // 1 = Txt File | 2 = MySQL // Caso o salvamento seja em arquivos de texto #define PRIVATE_MESSAGE_PATH "Private Messages/%s.pm" // Pasta do sistema (crie a pasta) // Caso o salvamento seja em MySQL #define MYSQL_HOST "127.0.0.1" #define MYSQL_USER "root" #define MYSQL_PASS "" #define MYSQL_DB "samp_db" // -- Include Config І #define MAX_PRIVATE_MESSAGE_LINES (10) // Per file #define MAX_PRIVATE_MESSAGE_LENGHT (100) // Per line // -- Personalized Format #define PRIVATE_MESSAGE_FORMAT "[PM]: %s disse: %s" // [1]-From Player | [2]-Message
Код:
SendPrivateMessageToPlayerName(from_playerid, to_player_name[], message[], bool:case_sensitive) Parвmetros: from_playerid - ID que vai enviar a mensagem (Integer) to_player_name - Nome do receptor da mensagem (String) message - Mensagem que serб enviada (String) bool:case_sensitive - Ativa/desativa distinзгo entre caracteres maiъsculos/minъsculos (para os receptores). Objetivo: Enviar uma mensagem privada atravйs do NOME do jogador.
Код:
SendPrivateMessageToPlayerID(from_playerid, to_playerid, message[]) Parвmetros: from_playerid - ID que vai enviar a mensagem (Integer) to_playerid - ID do receptor da mensagem (Integer) message - Mensagem que serб enviada (String) Objetivo: Enviar uma mensagem privada atravйs do ID do jogador.
Код:
ShowPrivateMessages(player_name[], messages[]) Parвmetros: player_name - Nome do jogador que terб suas informaзхes (mensagens) puxadas (String) messages - Array que armazenarб informaзхes de mensagens e que irб passб-las por referкncia (String) Objetivo: Puxar mensagens privadas atravйs do NOME do jogador.
Код:
RemovePrivateMessageByID(player_name[], line_id) (Nova nomenclatura) Parвmetros: player_name - Nome do jogador (String) line_id - Linha identificadora da mensagem (Integer) Objetivo: Remover uma determinada linha do arquivo que armazena mensagens.
Код:
ClearPrivateMessages(player_name[]) Parвmetros: player_name - Nome do jogador (String) Objetivo: Remover o arquivo que armazena mensagens.
Код:
OnPlayerSendPrivateMessageOn(from_playerid, to_playerid, message[]) Parвmetros: from_playerid - ID que enviou a mensagem (Integer) to_playerid - ID que receberб a mensagem (Integer) message - Mensagem enviada ao jogador (String) Chamada: Quando um jogador envia uma mensagem a outro (Online).
Код:
OnPlayerSendPrivateMessageOff(from_playerid, to_player_name[], message[], error) Parвmetros: from_playerid - ID que enviou a mensagem (Integer) to_player_name - Nome que receberб a mensagem (String) message - Mensagem enviada ao jogador (String) error - PM_ERR_NONE (0) // Sem erro PM_ERR_INVALID_PLAYER_ID (1) // Jogador й invбlido PM_ERR_EXCEEDED_FILE_LINES (2) // O jogador jб possui o nъmero mбximo de linhas, portanto, nгo pode mais receber mensagens. Chamada: Quando um jogador envia uma mensagem a outro (Offline).
Download:
Pastebin
Crйditos finais:
F1N4L
@BlueG pelo MySQL
SA:MP Team