Advertisement
szymski

Untitled

Apr 28th, 2016
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.05 KB | None | 0 0
  1. /*----------------------------
  2. SLib Messages
  3. Functions:
  4. SLib.Messages.Send(ply, ...) - Sends a message with colors, if first parameter is true, prints to the chat, otherwise - only to the console
  5. SLib.Messages.SendToAll(...)
  6. ------------------------------*/
  7.  
  8. /*----------------------------
  9. Messages to clients
  10. ------------------------------*/
  11.  
  12. if(SERVER) {
  13.  
  14. util.AddNetworkString("slib_msg");
  15.  
  16. function SLib.Messages.Send(ply, ...) {
  17. var lst = { };
  18.  
  19. foreach(var v in { ... }) {
  20. if(v is table)
  21. lst[#lst + 1] = { v.r, v.g, v.b };
  22. else
  23. lst[#lst + 1] = v;
  24. }
  25.  
  26. net.Start("slib_msg");
  27. net.WriteTable(lst);
  28. net.Send(ply);
  29. }
  30.  
  31. function SLib.Messages.SendToAll(...) {
  32. var lst = { };
  33.  
  34. foreach(var v in { ... }) {
  35. if(v is table)
  36. lst[#lst + 1] = { v.r, v.g, v.b };
  37. else
  38. lst[#lst + 1] = v;
  39. }
  40.  
  41. net.Start("slib_msg");
  42. net.WriteTable(lst);
  43. net.Broadcast();
  44. }
  45.  
  46. }
  47.  
  48. if(CLIENT) {
  49.  
  50. net.Receive("slib_msg", function() {
  51. var lst = net.ReadTable();
  52. var toPrint = { };
  53. var printToChat = false;
  54.  
  55. if(isbool(lst[1])) {
  56. printToChat = lst[1];
  57. }
  58.  
  59. foreach(var v in lst) {
  60. if(!isbool(v)) {
  61. if(v is table)
  62. toPrint[#toPrint + 1] = Color(v[1], v[2], v[3]);
  63. else
  64. toPrint[#toPrint + 1] = v;
  65. }
  66. }
  67.  
  68. if(printToChat)
  69. chat.AddText(unpack(toPrint));
  70. else
  71. MsgC(unpack(toPrint), "\n");
  72. });
  73.  
  74. }
  75.  
  76. /*----------------------------
  77. Testing
  78. ------------------------------*/
  79.  
  80. #if DEBUG
  81.  
  82. if(SERVER) {
  83. SLib.Messages.SendToAll(true, Color(255, 0, 255), "Colorful ", Color(0, 255, 0), "Message");
  84. }
  85.  
  86. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement