Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #define CHAT_STYLE 1000
- #define CHAT_COLOR 1001
- new Text:StickOne;
- new Text:ChatBackground[MAX_PLAYERS];
- new Text:StickTwo;
- enum params{
- Color,
- bool:SticksShow,
- bool:BGShow,
- R,
- G,
- B,
- A,
- Step,
- };
- new ChatSettings[MAX_PLAYERS][params];
- public OnPlayerConnect(playerid) {
- ChatSettings[playerid][Color]=RGBToHex(0,0,0,125);
- CreateChat(playerid);
- return 1;}
- public OnFilterScriptExit(){
- for(new i=0; i < MAX_PLAYERS;i++)
- if(IsPlayerConnected(i)&&!IsPlayerNPC(i))
- DestroyChat(i);
- TextDrawDestroy(StickOne);
- TextDrawDestroy(StickTwo);
- return 1;}
- public OnFilterScriptInit(){
- StickOne = TextDrawCreate(7.000000, 0.000000, "-");
- TextDrawBackgroundColor(StickOne, 255);
- TextDrawFont(StickOne, 1);
- TextDrawLetterSize(StickOne, 27.170000, 0.299998);
- TextDrawColor(StickOne, -1);
- TextDrawSetOutline(StickOne, 0);
- TextDrawSetProportional(StickOne, 1);
- TextDrawSetShadow(StickOne, 1);
- StickTwo = TextDrawCreate(7.000000, 80.000000, "-");
- TextDrawBackgroundColor(StickTwo, 255);
- TextDrawFont(StickTwo, 1);
- TextDrawLetterSize(StickTwo, 27.170068, 0.299998);
- TextDrawColor(StickTwo, -1);
- TextDrawSetOutline(StickTwo, 0);
- TextDrawSetProportional(StickTwo, 1);
- TextDrawSetShadow(StickTwo, 1);
- for(new i=0; i < MAX_PLAYERS;i++)
- if(IsPlayerConnected(i)&&!IsPlayerNPC(i)){
- ChatSettings[i][Color]=RGBToHex(0,0,0,125);
- CreateChat(i);}
- return 1;}
- stock RGBToHex(red, green, blue, alpha)
- return (red * 16777216) + (green * 65536) + (blue * 256) + alpha;
- stock CreateChat(playerid){
- ChatSettings[playerid][Step]=0;
- ChatSettings[playerid][SticksShow]=true;
- ChatSettings[playerid][BGShow]=true;
- ChatBackground[playerid] = TextDrawCreate(385.000000, 6.000000, "_");
- TextDrawBackgroundColor(ChatBackground[playerid], 255);
- TextDrawFont(ChatBackground[playerid], 1);
- TextDrawLetterSize(ChatBackground[playerid], 0.559999, 7.999999);
- TextDrawColor(ChatBackground[playerid], -16776961);
- TextDrawSetOutline(ChatBackground[playerid], 0);
- TextDrawSetProportional(ChatBackground[playerid], 1);
- TextDrawSetShadow(ChatBackground[playerid], 1);
- TextDrawUseBox(ChatBackground[playerid], 1);
- TextDrawBoxColor(ChatBackground[playerid], ChatSettings[playerid][Color]);
- TextDrawTextSize(ChatBackground[playerid], 18.000000, -2.000000);
- TextDrawShowForPlayer(playerid, StickOne);
- TextDrawShowForPlayer(playerid, StickTwo);
- TextDrawShowForPlayer(playerid, ChatBackground[playerid]);
- return 1;}
- stock DestroyChat(playerid)
- return TextDrawDestroy(ChatBackground[playerid]);
- public OnPlayerCommandText(playerid, cmdtext[]){
- if(!strcmp(cmdtext, "/chat")){
- ShowPlayerDialog(playerid, CHAT_STYLE, DIALOG_STYLE_LIST, "Chat Settings", "Sticks\nBackground\nColor", "OK", "Cancel");
- return 1;}
- return 0;}
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){
- if(dialogid==CHAT_COLOR&&response){
- ChatSettings[playerid][Step]++;
- switch(ChatSettings[playerid][Step]){
- case 1:{
- if(strval(inputtext)>=0&&strval(inputtext)<=255) ChatSettings[playerid][R]=strval(inputtext);
- else if(strval(inputtext)>0) ChatSettings[playerid][R]=255;
- else if(strval(inputtext)<0) ChatSettings[playerid][R]=0;
- ShowPlayerDialog(playerid, CHAT_COLOR, DIALOG_STYLE_INPUT, "Öâåò", "Ââåäèòå êîëè÷åñòâî çåë¸íîãî öâåòà [0..255]", "Äàëüøå", "Îòìåíà");}
- case 2:{
- if(strval(inputtext)>=0&&strval(inputtext)<=255) ChatSettings[playerid][G]=strval(inputtext);
- else if(strval(inputtext)>0) ChatSettings[playerid][G]=255;
- else if(strval(inputtext)<0) ChatSettings[playerid][G]=0;
- ShowPlayerDialog(playerid, CHAT_COLOR, DIALOG_STYLE_INPUT, "Öâåò", "Ââåäèòå êîëè÷åñòâî ñèíåãî öâåòà [0..255]", "Äàëüøå", "Îòìåíà");}
- case 3:{
- if(strval(inputtext)>=0&&strval(inputtext)<=255) ChatSettings[playerid][B]=strval(inputtext);
- else if(strval(inputtext)>0) ChatSettings[playerid][B]=255;
- else if(strval(inputtext)<0) ChatSettings[playerid][B]=0;
- ShowPlayerDialog(playerid, CHAT_COLOR, DIALOG_STYLE_INPUT, "Öâåò", "Ââåäèòå êîëè÷åñòâî àëüôà-êàíàëà [0..255]", "Äàëüøå", "Îòìåíà");}
- case 4:{
- ChatSettings[playerid][Step]=0;
- if(strval(inputtext)>=0&&strval(inputtext)<=255) ChatSettings[playerid][A]=strval(inputtext);
- else if(strval(inputtext)>0) ChatSettings[playerid][A]=255;
- else if(strval(inputtext)<0) ChatSettings[playerid][A]=0;
- ChatSettings[playerid][Color]=RGBToHex(ChatSettings[playerid][R],ChatSettings[playerid][G],ChatSettings[playerid][B],ChatSettings[playerid][A]);
- DestroyChat(playerid);
- CreateChat(playerid);
- }}}
- if(dialogid==CHAT_STYLE&&response)
- switch(listitem){
- case 0:
- if(ChatSettings[playerid][SticksShow]){
- TextDrawHideForPlayer(playerid, StickOne);
- TextDrawHideForPlayer(playerid, StickTwo);
- ChatSettings[playerid][SticksShow]=false;
- }else{
- TextDrawShowForPlayer(playerid, StickOne);
- TextDrawShowForPlayer(playerid, StickTwo);
- ChatSettings[playerid][SticksShow]=true;}
- case 1:
- if(ChatSettings[playerid][BGShow]){
- TextDrawHideForPlayer(playerid, ChatBackground[playerid]);
- ChatSettings[playerid][BGShow]=false;
- }else{
- TextDrawShowForPlayer(playerid, ChatBackground[playerid]);
- ChatSettings[playerid][BGShow]=true;}
- case 2:{
- ChatSettings[playerid][Step]=0;
- ShowPlayerDialog(playerid, CHAT_COLOR, DIALOG_STYLE_INPUT, "Öâåò", "Ââåäèòå êîëè÷åñòâî êðàñíîãî öâåòà [0..255]", "Äàëüøå", "Îòìåíà");}}
- return 1;}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement