Advertisement
SonicK

SChat Room v1.0 - Salas de Bate-papo

Jul 16th, 2012
306
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 4.73 KB | None | 0 0
  1. //=====================[ AGUARDEM NOVAS MELHORIAS! ]============================
  2.  
  3. #include    <       a_samp      >
  4. #include    <       zcmd        >
  5.  
  6. /*
  7. |===============================================|
  8. |   --== SChat Room v1.0 ==--           |
  9. |   --== by SonicK ou SanaleX ==--      |
  10. |         -==  Versão 1.0  ==--                    |
  11. |    - E-Mail/Msn: [email protected] -     |
  12. |===============================================|
  13. */
  14.  
  15. #define COR_BRANCO      0xFFFFFFAA
  16. #define COR_VERDE       0x009700AA
  17. #define COR_CINZA       0xAFAFAFAA
  18. #define COR_VERMELHA            0xFF69B4AA
  19.  
  20. #define /*DIALOG*/ ESCOLHER_SALA    1001
  21.  
  22. new Chat[MAX_PLAYERS];
  23.  
  24. new string[256];
  25.  
  26. #if defined FILTERSCRIPT
  27.  
  28. public OnFilterScriptInit()
  29. {
  30.     return 1;
  31. }
  32.  
  33. public OnFilterScriptExit()
  34. {
  35.     return 1;
  36. }
  37.  
  38. #else
  39.  
  40. main()
  41. {
  42.     print("\n--------------------------------------");
  43.     print("     SChat Room v1.0");
  44.     print("   by SonicK ou SanaleX");
  45.     print("--------------------------------------\n");
  46. }
  47.  
  48. #endif
  49.  
  50. public OnPlayerConnect(playerid)
  51. {
  52.     Chat[playerid] = 0;
  53.     return 1;
  54. }
  55.  
  56. public OnPlayerDisconnect(playerid, reason)
  57. {
  58.     return 1;
  59. }
  60.  
  61. public OnPlayerText(playerid, text[])
  62. {
  63.     if(text[0] == '@' && Chat[playerid] != 0)
  64.     {
  65.         new resto[128];
  66.         strmid(resto,text,1,strlen(text),128);
  67.         MsgSalaChat(playerid,resto);
  68.         return 0;
  69.     }
  70.     return 1;
  71. }
  72.  
  73. CMD:chat(playerid,params[])
  74. {
  75.     ShowPlayerDialog(playerid,ESCOLHER_SALA,DIALOG_STYLE_LIST,"Chat - Escolha uma sala","Amizade\nEncontros\nNamoro\nAdulto(+18)\nGLS\nFutebol\nVariados","Entrar","Cancelar");
  76.     return 1;
  77. }
  78.  
  79. CMD:sairchat(playerid,params[])
  80. {
  81.     if(!Chat[playerid]) return SendClientMessage(playerid,COR_VERMELHA, "[Chat]: Você não está em nenhuma sala.");
  82.     SendClientMessage(playerid,COR_BRANCO,"[Chat]: Você saiu da sala com sucesso!");
  83.     for(new i = 0; i < MAX_PLAYERS; i++)
  84.     {
  85.         if(IsPlayerConnected(i) && Chat[playerid] == Chat[i])
  86.         {
  87.             format(string,sizeof string,"[Chat]: %s saiu da sala!",PlayerName(playerid));
  88.             SendClientMessage(i,COR_CINZA,string);
  89.         }
  90.     }
  91.     Chat[playerid] = 0;
  92.     return 1;
  93. }
  94.  
  95. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  96. {
  97.     if(dialogid == ESCOLHER_SALA)
  98.     {
  99.         if(!response) return 1;
  100.         if(listitem == 0)
  101.         {   // Sala Amizade
  102.             Chat[playerid] = 1;
  103.             SendClientMessage(playerid,COR_BRANCO,"[Chat]: Você entrou na sala {009700}Amizade{FFFFFF}.");
  104.             EntrouSala(playerid);
  105.         }
  106.  
  107.         if(listitem == 1)
  108.         {   // Sala Encontros
  109.             Chat[playerid] = 2;
  110.             SendClientMessage(playerid,COR_BRANCO,"[Chat]: Você entrou na sala {009700}Encontros{FFFFFF}.");
  111.             EntrouSala(playerid);
  112.         }
  113.  
  114.         if(listitem == 2)
  115.         {   // Sala Namoro
  116.             Chat[playerid] = 3;
  117.             SendClientMessage(playerid,COR_BRANCO,"[Chat]: Você entrou na sala {009700}Namoro{FFFFFF}.");
  118.             EntrouSala(playerid);
  119.         }
  120.        
  121.         if(listitem == 3)
  122.         {   // Sala Adulto+18
  123.             Chat[playerid] = 4;
  124.             SendClientMessage(playerid,COR_BRANCO,"[Chat]: Você entrou na sala {009700}Adulto(+18){FFFFFF}.");
  125.             EntrouSala(playerid);
  126.         }
  127.        
  128.         if(listitem == 4)
  129.         {   // Sala GLS
  130.             Chat[playerid] = 5;
  131.             SendClientMessage(playerid,COR_BRANCO,"[Chat]: Você entrou na sala {009700}GLS{FFFFFF}.");
  132.             EntrouSala(playerid);
  133.         }
  134.        
  135.         if(listitem == 5)
  136.         {   // Sala Futebol
  137.             Chat[playerid] = 6;
  138.             SendClientMessage(playerid,COR_BRANCO,"[Chat]: Você entrou na sala {009700}Futebol{FFFFFF}.");
  139.             EntrouSala(playerid);
  140.         }
  141.  
  142.         if(listitem == 6)
  143.         {   // Sala Variados
  144.             Chat[playerid] = 7;
  145.             SendClientMessage(playerid,COR_BRANCO,"[Chat]: Você entrou na sala {009700}Variados{FFFFFF}.");
  146.             EntrouSala(playerid);
  147.         }
  148.     }
  149.     return 1;
  150. }
  151.  
  152. stock PlayerName(playerid)
  153. {
  154.     new name[MAX_PLAYER_NAME];
  155.     GetPlayerName(playerid, name,sizeof name);
  156.     return name;
  157. }
  158.  
  159. stock EntrouSala(playerid)
  160. {
  161.     for(new i = 0; i < MAX_PLAYERS; i++)
  162.     {
  163.         if(IsPlayerConnected(i) && Chat[playerid] == Chat[i])
  164.         {
  165.             format(string,sizeof string,"[Chat]: %s entrou na sala!",PlayerName(playerid));
  166.             SendClientMessage(i,COR_CINZA,string);
  167.         }
  168.     }
  169.     return 1;
  170. }
  171.  
  172. stock MsgSalaChat(playerid,text[])
  173. {
  174.     for(new i = 0; i < MAX_PLAYERS; i++)
  175.     {
  176.         if(IsPlayerConnected(i) && Chat[playerid] == Chat[i])
  177.         {
  178.             format(string,sizeof string,"[Sala Chat]: {FFFFFF}%s {009700}diz {FFFFFF}%s",PlayerName(playerid),text);
  179.             SendClientMessage(i,COR_VERDE,string);
  180.         }
  181.     }
  182.     return 1;
  183. }
  184.  
  185. //========================[ NÃO RETIRE OS CRÉDITOS ]============================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement