SANNETWORK.pwn 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. CMD:news(playerid, params[])
  2. {
  3. if(!Logged{playerid}) return true;
  4. if(Faction[playerid] != FACTION_NEWS) return SysMsg(playerid,"Você deve ser membro da News Corp.");
  5. if(Duty[playerid] == 0) return SysMsg(playerid,"Você deve estar de serviço para usar isso.");
  6. if(FactionRank[playerid] < 2) return SysMsg(playerid,"Você deve ser pelo menos o ranking 2 to use this.");
  7. if(isnull(params)) return SysMsg(playerid,"Use: /news [mensagem]");
  8. NewsToggle{playerid} = true;
  9. foreach(new i: Player)
  10. {
  11. if(Logged{i} && NewsToggle{i})
  12. {
  13. SendSplitMessageF(i, COLOR_PINK, "[NEWS] %s %s: %s", GetFactionRankName(Faction[playerid], FactionRank[playerid]), NameEx(playerid), params);
  14. }
  15. }
  16. return true;
  17. }
  18. CMD:checkweather(playerid, params[])
  19. {
  20. if(!Logged{playerid}) return true;
  21. if(Faction[playerid] != FACTION_NEWS) return SysMsg(playerid,"Você deve ser membro da News Corp.");
  22. if(Duty[playerid] == 0) return SysMsg(playerid,"Você deve estar de serviço para usar isso.");
  23. SendClientMessageF(playerid, COLOR_WHITE, "[Previão do tempo] Atual: %s, Esperado: %s", GetWeatherName(gServerWeather), GetWeatherName(gServerUpcomingWeather));
  24. return true;
  25. }
  26. CMD:interview(playerid, params[])
  27. {
  28. if(!Logged{playerid}) return true;
  29. if(Faction[playerid] != FACTION_NEWS) return SysMsg(playerid,"Você deve ser membro da News Corp.");
  30. if(FactionRank[playerid] < 2) return SysMsg(playerid,"Você deve ser pelo menos o ranking 2 para usar isso.");
  31. if(Duty[playerid] == 0) return SysMsg(playerid,"Você deve estar de serviço para usar isso.");
  32. if(Interviewer != -1) return SysMsg(playerid,"Já existe uma entrevista.");
  33. new playa = -1, showname[20];
  34. if(sscanf(params, "us[20]", playa, showname)) return SysMsg(playerid,"Use: /entrevista [player id ou nome] [mostrar nome]");
  35. if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
  36. if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
  37. if(playa == playerid) return SysMsg(playerid,"Você não pode entrevistar-se.");
  38. InterviewPlayer = playa;
  39. Interviewer = playerid;
  40. format(InterviewName, 20, showname);
  41. SendClientMessageF(InterviewPlayer, COLOR_WHITE, "%s começou uma entrevista com você. Use '/ichat' para entrar no ar!", NameEx(Interviewer));
  42. SendClientMessageF(Interviewer, COLOR_WHITE, "Você começou uma entrevista com %s. Use '/ichat' para conversar durante uma entrevista!", NameEx(InterviewPlayer));
  43. return true;
  44. }
  45. CMD:ichat(playerid, params[])
  46. {
  47. if(!Logged{playerid}) return true;
  48. if(InterviewPlayer != playerid && Interviewer != playerid) return SysMsg(playerid,"Você não está em uma entrevista.");
  49. if(isnull(params)) return SysMsg(playerid,"Use: /ichat [mensagem]");
  50. NewsToggle{playerid} = true;
  51. if(InterviewPlayer == playerid)
  52. {
  53. foreach(new i: Player)
  54. {
  55. if(Logged{i} && NewsToggle{i})
  56. {
  57. SendSplitMessageF(i, COLOR_PINK, "[ENTREVISTA DE NOTÍCIAS] %s %s: %s", InterviewName, NameEx(playerid), params);
  58. }
  59. }
  60. }
  61. else if(Interviewer == playerid)
  62. {
  63. foreach(new i: Player)
  64. {
  65. if(Logged{i} && NewsToggle{i})
  66. {
  67. SendSplitMessageF(i, COLOR_PINK, "[ENTREVISTA DE NOTÍCIAS] Hospedeiro %s: %s", NameEx(playerid), params);
  68. }
  69. }
  70. }
  71. return true;
  72. }
  73. CMD:endinterview(playerid, params[])
  74. {
  75. if(!Logged{playerid}) return true;
  76. if(Faction[playerid] != FACTION_NEWS) return SysMsg(playerid,"Você deve ser membro da News Corp.");
  77. if(FactionRank[playerid] < 2) return SysMsg(playerid,"Você deve ser pelo menos o ranking 2 to use this.");
  78. if(Duty[playerid] == 0) return SysMsg(playerid,"Você deve estar de serviço para usar isso.");
  79. if(Interviewer == -1) return SysMsg(playerid,"Não há entrevista.");
  80. if(Interviewer != playerid) return SysMsg(playerid,"Você não é o anfitrião da entrevista.");
  81. format(gstr, sizeof(gstr),"A entrevista foi encerrada por %s.", NameEx(Interviewer));
  82. SendClientMessage(InterviewPlayer,COLOR_WHITE,gstr);
  83. format(gstr, sizeof(gstr),"Você encerrou a entrevista com %s.", NameEx(InterviewPlayer));
  84. SendClientMessage(Interviewer,COLOR_WHITE,gstr);
  85. InterviewPlayer = -1;
  86. Interviewer = -1;
  87. InterviewName[0] = 0;
  88. return true;
  89. }
  90. CMD:starttalkshow(playerid)
  91. {
  92. if(!Logged{playerid}) return true;
  93. if(Faction[playerid] != FACTION_NEWS) return SysMsg(playerid,"Você deve ser membro da News Corp.");
  94. if(FactionRank[playerid] < 2) return SysMsg(playerid,"Você deve ser pelo menos o ranking 2 to use this.");
  95. if(Duty[playerid] == 0) return SysMsg(playerid,"Você deve estar de serviço para usar isso.");
  96. if(TalkshowHost != -1) return SysMsg(playerid,"Já existe um programa de entrevistas ao vivo.");
  97. TalkshowHost = playerid;
  98. SendClientMessage(TalkshowHost, COLOR_WHITE, "Você iniciou um programa de entrevistas. Use /tchat para falar no ar!");
  99. foreach(new i: Player) if(Logged{i} && Faction[i] == FACTION_NEWS && i != playerid) SendClientMessageF(i, COLOR_PINK, "[TALKSHOW ALERTA] %s começou um programa de entrevistas.", NameEx(playerid));
  100. return true;
  101. }
  102. CMD:endtalkshow(playerid)
  103. {
  104. if(!Logged{playerid}) return true;
  105. if(Faction[playerid] != FACTION_NEWS) return SysMsg(playerid,"Você deve ser membro da News Corp.");
  106. if(FactionRank[playerid] < 2) return SysMsg(playerid,"Você deve ser pelo menos o ranking 2 to use this.");
  107. if(Duty[playerid] == 0) return SysMsg(playerid,"Você deve estar de serviço para usar isso.");
  108. if(TalkshowHost == -1) return SysMsg(playerid, "Não há talk shows ao vivo no momento.");
  109. TalkshowHost = -1;
  110. TalkshowPlayer = -1;
  111. for(new x = 0; x < sizeof(TalkshowCallers); x++) TalkshowCallers[x] = -1;
  112. SendClientMessage(playerid, COLOR_PINK, "Você encerrou o programa de entrevistas.");
  113. foreach(new i: Player) if(Logged{i} && Faction[i] == FACTION_NEWS && i != playerid) SendClientMessageF(i, COLOR_PINK, "[TALKSHOW ALERTA] %s terminou seu programa de entrevistas.", NameEx(playerid));
  114. return true;
  115. }
  116. CMD:callers(playerid)
  117. {
  118. if(!Logged{playerid}) return true;
  119. if(Faction[playerid] != FACTION_NEWS) return SysMsg(playerid,"Você deve ser membro da News Corp.");
  120. if(FactionRank[playerid] < 2) return SysMsg(playerid,"Você deve ser pelo menos o ranking 2 to use this.");
  121. if(Duty[playerid] == 0) return SysMsg(playerid,"Você deve estar de serviço para usar isso.");
  122. if(TalkshowHost == -1) return SysMsg(playerid, "Não há talk shows ao vivo no momento.");
  123. new playa, callers = 0;
  124. for(new x = 0; x < sizeof(TalkshowCallers); x++)
  125. {
  126. if(TalkshowCallers[x] != -1)
  127. {
  128. playa = TalkshowCallers[x];
  129. callers ++;
  130. SendClientMessageF(playerid, COLOR_PINK, "Chamador %i: %s [PN: %i]", callers, PhoneData[playa][pOwnerName], PhoneData[playa][pNumber]);
  131. }
  132. }
  133. return true;
  134. }
  135. CMD:aceitarchamado(playerid, params[])
  136. {
  137. if(!Logged{playerid}) return true;
  138. if(Faction[playerid] != FACTION_NEWS) return SysMsg(playerid,"Você deve ser membro da News Corp.");
  139. if(FactionRank[playerid] < 2) return SysMsg(playerid,"Você deve ser pelo menos o ranking 2 to use this.");
  140. if(Duty[playerid] == 0) return SysMsg(playerid,"Você deve estar de serviço para usar isso.");
  141. if(TalkshowHost == -1) return SysMsg(playerid, "Não há talk shows ao vivo no momento.");
  142. new callernumber;
  143. if(sscanf(params, "i", callernumber)) return SysMsg(playerid, "Use: /aceitarchamado [Chamador do ID /chamarers]");
  144. if(callernumber < 0 && callernumber > sizeof(TalkshowCallers)) return SysMsgF(playerid, "Chamador ID deve ser maior que 0 e menos de %i", sizeof(TalkshowCallers));
  145. if(TalkshowCallers[callernumber - 1] == -1) return SendClientMessageF(playerid, COLOR_PINK, "Não há ninguém na linha %i", callernumber + 1);
  146. TalkshowPlayer = TalkshowCallers[callernumber - 1];
  147. SendClientMessageF(TalkshowPlayer, COLOR_PINK, "Você está agora ao vivo em um talk show com %s. Use /tchat para falar.", NameEx(playerid));
  148. SendClientMessageF(playerid, COLOR_PINK, "%s agora está em live no talk show.", NameEx(TalkshowPlayer));
  149. return true;
  150. }
  151. CMD:finalizarchamada(playerid)
  152. {
  153. if(!Logged{playerid}) return true;
  154. if(Faction[playerid] != FACTION_NEWS) return SysMsg(playerid,"Você deve ser membro da News Corp.");
  155. if(FactionRank[playerid] < 2) return SysMsg(playerid,"Você deve ser pelo menos o ranking 2 to use this.");
  156. if(Duty[playerid] == 0) return SysMsg(playerid,"Você deve estar de serviço para usar isso.");
  157. if(TalkshowHost == -1) return SysMsg(playerid, "Não há talk shows ao vivo no momento.");
  158. if(TalkshowPlayer == -1) return SysMsg(playerid, "Atualmente, você não está em uma chamada com alguém.");
  159. SendClientMessage(TalkshowPlayer, COLOR_PINK, "Sua conexão com SAN foi fechada.");
  160. SendClientMessageF(TalkshowHost, COLOR_PINK, "Você encerrou a chamada com %s", NameEx(TalkshowPlayer));
  161. TalkshowPlayer = -1;
  162. return true;
  163. }
  164. CMD:denycaller(playerid, params[])
  165. {
  166. if(!Logged{playerid}) return true;
  167. if(Faction[playerid] != FACTION_NEWS) return SysMsg(playerid,"Você deve ser membro da News Corp.");
  168. if(FactionRank[playerid] < 2) return SysMsg(playerid,"Você deve ser pelo menos o ranking 2 to use this.");
  169. if(Duty[playerid] == 0) return SysMsg(playerid,"Você deve estar de serviço para usar isso.");
  170. if(TalkshowHost == -1) return SysMsg(playerid, "Não há shows de entrevistas ao vivo no momento.");
  171. new callernumber;
  172. if(sscanf(params, "i", callernumber)) return SysMsg(playerid, "Use: /aceitarchamado [Chamador do ID /chamarers]");
  173. if(callernumber < 0 && callernumber > sizeof(TalkshowCallers)) return SysMsgF(playerid, "Chamador ID deve ser maior que 0 e menos de %i", sizeof(TalkshowCallers));
  174. if(TalkshowCallers[callernumber - 1] == -1) return SendClientMessageF(playerid, COLOR_PINK, "Não há ninguém online %i", callernumber + 1);
  175. SendClientMessageF(playerid, COLOR_PINK, "Você negou a chamada de %s.", NameEx(TalkshowCallers[callernumber - 1]));
  176. TalkshowCallers[callernumber - 1] = -1;
  177. return true;
  178. }
  179. CMD:toglines(playerid)
  180. {
  181. if(!Logged{playerid}) return true;
  182. if(Faction[playerid] != FACTION_NEWS) return SysMsg(playerid,"Você deve ser membro da News Corp.");
  183. if(FactionRank[playerid] < 2) return SysMsg(playerid,"Você deve ser pelo menos o ranking 2 to use this.");
  184. if(Duty[playerid] == 0) return SysMsg(playerid,"Você deve estar de serviço para usar isso.");
  185. if(TalkshowHost == -1) return SysMsg(playerid, "Não há talk shows ao vivo no momento.");
  186. SANCallers = !SANCallers;
  187. if(SANCallers) SendClientMessage(playerid, COLOR_PINK, "Você abriu as linhas de chamadas da SAN.");
  188. else SendClientMessage(playerid, COLOR_PINK, "Você fechou as linhas de chamadas da SAN.");
  189. return true;
  190. }
  191. CMD:tchat(playerid, params[])
  192. {
  193. if(!Logged{playerid}) return true;
  194. if(TalkshowPlayer != playerid && TalkshowHost != playerid) return SysMsg(playerid, "Você não está em um programa de entrevistas.");
  195. if(isnull(params)) return SysMsg(playerid, "Use: /tchat [mensagem]");
  196. NewsToggle{playerid} = true;
  197. foreach(new i: Player)
  198. {
  199. if(Logged{i} && NewsToggle{i})
  200. {
  201. if(TalkshowHost == playerid) SendSplitMessageF(i, COLOR_PINK, "[TALK SHOW] Hospedeiro %s: %s", NameEx(playerid), params);
  202. else if(TalkshowPlayer == playerid) SendSplitMessageF(i, COLOR_PINK, "[TALK SHOW] Chamador %s: %s", NameEx(playerid), params);
  203. }
  204. }
  205. return true;
  206. }