Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* SA-MP Chat lights colors and flexible formatting
- *
- * (c) Copyright 2014 by mrdrifter
- *
- * (1.2)
- *
- */
- #if defined _msg_included
- #endinput
- #endif
- #define _msg_included
- #define MSG_MAX_BUFFERSTR 1024 //splitf 2048?
- stock msg_Messger[MSG_MAX_BUFFERSTR];
- stock msg_SendClientMessageEx(playerid, color, text[])
- {
- //printf("elo %s", text);
- if(strlen(text) > 144)
- {
- new msg_string3[145];
- strmid(msg_string3, text, 0, 140);
- strins(msg_string3, "...", 0);
- strdel(text, 0, 140);
- SendClientMessage(playerid, color, msg_string3);
- return SendClientMessage(playerid, color, text);
- }
- else
- return SendClientMessage(playerid, color, text);
- }
- /*
- stock msg_SendClientMessage(playerid, colour, const fmat[], va_args<>)
- {
- return msg_SendClientMessageEx(playerid, colour, va_returnex(colour, fmat, va_start<3>));
- }
- */
- #if defined _ALS_SendClientMessage
- #undef SendClientMessage
- #else
- #define _ALS_SendClientMessage
- #endif
- #define SendClientMessage(%0,%1,%2) (format(msg_Messger,sizeof(msg_Messger),%2),msg_return(%1,msg_Messger),msg_SendClientMessageEx(%0,%1,msg_Messger))
- stock msg_SendClientMessageToAllEx(color, text[])
- {
- if(strlen(text) > 144)
- {
- new msg_string3[145];
- strmid(msg_string3, text, 0, 140);
- strins(msg_string3, "...", 140);
- strdel(text, 0, 140);
- SendClientMessageToAll(color, msg_string3);
- return SendClientMessageToAll(color, text);
- }
- else
- return SendClientMessageToAll(color, text);
- }
- /*
- stock msg_SendClientMessageToAll(colour, const fmat[], va_args<>)
- {
- return msg_SendClientMessageToAllEx(colour, va_returnex(colour, fmat, va_start<2>));
- }*/
- #if defined _ALS_SendClientMessageToAll
- #undef SendClientMessageToAll
- #else
- #define _ALS_SendClientMessageToAll
- #endif
- #define SendClientMessageToAll(%1,%2) (format(msg_Messger,sizeof(msg_Messger),%2),msg_return(%1,msg_Messger),msg_SendClientMessageToAllEx(%1,msg_Messger))
- #define splitf(%0) (format(msg_Messger,sizeof(msg_Messger),%0),msg_return(0xA9C4E400,msg_Messger),msg_Messger)
- #define m_query(%0) (format(msg_Messger,sizeof(msg_Messger),%0),mysql_query(msg_Messger))
- #define va_returnex(%0,%1) (format(msg_Messger,sizeof(msg_Messger),%1),msg_return(%0,msg_Messger),msg_Messger)
- stock msg_return(color,fmat[], size = sizeof(fmat))
- {
- static
- out[MSG_MAX_BUFFERSTR],
- cdata[1],
- colors[2][9];
- format(out,sizeof(out),fmat);
- cdata[0] = color;
- cdata{0} = floatround(float(cdata{0}) - (float(cdata{0}) * 0.3));
- cdata{1} = floatround(float(cdata{1}) - (float(cdata{1}) * 0.3));
- cdata{2} = floatround(float(cdata{2}) - (float(cdata{2}) * 0.3));
- format(colors[0], 9, "{%06x}", color >>> 8);
- format(colors[1], 9, "{%06x}", (cdata[0]) >>> 8);
- cdata[0] = strfind(out, "{b}", true);
- while (cdata[0] != -1)
- {
- strdel(out, cdata[0], cdata[0] + 3);
- strins(out, colors[1], cdata[0], size);
- cdata[0] = strfind(out, "{b}", true);
- }
- cdata[0] = strfind(out, "{/b}", true);
- while (cdata[0] != -1)
- {
- strdel(out, cdata[0], cdata[0] + 4);
- strins(out, colors[0], cdata[0], size);
- cdata[0] = strfind(out, "{/b}", true);
- }
- format(fmat,size,out);
- return out;
- }
- stock msg_granient(color, fmat[], bitid = 1)
- {
- static
- out[MSG_MAX_BUFFERSTR],
- colors[9];
- format(out,sizeof(out),"%s",fmat);
- new
- cdata[1],
- pos,
- bool:plusplus = true;
- cdata[0] = color;
- // cdata{bitid} = 0;
- pos = strfind(out, "|", true);
- while (pos != -1)
- {
- format(colors, 9, "{%06x}", (cdata[0]) >>> 8);
- strdel(out, pos, pos + 1);
- strins(out, " ", pos);
- strins(out, colors, pos);
- if((cdata{bitid})+30 > 255 && plusplus)
- plusplus = false;
- else if((cdata{bitid})-30 < 30 && !plusplus)
- plusplus = true;
- if(plusplus)
- cdata{bitid} += 30;
- else
- cdata{bitid} -= 30;
- pos = strfind(out, "|", true, pos);
- }
- return out;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement