#Kai
Умник
Доброго времени суток дорогие пользователи Pawno-Info.Ru
Дело было вечером, делать было нечего...
Наш MP3 Плеер будет выглядеть так:
Дело было вечером, делать было нечего...
Наш MP3 Плеер будет выглядеть так:
Создаем команду для включения MP3 Плеера
PHP:
CMD:mp3(playerid)
{
for(new i; i < 10; i++) TextDrawShowForPlayer(playerid, MP3[i]);
SelectTextDraw(playerid, 0xFF0000FF);
return true;
}
PHP:
MP3[0] = TextDrawCreate(587.182983, 297.833312, "usebox");
TextDrawLetterSize(MP3[0], 0.000000, 14.094078);
TextDrawTextSize(MP3[0], 519.932617, 0.000000);
TextDrawAlignment(MP3[0], 1);
TextDrawColor(MP3[0], -1338953217);
TextDrawUseBox(MP3[0], true);
TextDrawBoxColor(MP3[0], -1338953217);
TextDrawSetShadow(MP3[0], 0);
TextDrawSetOutline(MP3[0], 0);
TextDrawFont(MP3[0], 0);
MP3[1] = TextDrawCreate(583.434814, 302.500000, "usebox");
TextDrawLetterSize(MP3[1], 0.000000, 5.854815);
TextDrawTextSize(MP3[1], 523.680786, 0.000000);
TextDrawAlignment(MP3[1], 1);
TextDrawColor(MP3[1], 0);
TextDrawUseBox(MP3[1], true);
TextDrawBoxColor(MP3[1], 255);
TextDrawSetShadow(MP3[1], 0);
TextDrawSetOutline(MP3[1], 0);
TextDrawFont(MP3[1], 1);
MP3[2] = TextDrawCreate(526.618164, 362.833221, "LD_POOL:ball");
TextDrawLetterSize(MP3[2], 0.000000, 0.000000);
TextDrawTextSize(MP3[2], 53.411437, 58.916633);
TextDrawAlignment(MP3[2], 1);
TextDrawColor(MP3[2], -1);
TextDrawUseBox(MP3[2], true);
TextDrawBoxColor(MP3[2], 0);
TextDrawSetShadow(MP3[2], 0);
TextDrawSetOutline(MP3[2], 0);
TextDrawFont(MP3[2], 4);
MP3[3] = TextDrawCreate(543.015991, 380.916717, "LD_POOL:ball");
TextDrawLetterSize(MP3[3], 0.000000, 0.000000);
TextDrawTextSize(MP3[3], 22.489013, 22.750009);
TextDrawAlignment(MP3[3], 1);
TextDrawColor(MP3[3], -1);
TextDrawSetShadow(MP3[3], 0);
TextDrawSetOutline(MP3[3], 0);
TextDrawFont(MP3[3], 4);
MP3[4] = TextDrawCreate(553.323547, 365.166625, "+");
TextDrawLetterSize(MP3[4], 0.449999, 1.600000);
TextDrawAlignment(MP3[4], 2);
TextDrawColor(MP3[4], 255);
TextDrawSetShadow(MP3[4], 0);
TextDrawSetOutline(MP3[4], 0);
TextDrawBackgroundColor(MP3[4], 51);
TextDrawFont(MP3[4], 1);
TextDrawSetProportional(MP3[4], 1);
MP3[5] = TextDrawCreate(553.323547, 403.666687, "-");
TextDrawLetterSize(MP3[5], 0.449999, 1.600000);
TextDrawAlignment(MP3[5], 2);
TextDrawColor(MP3[5], 255);
TextDrawSetShadow(MP3[5], 0);
TextDrawSetOutline(MP3[5], 0);
TextDrawBackgroundColor(MP3[5], 51);
TextDrawFont(MP3[5], 1);
TextDrawSetProportional(MP3[5], 1);
MP3[6] = TextDrawCreate(529.429199, 384.416595, "<");
TextDrawLetterSize(MP3[6], 0.449999, 1.600000);
TextDrawTextSize(MP3[6], 540.205078, 15.749999);
TextDrawAlignment(MP3[6], 1);
TextDrawColor(MP3[6], 255);
TextDrawUseBox(MP3[6], true);
TextDrawBoxColor(MP3[6], -256);
TextDrawSetShadow(MP3[6], 0);
TextDrawSetOutline(MP3[6], 0);
TextDrawBackgroundColor(MP3[6], 51);
TextDrawFont(MP3[6], 1);
TextDrawSetProportional(MP3[6], 1);
TextDrawSetSelectable(MP3[6], true);
MP3[7] = TextDrawCreate(567.379211, 384.416625, ">");
TextDrawLetterSize(MP3[7], 0.449999, 1.600000);
TextDrawTextSize(MP3[7], 577.218078, 16.333333);
TextDrawAlignment(MP3[7], 1);
TextDrawColor(MP3[7], 255);
TextDrawUseBox(MP3[7], true);
TextDrawBoxColor(MP3[7], -256);
TextDrawSetShadow(MP3[7], 0);
TextDrawSetOutline(MP3[7], 0);
TextDrawBackgroundColor(MP3[7], 51);
TextDrawFont(MP3[7], 1);
TextDrawSetProportional(MP3[7], 1);
TextDrawSetSelectable(MP3[7], true);
MP3[8] = TextDrawCreate(553.792358, 322.000000, "Europa Plus");
TextDrawLetterSize(MP3[8], 0.164670, 0.993333);
TextDrawAlignment(MP3[8], 2);
TextDrawColor(MP3[8], -1);
TextDrawSetShadow(MP3[8], 0);
TextDrawSetOutline(MP3[8], 1);
TextDrawBackgroundColor(MP3[8], 51);
TextDrawFont(MP3[8], 2);
TextDrawSetProportional(MP3[8], 1);
MP3[9] = TextDrawCreate(549.575561, 384.416564, "S");
TextDrawLetterSize(MP3[9], 0.449999, 1.600000);
TextDrawTextSize(MP3[9], 561.288330, 11.666665);
TextDrawAlignment(MP3[9], 1);
TextDrawColor(MP3[9], 255);
TextDrawUseBox(MP3[9], true);
TextDrawBoxColor(MP3[9], -256);
TextDrawSetShadow(MP3[9], 0);
TextDrawSetOutline(MP3[9], 0);
TextDrawBackgroundColor(MP3[9], 51);
TextDrawFont(MP3[9], 1);
TextDrawSetProportional(MP3[9], 1);
TextDrawSetSelectable(MP3[9], true);
PHP:
if(clickedid == MP3[7])
{
PlayAudioStreamForPlayer(playerid, "http://somafm.com/tags.pls");
new string[10];
format(string, sizeof(string), "%s", "SOMA FM"); TextDrawSetString(MP3[8], string);
}
if(clickedid == MP3[6])
{
PlayAudioStreamForPlayer(playerid, "http://radio.zaycev.fm:9002/ZaycevFM(128).m3u");
new string[10];
format(string, sizeof(string), "%s", "Zaycev FM"); TextDrawSetString(MP3[8], string);
}
if(clickedid == MP3[9])
{
for(new i; i < 10; i++) TextDrawHideForPlayer(playerid, MP3[i]);
StopAudioStreamForPlayer(playerid);
CancelSelectTextDraw(playerid);
}
Вариант от Saibot`a:
Ко всем new
В public OnGameModeInit()
В public OnPlayerClickTextDraw(playerid, Text:clickedid)
В public OnPlayerConnect(playerid)
Ко всем командам
Информация:
PHP:
new PlayerText: station_player[MAX_PLAYERS char],
which_radio[MAX_PLAYERS char] = {-1,...},
Text: music_player[9];
static const music_station [3] [2] [] =
{
{"http://somafm.com/tags.pls", "SOMA FM"},
{"http://radio.zaycev.fm:9002/ZaycevFM(128).m3u", "Zaycev FM"},
{"http://online.radiorecord.ru:8101/rr_128", "Radio Record"}
};
PHP:
music_player[0] = TextDrawCreate(587.182983, 297.833312, "usebox");
TextDrawLetterSize(music_player[0], 0.000000, 14.094078);
TextDrawTextSize(music_player[0], 519.932617, 0.000000);
TextDrawUseBox(music_player[0], true);
TextDrawBoxColor(music_player[0], -1338953217);
music_player[1] = TextDrawCreate(583.434814, 302.500000, "usebox");
TextDrawLetterSize(music_player[1], 0.000000, 5.854815);
TextDrawTextSize(music_player[1], 523.680786, 0.000000);
TextDrawUseBox(music_player[1], true);
TextDrawBoxColor(music_player[1], 255);
music_player[2] = TextDrawCreate(526.618164, 362.833221, "LD_POOL:ball");
TextDrawTextSize(music_player[2], 53.411437, 58.916633);
TextDrawFont(music_player[2], 4);
music_player[3] = TextDrawCreate(543.015991, 380.916717, "LD_POOL:ball");
TextDrawTextSize(music_player[3], 22.489013, 22.750009);
TextDrawFont(music_player[3], 4);
music_player[4] = TextDrawCreate(553.323547, 365.166625, "+");
music_player[5] = TextDrawCreate(553.323547, 403.666687, "-");
for(new i = 4; i < 6; i++)
{
TextDrawLetterSize(music_player[i], 0.449999, 1.600000);
TextDrawAlignment(music_player[i], 2);
TextDrawColor(music_player[i], 255);
TextDrawSetShadow(music_player[i], 0);
TextDrawSetOutline(music_player[i], 0);
TextDrawBackgroundColor(music_player[i], 51);
TextDrawFont(music_player[i], 1);
}
music_player[6] = TextDrawCreate(529.429199, 384.416595, "<");
TextDrawTextSize(music_player[6], 540.205078, 15.749999);
music_player[7] = TextDrawCreate(567.379211, 384.416625, ">");
TextDrawTextSize(music_player[7], 577.218078, 16.333333);
music_player[8] = TextDrawCreate(550.575561, 384.416564, "S");
TextDrawTextSize(music_player[8], 561.288330, 11.666665);
for(new i = 6; i < 9; i++)
{
TextDrawLetterSize(music_player[i], 0.449999, 1.600000);
TextDrawAlignment(music_player[i], 1);
TextDrawColor(music_player[i], 255);
TextDrawUseBox(music_player[i], true);
TextDrawBoxColor(music_player[i], -256);
TextDrawSetShadow(music_player[i], 0);
TextDrawSetOutline(music_player[i], 0);
TextDrawBackgroundColor(music_player[i], 51);
TextDrawFont(music_player[i], 1);
TextDrawSetProportional(music_player[i], 1);
TextDrawSetSelectable(music_player[i], true);
}
PHP:
if(clickedid == music_player[6] || clickedid == music_player[7])
{
new amount;
for(new i = 0; i < sizeof(music_station); i++)amount++;
if(clickedid == music_player[6])
{
if(which_radio{playerid} -- < amount -2)
which_radio{playerid} = amount - 1;
}
if(clickedid == music_player[7])
{
if(which_radio{playerid} ++ > amount -2)
which_radio{playerid} = 0;
}
PlayAudioStreamForPlayer(playerid, music_station[which_radio{playerid}][0]);
PlayerTextDrawSetString(playerid, station_player{playerid}, music_station[which_radio{playerid}][1]);
}
else if(clickedid == Text: INVALID_TEXT_DRAW)
{
StopAudioStreamForPlayer(playerid);
CancelSelectTextDraw(playerid);
PlayerTextDrawHide(playerid,station_player{playerid});
for(new i; i < 9; i++)
TextDrawHideForPlayer(playerid, music_player[i]);
}
PHP:
station_player{playerid} = CreatePlayerTextDraw(playerid, 553.792358, 322.000000, !"Radio Off");
PlayerTextDrawLetterSize(playerid, station_player{playerid}, 0.164670, 0.993333);
PlayerTextDrawAlignment(playerid, station_player{playerid}, 2);
PlayerTextDrawColor(playerid, station_player{playerid}, -1);
PlayerTextDrawSetShadow(playerid, station_player{playerid}, 0);
PlayerTextDrawSetOutline(playerid, station_player{playerid}, 1);
PlayerTextDrawBackgroundColor(playerid, station_player{playerid}, 51);
PlayerTextDrawFont(playerid, station_player{playerid}, 2);
PlayerTextDrawSetProportional(playerid, station_player{playerid}, 1);
PHP:
CMD:mp3(playerid)
{
for(new i; i < 9; i++)
TextDrawShowForPlayer(playerid, music_player[i]);
PlayerTextDrawShow(playerid,station_player{playerid});
SelectTextDraw(playerid, 0xFF0000FF);
return true;
}
- Переделал систему.
- Исправил ошибку с TD MP3[8] (При смени радиостанции текст будет меняться всем игрокам!)
- У автора можно было только использовать две радиостанции, в моем варианте можно использовать сколько угодно и для, этого нужно только добавить станции в static const music_station
* Когда будете добавлять новую станции увеличивайте размер в первом массиве [3].
То есть, добавили новую станцию +1 было [3] вы увеличили, стало [4]
- Если вы в плеере дойдете до последней радиостанции (< / >) то плеер начнет проигрывать станции заново (была последняя радиостанции Вы нажали далее [>] включилась первая радиостанция. И так само в обратную сторону].
- Исправил ошибку с TD MP3[8] (При смени радиостанции текст будет меняться всем игрокам!)
- У автора можно было только использовать две радиостанции, в моем варианте можно использовать сколько угодно и для, этого нужно только добавить станции в static const music_station
* Когда будете добавлять новую станции увеличивайте размер в первом массиве [3].
То есть, добавили новую станцию +1 было [3] вы увеличили, стало [4]
PHP:
static const music_station [3] [2] [] =
{
{"http://somafm.com/tags.pls", "SOMA FM"},
{"http://radio.zaycev.fm:9002/ZaycevFM(128).m3u", "Zaycev FM"},
{"http://online.radiorecord.ru:8101/rr_128", "Radio Record"}
};
Данный MP3 Плеер это моя "Лучшая" работа в pawn, строго не судите =)
Последнее редактирование модератором:
