Плагин «Эффекты при убийстве» для CS 1.6
Желаешь разнообразие на сервер? Эти эффекты убийств вам помогут.
Имеется лишь 3 эффекта убийства.
Имеется лишь 3 эффекта убийства.
Плагин подойдет под любой мод, всего есть 3 эффекта:
- Облако крови
- Молния
- Взрыв
Все эффекты поделены на разные флаги.
То есть, при убийстве игрока, игроком с флагом убийство будет происходить с определенным эффектом.
То есть, при убийстве игрока, игроком с флагом убийство будет происходить с определенным эффектом.
Так как поступает много жалоб на плагин новая версия, немного оптимизированя. пробуйте
#include <amxmodx>
new const VERSION[] = "1.0";
// Задаем числовые значения флагов
new const FLAG_LIGHTNING = ADMIN_BAN; // Флаг "b"
new const FLAG_EXPLOSION = ADMIN_IMMUNITY; // Флаг "a"
new const FLAG_BLOOD = ADMIN_LEVEL_A; // Флаг "p"
new i_sExplosion, i_sLgtning;
public plugin_precache() {
i_sExplosion = precache_model("sprites/dexplo.spr");
i_sLgtning = precache_model("sprites/lgtning.spr");
precache_sound("ambience/thunder_clap.wav");
}
public plugin_init() {
register_plugin("[AMXX] Death Effects", VERSION, "OverGame");
register_event("DeathMsg", "EventDeathMessage", "a");
}
public EventDeathMessage() {
new i_Attacker = read_data(1);
new i_Victim = read_data(2);
new iFlagsAttacker = get_user_flags(i_Attacker);
if(iFlagsAttacker & FLAG_EXPLOSION) {
new _:fOrigin[3];
get_user_origin(i_Victim, fOrigin);
message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
write_byte(TE_EXPLOSION);
write_coord(fOrigin[0]);
write_coord(fOrigin[1]);
write_coord(fOrigin[2]);
write_short(i_sExplosion);
write_byte(10);
write_byte(15);
write_byte(0);
message_end();
} else if(iFlagsAttacker & FLAG_LIGHTNING) {
new fEnd[3], fStart[3];
get_user_origin(i_Victim, fEnd);
fEnd[2] -= 26;
fStart[0] = fEnd[0] + 150;
fStart[1] = fEnd[1] + 150;
fStart[2] = fEnd[2] + 800;
create_thunder(fStart, fEnd);
} else if(iFlagsAttacker & FLAG_BLOOD) {
new _:fOrigin[3];
get_user_origin(i_Victim, fOrigin);
message_begin(MSG_BROADCAST, SVC_TEMPENTITY, _, i_Victim);
write_byte(TE_LAVASPLASH);
write_coord(fOrigin[0] + 5);
write_coord(fOrigin[1] + 5);
write_coord(fOrigin[2]);
message_end();
}
}
stock create_thunder(fStart[3], fEnd[3]) {
message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
write_byte(TE_BEAMPOINTS);
write_coord(fStart[0]);
write_coord(fStart[1]);
write_coord(fStart[2]);
write_coord(fEnd[0]);
write_coord(fEnd[1]);
write_coord(fEnd[2]);
write_short(i_sLgtning);
write_byte(1);
write_byte(5);
write_byte(7);
write_byte(20);
write_byte(30);
write_byte(0); //r
write_byte(0); //g
write_byte(255); //b
write_byte(200);
write_byte(200);
message_end();
message_begin(MSG_PVS, SVC_TEMPENTITY, fEnd);
write_byte(TE_SPARKS);
write_coord(fEnd[0]);
write_coord(fEnd[1]);
write_coord(fEnd[2]);
message_end();
emit_sound(0, CHAN_ITEM, "ambience/thunder_clap.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
}
new const VERSION[] = "1.0";
// Задаем числовые значения флагов
new const FLAG_LIGHTNING = ADMIN_BAN; // Флаг "b"
new const FLAG_EXPLOSION = ADMIN_IMMUNITY; // Флаг "a"
new const FLAG_BLOOD = ADMIN_LEVEL_A; // Флаг "p"
new i_sExplosion, i_sLgtning;
public plugin_precache() {
i_sExplosion = precache_model("sprites/dexplo.spr");
i_sLgtning = precache_model("sprites/lgtning.spr");
precache_sound("ambience/thunder_clap.wav");
}
public plugin_init() {
register_plugin("[AMXX] Death Effects", VERSION, "OverGame");
register_event("DeathMsg", "EventDeathMessage", "a");
}
public EventDeathMessage() {
new i_Attacker = read_data(1);
new i_Victim = read_data(2);
new iFlagsAttacker = get_user_flags(i_Attacker);
if(iFlagsAttacker & FLAG_EXPLOSION) {
new _:fOrigin[3];
get_user_origin(i_Victim, fOrigin);
message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
write_byte(TE_EXPLOSION);
write_coord(fOrigin[0]);
write_coord(fOrigin[1]);
write_coord(fOrigin[2]);
write_short(i_sExplosion);
write_byte(10);
write_byte(15);
write_byte(0);
message_end();
} else if(iFlagsAttacker & FLAG_LIGHTNING) {
new fEnd[3], fStart[3];
get_user_origin(i_Victim, fEnd);
fEnd[2] -= 26;
fStart[0] = fEnd[0] + 150;
fStart[1] = fEnd[1] + 150;
fStart[2] = fEnd[2] + 800;
create_thunder(fStart, fEnd);
} else if(iFlagsAttacker & FLAG_BLOOD) {
new _:fOrigin[3];
get_user_origin(i_Victim, fOrigin);
message_begin(MSG_BROADCAST, SVC_TEMPENTITY, _, i_Victim);
write_byte(TE_LAVASPLASH);
write_coord(fOrigin[0] + 5);
write_coord(fOrigin[1] + 5);
write_coord(fOrigin[2]);
message_end();
}
}
stock create_thunder(fStart[3], fEnd[3]) {
message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
write_byte(TE_BEAMPOINTS);
write_coord(fStart[0]);
write_coord(fStart[1]);
write_coord(fStart[2]);
write_coord(fEnd[0]);
write_coord(fEnd[1]);
write_coord(fEnd[2]);
write_short(i_sLgtning);
write_byte(1);
write_byte(5);
write_byte(7);
write_byte(20);
write_byte(30);
write_byte(0); //r
write_byte(0); //g
write_byte(255); //b
write_byte(200);
write_byte(200);
message_end();
message_begin(MSG_PVS, SVC_TEMPENTITY, fEnd);
write_byte(TE_SPARKS);
write_coord(fEnd[0]);
write_coord(fEnd[1]);
write_coord(fEnd[2]);
message_end();
emit_sound(0, CHAN_ITEM, "ambience/thunder_clap.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
}
Смотрите также:
Плагин «Coins System» для CS 1.6
Плагин добавляет на сервер не стандартную валюту - монеты, монеты выпадают с игрока при убийстве (теряются визуально, имеют модель), получаются также при убийстве. При подбирании монеты
Плагин «Bonus for frags (бонусы за фраги)» для CS 1.6
Плагин позволяет поощрять игроков за убийства: при получении N фрагов игроку выдается на N секунд флаги доступа. Игроки, имеющие выдаваемые флаги, не получают данную награду.
Плагин «Parkour / Паркур» для CS 1.6
Данный плагин добавляет новые возможности с элементами паркура для игроков вашего сервера.
Плагин «VIP bonuses» для CS 1.6
Простой плагин, выдает бонусы игроками с определенным флагом доступа. Бонусы могут быть в виде гранат, брони, жизней и дигла, а так же кастомные модели игроков, они по стандарту отключены.
Минимальная длина комментария - 50 знаков. комментарии модерируются