Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Добавить звуки в плагин

, Указать правильно путь [РЕШЕНО]
Статус пользователя VenigreT
сообщение 23.7.2017, 18:36
Сообщение #1
Стаж: 10 лет

Сообщений: 674
Благодарностей: 202
Полезность: 537

Здравствуйте.
Помогите пожалуйста правильно вписать поочерёдность звуков с названием "thunder" "thunder1" и так 5 строчек thunder 1-2-3-4-5 (звуки добавлю сам)
Код:
#include <amxmodx>
#include <fakemeta>

new cvar_lights

public plugin_init()
{
register_plugin("Lightning", "1.0", "Cheap_Suit")
cvar_lights = register_cvar("bh_lights", "c")
set_task(3.0, "lightning")
}

public lights()
{
static light[2]
get_pcvar_string(cvar_lights, light, 1)
engfunc(EngFunc_LightStyle, 0, light)
}

public lightning()
{
static light[2]
get_pcvar_string(cvar_lights, light, 1)
engfunc(EngFunc_LightStyle, 0, light)

set_task(random_float(20.0,30.0), "thunder")
}

public thunder()
{
engfunc(EngFunc_LightStyle, 0, "v")
client_cmd(0,"speak ambience/thunder_clap.wav")
set_task(3.0,"lightning")
}


Отредактировал: VenigreT, - 23.7.2017, 18:37
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   Цитировать сообщение
Статус пользователя JIuXeP
сообщение 24.7.2017, 1:44
Сообщение #2


Стаж: 12 лет

Сообщений: 338
Благодарностей: 205
Полезность: 792

Задача не ясна...

Таски со сменой освещения и проигрыванием "громов" должны "выполняться" постоянно, или по 5 раз ? Если постоянно, то зачем поочередно проигрывать звуки? Лучше использовать рандом

Можно работать с одним таском, а не регистрировать каждый раз новый.
поочередно
Код:
#include <amxmodx>
#include <fakemeta>

#define TIME_THUNDER random_float(20.0, 30.0)
#define TIME_LIGHT 3.0

new const sound_thunders[][] = {
"", // pustishka
"thunder1.wav",
"thunder2.wav",
"thunder3.wav",
"thunder4.wav",
"thunder5.wav",
};

new cvar_lights;
new thunder = 1;
new bool:is_thunder = false;

public plugin_init()
{
cvar_lights = register_cvar("bh_lights", "c");
set_task(TIME_THUNDER, "test", .flags = "b");
}

public plugin_precache()
{
for (new i = 1; i < sizeof sound_thunders; i++)
engfunc(EngFunc_PrecacheSound, sound_thunders[i]);
}

public test(task_id)
{
if (is_thunder)
{
engfunc(EngFunc_LightStyle, 0, "v");
client_cmd(0, "spk %s", sound_thunders[thunder]);

if (++thunder == 6 /* sizeof sound_thunders*/)
thunder = 1;

is_thunder = false;

change_task(task_id, TIME_LIGHT);
}
else // lightning
{
static light[2];
get_pcvar_string(cvar_lights, light, 1);
engfunc(EngFunc_LightStyle, 0, light);

is_thunder = true;

change_task(task_id, TIME_THUNDER);
}
}
рандомно
Код:
#include <amxmodx>
#include <fakemeta>

#define TIME_THUNDER random_float(20.0, 30.0)
#define TIME_LIGHT 3.0

new const sound_thunders[][] = {
"", // pustishka
"thunder1.wav",
"thunder2.wav",
"thunder3.wav",
"thunder4.wav",
"thunder5.wav",
};

new cvar_lights;
new bool:is_thunder = false;

public plugin_init()
{
cvar_lights = register_cvar("bh_lights", "c");
set_task(TIME_THUNDER, "test", .flags = "b");
}

public plugin_precache()
{
for (new i = 1; i < sizeof sound_thunders; i++)
engfunc(EngFunc_PrecacheSound, sound_thunders[i]);
}

public test(task_id)
{
if (is_thunder)
{
engfunc(EngFunc_LightStyle, 0, "v");
client_cmd(0, "spk %s", sound_thunders[random_num(1, 5 /* sizeof sound_thunders - 1 */)]);

is_thunder = false;

change_task(task_id, TIME_LIGHT);
}
else // lightning
{
static light[2];
get_pcvar_string(cvar_lights, light, 1);
engfunc(EngFunc_LightStyle, 0, light);

is_thunder = true;

change_task(task_id, TIME_THUNDER);
}
}

Но смотрится все это скуповато.. )

Отредактировал: JIuXeP, - 24.7.2017, 1:59
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя VenigreT
сообщение 24.7.2017, 9:39
Сообщение #3
Стаж: 10 лет

Сообщений: 674
Благодарностей: 202
Полезность: 537

Не комплируется. (Этот плагин под зомби мод biohazard)
Ошибки:
invalid expression, assumed zero
(18) : error 008: must be a constant expression; assumed zero
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя JIuXeP
сообщение 24.7.2017, 10:57
Сообщение #4


Стаж: 12 лет

Сообщений: 338
Благодарностей: 205
Полезность: 792

Код:
new const sound_thunders[][] = {
"", // pustishka
"thunder1.wav",
"thunder2.wav",
"thunder3.wav",
"thunder4.wav",
"thunder5.wav"//,
};
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: