Advertisement
Oxxy

Untitled

May 28th, 2015
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.06 KB | None | 0 0
  1. /*
  2. Broadcaster script (C) XXRO 2015
  3. */
  4. celestiaj,60,68,5 script Broadcaster 935,{
  5. if(getgroupid() >= .gmlevel) {
  6. if(getgroupid() < .gmlevel) end;
  7. while(1) {
  8. mes .npc$;
  9. mes "Чем я могу Вам помочь?";
  10. switch(select("Вкл./Выкл. отправление сообщений:Включить/Выключить логирование:Забанить последнего пользователя:Меню игрока")) {
  11.  
  12. case 1:
  13. next;
  14. mes .npc$;
  15. mes "Отправление сообщений "+( (!.enable)?"^FF0000отключено^000000":"^00FF00включено^000000")+".";
  16. mes ""+( (!.log)?"^00FF00Включить^000000":"^FF0000Выключить^000000")+"?";
  17. if(select("Да:Нет")==2) close;
  18. if(!.enable) .enable = 1;
  19. else .enable = 0;
  20. next;
  21. mes .npc$;
  22. mes "Отправление сообщений "+( (!.enable)?"^FF0000отключено^000000":"^00FF00включено^000000")+".";
  23. close;
  24.  
  25. case 2:
  26. next;
  27. mes .npc$;
  28. mes "Логирование сообщений теперь "+( (!.log)?"^FF0000выключено^000000":"^00FF00включено^000000")+".";
  29. mes ""+( (!.log)?"^00FF00Включить^000000":"^FF0000Выключить^000000")+"?";
  30. if(select("Да:Нет")==2) close;
  31. if(!.log) .log = 1;
  32. else .log = 0;
  33. next;
  34. mes .npc$;
  35. mes "Логирование сообщений теперь "+( (!.log)?"^FF0000выключено^000000":"^00FF00включено^000000")+".";
  36. close;
  37.  
  38. case 3:
  39. next;
  40. mes .npc$;
  41. mes "Последний игрок, использовавший меня: ^FF0000"+.lastname$+"^000000.";
  42. next;
  43. mes .npc$;
  44. mes "Забанить этого игрока?";
  45. if(select("Да:Нет")==2) close;
  46. atcommand "@ban 15n " + .lastname$;
  47. announce "[Диктор]: Игрок ["+.lastname$+"] был забанен за нецелесообразное пользование моими услугами.",0;
  48. next;
  49. mes .npc$;
  50. mes "Игрок забанен.";
  51. next;
  52. continue;
  53.  
  54. case 4:
  55. next;
  56. break;
  57. }
  58.  
  59. break;
  60. }
  61.  
  62. }
  63.  
  64. if(.enable == 0){
  65. mes .npc$;
  66. mes "Извините, этот НПЦ выключен на данный момент.";
  67. next;
  68. mes .npc$;
  69. mes "Пожалуйста, напишите об этом администрации или задавайте вопрос через ^0000FF@faq^000000";
  70. close;
  71. }
  72.  
  73. if((agitcheck() == 1) || (agitcheck2() == 1)) {
  74. mes .npc$;
  75. mes "Извините, Вы не можете отправлять сообщения пока идёт ^0000FFWoE^000000.";
  76. close;
  77. }
  78.  
  79. if(BD > gettimetick(2)) {
  80. mes .npc$;
  81. mes "Вы должны подождать ^FF0000180^000000 секунд, преждем чем отправлять еще одно сообщение.";
  82. close;
  83. }
  84.  
  85. if (BaseLevel < .checklevel) {
  86. mes .npc$;
  87. mes "Вы должны быть не менее ^0000FF"+.checklevel+"^000000 уровня чтобы пользоваться моими услугами.";
  88. close;
  89. }
  90.  
  91. mes .npc$;
  92. mes "Здраствуйте, "+strcharinfo(0)+"! Я могу отправлять сообщения на весь сервер.";
  93. if(.warning) {
  94. mes .npc$;
  95. mes "Прежде чем начать...";
  96. next;
  97. mes .npc$;
  98. mes "Используя меня вы автоматически соглашаетесь со всеми правилами сервера.";
  99. next;
  100. if (.log) {
  101. mes .npc$;
  102. mes "Также, ваше имя и сообщение ^FF0000логируются^000000.";
  103. next;
  104. }
  105. mes .npc$;
  106. mes "Вы согласны?";
  107. if(select("Да:Нет")==2) close;
  108. }
  109.  
  110. while(1){
  111. next;
  112. mes .npc$;
  113. mes "Мне нужно взять с Вас определённую плату за пользование моими услугами";
  114. mes "Чем Вы хотите оплатить мои услуги?";
  115. switch(select("> Zeny:> Вещами:")) {
  116.  
  117. case 1:
  118. next;
  119. if(.limitation != 1 && .limitation != 0 ) {
  120. mes .npc$;
  121. mes "Вы не можете оплатить мои услуги с помощью Zeny.";
  122. mes "Обратитесь к администрации.";
  123. close;
  124. }
  125. mes .npc$;
  126. mes "Это будет стоить Вам ^FF0000"+.costz+"^000000 Zeny.";
  127. mes "Продолжить?";
  128. if(select("Да:Нет")==2) close;
  129. if (Zeny < .costz) {
  130. next;
  131. mes .npc$;
  132. mes "У Вас не хватает ^FF0000Zeny^000000.";
  133. close;
  134. }
  135. Zeny -= .costz;
  136. break;
  137.  
  138. case 2:
  139. next;
  140. if(.limitation != 4 && .limitation != 0 ) {
  141. mes .npc$;
  142. mes "Вы не можете оплатить мои услуги с помощью Zeny.";
  143. mes "Обратитесь к администрации.";
  144. close;
  145. }
  146. mes .npc$;
  147. mes "Мне понадобится ^0000FF"+.costiamount+"^000000х ^FF0000"+getitemname(.costi)+"^000000.";
  148. mes "Продолжить?";
  149. if(select("Да:Нет")==2) close;
  150. if(countitem(.costi) < .costiamount) {
  151. next;
  152. mes .npc$;
  153. mes "У Вас не хватает ^FF0000"+getitemname(.costi)+"^000000.";
  154. close;
  155. }
  156. delitem .costi,.costiamount;
  157. break;
  158. }
  159.  
  160. break;
  161. }
  162.  
  163. while(1) {
  164. next;
  165. mes .npc$;
  166. mes "Пожалуйста, введите своё сообщение сюда: ";
  167. input .@mes$;
  168. next;
  169. mes .npc$;
  170. mes "Вы уверены, что хотите отправить это сообщение всем?";
  171. mes "^FF0000["+strcharinfo(0)+"]: "+.@mes$+"^000000";
  172. if(select("Да:Нет") == 2) close;
  173. close2;
  174. announce "["+strcharinfo(0)+"]: "+.@mes$,bc_all;
  175. if(.timedelay) BD = gettimetick(2) + 180;
  176. end;
  177. }
  178.  
  179.  
  180. OnInit:
  181. .npc$ = "[^0000FFДиктор^000000]"; // Sets Name Of The NPC: Change The Name In Brackets For A Custom Name
  182. .checklevel = 89; // Players Must Be This Level or Higher In Order To Broadcast
  183. .costz = 50000; // Set's Cost To Use Broadcaster (In Zeny)
  184. .costi = 7539; // Set's The Item To Be Used In Payment For Broadcaster (Item ID # Here)
  185. .costiamount = 25; // Amount of Items Specified By .costi In Order To Use The Broadcaster
  186. .gmlevel = 40; // Minimum GM Level To Reach GM Menu & Use OnWhisperGlobal: Label
  187. .timedelay = 1; // Creates The 3 Minute Delay Between Broadcasts. When set to '0', players are able to broadcast
  188. // If set to '1', the broadcaster thinks it has a delay to go through
  189. .enable = 1; // Check To See If Broadcasting is Enabled. 1 == Enabled || 0 == Disabled (Enabled By Default)
  190. .log = 0; // Enables Logs of Broadcasts, 0 == Disabled, 1 == Enabled (Off By Default)
  191. .limitation = 0; // Limitation Setting for limiting how many payment options are available:
  192. // 0 = all payment options available, 1 = only zeny, 2 = only cash points, 4 = only items
  193. .warning = 0; // if set to '1', displays a General Abuse Message before broasting (Disabled by Default)
  194. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement