Проигрование музыки 0.3d -
Stepan23 - 04.12.2011
Можете дать пример по воспроизведению музыки в 0.3d.
Но мне надо чтобы ты ввел команду, и в этом радиусе играла музыка, есле ушел из радиуса ее неслышно
Re: Проигрование музыки 0.3d -
DiSE - 04.12.2011
pawn Code:
CMD:play(playerid,params)
{
new distance,Float:x,Float:y,Float:z;
if(sscanf(params,"f",distance)) return SendClientMessage(playerid,-1"/play [радиус]");
GetPlayerPos(playerid,x,y,z);
PlayAudioStreamForPlayer(playerid, "http://muzyaka.on.ufanet.ru/mp3/russian_way.mp3",x,y,z, distance,true);
return 1;
}
Re: Проигрование музыки 0.3d -
Stepan23 - 04.12.2011
А можно не sscanf, а обычную команду)
Re: Проигрование музыки 0.3d -
CaHbKo - 04.12.2011
pawn Code:
CMD:play(playerid,params[])
{
new distance,Float:x,Float:y,Float:z;
distance = strval(params);
if(distance < 1 || distance > 50) return SendClientMessage(playerid,-1,"/play [радиус 1-50]");
GetPlayerPos(playerid,x,y,z);
PlayAudioStreamForPlayer(playerid, "http://muzyaka.on.ufanet.ru/mp3/russian_way.mp3",x,y,z, float(distance),true);
return 1;
}
Re: Проигрование музыки 0.3d -
Stepan23 - 05.12.2011
Quote:
Originally Posted by Stepan23
А можно не sscanf, а обычную команду)
|
....
Re: Проигрование музыки 0.3d -
CaHbKo - 05.12.2011
Quote:
Originally Posted by Stepan23
....
|
Где ты там sscanf видишь? Или тебя ZCMD смутил?
От ZCMD избавляйся сам, т.к. strtok это уже прошлый век.
Re: Проигрование музыки 0.3d -
OKStyle - 05.12.2011
Quote:
Originally Posted by CaHbKo
strtok это уже прошлый век.
|
Когда zcmd научится читать кириллицу - скажи.
Re: Проигрование музыки 0.3d -
DANGER1979 - 05.12.2011
ZCMD лажа.
От команд надо уходить.
Делайте больше менюшек и управление через менюшки или сочетании клавиш
Re: Проигрование музыки 0.3d -
Stepan23 - 05.12.2011
Отписались многие, но не 1 не помог)
Re: Проигрование музыки 0.3d -
Stepashka - 05.12.2011
Quote:
Originally Posted by Stepan23
Отписались многие, но не 1 не помог)
|
тебе уже несколько раз помогли, просто видимо ты не разбираешься в коде раз не понял этого.
Вот на обычных командах:
pawn Code:
#define PLAY_DISTANCE 20.0
#define PLAY_STREME "http://muzyaka.on.ufanet.ru/mp3/russian_way.mp3"
if(strcmp(cmdtext, "/play", true, 5) == 0) {
{
new Float:pos[3];
GetPlayerPos(playerid, pos[3], pos[3], pos[3]);
PlayAudioStreamForPlayer(playerid, PLAY_STREME, pos[3], pos[3], pos[3], PLAY_DISTANCE, true);
return 1;
}
Re: Проигрование музыки 0.3d -
Stepan23 - 05.12.2011
PHP Code:
if(strcmp(cmd, "/23", true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Испольуйте: /radio [1-50] радиус");
new distance,Float:x,Float:y,Float:z;
distance = strval(tmp);
if(distance < 1 || distance > 50) return SendClientMessage(playerid,-1,"Вы ввели неправильное значение");
GetPlayerPos(playerid,x,y,z);
PlayAudioStreamForPlayer(playerid, "http://webcast.emg.fm:55655/europaplus128.mp3",x,y,z, float(distance),true);
return 1;
}
Вот перевел, но вопрос есле я введу команду и в этот радиус зайдут игроки им будет слышна музыка (без ввода команды ими)
Re: Проигрование музыки 0.3d -
ZiGGi - 05.12.2011
Quote:
Originally Posted by Stepan23
PHP Code:
if(strcmp(cmd, "/23", true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Испольуйте: /radio [1-50] радиус");
new distance,Float:x,Float:y,Float:z;
distance = strval(tmp);
if(distance < 1 || distance > 50) return SendClientMessage(playerid,-1,"Вы ввели неправильное значение");
GetPlayerPos(playerid,x,y,z);
PlayAudioStreamForPlayer(playerid, "http://webcast.emg.fm:55655/europaplus128.mp3",x,y,z, float(distance),true);
return 1;
}
Вот перевел, но вопрос есле я введу команду и в этот радиус зайдут игроки им будет слышна музыка (без ввода команды ими)
|
Нет конечно, в функции PlayAudioStreamForPlayer есть параметр playerid, и только этому игроку будет играть музыка.
Re: Проигрование музыки 0.3d -
DANGER1979 - 05.12.2011
Звук звучит для указанного игрока и если этот игрок отбежит от этой точки, то звук будет затихать. покуда вообще не исчезнет, когда это игрок выбежит за радиус указанный от точки проигрывания.
Но если не использовать дистанцию, то звук одинаково слышен.
Но после вчерашнего тестирования я убрал эту новую возможность, т.к. куча жалоб на лаги.
Re: Проигрование музыки 0.3d -
Geryy - 06.12.2011
Плохо что нельзя скрыть эту белую надпись внизу (что проигрывается) прям поверх спидометра появляется..
Re: Проигрование музыки 0.3d -
Stepan23 - 06.12.2011
А как сделать чтобы она для всех игроков играла?
Re: Проигрование музыки 0.3d -
DiSE - 07.12.2011
циклом for
Re: Проигрование музыки 0.3d -
Stepan23 - 07.12.2011
подробнее можно?
Re: Проигрование музыки 0.3d -
ZiGGi - 07.12.2011
Quote:
Originally Posted by DiSE
циклом for
|
Не обязательно, можно любым циклом.
Quote:
Originally Posted by Stepan23
подробнее можно?
|
pawn Code:
stock PlayAudioStreamForAll(url[], Float:posX = 0.0, Float:posY = 0.0, Float:posZ = 0.0, Float:distance = 50.0, usepos = 0)
{
for (new playerid=0; playerid<MAX_PLAYERS; playerid++)
{
PlayAudioStreamForPlayer(playerid, url, posX, posY, posZ, distance, usepos);
}
return 1;
}
Но такой цикл не рекомендуется юзать, если есть foreach, то пользуйся foreach (Player,playerid)
Re: Проигрование музыки 0.3d -
DiSE - 07.12.2011
Сам на
for написал
Re: Проигрование музыки 0.3d -
Stepan23 - 07.12.2011
PHP Code:
#define PLAY_DISTANCE 20.0
#define PLAY_STREME "http://muzyaka.on.ufanet.ru/mp3/russian_way.mp3"
if(strcmp(cmdtext, "/play", true, 5) == 0) {
{
new Float:pos[3];
GetPlayerPos(playerid, pos[3], pos[3], pos[3]);
PlayAudioStreamForPlayer(playerid, PLAY_STREME, pos[3], pos[3], pos[3], PLAY_DISTANCE, true);
return 1;
}
PHP Code:
stock PlayAudioStreamForAll(url[], Float:posX = 0.0, Float:posY = 0.0, Float:posZ = 0.0, Float:distance = 50.0, usepos = 0)
{
for (new playerid=0; playerid<MAX_PLAYERS; playerid++)
{
PlayAudioStreamForPlayer(playerid, url, posX, posY, posZ, distance, usepos);
}
return 1;
}
Сток в конец и все музыка будет играть рядом стоящим людям?)