Русское сообщество по скриптингу

[ Infection Grenade ] Добавка Еффекта  [Решено]

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

[ Infection Grenade ] Добавка Еффекта

Сообщение MayroN » 27 фев 2018, 20:30

Приветствую всех.Есть исходник - Дополн.Еффекты гранат.Здесь нужно поставить еффект Инфекционной гранаты.

Постараюсь быть максимально последовательным в своих действиях.
Начинаем)

1) Вставляю
Код: Выделить всё
g_infect_gib
сюда

Код: Выделить всё
new g_fire_explode, g_frost_explode, g_fire_gib, g_frost_gib, g_fire_trail, g_frost_trail, g_flare_trail, g_infect_gib


2) Далее бросаю в прекеш

Код: Выделить всё
g_infect_gib = precache_model ("sprites/zp_n_sprites/Infection_Effect.spr"


Код: Выделить всё
public plugin_precache()
{
    g_fire_explode = precache_model ("sprites/zp_n_sprites/fire_explode.spr") 
    g_frost_explode 
= precache_model ("sprites/zp_n_sprites/frost_explode.spr") 
    g_fire_gib 
= precache_model ("sprites/zp_n_sprites/fire_gib.spr") 
    g_frost_gib 
= precache_model ("sprites/zp_n_sprites/frost_gib.spr") 
    g_fire_trail 
= precache_model ("sprites/zp_n_sprites/fire_trail.spr")
    g_frost_trail = precache_model ("sprites/zp_n_sprites/frost_trail.spr") 
    g_flare_trail 
= precache_model ("sprites/zp_n_sprites/flare_trail.spr")
g_infect_gib = precache_model ("sprites/zp_n_sprites/Infection_Effect.spr")


3) Далее в кейсе
Код: Выделить всё
case NADE_TYPE_INFECTION: // Infection Bomb   

вставляю ето
Код: Выделить всё
            /*        case NADE_TYPE_INFECTION: // Infection Bomb
        {
                        // Get origin
            new Float:originF[3], origin[3];
            pev(entity, pev_origin, originF)
            FVecIVec(originF, origin)
            
            remove_task(entity)
            set_task(0.1, "fwTaskExplodeInfect", entity, origin, 3)
        }*/ 


4) и потом уже регистр.

Код: Выделить всё
public fwTaskExplodeInfect(const originF[3], const ent)
{
    // TE_SPRITETRAIL 
    message_begin(MSG_BROADCAST ,SVC_TEMPENTITY, originF, 0) 
    write_byte
(TE_SPRITETRAIL) // TE ID 
    write_coord(originF[0]) // x axis 
    write_coord(originF[1]) // y axis 
    write_coord(originF[2]+70) // z axis 
    write_coord(originF[0]) // x axis 
    write_coord(originF[1]) // y axis 
    write_coord(originF[2]) // z axis 
    write_short(g_frost_gib) // Sprite Index 
    write_byte(80) // Count 
    write_byte(20) // Life 
    write_byte(2) // Scale 
    write_byte(50) // Velocity Along Vector 
    write_byte(10) // Rendomness of Velocity 
    message_end(); 
    
    
// TE_EXPLOSION 
    message_begin(MSG_BROADCAST,SVC_TEMPENTITY, originF, 0) 
    write_byte
(TE_EXPLOSION) 
    write_coord
(originF[0]) // x axis 
    write_coord(originF[1]) // y axis 
    write_coord(originF[2]+75) // z axis 
    write_short(g_infect_gib) 
    write_byte
(22) 
    write_byte
(35) 
    write_byte
(TE_EXPLFLAG_NOSOUND) 
    message_end
()


На етом всё.И вроде правильно, - а в игре то нету еффекта...

Подскажите,что ещё нужно дописать?

Нуу очень Благодарю :-) :thumbs_up

Весь Код целиком ( по-умолчанию,без изминений )
Код: Выделить всё
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

#include <zombieplague>

const PEV_NADE_TYPE = pev_flTimeStepSound
const NADE_TYPE_INFECTION 
= 1111
const NADE_TYPE_NAPALM 
= 2222
const NADE_TYPE_FROST 
= 3333
const NADE_TYPE_FLARE 
= 4444
const PEV_FLARE_COLOR 
= pev_punchangle

//const MODE_ASSASSIN = 8;

new g_fire_explode, g_frost_explode, g_fire_gib, g_frost_gib, g_fire_trail, g_frost_trail, g_flare_trail;

new cvar_removedropped, cvar_nvgcolor[3];//, g_assround, cvar_extrainfbomb, cvar_flarecolor, cvar_firegrenades, cvar_frostgrenades, cvar_flaregrenades, cvar_assnvgcolor[3]

public plugin_precache()
{
    g_fire_explode = precache_model ("sprites/zp_n_sprites/fire_explode.spr") 
    g_frost_explode 
= precache_model ("sprites/zp_n_sprites/frost_explode.spr") 
    g_fire_gib 
= precache_model ("sprites/zp_n_sprites/fire_gib.spr") 
    g_frost_gib 
= precache_model ("sprites/zp_n_sprites/frost_gib.spr") 
    g_fire_trail 
= precache_model ("sprites/zp_n_sprites/fire_trail.spr")
    g_frost_trail = precache_model ("sprites/zp_n_sprites/frost_trail.spr") 
    g_flare_trail 
= precache_model ("sprites/zp_n_sprites/flare_trail.spr")
}

public plugin_init()
{
    register_plugin("ZP grenade effects", "0.0.1", "some noob")
    
    
//register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
    
    
// we need post even so we can overwrite the default ZP trails
    register_forward(FM_SetModel, "fw_SetModel", 1)
    
    RegisterHam
(Ham_Think, "grenade", "fw_ThinkGrenade")
}

public plugin_cfg()
{
    cvar_removedropped = get_cvar_pointer("zp_remove_dropped");
/*    cvar_extrainfbomb = get_cvar_pointer("zp_extra_infbomb");
    cvar_flarecolor = get_cvar_pointer("zp_flare_color");
    cvar_firegrenades = get_cvar_pointer("zp_fire_grenades");
    cvar_frostgrenades = get_cvar_pointer("zp_frost_grenades");
    cvar_flaregrenades = get_cvar_pointer("zp_flare_grenades");*/
    cvar_nvgcolor[0] = get_cvar_pointer("zp_nvg_color_R");
    cvar_nvgcolor[1] = get_cvar_pointer("zp_nvg_color_G");
    cvar_nvgcolor[2] = get_cvar_pointer("zp_nvg_color_B");
/*    cvar_assnvgcolor[0] = get_cvar_pointer("zpnm_nvg_ass_color_R");
    cvar_assnvgcolor[1] = get_cvar_pointer("zpnm_nvg_ass_color_G");
    cvar_assnvgcolor[2] = get_cvar_pointer("zpnm_nvg_ass_color_B");*/
    // = get_cvar_pointer("");
}
/*
public event_round_start()
{
    g_assround = 0;
}

public zp_round_started(iIDMode)
{
    if (iIDMode == MODE_ASSASSIN)
        g_assround = 1;
}*/

// Set entity's rendering type (from fakemeta_util)
stock fm_set_rendering(const entity, const fx = kRenderFxNone, const r = 255, const g = 255, const b = 255, const render = kRenderNormal, Float:amount = 19.0)
{
    new Float:color[3]
    color[0] = float(r)
    color[1] = float(g)
    color[2] = float(b)
    
    set_pev
(entity, pev_renderfx, fx)
    set_pev(entity, pev_rendercolor, color)
    set_pev(entity, pev_rendermode, render)
    
    if 
(fx == kRenderFxNone && render == kRenderNormal)
        amount = 0.0;
    
    set_pev
(entity, pev_renderamt, amount)
}

// Forward Set Model
public fw_SetModel(entity, const model[])
{
    // We don't care
    if (strlen(model) < 8)
        return;
    
    
// Remove weapons?
    if (get_pcvar_float(cvar_removedropped) > 0.0)
    {
        // Get entity's classname
        static classname[10]
        pev(entity, pev_classname, classname, 9)
        
        
// Check if it's a weapon box
        if (equali(classname, "weaponbox"))
        {
            // They get automatically removed when thinking
            return;
        }
    }
    
    
// Narrow down our matches a bit
    if (model[7] != 'w' || model[8] != '_')
        return;
    
    
// Get damage time of grenade
    new Float:dmgtime
    pev
(entity, pev_dmgtime, dmgtime)
    
    
// Grenade not yet thrown
    if (dmgtime == 0.0)
        return;
    /*
    // Get whether grenade's owner is a zombie
    if (zp_get_user_zombie(pev(entity, pev_owner)))
    {
        if (model[9] == 'h' && model[10] == 'e' && pev(entity, PEV_NADE_TYPE) == NADE_TYPE_INFECTION) // Infection Bomb
        {
            // Give it a glow
            fm_set_rendering(entity, kRenderFxGlowShell, get_pcvar_num(cvar_nvgcolor[0]), get_pcvar_num(cvar_nvgcolor[1]), get_pcvar_num(cvar_nvgcolor[2]), kRenderNormal); //0, 200, 0
            
            // Kill ZP's default grenade trail
            message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
            write_byte(TE_KILLBEAM)
            write_short(entity)
            message_end()
            
            // And a colored trail
            message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
            write_byte(TE_BEAMFOLLOW) // TE id
            write_short(entity) // entity
            write_short(g_trailSpr) // sprite
            write_byte(10) // life
            write_byte(10) // width
            write_byte(get_pcvar_num(cvar_nvgcolor[0])) // r-0
            write_byte(get_pcvar_num(cvar_nvgcolor[1])) // g-200
            write_byte(get_pcvar_num(cvar_nvgcolor[2])) // b-0
            write_byte(200) // brightness
            message_end()
        }
    }
    else */
if (model[9] == 'h' && model[10] == 'e' && pev(entity, PEV_NADE_TYPE) == NADE_TYPE_NAPALM) // Napalm Grenade
    {
        // Give it a glow
        fm_set_rendering(entity, kRenderFxGlowShell, 200, 0, 0, kRenderNormal);
        
        
// Kill ZP's default grenade trail
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
        write_byte(TE_KILLBEAM)
        write_short(entity)
        message_end()
        
        
// And a colored trail
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
        write_byte(TE_BEAMFOLLOW) // TE id
        write_short(entity) // entity
        write_short(g_fire_trail) // sprite
        write_byte(10) // life
        write_byte(10) // width
        write_byte(200) // r
        write_byte(0) // g
        write_byte(0) // b
        write_byte(200) // brightness
        message_end()
    }
    else if (model[9] == 'f' && model[10] == 'l' && pev(entity, PEV_NADE_TYPE) == NADE_TYPE_FROST) // Frost Grenade
    {
        // Give it a glow
        fm_set_rendering(entity, kRenderFxGlowShell, 0, 100, 200, kRenderNormal);
        
        
// Kill ZP's default grenade trail
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
        write_byte(TE_KILLBEAM)
        write_short(entity)
        message_end()
        
        
// And a colored trail
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
        write_byte(TE_BEAMFOLLOW) // TE id
        write_short(entity) // entity
        write_short(g_frost_trail) // sprite
        write_byte(10) // life
        write_byte(10) // width
        write_byte(0) // r
        write_byte(100) // g
        write_byte(200) // b
        write_byte(200) // brightness
        message_end()
    }
    else if (model[9] == 's' && model[10] == 'm' && pev(entity, PEV_NADE_TYPE) == NADE_TYPE_FLARE) // Flare
    {
        // Build flare's color
        static rgb[11]
        pev(entity, PEV_FLARE_COLOR, rgb)
        
        
// Give it a glow
        fm_set_rendering(entity, kRenderFxGlowShell, rgb[0], rgb[1], rgb[2], kRenderNormal);
        
        
// Kill ZP's default grenade trail
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
        write_byte(TE_KILLBEAM)
        write_short(entity)
        message_end()
        
        
// And a colored trail
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
        write_byte(TE_BEAMFOLLOW) // TE id
        write_short(entity) // entity
        write_short(g_flare_trail) // sprite
        write_byte(10) // life
        write_byte(10) // width
        write_byte(rgb[0]) // r
        write_byte(rgb[1]) // g
        write_byte(rgb[2]) // b
        write_byte(200) // brightness
        message_end()
    }
}

//#include <D7Debug>

// Ham Grenade Think Forward
public fw_ThinkGrenade(const entity)
{
    // Invalid entity
    if (!pev_valid(entity)) return;
    
    
// Get damage time of grenade
    new Float:dmgtime, Float:current_time
    pev
(entity, pev_dmgtime, dmgtime)
    current_time = get_gametime()
    
    
//ftD7Log(_, _, "[fw_ThinkGrenade] entity: %d. triggered.", entity)
    
    
// Check if it's time to go off
    if (dmgtime <= current_time)
        return;
    
    
//ftD7Log(_, _, "[fw_ThinkGrenade] entity: %d. it's time to explode.", entity)
    
    
// Check if it's one of our custom nades
    switch (pev(entity, PEV_NADE_TYPE))
    {
/*        case NADE_TYPE_INFECTION: // Infection Bomb
        {
            infection_explode(entity)
        }*/
        case NADE_TYPE_NAPALM: // Napalm Grenade
        {
            // Get origin
            new Float:originF[3], origin[3];
            pev(entity, pev_origin, originF)
            FVecIVec(originF, origin)
            
            remove_task
(entity)
            set_task(0.1, "fwTaskExplodeNapalm", entity, origin, 3)
        }
        case NADE_TYPE_FROST: // Frost Grenade
        {
            // Get origin
            new Float:originF[3], origin[3];
            pev(entity, pev_origin, originF)
            FVecIVec(originF, origin)
            
            remove_task
(entity)
            set_task(0.1, "fwTaskExplodeFrost", entity, origin, 3)
        }
/*        case NADE_TYPE_FLARE: // Flare
        {
            // Get its duration
            new duration = pev(entity, PEV_FLARE_DURATION)
            
            // Already went off, do lighting loop for the duration of PEV_FLARE_DURATION
            if (duration > 0)
            {
                // Check whether this is the last loop
                if (duration == 1)
                {
                    // Get rid of the flare entity
                    engfunc(EngFunc_RemoveEntity, entity)
                    return HAM_SUPERCEDE;
                }
                
                // Light it up!
                flare_lighting(entity, duration)
                
                // Set time for next loop
                set_pev(entity, PEV_FLARE_DURATION, --duration)
                set_pev(entity, pev_dmgtime, current_time + 2.0)
            }
            // Light up when it's stopped on ground
            else if ((pev(entity, pev_flags) & FL_ONGROUND) && fm_get_speed(entity) < 10)
            {
                // Flare sound
                static sound[64]
                ArrayGetString(grenade_flare, random_num(0, ArraySize(grenade_flare) - 1), sound, charsmax(sound))
                emit_sound(entity, CHAN_WEAPON, sound, 1.0, ATTN_NORM, 0, PITCH_NORM)
                
                // Set duration and start lightning loop on next think
                set_pev(entity, PEV_FLARE_DURATION, 1 + get_pcvar_num(cvar_flareduration)/2)
                set_pev(entity, pev_dmgtime, current_time + 0.1)
            }
            else
            {
                // Delay explosion until we hit ground
                set_pev(entity, pev_dmgtime, current_time + 0.5)
            }
        }*/
    }
    
    
//return HAM_IGNORED;
}

public fwTaskExplodeNapalm(const originF[3], const ent)
{
    // TE_SPRITETRAIL 
    message_begin(MSG_BROADCAST ,SVC_TEMPENTITY, originF, 0) 
    write_byte
(TE_SPRITETRAIL) // TE ID 
    write_coord(originF[0]) // x axis 
    write_coord(originF[1]) // y axis 
    write_coord(originF[2]+70) // z axis 
    write_coord(originF[0]) // x axis 
    write_coord(originF[1]) // y axis 
    write_coord(originF[2]) // z axis 
    write_short(g_fire_gib) // Sprite Index 
    write_byte(80) // Count 
    write_byte(20) // Life 
    write_byte(2) // Scale 
    write_byte(50) // Velocity Along Vector 
    write_byte(10) // Rendomness of Velocity 
    message_end(); 
    
    
// TE_EXPLOSION 
    message_begin(MSG_BROADCAST,SVC_TEMPENTITY, originF, 0) 
    write_byte
(TE_EXPLOSION) 
    write_coord
(originF[0]) // x axis 
    write_coord(originF[1]) // y axis 
    write_coord(originF[2]+75) // z axis 
    write_short(g_fire_explode) 
    write_byte
(22) 
    write_byte
(35) 
    write_byte
(TE_EXPLFLAG_NOSOUND) 
    message_end
() 
}

