TMax

[DZ, DZE] Запрет говорить в Дополнительный канал

Вопрос

Доброго времени суток.
Работаю над скриптом, который производит некоторые действия, когда игрок начинает говорить в Дополнительный канал (синий). На просторах интернета нашёл подобный скрипт, но тот сразу же убивает игрока.
Сделал регулируемое количество предупреждений, тексты предупреждений тоже меняются. Может, стоит добавить скример? :D
Еще какие пожелания?

<iframe width="854" height="510" src="//www.youtube.com/embed/YmmBs-TY8Ts" frameborder="0" allowfullscreen></iframe>

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

15 ответов на этот вопрос

Доброго времени суток.

Работаю над скриптом, который производит некоторые действия, когда игрок начинает говорить в Дополнительный канал (синий). На просторах интернета нашёл подобный скрипт, но тот сразу же убивает игрока.

Сделал регулируемое количество предупреждений, тексты предупреждений тоже меняются. Может, стоит добавить скример? :D

Еще какие пожелания?

 

На тест 

[] spawn {
    disableSerialization;
    DS_really_loud_sounds = {[60,15] call fnc_usec_pitchWhine;for "_i" from 1 to 15 do {playSound format ["%1",_this select 0];};};
    DS_double_cut = {1 cutText [format ["%1",_this select 0],"PLAIN DOWN"];2 cutText [format ["%1",_this select 0],"PLAIN"];};
    DS_slap_them = {_randomnr = [2,-1] call BIS_fnc_selectRandom;(vehicle player) SetVelocity [_randomnr * random (4) * cos getdir (vehicle player), _randomnr * random (4) * cos getdir (vehicle player), random (4)];};
    while {true} do {
        waitUntil {sleep 1;((!isNull findDisplay 63) && (!isNull findDisplay 55))};
        if (ctrlText ((findDisplay 55) displayCtrl 101) == "\ca\ui\textures\mikrak.paa") then {
            if (ctrlText ((findDisplay 63) displayCtrl 101) == localize "STR_SIDE_CHANNEL") then {
                [] spawn {
                    if (isNil "reset_timer") then {
                        reset_timer = true;
                        sleep 90;
                        disconnect_me = nil;
                        warn_one = nil;
                        warn_two = nil;
                        warn_three = nil;
                        warn_last = nil;
                        reset_timer = nil;
                    };
                };
                if (isNil "disconnect_me") then {disconnect_me = 0;} else {disconnect_me = disconnect_me + 1;};
                if (disconnect_me == 0) then {
                    if (isNil "warn_one") then {
                        warn_one = true;
                        systemChat ("Please do not use voice on sidechat, this is your first warning.");
                        [] spawn DS_slap_them;
                        ["beat04"] spawn DS_really_loud_sounds;
                        ["NO VOICE ON SIDE"] spawn DS_double_cut;
                    };
                };
                if (disconnect_me == 1) then {
                    if (isNil "warn_two") then {
                        warn_two = true;
                        systemChat ("Please do not use voice on sidechat, this is your second warning..");
                        [] spawn DS_slap_them;
                        ["beat04"] spawn DS_really_loud_sounds;
                        ["NO VOICE ON SIDE"] spawn DS_double_cut;
                    };
                };
                if (disconnect_me == 2) then {
                    if (isNil "warn_three") then {
                        warn_three = true;
                        systemChat ("PLEASE DO NOT USE VOICE ON SIDECHAT!! This is your LAST warning!");
                        systemChat ("You will be frozen and then disconnected!");
                        [] spawn DS_slap_them;
                        ["beat04"] spawn DS_really_loud_sounds;
                        ["NO VOICE ON SIDE! This is your LAST warning!"] spawn DS_double_cut;
                    };
                };
                if (disconnect_me >= 3) then {
                    if (isNil "warn_last") then {
                        warn_last = true;
                        playMusic ["PitchWhine",0];
                        [] spawn DS_slap_them;
                        ["beat04"] spawn DS_really_loud_sounds;
                        ["We warned you..."] spawn DS_double_cut;
                        1 fademusic 10;
                        1 fadesound 10;
                        disableUserInput true;
                        startLoadingScreen ["You are being disconnected", "DayZ_loadingScreen"];
                        progressLoadingScreen 0.2;sleep 2;["All_Haha"] spawn DS_really_loud_sounds;
                        progressLoadingScreen 0.4;sleep 2.25;
                        progressLoadingScreen 0.6;sleep 2;["All_Haha"] spawn DS_really_loud_sounds;
                        progressLoadingScreen 0.8;sleep 2.25;
                        progressLoadingScreen 1.0;sleep 2;["All_Haha"] spawn DS_really_loud_sounds;
                        endLoadingScreen;sleep 0.5;
                        disableUserInput false;
                        endMission "LOSER";
                    };
                };
            };
        };
        sleep 1;
    };
};
 

 

