Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #if defined _clientmsg_included
- #endinput
- #endif
- //===== CONFIGURATION =====//
- #define PTXT_FORMSD "%s(%d): %s" //The format of the player's text. "NAME[playerid] (%s) for name, playerid (%d) for ID, text (%s) for TEXT.
- #define PTXT_FORMVL NAME[playerid], playerid, text //For the format function...
- #define PTXT_USE true //Use the chat function (recommended to keep on 'true')
- #define PTXT_CPT 0 //0: Use the SendClientMessageToAll (using PTXT_FORMAT), 1: The SendPlayerMessageToAll
- #define PTXT_PTID true //If PTXT_CPT is 1, and this on true, the SendPlayerMessageToAll will be called with the player's ID in the text
- #include <a_samp>
- new bool:pCSCM[MAX_PLAYERS], NAME[MAX_PLAYERS][MAX_PLAYER_NAME];
- forward _CSCM_OnPlayerConnect(playerid);
- forward _CSCM_OnPlayerText(playerid, text[]);
- public OnPlayerConnect(playerid)
- {
- pCSCM[playerid] = true;
- GetPlayerName(playerid, NAME[playerid], MAX_PLAYER_NAME);
- return 1;
- }
- #if defined _ALS_OnPlayerConnect
- #undef OnPlayerConnect
- #else
- #define _ALS_OnPlayerConnect
- #endif
- #define OnPlayerConnect _CSCM_OnPlayerConnect
- public OnPlayerText(playerid, text[])
- {
- new str[128];
- #if PTXT_USE
- #if PTXT_CPT == 0
- format(str, 128, PTXT_FORMSD, PTXT_FORMVL);
- KCSCMSendClientMessageToAll(0xFFFFFFAA, str);
- #else
- #if PTXT_PTID == true
- format(str, 128, "(%d): %s", playerid, text);
- KCSCMSendPlayerMessageToAll(playerid, str);
- #else
- #pragma unused str
- KCSCMSendPlayerMessageToAll(playerid, text);
- #endif
- #endif
- #endif
- return 0;
- }
- #if defined _ALS_OnPlayerText
- #undef OnPlayerText
- #else
- #define _ALS_OnPlayerText
- #endif
- #define OnPlayerText _CSCM_OnPlayerText
- stock ClientMessagesOn(playerid)
- pCSCM[playerid] = true;
- stock ClientMessagesOff(playerid)
- pCSCM[playerid] = false;
- stock AllClientMessagesOn()
- for(new i = 0; i < MAX_PLAYERS; i++)
- pCSM[i] = true;
- stock AllClientMessagesOff()
- for(new i = 0; i < MAX_PLAYERS; i++)
- pCSM[i] = false;
- stock ClientMessagesOffFor({_}:...)
- {
- new count = numargs(), playerid;
- for(new i = 0; i < count; i++){
- playerid = getarg(playerid);
- pCSCM[playerid] = false;
- }
- return 1;
- }
- stock ClientMessagesOnFor({_}:...)
- {
- new count = numargs(), playerid;
- for(new i = 0; i < count; i++){
- playerid = getarg(playerid);
- pCSCM[playerid] = true;
- }
- return 1;
- }
- stock KCSCMSendClientMessage(playerid, color, const message[])
- if(pCSCM[playerid])
- SendClientMessage(playerid, color, message);
- #define SendClientMessage KCSCMSendClientMessage
- stock KCSCMSendClientMessageToAll(color, const message[])
- for(new i = 0; i < MAX_PLAYERS; i++)
- if(pCSCM[i])
- SendClientMessage(i, color, message);
- #define SendClientMessageToAll KCSCMSendClientMessageToAll
- stock KCSCMSendPlayerMessageToPlayer(playerid, senderid, const message[])
- if(pCSCM[playerid])
- SendPlayerMessageToPlayer(playerid, senderid, message);
- #define SendPlayerMessageToPlayer KCSCMSendPlayerMessageToPlayer
- stock KCSCMSendPlayerMessageToAll(senderid, const message[])
- for(new i = 0; i < MAX_PLAYERS; i++)
- if(pCSCM[i])
- SendPlayerMessageToPlayer(i, senderid, message);
- #define SendPlayerMessageToAll KCSCMSendPlayerMessageToPlayer
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement