Доступ к архиву

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

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

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

Рандомные звуки SAMP

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

iWors

Эксперт
Доброго времени суток, форумчане.
По просьбе одного человека из своей группы, решил сделать элементарный мануальчик, с помощью которого мы сможет узнать ID нужного нам звука и прослушать его прямо из игры.
И Вы сразу же задаетесь вопросом, а зачем этот манул, если есть различные сайты с готовыми проигрывающими звуками? Думаю ответ один. Для каждого по разному, все на вкус и цвет.

- 62 звука (добавить их очень просто)
- рандомное проигрывание звука при вводе команды /sounds
- оптимизация команды

К макросам (#define)
PHP:
#define MAX_SOUNDS (62) // [Количество звуков]
Ко всем enum
PHP:
enum THESE_SOUNDS // название структуры массива
{
	tName[50], // [Имя звука]
	tID // [ID звука]
};
Ко всем new
PHP:
static SOUNDS_GTA[MAX_SOUNDS][THESE_SOUNDS] = { // секция данных. С помощью SOUNDS_GTA мы будем рандомно воспроизводить звук при вводе команды | MAX_SOUNDS - вкл. звук который имеется в данном массиве | Считываем имя звука и его ID

	{ "SOUND_BONNET_DENT",                      1009 },
	{ "SOUND_CRANE_MOVE_START",                 1020 },
	{ "SOUND_CRANE_MOVE_STOP",                      1021 },
	{ "SOUND_CRANE_EXIT",                       1022 },
	{ "SOUND_WHEEL_OF_FORTUNE_CLACKER",         1027 },
	{ "SOUND_SHUTTER_DOOR_START",               1035 },
	{ "SOUND_SHUTTER_DOOR_STOP",                1036 },
	{ "SOUND_PARACHUTE_OPEN",                       1039 },
	{ "SOUND_AMMUNATION_BUY_WEAPON",                1052 },
	{ "SOUND_AMMUNATION_BUY_WEAPON_DENIED",         1053 },
	{ "SOUND_SHOP_BUY",                         1054 },
	{ "SOUND_SHOP_BUY_DENIED",                      1055 },
	{ "SOUND_RACE_321",                         1056 },
	{ "SOUND_RACE_GO",                              1057 },
	{ "SOUND_PART_MISSION_COMPLETE",                1058 },
	{ "SOUND_GOGO_TRACK_START",                 1062 },
	{ "SOUND_GOGO_TRACK_STOP",                      1063 },
	{ "SOUND_DUAL_TRACK_START",                 1068 },
	{ "SOUND_DUAL_TRACK_STOP",                      1069 },
	{ "SOUND_BEE_TRACK_START",                      1076 },
	{ "SOUND_BEE_TRACK_STOP",                       1077 },
	{ "SOUND_ROULETTE_ADD_CASH",                1083 },
	{ "SOUND_ROULETTE_REMOVE_CASH",                 1084 },
	{ "SOUND_ROULETTE_NO_CASH",                 1085 },
	{ "SOUND_BIKE_PACKER_CLUNK",                1095 },
	{ "SOUND_AWARD_TRACK_START",                1097 },
	{ "SOUND_AWARD_TRACK_STOP",                 1098 },
	{ "SOUND_MESH_GATE_OPEN_START",                 1100 },
	{ "SOUND_MESH_GATE_OPEN_STOP",              1101 },
	{ "SOUND_PUNCH_PED",                        1130 },
	{ "SOUND_AMMUNATION_GUN_COLLISION",         1131 },
	{ "SOUND_CAMERA_SHOT",                      1132 },
	{ "SOUND_BUY_CAR_MOD",                      1133 },
	{ "SOUND_BUY_CAR_RESPRAY",                      1134 },
	{ "SOUND_BASEBALL_BAT_HIT_PED",                 1135 },
	{ "SOUND_STAMP_PED",                        1136 },
	{ "SOUND_CHECKPOINT_AMBER",                 1137 },
	{ "SOUND_CHECKPOINT_GREEN",                 1138 },
	{ "SOUND_CHECKPOINT_RED",                       1139 },
	{ "SOUND_CAR_SMASH_CAR",                        1140 },
	{ "SOUND_CAR_SMASH_GATE",                       1141 },
	{ "SOUND_OTB_TRACK_START",                      1142 },
	{ "SOUND_OTB_TRACK_STOP",                       1143 },
	{ "SOUND_PED_HIT_WATER_SPLASH",                 1144 },
	{ "SOUND_RESTAURANT_TRAY_COLLISION",        1145 },
	{ "SOUND_SWEETS_HORN",                      1147 },
	{ "SOUND_MAGNET_VEHICLE_COLLISION",         1145 },
	{ "SOUND_PROPERTY_PURCHASED",               1149 },
	{ "SOUND_PICKUP_STANDARD",                      1150 },
	{ "SOUND_GARAGE_DOOR_START",                1153 },
	{ "SOUND_GARAGE_DOOR_STOP",                 1154 },
	{ "SOUND_PED_COLLAPSE",                         1163 },
	{ "SOUND_SHUTTER_DOOR_SLOW_START",              1165 },
	{ "SOUND_SHUTTER_DOOR_SLOW_STOP",               1166 },
	{ "SOUND_RESTAURANT_CJ_PUKE",               1169 },
	{ "SOUND_DRIVING_AWARD_TRACK_START",        1183 },
	{ "SOUND_DRIVING_AWARD_TRACK_STOP",         1184 },
	{ "SOUND_BIKE_AWARD_TRACK_START",               1185 },
	{ "SOUND_BIKE_AWARD_TRACK_STOP",                1186 },
	{ "SOUND_PILOT_AWARD_TRACK_START",              1187 },
	{ "SOUND_PILOT_AWARD_TRACK_STOP",               1188 },
	{ "SOUND_SLAP",                                 1190 } };
К командам добавляем
- DC_CMD

PHP:
CMD:sounds(playerid, params[])
{
    new sounds = random(MAX_SOUNDS); // [делаем рандомное воспроизведение звука из структуры static SOUNDS_GTA]
    PlayerPlaySound(playerid, SOUNDS_GTA[sounds][tID], 0.0, 0.0, 0.0); // [запускаем звук]
    static const fmt_str[] = "Имя: %s | ID: %d"; 
    new string[sizeof(fmt_str) - 2 + 30 - 2 + 5]; // [форматируем]
    format(string, sizeof(string), fmt_str, SOUNDS_GTA[sounds][tName], SOUNDS_GTA[sounds][tID]); // [выполняем отформатированный текст, звук, имя и id в чат]
    SendClientMessage(playerid, -1, string); // [ текст отправлен ]
    return true;
}


---------- Сообщение добавлено в 15:29 ---------- Предыдущее сообщение добавлено в 15:14 ----------

Просьба администрацию перенести тему в «Готовые решения», а то я похоже ошибся разделом :)
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу