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

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

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

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

Добавить произношение звуков в Sma

Статус пользователя plahov
сообщение 10.2.2016, 20:10
Сообщение #1
Стаж: 12 лет
Город: Молодечно

Сообщений: 23
Благодарностей: 1
Полезность: < 0

Добрый вечер. Помогите кто добавить звуки в плагин. Пробовал сам добавлять, ошибки при компиляции!
Хочу добавить вот эти произношение звуков! 1) grenade.wav 2) humililation.wav 3) ohno.wav
Код
#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>

new const red_color[14] = { 250, 50, 250, 250, 250, 250, 250, 50, 250, 250, 250, 250, 250, 250 }
new const green_color[14] = { 250, 150, 250, 150, 0, 250, 50, 150, 150, 0, 150, 250, 150, 0 }
new const blue_color[14] = { 250, 250, 50, 50, 0, 50, 250, 250, 50, 0, 250, 50, 50, 0 }
new const cso_kill_headshot[] = "cso/headshot.wav"
new const cso_kill_sounds[14][] =
{
    "cso/kill1.wav",
    "cso/kill2.wav",
    "cso/kill3.wav",
    "cso/kill4.wav",
    "cso/kill5.wav",
    "cso/kill6.wav",
    "cso/kill7.wav",
    "cso/kill8.wav",
    "cso/kill9.wav",
    "cso/kill10.wav",
    "cso/kill11.wav",
    "cso/kill12.wav",
    "cso/kill13.wav",
    "cso/kill14.wav"
}

new Float:g_iTask[33];
new g_iKills[33];
new g_center1_sync;

public plugin_init()
{
    register_plugin("Kill's Like CS Online", "0.1", "fl0wer")

    RegisterHam(Ham_Killed, "player", "Player_Killed_Post", 1)
    RegisterHam(Ham_Player_PostThink, "player", "Player_PostThink_Post", 1)

    g_center1_sync = CreateHudSyncObj()
}

public plugin_precache()
{
    for(new i = 0; i < sizeof cso_kill_sounds; i++)
        precache_sound(cso_kill_sounds[i])

    precache_sound(cso_kill_headshot)
}

public Player_Killed_Post(victim, attacker, shouldgib)
{
    if(!is_user_connected(attacker))
        return;

    if(victim == attacker)
        return;

    g_iKills[attacker]++;
    g_iTask[attacker] = get_gametime();
    g_iKills[victim] = 0;
    g_iTask[victim] = 0.0;

    new speak_kills = g_iKills[attacker] - 1;

    if(get_pdata_int(victim, 75) == HIT_HEAD)
    {
        client_cmd(attacker, "speak ^"%s^"", cso_kill_headshot)
    }
    else
    {
        client_cmd(attacker, "speak ^"%s^"", cso_kill_sounds[speak_kills])
    }
    set_hudmessage(red_color[g_iKills[attacker]], green_color[g_iKills[attacker]], blue_color[g_iKills[attacker]], -1.0, 0.25, 0, 0.1, 3.0, 0.1, 0.1, -1)
    ShowSyncHudMsg(attacker, g_center1_sync, "%d KILL!", g_iKills[attacker])
}

public Player_PostThink_Post(id)
{
    if(!is_user_alive(id))
        return;

    if(g_iTask[id] + 4.0 <= get_gametime())
    {
        g_iKills[id] = max(g_iKills[id] -= 1, 0);
        g_iTask[id] = get_gametime();
    }
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Zylex
сообщение 11.2.2016, 16:26
Сообщение #2


Стаж: 10 лет

Сообщений: 128
Благодарностей: 6
Полезность: 40

plahov, пробуй ;)
Cкрытый текст
Код
#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>

new const red_color[14] = { 250, 50, 250, 250, 250, 250, 250, 50, 250, 250, 250, 250, 250, 250 }
new const green_color[14] = { 250, 150, 250, 150, 0, 250, 50, 150, 150, 0, 150, 250, 150, 0 }
new const blue_color[14] = { 250, 250, 50, 50, 0, 50, 250, 250, 50, 0, 250, 50, 50, 0 }
new const cso_kill_headshot[] = "cso/headshot.wav"
new const cso_kill_sounds[14][] =
{
    "cso/grenade.wav",
    "cso/humililation.wav",
    "cso/ohno.wav",  
    "cso/kill1.wav",
    "cso/kill2.wav",
    "cso/kill3.wav",
    "cso/kill4.wav",
    "cso/kill5.wav",
    "cso/kill6.wav",
    "cso/kill7.wav",
    "cso/kill8.wav",
    "cso/kill9.wav",
    "cso/kill10.wav",
    "cso/kill11.wav",
    "cso/kill12.wav",
    "cso/kill13.wav",
    "cso/kill14.wav"
}

new Float:g_iTask[33];
new g_iKills[33];
new g_center1_sync;

public plugin_init()
{
    register_plugin("Kill's Like CS Online", "0.1", "fl0wer")

    RegisterHam(Ham_Killed, "player", "Player_Killed_Post", 1)
    RegisterHam(Ham_Player_PostThink, "player", "Player_PostThink_Post", 1)

    g_center1_sync = CreateHudSyncObj()
}

public plugin_precache()
{
    for(new i = 0; i < sizeof cso_kill_sounds; i++)
        precache_sound(cso_kill_sounds[i])

    precache_sound(cso_kill_headshot)
}

