Возник вопрос по реализации проигрывания звука.

santazx

Участник
Сообщения
23
Реакции
5
Всем доброй ночи или утра, суть идеи в том чтобы звук проигрался один раз игроку и только после рестарта карты он бы смог по новой проиграть его.

Я набросал кусочек кода, он работает рандомно выбирая звук через case :)

PHP:
                            for (new i = 1; i <= MaxClients; i++)
                            {
                                if (IsClientInGame(i) && !IsFakeClient(i))
                                {
                                    switch (GetRandomInt(1, 2))
                                    {
                                        case 1:
                                        {
                                            ClientCommand(i, "play music/hl1_song25_remix3.mp3");
                                        }
                                        case 2:
                                        {
                                            ClientCommand(i, "play music/hl1_song20.mp3");
                                        }
                                    }
                                }
                            }
Но не хватает проверки на то чтобы игрок активировал его всего лишь раз на карте.
Может кто помочь с этим делом, набросать свой пример проверки? :beer:
 

Саша Шеин

Кому костылей?
Сообщения
1,697
Реакции
621
santazx, new String(или bool):X[MAXPLAYERS+1], после проигрывания ставить в сост 1 или можно через куки. В каждом варианте есть свои минусы... Выбири как тебе удобнее.
 

santazx

Участник
Сообщения
23
Реакции
5
santazx, new String(или bool):X[MAXPLAYERS+1], после проигрывания ставить в сост 1 или можно через куки. В каждом варианте есть свои минусы... Выбири как тебе удобнее.

Можно подробнее как это провернуть на примере выше, я только изучаю pawno script :)
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
звук проигрался один раз игроку
У тебя всем игрокам. Больше информации, меньше догадок и телепатии!
Тоже догадывайся...
PHP:
new bool:g_bEnable[MAXPLAYERS+1];

//Вызов функции
	if(g_bEnable[client] == false)
	{
		for (new i = 1; i <= MaxClients; i++)
                            {
                                if (IsClientInGame(i) && !IsFakeClient(i))
                                {
                                    switch (GetRandomInt(1, 2))
                                    {
                                        case 1:
                                        {
                                            ClientCommand(i, "play music/hl1_song25_remix3.mp3");
                                        }
                                        case 2:
                                        {
                                            ClientCommand(i, "play music/hl1_song20.mp3");
                                        }
                                    }
                                }
                            } 
							g_bEnable[client] = true;
	}

public OnMapEnd()
{
	for(nee i=1; i<=MaxClients; i++) g_bEnable[i] = false;
}
 

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
Музыка должна быть одной и той же на карте? или каждый раз случайная песня?
 

santazx

Участник
Сообщения
23
Реакции
5
Музыка должна быть одной и той же на карте? или каждый раз случайная песня?

Там в первом топике уже сделано было через case с GetRandomInt. :)
Осталось проверку только сделать и спасибо кто помог. :)
 

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
Ты меня не понял.

Когда должен проигрываться звук? Кому именно? Активировал - это что значит? Включил проигрывание СЛУЧАЙНОГО звука каждый раз или же ВЫБРАЛ СЛУЧАЙНО ОДИН РАЗ песню и она сохраняется и играет у него на карте, а далее, после смены карты, выбирается новый звук?
 

santazx

Участник
Сообщения
23
Реакции
5
Ты меня не понял.

Когда должен проигрываться звук? Кому именно? Активировал - это что значит? Включил проигрывание СЛУЧАЙНОГО звука каждый раз или же ВЫБРАЛ СЛУЧАЙНО ОДИН РАЗ песню и она сохраняется и играет у него на карте, а далее, после смены карты, выбирается новый звук?

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