Изменено пользователем Dimitri (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Забронировать это рекламное место


 

 

На тест 

[] spawn {
    disableSerialization;
    DS_really_loud_sounds = {[60,15] call fnc_usec_pitchWhine;for "_i" from 1 to 15 do {playSound format ["%1",_this select 0];};};
    DS_double_cut = {1 cutText [format ["%1",_this select 0],"PLAIN DOWN"];2 cutText [format ["%1",_this select 0],"PLAIN"];};
    DS_slap_them = {_randomnr = [2,-1] call BIS_fnc_selectRandom;(vehicle player) SetVelocity [_randomnr * random (4) * cos getdir (vehicle player), _randomnr * random (4) * cos getdir (vehicle player), random (4)];};
    while {true} do {
        waitUntil {sleep 1;((!isNull findDisplay 63) && (!isNull findDisplay 55))};
        if (ctrlText ((findDisplay 55) displayCtrl 101) == "\ca\ui\textures\mikrak.paa") then {
            if (ctrlText ((findDisplay 63) displayCtrl 101) == localize "STR_SIDE_CHANNEL") then {
                [] spawn {
                    if (isNil "reset_timer") then {
                        reset_timer = true;
                        sleep 90;
                        disconnect_me = nil;
                        warn_one = nil;
                        warn_two = nil;
                        warn_three = nil;
                        warn_last = nil;
                        reset_timer = nil;
                    };
                };
                if (isNil "disconnect_me") then {disconnect_me = 0;} else {disconnect_me = disconnect_me + 1;};
                if (disconnect_me == 0) then {
                    if (isNil "warn_one") then {
                        warn_one = true;
                        systemChat ("Please do not use voice on sidechat, this is your first warning.");
                        [] spawn DS_slap_them;
                        ["beat04"] spawn DS_really_loud_sounds;
                        ["NO VOICE ON SIDE"] spawn DS_double_cut;
                    };
                };
                if (disconnect_me == 1) then {
                    if (isNil "warn_two") then {
                        warn_two = true;
                        systemChat ("Please do not use voice on sidechat, this is your second warning..");
                        [] spawn DS_slap_them;
                        ["beat04"] spawn DS_really_loud_sounds;
                        ["NO VOICE ON SIDE"] spawn DS_double_cut;
                    };
                };
                if (disconnect_me == 2) then {
                    if (isNil "warn_three") then {
                        warn_three = true;
                        systemChat ("PLEASE DO NOT USE VOICE ON SIDECHAT!! This is your LAST warning!");
                        systemChat ("You will be frozen and then disconnected!");
                        [] spawn DS_slap_them;
                        ["beat04"] spawn DS_really_loud_sounds;
                        ["NO VOICE ON SIDE! This is your LAST warning!"] spawn DS_double_cut;
                    };
                };
                if (disconnect_me >= 3) then {
                    if (isNil "warn_last") then {
                        warn_last = true;
                        playMusic ["PitchWhine",0];
                        [] spawn DS_slap_them;
                        ["beat04"] spawn DS_really_loud_sounds;
                        ["We warned you..."] spawn DS_double_cut;
                        1 fademusic 10;
                        1 fadesound 10;
                        disableUserInput true;
                        startLoadingScreen ["You are being disconnected", "DayZ_loadingScreen"];
                        progressLoadingScreen 0.2;sleep 2;["All_Haha"] spawn DS_really_loud_sounds;
                        progressLoadingScreen 0.4;sleep 2.25;
                        progressLoadingScreen 0.6;sleep 2;["All_Haha"] spawn DS_really_loud_sounds;
                        progressLoadingScreen 0.8;sleep 2.25;
                        progressLoadingScreen 1.0;sleep 2;["All_Haha"] spawn DS_really_loud_sounds;
                        endLoadingScreen;sleep 0.5;
                        disableUserInput false;
                        endMission "LOSER";
                    };
                };
            };
        };
        sleep 1;
    };
};
 

 

Большой + висит постоянный цикл. Мой же вызывается только при нажатии кнопки. Странно, что этот вообще работает - проверьте, чему равно выражение localize "STR_SIDE_CHANNEL"  :D

А еще у меня не работает disableUserInput. Совсем :(

Изменено пользователем TMax (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Большой + висит постоянный цикл. Мой же вызывается только при нажатии кнопки. Странно, что этот вообще работает - проверьте, чему равно выражение localize "STR_SIDE_CHANNEL"  :D

А еще у меня не работает disableUserInput. Совсем :(

Ребят это бессмысленно просто вырубите доп канал если он вам так мешает!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ребят это бессмысленно просто вырубите доп канал если он вам так мешает!

Я думаю, никто не хочет лишать игроков возможности письменного общения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Доброго времени суток.

Работаю над скриптом, который производит некоторые действия, когда игрок начинает говорить в Дополнительный канал (синий). На просторах интернета нашёл подобный скрипт, но тот сразу же убивает игрока.

Сделал регулируемое количество предупреждений, тексты предупреждений тоже меняются. Может, стоит добавить скример? :D

Еще какие пожелания?

Никаких скримеров. И так хватает что у многих проблемы со здоровьем. Собственно скример - это плохо.

Можно воспроизведение какой-то голосовой записи типо. "А ну-ка рот закрыл быстро!!!" Каким-нибудь голосом старого страшного мужика :D

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Никаких скримеров. И так хватает что у многих проблемы со здоровьем. Собственно скример - это плохо.

Можно воспроизведение какой-то голосовой записи типо. "А ну-ка рот закрыл быстро!!!" Каким-нибудь голосом старого страшного мужика :D

Сам же говоришь - никаких скримеров :D

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сам же говоришь - никаких скримеров :D

Ну это не скример в данном случае. Например от функции пнуть в инфистаре тоже идет воспроизведение звуков. Подобно такой же темы можно сделать и на ваш скрипт. С другими словами естественно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Скриптец то можно было залить!

Ибо это большая проблема, голос в общий чат.

Есть код выше используй и все 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Есть код выше используй и все

да мне не нужны предупреждения :smile:

вырубить бы просто голос в синий чат

в идеале чтоб кнопка - капс лок не работала с доп каналом

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

да мне не нужны предупреждения :smile:

вырубить бы просто голос в синий чат

в идеале чтоб кнопка - капс лок не работала с доп каналом

Выруби через descrition.ext и все уж если тебе синий не нужен вообще 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

если тебе синий не нужен вообще

ну зачем же вдаваться в крайности)) я не сказал что мне синий чат не нужен, мне не нужен только голос в синем чате, иначе бы давно сделал так и не задавал бы вопросов

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И что делать и куда его пихать !? история утаивает , мде  :dry:

Изменено пользователем Жека (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

И что делать и куда его пихать !?

Никуда :biggrin:

В таком варианте можно обычный BEC заставить работать

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И что делать и куда его пихать !? история утаивает , мде  :dry:

Не знаешь как запустить ??? 

А просто для теста добавить в init.sqf

execVM "пусть\скрипт.sqf"; 

И смотреть что будет...

Изменено пользователем Dimitri (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Похожие публикации

    • Автор: godmode8
      Можно ли как то запретить переодеваться у мест хранения на 1.8.9? В Epoch все примерно понятно как это сделать, в обычном моде не могу разобраться.
    • Автор: pekar0201
      Как можно реализовать запрет на буксировку техники (Как сцепка техники, так и подъём вертолётом) в определённой зоне, по координатам, либо в трейдах?

      Тот-же вопрос только с закрытой техникой - как убрать возможность буксировки закрытой техники?

      Использую R3F Logistics.
    • Автор: mafan9
      Ребят, такой вопрос, как запретить выход из игры, когда игрок находится в трейд зоне?
    • Автор: SpiritWolf
      Можно ли как-то запретить строительство в определенной области?
      Вроде бы есть такая переменная CANBUILD, но она связана с сейфзонами.
    • Автор: PLAYERDEAD
      Думаю по название темы понятно что я прошу   

      Не кто не подскажет как сделать запрет на снятие запчастей  с транспорта в торговых городах ? 
      На сервере из-за этого конфликты, постоянно кто-то и кого-то снимает колеса, запчасти и т.к  ... 

      Хотя это упомянута в правилах сервера, но мы все знаем что русским закон не писан.