public Player_Killed_Post(victim, attacker, shouldgib)
{
    if(!is_user_connected(attacker))
        return;

    if(victim == attacker)
        return;

    g_iKills[attacker]++;
    g_iTask[attacker] = get_gametime();
    g_iKills[victim] = 0;
    g_iTask[victim] = 0.0;

    new speak_kills = g_iKills[attacker] - 1;

    if(get_pdata_int(victim, 75) == HIT_HEAD)
    {
        client_cmd(attacker, "speak ^"%s^"", cso_kill_headshot)
    }
    else
    {                      
        client_cmd(attacker, "speak ^"%s^"", cso_kill_sounds[speak_kills])
    }
    set_hudmessage(red_color[g_iKills[attacker]], green_color[g_iKills[attacker]], blue_color[g_iKills[attacker]], -1.0, 0.25, 0, 0.1, 3.0, 0.1, 0.1, -1)
    ShowSyncHudMsg(attacker, g_center1_sync, "%d KILL!", g_iKills[attacker])
}

public Player_PostThink_Post(id)
{
    if(!is_user_alive(id))
        return;

    if(g_iTask[id] + 4.0 <= get_gametime())
    {
        g_iKills[id] = max(g_iKills[id] -= 1, 0);
        g_iTask[id] = get_gametime();
    }
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 11.2.2016, 17:20
Сообщение #3
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

Zylex, новые элементы в массив добавил, а размерность не увеличил. Будет ошибка index out of bounds.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Zylex
сообщение 11.2.2016, 18:29
Сообщение #4


Стаж: 10 лет

Сообщений: 128
Благодарностей: 6
Полезность: 40

Цитата(STR@TEG @ 11.2.2016, 18:20) *
Zylex, новые элементы в массив добавил, а размерность не увеличил. Будет ошибка index out of bounds.

Ты хочешь скачать Данные массива превышают его размер
Размер массива слишком мал и его необходимо увеличить
И каким образом его можно увеличить?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя grushagru
сообщение 11.2.2016, 19:43
Сообщение #5
Стаж: 11 лет

Сообщений: 107
Благодарностей: 9
Полезность: 69

plahov,
Cкрытый текст

#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>

new const red_color[14] = { 250, 50, 250, 250, 250, 250, 250, 50, 250, 250, 250, 250, 250, 250 }
new const green_color[14] = { 250, 150, 250, 150, 0, 250, 50, 150, 150, 0, 150, 250, 150, 0 }
new const blue_color[14] = { 250, 250, 50, 50, 0, 50, 250, 250, 50, 0, 250, 50, 50, 0 }
new const cso_kill_grenade[] = "cso/grenade.wav"
new const cso_kill_humililation[] = "cso/humililation.wav"
new const cso_kill_ohno[] = "cso/ohno.wav"
new const cso_kill_headshot[] = "cso/headshot.wav"
new const cso_kill_sounds[14][] =
{
"cso/kill1.wav",
"cso/kill2.wav",
"cso/kill3.wav",
"cso/kill4.wav",
"cso/kill5.wav",
"cso/kill6.wav",
"cso/kill7.wav",
"cso/kill8.wav",
"cso/kill9.wav",
"cso/kill10.wav",
"cso/kill11.wav",
"cso/kill12.wav",
"cso/kill13.wav",
"cso/kill14.wav"
}

new Float:g_iTask[33];
new g_iKills[33];
new g_center1_sync;

public plugin_init()
{
register_plugin("Kill's Like CS Online", "0.1", "fl0wer")

RegisterHam(Ham_Killed, "player", "Player_Killed_Post", 1)
RegisterHam(Ham_Player_PostThink, "player", "Player_PostThink_Post", 1)

g_center1_sync = CreateHudSyncObj()
}

public plugin_precache()
{
for(new i = 0; i < sizeof cso_kill_sounds; i++)
precache_sound(cso_kill_sounds[i])

precache_sound(cso_kill_headshot)
precache_sound(cso_kill_grenade)
precache_sound(cso_kill_humililation)
precache_sound(cso_kill_ohno)

}

public Player_Killed_Post(victim, attacker, shouldgib)
{
if(!is_user_connected(attacker))
return;

if(victim == attacker)
return;

g_iKills[attacker]++;
g_iTask[attacker] = get_gametime();
g_iKills[victim] = 0;
g_iTask[victim] = 0.0;

new speak_kills = g_iKills[attacker] - 1;

if(get_pdata_int(victim, 75) == HIT_HEAD)
{
client_cmd(attacker, "speak ^"%s^"", cso_kill_headshot)
}
else
{
client_cmd(attacker, "speak ^"%s^"", cso_kill_sounds[speak_kills])
}
set_hudmessage(red_color[g_iKills[attacker]], green_color[g_iKills[attacker]], blue_color[g_iKills[attacker]], -1.0, 0.25, 0, 0.1, 3.0, 0.1, 0.1, -1)
ShowSyncHudMsg(attacker, g_center1_sync, "%d KILL!", g_iKills[attacker])
}

public Player_PostThink_Post(id)
{
if(!is_user_alive(id))
return;

if(g_iTask[id] + 4.0 <= get_gametime())
{
g_iKills[id] = max(g_iKills[id] -= 1, 0);
g_iTask[id] = get_gametime();
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 11.2.2016, 19:57
Сообщение #6
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

Цитата(Zylex @ 11.2.2016, 20:29) *
Ты хочешь скачать Данные массива превышают его размер
Размер массива слишком мал и его необходимо увеличить
И каким образом его можно увеличить?
Код:
new const cso_kill_sounds[14][]
14 - размерность массива.

grushagru, в твоем коде есть прекеш звуков, но нет их воспроизведения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя plahov
сообщение 15.2.2016, 18:31
Сообщение #7
Стаж: 12 лет
Город: Молодечно

Сообщений: 23
Благодарностей: 1
Полезность: < 0

grushagru, А как еще сделать, чтобы звуки продолжали дальше произноситься, а не каждый раунд обнулялись?)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: