Нужен модифицированный плагин RES

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

September

Участник
Сообщения
5,238
Реакции
2,742
  • Команда форума
  • #1
Всем привет. Я использую данный плагин [CS:GO/CSS] AbNeR Round End Sounds V3.4 01/24/2016 - AlliedModders для музыки в конце раунда, и минус всех подобных плагинов, что если у тебя ~40 треков, то играют они хоть и в рандоме, но часто повторяются, и услышать все практически анриил.

Что я хочу: Чтобы проигранная (рандомно) песня сохранялась в базу данных, и пока все песни не проиграют, то она играть не будет. И даже если карта сменится, то песни которые были на прошлой не повторялись. Игра CS:GO

Мой скайп: excluzive72
Если кто-то может сделать бесплатно - буду любезен, а нет - договоримся о цене :-)
 

Primo

типа серьёзный тип
Сообщения
1,532
Реакции
759
А проигрывать просто по порядку, начиная с первого, не проще?
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
играют они хоть и в рандоме, но часто повторяются, и услышать все практически анриил
1) Найти в коде оригинала "слово" GetRandomInt и заменить на:
PHP:
Math_GetRandomInt
2) В самом конце, с новой чистой строчки добавить код:
PHP:
#define SIZE_OF_INT         2147483647

stock Math_GetRandomInt(min, max)
{
	new random = GetURandomInt();
	
	if (random == 0) {
		random++;
	}

	return RoundToCeil(float(random) / (float(SIZE_OF_INT) / float(max - min + 1))) + min - 1;
}
PHP:
#define SIZE_OF_INT         2147483647

stock int Math_GetRandomInt(int min, int max)
{
	int random = GetURandomInt();
	
	if (random == 0) {
		random++;
	}

	return RoundToCeil(float(random) / (float(SIZE_OF_INT) / float(max - min + 1))) + min - 1;
}
 
Последнее редактирование:

September

Участник
Сообщения
5,238
Реакции
2,742
  • Команда форума
  • #4
А проигрывать просто по порядку, начиная с первого, не проще?

Сам подумай. Чтобы за карту было отыграно 40 раундов? И каждую карту одни и те же песни по порядку - БРЕД.
--- Добавлено позже ---
1) Найти в коде оригинала "слово" GetRandomInt и заменить на:
PHP:
Math_GetRandomInt
2) В самом конце, с новой чистой строчки добавить код:
PHP:
stock Math_GetRandomInt(min, max)
{
    new random = GetURandomInt();

    if (random == 0) {
        random++;
    }

    return RoundToCeil(float(random) / (float(SIZE_OF_INT) / float(max - min + 1))) + min - 1;
}
 

Вложения

  • Myy9DVo7.png
    Myy9DVo7.png
    4.3 КБ · Просмотры: 80
Последнее редактирование:

Primo

типа серьёзный тип
Сообщения
1,532
Реакции
759
@September, всмысле каждую карту? У тебя все треки играют по порядку, независимо от карты или раунда. Карта сменилась, порядок продолжился с последней проигранной песни. Песни пойдут по второму кругу только в том случае, если закончился первый.
 

September

Участник
Сообщения
5,238
Реакции
2,742
  • Команда форума
  • #6
@September, всмысле каждую карту? У тебя все треки играют по порядку, независимо от карты или раунда. Карта сменилась, порядок продолжился с последней проигранной песни. Песни пойдут по второму кругу только в том случае, если закончился первый.
В этом плагине не так предусмотрено.
--- Добавлено позже ---

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

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
как сделать логи
Для такого лога уже нужно смотреть код, чтобы знать место проигрывания и вывести имя музыкального файла. Неизвестно, какую ты версию используешь: именно самую последнюю из темы, что закреплена архивом или какую-либо промежуточную. Оффтоп А если в исходнике вносились изменения - обязательно прикрепить свой файл оригинала.
 

September

Участник
Сообщения
5,238
Реакции
2,742
  • Команда форума
  • #9
Для такого лога уже нужно смотреть код, чтобы знать место проигрывания и вывести имя музыкального файла. Неизвестно, какую ты версию используешь: именно самую последнюю из темы, что закреплена архивом или какую-либо промежуточную. Оффтоп А если в исходнике вносились изменения - обязательно прикрепить свой файл оригинала.
 

Вложения

  • abner_res.sp
    11.8 КБ · Просмотры: 8

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
логи, чтобы писалось какая музыка проигралась
Найди обе строчки:
C-подобный:
PlayMusicAll(szSound);
И после неё добавь новую строку:
PHP:
LogToFileEx("abner_res", "%i:    %s", soundToPlay, szSound);
Лог появится в основной папке игры (cstrike/abner_res.log или csgo/abner_res.log).
 

September

Участник
Сообщения
5,238
Реакции
2,742
  • Команда форума
  • #11
Актуально. Использовал кучу плагинов, но рандом везде хреновый. 40 песен, и некоторые просто очень часто повторяются.
Возьмется кто за написание? Суть изложена в 1 посте
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
даже если карта сменится
Если обновлять звуки только через команду sm_refresh, устроит? Т.е., новые звуки при смене карты подгружаться не будут, пока её не прописать. Пропишешь - всё начнёт "повторять" заново.
 

September

Участник
Сообщения
5,238
Реакции
2,742
  • Команда форума
  • #13
Если обновлять звуки только через команду sm_refresh, устроит? Т.е., новые звуки при смене карты подгружаться не будут, пока её не прописать. Пропишешь - всё начнёт "повторять" заново.

Чет все так запутанно написал)
 

All

Random
Сообщения
553
Реакции
228
Очень актуальная тема. Сам искал полный рандом проигрывания треков. завтра проверю.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу