Здравствуйте уважаемые форумчане прошу вас о помощи переделал плагин Ultimate Kill Sound под себя но при когда начинаю комплировать то компилятор выдает вот такие ошибки
Код
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team
ut_killstreak_adv.sma(131) : error 029: invalid expression, assumed zero
ut_killstreak_adv.sma(131 -- 133) : error 008: must be a constant expression; assumed zero
ut_killstreak_adv.sma(157) : error 052: multi-dimensional arrays must be fully initialized
ut_killstreak_adv.sma(174) : error 018: initialization data exceeds declared size
ut_killstreak_adv.sma(347) : error 017: undefined symbol "preplist"
ut_killstreak_adv.sma(347) : warning 215: expression has no effect
ut_killstreak_adv.sma(347) : error 001: expected token: ";", but found "]"
ut_killstreak_adv.sma(347) : error 029: invalid expression, assumed zero
ut_killstreak_adv.sma(347) : fatal error 107: too many error messages on one line
Compilation aborted.
8 Errors.
Исходник плагина
Код:
/* Ultimate KillStreak Advanced
Автор перевода Sho0ter
Воспроизводит звуки убийств противников , убийства в голову, убийств ножом, первая кровь , двойных убийств, начала раунда.
1) 10 звуков убийств противников:
Проигрывает звук TripleKill
Проигрывает звук MultiKill (не стандартный)
Проигрывает звук UltraKill (не стандартный)
Проигрывает звук KillingSpree (не стандартный)
Проигрывает звук MegaKill
Проигрывает звук Holy Shit
Проигрывает звук Ludicrouskill
Проигрывает звук Rampage
Проигрывает звук Unstoppable (не стандартный)
Проигрывает звук Monster Kill (не стандартный)
2) 3 звука Headshot (в случайном порядке)
3) 3 звука Knife Kill (в случайном порядке)
4) 2 звука First Blood (в случайном порядке))
5) 3 звука Round Counter ((в случайном порядке))
6) 1 звук Grenade Kill Events
7) 6 звуков самоубийства (в случайном порядке)
8) 2 звука Double Kill (в случайном порядке)
Переменные:
- ut_killstreak_advanced (по умолчанию 3) - переключение режима работы
1 = Только цветные сообщения
2 = Только звуки
3 = Звуки и цветные сообщения
Другие цифры выключают плагин
- ut_killstreak_hs (по умолчанию 1) -> вкл/выкл убийства в голову
Включает 2 звука, цветные сообщения
- ut_killstreak_knife (по умолчанию 1) -> вкл/выкл убийства ножом
Включает 3 звука, цветные сообщения
- ut_firstblood (по умолчанию 1) -> вкл/выкл первую кровь
Включает 2 звука, цветные сообщения
- ut_nade_events (по умолчанию 1) -> вкл/выкл убийства гранатой
Включает 2 звука, цветные сообщения
- ut_suicide_events (по умолчанию 1) -> вкл/выкл самоубийства
Включает 6 звуков, цветные сообщения
- ut_doublekill_events (по умолчанию 1) -> вкл/выкл двойные убийства
Включает 2 звука, цветные сообщения
- ut_roundcout_sounds (по умолчанию 1) -> вкл/выкл начало раунда
Включает 3 звука, цветные сообщения
* Авторы:
- xxAvalancheXx for double kill codes
- jim_yang for some sugestion and grenade events codes
- bo0m! for help me with an register event function
- Duca for Streak Mode Example
*/
#include <amxmodx>
#include <amxmisc>
#define PLUGIN_NAME "Ultimate KillStreak Advanced"
#define PLUGIN_VERSION "0.7"
#define PLUGIN_AUTHOR "SAMURAI"
new kills[33] = {0,...};
new deaths[33] = {0,...};
new firstblood
new kill[33][24];
#define LEVELS 10
#define hsounds 3
#define knsounds 3
#define fbsounds 1
#define prpsounds 3
#define maxdbsounds 1
#define TASK_CLEAR_KILL 100
new hsenable
new knifeenable
new firstbloodenable
new nadecvar
new suicidecvar
new cvardouble
new rnstartcvar
new killstreaktype
new levels[10] = {3, 4, 6, 8, 10, 12,14,15,16,18};
new sounds[10][] =
{
"ultimate_sounds/triplekill",
"ultimate_sounds/multikill",
"ultimate_sounds/ultrakill",
"ultimate_sounds/killingspree",
"ultimate_sounds/megakill",
"ultimate_sounds/holyshit",
"ultimate_sounds/ludicrouskill",
"ultimate_sounds/rampage",
"ultimate_sounds/unstoppable",
"ultimate_sounds/monsterkill"
};
new messages[10][] =
{
"%s Сделал тройное убийство!",
"%s Сделал несколько убийств!",
"%s Ультра убийца!",
"%s В убийственном кутеже!",
"%s Мега убийца!",
"%s, Святое гомно!",
"%s, Это уже не смешно!",
"%s Неиствует!",
"%s Непреодалимый!",
"%s Монстр Убийца!!!"
};
new hslist[hsounds][] =
{
"ultimate_sounds/headshot",
}
new fblist[fbsounds][]=
{
"ultimate_sounds/firstblood",
}
new fbmessages[2][]=
{
"%s Сделал первое убийство!",
"%s Почувствувал вкус первой крови!"
}
new hsmessages[4][]=
{
"%s Снес башку %s !",
"%s Попал прямо в голову %s !",
"%s Превратил голову %s в месиво !",
"%s Положил %s превосходным выстрелом в голову !"
}
new knlist[knsounds][]=
{
"ultimate_sounds/knife1",
"ultimate_sounds/knife2"
}
new knmessages[2][]=
{
"Свежий кобанчик!!!",
"Разделан на холодец!!!"
}
new nademessages[3][]=
{
"Ну вот достояная смерть для дебила!!!",
"У тебя серьезные проблемы ***ас!!!",
"Лови говняшку!!!"
}
new doublelist[maxdbsounds][]=
{
"ultimate_sounds/doublekill",
}
is_mode_set(bits) {
new mode[9];
get_cvar_string("ut_killstreak_advanced", mode, 8);
return read_flags(mode) & bits;
}
public plugin_init() {
register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR);
killstreaktype = register_cvar("ut_killstreak_advanced", "3");
register_event("ResetHUD", "reset_hud", "b");
register_event("HLTV","rnstart","a", "1=0", "2=0");
register_event("DeathMsg", "event_death", "a");
hsenable = register_cvar("ut_killstreak_hs","1");
knifeenable = register_cvar("ut_killstreak_knife","1");
firstbloodenable = register_cvar("ut_firstblood","1");
nadecvar = register_cvar("ut_nade_events","1");
suicidecvar = register_cvar("ut_suicide_events","1");
cvardouble = register_cvar("ut_doublekill_events","1");
rnstartcvar = register_cvar("ut_roundcout_sounds","1");
return PLUGIN_CONTINUE;
}
public event_death(id) {
new killer = read_data(1);
new victim = read_data(2);
new headshot = read_data(3);
new weapon[24], vicname[32], killname[32]
read_data(4,weapon,23)
get_user_name(victim,vicname,31)
get_user_name(killer,killname,31)
if(headshot == 1 && get_pcvar_num(hsenable) ==1)
{
set_hudmessage(0, 0, 255, -1.0, 0.30, 0, 6.0, 6.0)
show_hudmessage(0, (hsmessages[random_num(0,3)]), killname, vicname)
new i
i = random_num(0,hsounds-1)
client_cmd(0,"spk %s",hslist[i])
}
if(weapon[0] == 'k' && get_pcvar_num(knifeenable) ==1)
{
set_hudmessage(255, 0, 255, -1.0, 0.30, 0, 6.0, 6.0)
show_hudmessage(0, (knmessages[random_num(0,2)]), killname, vicname)
new r
r = random_num(0,knsounds-1)
client_cmd(0,"spk %s",knlist[r])
}
if(firstblood && killer!=victim && killer>0 && get_pcvar_num(firstbloodenable) ==1)
{
set_hudmessage(255, 0, 255, -1.0, 0.30, 0, 6.0, 6.0)
show_hudmessage(0, (fbmessages[random_num(0,1)]), killname)
new t
t = random_num(0,fbsounds-1)
client_cmd(0,"spk %s",fblist[t])
firstblood = 0
}
if(weapon[1] == 'r' && get_pcvar_num(nadecvar) ==1)
{
set_hudmessage(255, 0, 255, -1.0, 0.30, 0, 6.0, 6.0)
show_hudmessage(0,(nademessages[random_num(0,2)]),killname,vicname)
client_cmd(0,"spk ultimate_sounds/nade1")
}
if(kill[killer][0] && equal(kill[killer],weapon) && get_pcvar_num(cvardouble) == 1)
{
set_hudmessage(255, 0, 255, -1.0, 0.30, 0, 6.0, 6.0)
show_hudmessage(0,"Ух-ты! %s положил сразу двоих!", killname)
kill[killer][0] = 0;
new q
q= random_num(0,maxdbsounds-1)
client_cmd(0,"spk %s",doublelist[q])
}
else
{
kill[killer] = weapon;
set_task(0.1,"clear_kill",TASK_CLEAR_KILL+killer);
}
kills[killer] += 1;
kills[victim] = 0;
deaths[killer] = 0;
deaths[victim] += 1;
for (new i = 0; i < LEVELS; i++)
{
if (kills[killer] == levels[i])
{
announce(killer, i);
return PLUGIN_CONTINUE;
}
}
return PLUGIN_CONTINUE;
}
announce(killer, level)
{
new name[33]
new r = random(256)
new g = random(256)
new b = random(256)
get_user_name(killer, name, 32);
set_hudmessage(r,g,b, 0.05, 0.65, 2, 0.02, 6.0, 0.01, 0.1, 2);
if( (get_pcvar_num(killstreaktype) <= 0 ) || get_pcvar_num(killstreaktype) > 3)
return PLUGIN_HANDLED;
if(get_pcvar_num(killstreaktype) == 1)
{
show_hudmessage(0, messages[level], name);
}
if(get_pcvar_num(killstreaktype) == 2)
{
client_cmd(0, "spk %s", sounds[level]);
}
if(get_pcvar_num(killstreaktype) == 3)
{
show_hudmessage(0, messages[level], name);
client_cmd(0, "spk %s", sounds[level]);
}
return PLUGIN_CONTINUE;
}
public reset_hud(id)
{
firstblood = 1
if (is_mode_set(16)) {
if (kills[id] > levels[0]) {
client_print(id, print_chat,
"* Вы убили %d не умерев ни разу.", kills[id]);
} else if (deaths[id] > 1) {
client_print(id, print_chat,
"* Осторожней, вы умираете %d раунд подряд.", deaths[id]);
}
}
}
public rnstart(id)
{
if(get_pcvar_num(rnstartcvar) == 1)
{
firstblood = 1
set_hudmessage(255, 0, 255, -1.0, 0.30, 0, 6.0, 6.0)
show_hudmessage(0, "Приготовтесь к бою!")
new q
q = random_num(0,prpsounds-1)
client_cmd(0,"spk %s",preplist[q])
}
}
public client_connect(id) {
kills[id] = 0;
deaths[id] = 0;
}
public clear_kill(taskid)
{
new id = taskid-TASK_CLEAR_KILL;
kill[id][0] = 0;
}
public plugin_precache()
{
precache_sound("ultimate_sounds/triplekill.wav")
precache_sound("ultimate_sounds/multikill.wav")
precache_sound("ultimate_sounds/ultrakill.wav")
precache_sound("ultimate_sounds/killingspree.wav")
precache_sound("ultimate_sounds/megakill.wav")
precache_sound("ultimate_sounds/holyshit.wav")
precache_sound("ultimate_sounds/ludicrouskill.wav")
precache_sound("ultimate_sounds/rampage.wav")
precache_sound("ultimate_sounds/unstoppable.wav")
precache_sound("ultimate_sounds/monsterkill.wav")
precache_sound("ultimate_sounds/headshot.wav")
precache_sound("ultimate_sounds/knife1.wav")
precache_sound("ultimate_sounds/knife2.wav")
precache_sound("ultimate_sounds/firstblood.wav")
precache_sound("ultimate_sounds/nade1.wav")
precache_sound("ultimate_sounds/nade2.wav")
precache_sound("ultimate_sounds/nade3.wav")
precache_sound("ultimate_sounds/doublekill.wav")
}
ut_killstreak_adv.sma ( 11,06 килобайт )
Кол-во скачиваний: 10