public fwTaskExplodeFrost(const originF[3], const ent)
{
    // TE_SPRITETRAIL 
    message_begin(MSG_BROADCAST ,SVC_TEMPENTITY, originF, 0) 
    write_byte
(TE_SPRITETRAIL) // TE ID 
    write_coord(originF[0]) // x axis 
    write_coord(originF[1]) // y axis 
    write_coord(originF[2]+70) // z axis 
    write_coord(originF[0]) // x axis 
    write_coord(originF[1]) // y axis 
    write_coord(originF[2]) // z axis 
    write_short(g_frost_gib) // Sprite Index 
    write_byte(80) // Count 
    write_byte(20) // Life 
    write_byte(2) // Scale 
    write_byte(50) // Velocity Along Vector 
    write_byte(10) // Rendomness of Velocity 
    message_end(); 
    
    
// TE_EXPLOSION 
    message_begin(MSG_BROADCAST,SVC_TEMPENTITY, originF, 0) 
    write_byte
(TE_EXPLOSION) 
    write_coord
(originF[0]) // x axis 
    write_coord(originF[1]) // y axis 
    write_coord(originF[2]+75) // z axis 
    write_short(g_frost_explode) 
    write_byte
(22) 
    write_byte
(35) 
    write_byte
(TE_EXPLFLAG_NOSOUND) 
    message_end
()
}
МультиМод CS
Аватара пользователя
MayroN
 
Сообщения: 673
Зарегистрирован: 10 окт 2010, 18:23
Откуда: Украина, г. Белая Церковь
Благодарил (а): 149 раз.
Поблагодарили: 86 раз.
Опыт программирования: Около года
Языки программирования: На которых говорю...

Re: [ Infection Grenade ] Добавка Еффекта

Сообщение fl0wer » 27 фев 2018, 20:59

Предлагаю просто вызвать функцию. Или нужна задержка 0.1 секунды?
Аватара пользователя
fl0wer
 
Сообщения: 1687
Зарегистрирован: 27 фев 2011, 21:35
Откуда: Россия, Ижевск
Благодарил (а): 240 раз.
Поблагодарили: 508 раз.
Опыт программирования: Больше трех лет
Языки программирования: C++, Java, PAWN

Re: [ Infection Grenade ] Добавка Еффекта

Сообщение MayroN » 27 фев 2018, 21:09

fl0wer писал(а):Предлагаю просто вызвать функцию. Или нужна задержка 0.1 секунды?


