Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Broadcaster script (C) XXRO 2015
- */
- celestiaj,60,68,5 script Broadcaster 935,{
- if(getgroupid() >= .gmlevel) {
- if(getgroupid() < .gmlevel) end;
- while(1) {
- mes .npc$;
- mes "Чем я могу Вам помочь?";
- switch(select("Вкл./Выкл. отправление сообщений:Включить/Выключить логирование:Забанить последнего пользователя:Меню игрока")) {
- case 1:
- next;
- mes .npc$;
- mes "Отправление сообщений "+( (!.enable)?"^FF0000отключено^000000":"^00FF00включено^000000")+".";
- mes ""+( (!.log)?"^00FF00Включить^000000":"^FF0000Выключить^000000")+"?";
- if(select("Да:Нет")==2) close;
- if(!.enable) .enable = 1;
- else .enable = 0;
- next;
- mes .npc$;
- mes "Отправление сообщений "+( (!.enable)?"^FF0000отключено^000000":"^00FF00включено^000000")+".";
- close;
- case 2:
- next;
- mes .npc$;
- mes "Логирование сообщений теперь "+( (!.log)?"^FF0000выключено^000000":"^00FF00включено^000000")+".";
- mes ""+( (!.log)?"^00FF00Включить^000000":"^FF0000Выключить^000000")+"?";
- if(select("Да:Нет")==2) close;
- if(!.log) .log = 1;
- else .log = 0;
- next;
- mes .npc$;
- mes "Логирование сообщений теперь "+( (!.log)?"^FF0000выключено^000000":"^00FF00включено^000000")+".";
- close;
- case 3:
- next;
- mes .npc$;
- mes "Последний игрок, использовавший меня: ^FF0000"+.lastname$+"^000000.";
- next;
- mes .npc$;
- mes "Забанить этого игрока?";
- if(select("Да:Нет")==2) close;
- atcommand "@ban 15n " + .lastname$;
- announce "[Диктор]: Игрок ["+.lastname$+"] был забанен за нецелесообразное пользование моими услугами.",0;
- next;
- mes .npc$;
- mes "Игрок забанен.";
- next;
- continue;
- case 4:
- next;
- break;
- }
- break;
- }
- }
- if(.enable == 0){
- mes .npc$;
- mes "Извините, этот НПЦ выключен на данный момент.";
- next;
- mes .npc$;
- mes "Пожалуйста, напишите об этом администрации или задавайте вопрос через ^0000FF@faq^000000";
- close;
- }
- if((agitcheck() == 1) || (agitcheck2() == 1)) {
- mes .npc$;
- mes "Извините, Вы не можете отправлять сообщения пока идёт ^0000FFWoE^000000.";
- close;
- }
- if(BD > gettimetick(2)) {
- mes .npc$;
- mes "Вы должны подождать ^FF0000180^000000 секунд, преждем чем отправлять еще одно сообщение.";
- close;
- }
- if (BaseLevel < .checklevel) {
- mes .npc$;
- mes "Вы должны быть не менее ^0000FF"+.checklevel+"^000000 уровня чтобы пользоваться моими услугами.";
- close;
- }
- mes .npc$;
- mes "Здраствуйте, "+strcharinfo(0)+"! Я могу отправлять сообщения на весь сервер.";
- if(.warning) {
- mes .npc$;
- mes "Прежде чем начать...";
- next;
- mes .npc$;
- mes "Используя меня вы автоматически соглашаетесь со всеми правилами сервера.";
- next;
- if (.log) {
- mes .npc$;
- mes "Также, ваше имя и сообщение ^FF0000логируются^000000.";
- next;
- }
- mes .npc$;
- mes "Вы согласны?";
- if(select("Да:Нет")==2) close;
- }
- while(1){
- next;
- mes .npc$;
- mes "Мне нужно взять с Вас определённую плату за пользование моими услугами";
- mes "Чем Вы хотите оплатить мои услуги?";
- switch(select("> Zeny:> Вещами:")) {
- case 1:
- next;
- if(.limitation != 1 && .limitation != 0 ) {
- mes .npc$;
- mes "Вы не можете оплатить мои услуги с помощью Zeny.";
- mes "Обратитесь к администрации.";
- close;
- }
- mes .npc$;
- mes "Это будет стоить Вам ^FF0000"+.costz+"^000000 Zeny.";
- mes "Продолжить?";
- if(select("Да:Нет")==2) close;
- if (Zeny < .costz) {
- next;
- mes .npc$;
- mes "У Вас не хватает ^FF0000Zeny^000000.";
- close;
- }
- Zeny -= .costz;
- break;
- case 2:
- next;
- if(.limitation != 4 && .limitation != 0 ) {
- mes .npc$;
- mes "Вы не можете оплатить мои услуги с помощью Zeny.";
- mes "Обратитесь к администрации.";
- close;
- }
- mes .npc$;
- mes "Мне понадобится ^0000FF"+.costiamount+"^000000х ^FF0000"+getitemname(.costi)+"^000000.";
- mes "Продолжить?";
- if(select("Да:Нет")==2) close;
- if(countitem(.costi) < .costiamount) {
- next;
- mes .npc$;
- mes "У Вас не хватает ^FF0000"+getitemname(.costi)+"^000000.";
- close;
- }
- delitem .costi,.costiamount;
- break;
- }
- break;
- }
- while(1) {
- next;
- mes .npc$;
- mes "Пожалуйста, введите своё сообщение сюда: ";
- input .@mes$;
- next;
- mes .npc$;
- mes "Вы уверены, что хотите отправить это сообщение всем?";
- mes "^FF0000["+strcharinfo(0)+"]: "+.@mes$+"^000000";
- if(select("Да:Нет") == 2) close;
- close2;
- announce "["+strcharinfo(0)+"]: "+.@mes$,bc_all;
- if(.timedelay) BD = gettimetick(2) + 180;
- end;
- }
- OnInit:
- .npc$ = "[^0000FFДиктор^000000]"; // Sets Name Of The NPC: Change The Name In Brackets For A Custom Name
- .checklevel = 89; // Players Must Be This Level or Higher In Order To Broadcast
- .costz = 50000; // Set's Cost To Use Broadcaster (In Zeny)
- .costi = 7539; // Set's The Item To Be Used In Payment For Broadcaster (Item ID # Here)
- .costiamount = 25; // Amount of Items Specified By .costi In Order To Use The Broadcaster
- .gmlevel = 40; // Minimum GM Level To Reach GM Menu & Use OnWhisperGlobal: Label
- .timedelay = 1; // Creates The 3 Minute Delay Between Broadcasts. When set to '0', players are able to broadcast
- // If set to '1', the broadcaster thinks it has a delay to go through
- .enable = 1; // Check To See If Broadcasting is Enabled. 1 == Enabled || 0 == Disabled (Enabled By Default)
- .log = 0; // Enables Logs of Broadcasts, 0 == Disabled, 1 == Enabled (Off By Default)
- .limitation = 0; // Limitation Setting for limiting how many payment options are available:
- // 0 = all payment options available, 1 = only zeny, 2 = only cash points, 4 = only items
- .warning = 0; // if set to '1', displays a General Abuse Message before broasting (Disabled by Default)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement