Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Делаем DJ пульт(new.pwn с нуля)

Статус
В этой теме нельзя размещать новые ответы.

imartelov

Дебютант
Всем доброго времени. Я здесь в первый раз вылаживаю урок. Так что строго не судите. Ну что ж, начнём.
________________________________________________________________________________________________
В public OnPlayerCommandText(playerid, cmdtext[]) добавим команду:
PHP:
	if (!strcmp("/music",cmdtext))
	{
	if(IsPlayerInRangeOfPoint(playerid, 5.0, 290.7859, -1833.0779, 2.7203)) // поставим проверку на нахождение игрока возле пульта
        {
		    ShowPlayerDialog(playerid,2427,DIALOG_STYLE_LIST,"Выберите музычку","1.DJ Mad Mouse - Mad Summer\r\n2.Shakira - La La La   \r\n3.AviciiLevels\r\n4.DVBBS & Borgeous - Tsunami\r\n5.Scooter and Whiz Khalifa - Bigroom Blitz \r\n6.Swanky Tunes feat Raign - Fix Me\r\n7.Jason Derulo feat Snoop Dogg - Wiggle\r\n8.DJ LEX - New Life (Radio Edit)\r\n9.Scooter - 4AM\r\n10.David Guetta feat Taped Rai - Just One Last Time\r\n11.Музон по URL\r\n12.Остановить музыку","Выбрать", "Отмена");
		}
		else // если игрок не возле пульта, то выводим ему сообщение
	    {
	        SendClientMessage(playerid,0xFFFF0000,"Вы не возле DJ пульта"); // сообщение можете поменять на своё
	    }
		return 1;
	}
Сюда же в public OnPlayerCommandText вставляем:
PHP:
if (!strcmp("/url",cmdtext))
	{
	    if(IsPlayerInRangeOfPoint(playerid, 5.0, 290.7859, -1833.0779, 2.7203)) // та же проверка на нахождении игрока возле пульта
        {
		    ShowPlayerDialog(playerid,183,DIALOG_STYLE_INPUT,"Другой трек","{00FF40}Ведите URL трека, желательно в {FF0000}.mp3 {00FF40}формате","Ок","Отмена");
		}
		else // тоже самое, если игрок не возле пульта, то мы выводим ему это сообщение
	    {
	        SendClientMessage(playerid,0xFFFF0000,"Вы не возле DJ пульта"); // сообщение можете поменять на своё
	    }
		return 1;
	}