Та лучше без задержки.А Вы посмотрели подробно всё?Мне очень интересно всё-же ,почему... :(
МультиМод CS
Аватара пользователя
MayroN
 
Сообщения: 673
Зарегистрирован: 10 окт 2010, 18:23
Откуда: Украина, г. Белая Церковь
Благодарил (а): 149 раз.
Поблагодарили: 86 раз.
Опыт программирования: Около года
Языки программирования: На которых говорю...

Re: [ Infection Grenade ] Добавка Еффекта  [Решено]

Сообщение fl0wer » 27 фев 2018, 21:21

Код: Выделить всё
        case NADE_TYPE_NAPALM: // Napalm Grenade
        {
            // Get origin
            new Float:originF[3], origin[3];
            pev(entity, pev_origin, originF)
            FVecIVec(originF, origin)
            
            fwTaskExplodeNapalm
(entity, origin)
        }

Это без задержки.

С задержкой:
Недочет был в том, что при вызове
set_task( время, функция_хэндлер, индекс_таска, остальная_инфа );
Вы ставили в индекс_таска номер энтити, что может вызывать баги. Если таск будет запущен другой энтити с таким же "индексом".
Один из путей решения: глянуть в, например, в зп как там работают таски.
Для этого нужно добавить какое-нибудь уникальное значение, например 2000. Получается что энтити с номером 130, будет иметь индекс_таска равному 2130. Что исключит баг потому что мы не попадем не другие энтити (если конечно в игре не будет больше 2к энтити).
Наиболее правильный вариант:
Код: Выделить всё
set_task(0.1, "fwTaskExplodeNapalm", 2000 + entity);


Ошибка в отправлении координат. Так делать не стоит, потому что они могут поменяться при вызове функции_хэндлера, лучше получить их прямо в ней.

Получается, что функция_хэндлер будет иметь следующий вид:
Код: Выделить всё
public fwTaskExplodeInfect( iTaskID )
{
    new entity = iTaskID - 2000; // получаем номер энтити.

    // отсюда уже можно получить координаты энтити
    new Float:originF[3], origin[3];
    pev(entity, pev_origin, originF)
    FVecIVec(originF, origin)

    // остальной код
}
Аватара пользователя
fl0wer
 
Сообщения: 1687
Зарегистрирован: 27 фев 2011, 21:35
Откуда: Россия, Ижевск
Благодарил (а): 240 раз.
Поблагодарили: 508 раз.
Опыт программирования: Больше трех лет
Языки программирования: C++, Java, PAWN

Re: [ Infection Grenade ] Добавка Еффекта

Сообщение MayroN » 28 фев 2018, 00:05

Ухх fl0wer, помог.Большущее спасибо ! :thumbs_up

А ещё знаете?, если быть очень внимательным то можно приглядеться сюда :-)
 ВОТ ====>  /* <=====       case NADE_TYPE_INFECTION: // Infection Bomb
        {
                        // Get origin
            new Float:originF[3], origin[3];
            pev(entity, pev_origin, originF)
            FVecIVec(originF, origin)
            
            remove_task(entity)
            set_task(0.1, "fwTaskExplodeInfect", entity, origin, 3)
        } И ВОТ ====> /* <===== 


Из-за етого /* и не работало ничего.Как только ети палки поубирал - всё впорядке

P.S.Вот чего стояла мне моя невнимательность.Пришлось тему создать,но есть и другой более лучший вариант из ответом fl0wer'а.

А еффекты следующего рода.При столкновении с обьектами и в конечном взриве имеем такие дела))




Да и добавлю,я тут хотел trail убрать ( получаеться спрайт дополнительный за полосой гранаты )

То удаляю всё,что связано из g_fire_trail +
Код: Выделить всё
public fwTaskExplodeNapalm(const originF[3], const ent)
{
    // TE_SPRITETRAIL 
    message_begin(MSG_BROADCAST ,SVC_TEMPENTITY, originF, 0) 
    write_byte
(TE_SPRITETRAIL) // TE ID 
    write_coord(originF[0]) // x axis 
    write_coord(originF[1]) // y axis 
    write_coord(originF[2]+70) // z axis 
    write_coord(originF[0]) // x axis 
    write_coord(originF[1]) // y axis 
    write_coord(originF[2]) // z axis 
    write_short(g_fire_gib) // Sprite Index 
    write_byte(80) // Count 
    write_byte(20) // Life 
    write_byte(2) // Scale 
    write_byte(50) // Velocity Along Vector 
    write_byte(10) // Rendomness of Velocity 
    message_end(); 
    
    
// TE_EXPLOSION 
    message_begin(MSG_BROADCAST,SVC_TEMPENTITY, originF, 0) 
    write_byte
(TE_EXPLOSION) 
    write_coord
(originF[0]) // x axis 
    write_coord(originF[1]) // y axis 
    write_coord(originF[2]+75) // z axis 
    write_short(g_fire_explode) 
    write_byte
(22) 
    write_byte
(35) 
    write_byte
(TE_EXPLFLAG_NOSOUND) 
    message_end
() 


И ещё что-то в кейсе нужно убрать.А то получаеться ,что в игре даже потом полос нету... ( если,что ето - непринципиально) :-)

А так то,темка Решена

Ещё раз - Спасибо Вам fl0wer
МультиМод CS
Аватара пользователя
MayroN
 
Сообщения: 673
Зарегистрирован: 10 окт 2010, 18:23
Откуда: Украина, г. Белая Церковь
Благодарил (а): 149 раз.
Поблагодарили: 86 раз.
Опыт программирования: Около года
Языки программирования: На которых говорю...


Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13