Перейти к содержанию
Авторизация  
Ryslik42

СГУ | Крякалка для автомобиля

Рекомендуемые сообщения

Ryslik42

Доброго времени суток, сейчас я вам покажу как можно сделать "крякалку" на кнопку для автомобилей гос.служб, а так же на другие авто.

 

Для того чтобы все работало нам понадобится: мод, стример и прямые руки.

 

По теории это будет выглядеть так: 

Все начинается с проверки нажатой игроком кнопкой, далее привязываем к этой проверке еще одну проверку на нахождение игрока за рулем авто. Если проверка проходит успешной, то создаем цикл, где будем искать всех активных игроков. После того как прошелся цикл, делаем проверку на нахождение найденного игрока, с игроком который включил "крякалку", а далее уже будет проигрывать звук, создавать таймер и делать дополнительные проверки во избежания флуда звуком.

 

По практике это будет выглядеть так:

 

Для начала создадим глобальную беременную(ко всем new добавим)  

new zvonok[MAX_PLAYERS]; 

Далее идем уже к нажатию кнопки.

Проверка на нажатую кнопку осуществляется в паблике OnPlayerKeyStateChange


if(newkeys == ид кнопки && IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER) //проверяем нажатую кнопку и если игрок находится за рулем
{
if(GetPlayerVehicleID(playerid) == ид авто) //ид авто - т.е. ид авто на котором будет работать крякалка
{
for(new i=0; i<MAX_PLAYERS; i++) //цикл для поиска игроков
{
if(ProxDetectorS(15.0, playerid, i))//если игрок находится рядом с найденным по циклу, то..
{
if(zvonok[i] == 1) return 0; //проверка "Запущен ли звук или нет?"
PlayAudioStreamForPlayer(i,"ссылка на звук");//запускаем звук
SetTimer("zvon", 5000, false); //создадим таймер по которому будет отключатся звук (я задал отключение через 5 сек. настраивайте время сами) 
zvonok[i] = 1; //ставим переменную zvonok на 1 от флуда звуком
}
}
}
}

 

Далее перейдем к таймеру:

В конец мода вставим

forward zvon(playerid); //сообщим о паблике
public zvon(playerid)
{
zvonok[playerid] = 0; //ставим переменную zvonok на 0, от флуда
StopAudioStreamForPlayer(playerid); //останавливаем звук
return true;
}

На данный момент это пока лишь первая версия, со времен буду улучшать ее с вашей помощью.

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

К сожалению при копировании слетела табуляция, я думаю вам не составит труда настроить ее.

По коду все отлично, у меня error\warning не было!  По поводу работоспособности не знаю, нет возможности проверить.

Обо всех ошибках прошу сообщать в эту тему, чтобы не разводить срач на форуме и совместно решать все баги!

Буду рад выслушать все подсказки по поводу доработки кода. 

 

Автор: Ryslik42 (на некоторых форумах SMETAHA) - т.е. Я

 

При копировании на другие форумы, прошу сохранить авторство!!!

  • Like 4

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


Ссылка на сообщение
Поделиться на другие сайты
TrollFace
К сожалению при копировании слетела турбуляция, я думаю вам не составит труда настроить ее.

Турбо.. что ? Турбуляция ? :)

  • Like 1

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


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

 

К сожалению при копировании слетела турбуляция, я думаю вам не составит труда настроить ее.

Турбо.. что ? Турбуляция ? :)

 

На автомате как то написал :D Благодарю за подсказку, исправил)))

  • Like 1

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


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

А если у человека скорость интернета маленькая? То он запустит крякалку , а звук будет слышен через несколько секунд

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


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

А если у человека скорость интернета маленькая? То он запустит крякалку , а звук будет слышен через несколько секунд

Именно поэтому умные люди добавляют нужные звуки в саму игру.

  • Like 1

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


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

А если у человека скорость интернета маленькая? То он запустит крякалку , а звук будет слышен через несколько секунд

Ну тоже как вариант. 

Можно вообще использовать стандартный звук, увеличив радиус, но он не айс.

 

 

 

А если у человека скорость интернета маленькая? То он запустит крякалку , а звук будет слышен через несколько секунд

Именно поэтому умные люди добавляют нужные звуки в саму игру.

По поводу своих звуков я мало что знаю, по этому не упоминаю об этом, во избежании нелепых ошибок)))

  • Like 1

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


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

 

А если у человека скорость интернета маленькая? То он запустит крякалку , а звук будет слышен через несколько секунд

Ну тоже как вариант. 

Можно вообще использовать стандартный звук, увеличив радиус, но он не айс.

 

 

 

А если у человека скорость интернета маленькая? То он запустит крякалку , а звук будет слышен через несколько секунд

Именно поэтому умные люди добавляют нужные звуки в саму игру.

По поводу своих звуков я мало что знаю, по этому не упоминаю об этом, во избежании нелепых ошибок)))

 

Cтандартный звук? Не подскажите его ID?

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


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

 

 

А если у человека скорость интернета маленькая? То он запустит крякалку , а звук будет слышен через несколько секунд

Ну тоже как вариант. 

Можно вообще использовать стандартный звук, увеличив радиус, но он не айс.

 

 

 

А если у человека скорость интернета маленькая? То он запустит крякалку , а звук будет слышен через несколько секунд

Именно поэтому умные люди добавляют нужные звуки в саму игру.

По поводу своих звуков я мало что знаю, по этому не упоминаю об этом, во избежании нелепых ошибок)))

 

Cтандартный звук? Не подскажите его ID?

 

его нужно залить сначало в игру

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


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

Rusty'k я имел ввиду использовать стандартный сигнал у автомобилей полиции. 

  • Like 1

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


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

Rusty'k я имел ввиду использовать стандартный сигнал у автомобилей полиции. 

он американский :) 

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


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

Rusty'k я имел ввиду использовать стандартный сигнал у автомобилей полиции. 

Где посмотреть ID клавиш ?

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


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

 

Rusty'k я имел ввиду использовать стандартный сигнал у автомобилей полиции. 

Где посмотреть ID клавиш ?

 

В гугле.

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


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

А как привязать данную СГУ только на некоторые виды авто?

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.