- Статьи
- 2018-06-14
После инклюдов пишем следующие строчки:
#define TASK_FBURN 100
#define ID_FBURN ( taskid - TASK_FBURN )
#define MAX_CLIENTS 32
new bool:g_fRoundEnd
#define FIRE_DURATION 6
#define FIRE_DAMAGE 25
Получиться примерно так:#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#include <xs>
#include <cstrike>
#include <zombieplague>
#define ENG_NULLENT -1
#define EV_INT_WEAPONKEY EV_INT_impulse
#define cv4760r_WEAPONKEY 843
#define MAX_PLAYERS 32
#define IsValidUser(%1) (1 <= %1 <= g_MaxPlayers)
#define TASK_FBURN 100
#define ID_FBURN ( taskid - TASK_FBURN )
#define MAX_CLIENTS 32
new bool:g_fRoundEnd
#define FIRE_DURATION 6
#define FIRE_DAMAGE 25
Ниже добавляем это:new g_flameSpr
new g_smokeSpr
new g_burning_duration[ MAX_CLIENTS + 1 ]
В public plugin_precache добавляем эти строчкиg_flameSpr = precache_model( "sprites/flame.spr" );
g_smokeSpr = precache_model( "sprites/black_smoke3.spr" );
Дальше в public fw_TakeDamage(victim, inflictor, attacker, Float:damage)Добавляем это (в самый конец)
if( !task_exists( victim + TASK_FBURN ) )
{
g_burning_duration[ victim ] += FIRE_DURATION * 5
set_task( 0.2, "CTask__BurningFlame", victim + TASK_FBURN, _, _, "b" )
}
}
}
}
Получиться примерно так:
public fw_TakeDamage(victim, inflictor, attacker, Float:damage)
{
if (victim != attacker && is_user_connected(attacker))
{
if(get_user_weapon(attacker) == CSW_AK47)
{
if(g_has_cv4760r[attacker])
SetHamParamFloat(4, damage * get_pcvar_float(cvar_dmg_cv4760r))
if( !task_exists( victim + TASK_FBURN ) )
{
g_burning_duration[ victim ] += FIRE_DURATION * 5
set_task( 0.2, "CTask__BurningFlame", victim + TASK_FBURN, _, _, "b" )
}
}
}
}
В самый конец исходника добавляем это: public CTask__BurningFlame( taskid )
{
// Get player origin and flags
static origin[3], flags
get_user_origin(ID_FBURN, origin)
flags = pev(ID_FBURN, pev_flags)
// Madness mode - in water - burning stopped
if ((flags & FL_INWATER) || g_burning_duration[ID_FBURN] < 1 || g_fRoundEnd || !is_user_alive(ID_FBURN))
{
// Smoke sprite
message_begin(MSG_PVS, SVC_TEMPENTITY, origin)
write_byte(TE_SMOKE) // TE id
write_coord(origin[0]) // x
write_coord(origin[1]) // y
write_coord(origin[2]-50) // z
write_short(g_smokeSpr) // sprite
write_byte(random_num(15, 20)) // scale
write_byte(random_num(10, 20)) // framerate
message_end()
// Task not needed anymore
remove_task(taskid)
return
}
// Get player's health
static health
health = pev(ID_FBURN, pev_health)
// Take damage from the fire
if (health - FIRE_DAMAGE > 0)
fm_set_user_health(ID_FBURN, health - FIRE_DAMAGE)
// Flame sprite
message_begin(MSG_PVS, SVC_TEMPENTITY, origin)
write_byte(TE_SPRITE) // TE id
write_coord(origin[0]+random_num(-5, 5)) // x
write_coord(origin[1]+random_num(-5, 5)) // y
write_coord(origin[2]+random_num(-10, 10)) // z
write_short(g_flameSpr) // sprite
write_byte(random_num(5, 10)) // scale
write_byte(200) // brightness
message_end()
g_burning_duration[ID_FBURN]--
}
stock fm_set_user_health( index, health )
health > 0 ? set_pev(index, pev_health, float(health)) : dllfunc(DLLFunc_ClientKill, index);
30%
Скидка на покупку всех
сборок до 30.06.2025
Специально для тебя - Гость
Выбрать сборку
Данные для Связи.https://vk.com/id344641190 https://t.me/SysTemmmmmm Discord: Wizard#2169Услуга Помощь в установке/настройке серверов/модов/плагинов/сайтов.
GameCMS (Game Content Management System) Данные для Связи. https://vk.com/id344641190 https://t.me/SysTemmmmmm Discord: Wizard#2169
Исправили Почту всех приходит, Очистили базу от кометов, Мусорных файлов, Дальше будем работать по файлам.
ReHLDS (Reverse-engineered) - это новый шаг вперед, который дает второе дыхание нашим серверам. ReHLDS работает в 2 раза быстрей, чем HLDS.
AMXModX - это Metamod дополнение, которое позволяет создавать новые модификации для Half-Life на языке Pawn
Reunion является продолжением Dproto для ReHLDS. Это metamod плагин, который позволяет заходить 47/48 Non-Steam на сервер.
Revoice - это Metamod plugin, который дает возможность общения голосовым чатом между non-steam и steam клиентами.
Новый Metamod-r содержит огромное количество оптимизаций производительности и намного более чистый код. Ядро было написано с использованием JIT-компилятора.
Ultimate Unprecacher являет плагином для MetaMod, работает он по принципу отключение не нужных ресурсов на вашем сервере, тем самым вы сможете освободить места для ресурсов под ваши плагины, с помощью данного модуля можно избавиться от ошибки 512!
ReAuthCheck - это Metamod плагин, который занимается проверкой ваших игроков на валидность, с помощью данного модуля для REHLDS вы сможете защитить свой сервер от ботов, которые постоянно спамят рекламу или просто забивают слот на сервере!
NetBufExtender или NBEX - это метамод-плагин, который расширяет "интернет-буфер": буферы сервера и клиента(гарантия не 100%). Расширяет до 64 кб. Это значит, что у игроков уменьшается вероятность быть кикнутыми с ошибкой "Reliable channel overflowed".
UINO — metamod-плагин, который позволяет удалять ненужные поля из userinfo(setinfo) когда движок передаёт его другим игрокам на сервере. Данная мера уменьшает объём передаваемых данных и немного сокращает шанс быть кикнутым с "Reliable channel overflowed".