Далее в public OnDialogResponse мы вписываем это:
PHP:
    if(dialogid == 2427) //  /music
        {
            if(response)
            {
                for(new i =0;i<MAX_PLAYERS;i++) // создадим цикл чтобы все игроки слышали звучание трека в определённом радиусе(который можно поменять в PlayAudioStreamForPlayer)
                {
                    switch(listitem)
                    {
                    case 0:
                        {
                            PlayAudioStreamForPlayer(i, "http://muzmo.ru/load.php?157456908&file=cat_music/20130821/muzmo_ru_DJ_Mad_Mouse_-_Mad_Summer_8417905.mp3", 290.7859, -1833.0779, 2.7203, 100.0,true); // здесь вы можете поменять радиус звучания, он находится перед true, тоесть 100.0
                        }
                    case 1:
                        {
                            PlayAudioStreamForPlayer(i, "http://muzmo.ru/load.php?268159126&file=cat_music/20140321/muzmo_ru_Shakira_-_La_La_La_Brasil_2014_11908377.mp3", 290.7859, -1833.0779, 2.7203, 100.0,true);
                        }
                    case 2:
                        {
                            PlayAudioStreamForPlayer(i, "http://muzmo.ru/load.php?150304468&file=cat_music/20120820/muzmo_ru_Avicii_Ft_Etta_James_-_Levels_4109126.mp3", 290.7859, -1833.0779, 2.7203, 100.0,true);
                        }
                    case 3:
                        {
                            PlayAudioStreamForPlayer(i, "http://muzmo.ru/load.php?1000000008126&file=music/20140221/muzmo_ru_DVBBS_feat_Borgeous_-_Tsunami_11324096.mp3", 290.7859, -1833.0779, 2.7203, 100.0,true);
                        }
                    case 4:
                        {
                            PlayAudioStreamForPlayer(i, "http://muzmo.ru/load.php?1000000013324&file=music/20140711/muzmo_ru_Scooter_and_Whiz_Khalifa_-_Bigroom_Blitz_14804315.mp3", 290.7859, -1833.0779, 2.7203, 100.0,true);
                        }
                    case 5:
                        {
                            PlayAudioStreamForPlayer(i, "http://muzmo.ru/load.php?1000000012332&file=music/20140604/muzmo_ru_Swanky_Tunes_feat_Raign_-_Fix_Me_13289681.mp3", 290.7859, -1833.0779, 2.7203, 100.0,true);
                        }
                    case 6:
                        {
                            PlayAudioStreamForPlayer(i, "http://muzmo.ru/load.php?1000000013141&file=music/20140709/muzmo_ru_Jason_Derulo_feat_Snoop_Dogg_-_Wiggle_14718066.mp3", 290.7859, -1833.0779, 2.7203, 100.0,true);
                        }
                    case 7:
                        {
                            PlayAudioStreamForPlayer(i, "http://muzmo.ru/load.php?134496857&file=cat_music/20120512/muzmo_ru_DJ_LEX_-_New_Life_2012_Radio_Edit_-_DJ_LEX_-_New_Life_2012_Radio_Edit_2605253.mp3", 290.7859, -1833.0779, 2.7203, 100.0,true);
                        }
                    case 8:
                        {
                            PlayAudioStreamForPlayer(i, "http://muzmo.ru/load.php?165613636&file=cat_music/20120910/muzmo_ru_Scooter_-_4AM_4303136.mp3", 290.7859, -1833.0779, 2.7203, 100.0,true);
                        }
                    case 9:
                        {
                            PlayAudioStreamForPlayer(i, "http://muzmo.ru/load.php?1000000004499&file=music/20140108/muzmo_ru_David_Guetta_feat_Taped_Rai_-_Just_One_Last_Time_10201698.mp3", 290.7859, -1833.0779, 2.7203, 100.0,true);
                        }
                    case 10:
                        {
                            OnPlayerCommandText(playerid, "/url");
                        }
                    case 11:
                        {
                            StopAudioStreamForPlayer(i);
                        }
                    }
                }
            }
            else
            {
                return 1;
            }
        }
Сюда же, только ниже вставляем:
PHP:
    if(dialogid == 183)
        {
             for(new i =0;i<MAX_PLAYERS;i++) // тот же цикл для URL 
             {
                if(!strlen(inputtext)){
                    SendClientMessage(playerid,0xFF99FFFF,"Вы не ввели URL!");
                    return 1;
                }else{
                    PlayAudioStreamForPlayer(i,inputtext, 290.7859, -1833.0779, 2.7203, 100.0,true);// координаты где будет воспроизводится звук и в каком радиусе
            }
        }
    }
В основном всё! Для вида я добавил объектов пульта кто хочет проверить, то вот, держите:
PHP:
CreateObject(2424, 291.68588, -1833.07788, 2.72031,   0.00000, 0.00000, 0.00000);
CreateObject(2424, 290.78589, -1833.07788, 2.72030,   0.00000, 0.00000, 0.00000);
CreateObject(2424, 289.88589, -1833.07788, 2.72030,   0.00000, 0.00000, 0.00000);
CreateObject(2423, 292.60431, -1833.07788, 2.72030,   0.00000, 0.00000, 0.00000);
CreateObject(2423, 288.88431, -1833.01794, 2.72030,   0.00000, 0.00000, -90.00000);
CreateObject(14820, 290.74240, -1833.12866, 3.85200,   0.00000, 0.00000, -180.00000);
CreateObject(2231, 289.35104, -1832.74121, 3.74080,   0.00000, 0.00000, 0.00000);
CreateObject(2231, 292.75677, -1832.71155, 3.74080,   0.00000, 0.00000, 0.00000);
Вот ещё кому нужно, телепорт к пульту:
PHP:
if (!strcmp("/tp2",cmdtext))
	{
		SetPlayerPos(playerid, 318.6438,-1811.6530,4.4315);
		return 1;
	}
Всё это подойдёт для new.pwn, то есть с 0. Я всё проверил, всё работает.
У кого не получилось так, то вот, держите pwn:
Пароль: pawno-info
Всем спасибо! Жду критики.
Автор: Я.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу