Flash Sprite

Flash Sprite 0.3

Нет прав для скачивания
Сообщения
1,697
Реакции
1,510
Помог
25 раз(а)
Зачем ПлаерБлинд пре, ты ведь ничего не блочишь?
 
Сообщения
2,491
Реакции
2,795
Помог
61 раз(а)
1. Если я все верно понял по коду, то не учтен случай когда игрока ослепить две и больше флеш. Тогда по идее будут две надписи. Нужно проверить
2. В PlayerBlind значение get_gametime лучше получить раз в переменную
3.
Код:
g_fBlindtime[index] = get_gametime() + fadeHold;
if(get_gametime() <= g_fBlindtime[index]) {}
Непонятная проверка. Если не ошибаюсь, то fadeHold не будет отрицательным. Соответсвенно проверка всегда будет положительная.

Вопрос ко всем: я припоминаю, что спрайт над головой можна отобразить через temp entity. Возможно тут лучше использовать как раз это или нет?
 
Сообщения
265
Реакции
315
Помог
10 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
fl0wer, в его случае это вообще не принципиально
 
Сообщения
265
Реакции
346
В качестве спрайта можно было взять модель флешки 1.6, возможно, так было бы лучше, сошлось бы)
А к плагину подключить HD модели гранат, а к ним эти спрайты. Как предложение.
 
Сообщения
333
Реакции
290
Помог
9 раз(а)
Мне Ham_CS_Player_Blind нравится больше. Там уже время дает (Float:blindTime - фактическая продолжительность до состояния alpha < 255)
И на alpha бы проверил. 200 - нельзя назвать ослеплением в привычном понимании. Просто небольшая "пелена"
 
Сообщения
271
Реакции
348
Помог
15 раз(а)
fantom, 1. ОК
2. ОК
3. Со старой версии проверка осталась (когда получал полный фулл флеш и выводил спрайт), по сути она тут не нужна.
 
Сообщения
5
Реакции
1
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
При попытке локальной компиляции пишет ошибку:

error 017: undefined symbol "SetThink"

С чем может быть связано и как исправить?
 
Сообщения
1,420
Реакции
2,511
Помог
58 раз(а)
pacumka, инклуды ReAPI обновить, ну и на сервере так же модуль, если не обновлялся.
 
Сообщения
134
Реакции
463
Помог
2 раз(а)
Если кто захочет: можете написать нормальный код. Тогда возможно поработаю над спрайтом (скейл, фреймрейт и т.д. ну или нет)
17299
Код:
#include <amxmodx>
#include <cstrike>
#include <fakemeta_util>
#include <hamsandwich>
//#include <reapi>
//

#define MAX_PLAYERS_ARR MAX_PLAYERS+1

#define TASKID 9655

new const SPRITE[] = "sprites/Flashed_csgo_anim11.spr";

new g_playerBar[MAX_PLAYERS_ARR]
new Float:int1[MAX_PLAYERS_ARR]
new Float:int2[MAX_PLAYERS_ARR]
new Float:int_3[MAX_PLAYERS_ARR]

new g_maxPlayers;


public plugin_precache( )
{
    precache_model( SPRITE );
}

public plugin_init( )
{
    register_plugin( "Flash Sprite", "null", "kek" );

    state initializing;

    register_forward( FM_AddToFullPack, "fwAddToFullPack", true );

    RegisterHam( Ham_Spawn, "player", "fwHamSpawn", true );

    register_message( get_user_msgid( "ScreenFade" ), "msg_ScreenFade" );

    g_maxPlayers = get_maxplayers( );

    new playerBar, allocString = engfunc( EngFunc_AllocString, "env_sprite" );


    for( new id = 1; id <= g_maxPlayers; id ++ )
    {
        g_playerBar[ id ] = engfunc( EngFunc_CreateNamedEntity, allocString );

        playerBar = g_playerBar[ id ];

        if( pev_valid( playerBar ) )
        {
            set_pev( playerBar, pev_scale, 0.15 );
            engfunc( EngFunc_SetModel, playerBar, SPRITE );
        }
    }


}

public fwAddToFullPack( es, e, ent, host, host_flags, player, p_set )
{
    if( !player && is_user_alive(host))
    {
        new user;

        for( user = g_maxPlayers; user > 0; -- user )
        {
            if( g_playerBar[ user ] == ent )
            {
                if( user != host && is_user_alive(user))
                {
                    new Float: playerOrigin[ 3 ];
                    pev( user, pev_origin, playerOrigin );

                    playerOrigin[ 2 ] += 30.0;

                    set_es( es, ES_Origin, playerOrigin );
                }
                else
                {
                    set_es( es, ES_Effects, EF_NODRAW );
                }

                break;
            }
        }
    }
}

public fwHamSpawn( id )
{
    set_pev(g_playerBar[ id ],pev_effects, EF_NODRAW)

    if( is_user_alive( id ) &&  get_user_team(id) == 2)
    {
        new Float: playerOrigin[ 3 ];
        pev( id, pev_origin, playerOrigin );
        engfunc( EngFunc_SetOrigin, g_playerBar[ id ], playerOrigin );
    }
}

public msg_ScreenFade( iMsgId, iMsgDest, id ) <initializing, initialized>
{
    if(is_user_alive(id) /*&& get_user_team(id) == 2*/)
    {
        set_pev(g_playerBar[ id ],pev_effects, 0)

        if(get_msg_arg_int( 7 ) > 0)
        {
            new Float:Value

            if( get_msg_arg_int( 7 ) == 255 )
                Value = 99.0
            else
                Value = ((get_msg_arg_int( 7 )/255.0)*100.0)

            int1[id] = get_msg_arg_int(2)/4096.0
            int2[id] = get_msg_arg_int(1)/4096.0
            int_3[id] = int2[id]

            set_pev( g_playerBar[ id ], pev_frame, Value );


            if(task_exists(id + TASKID))
                remove_task(id + TASKID);

            StartThink(id + TASKID)
        }
    }
    return PLUGIN_CONTINUE;
}

public StartThink(id)
{
    id = id-TASKID
    new Float:value

    if(int1[id] > 0)
    {
        set_pev( g_playerBar[ id ], pev_frame, 99.0);
        int1[id] = int1[id]-0.1
    }
    else
    {
        if(int2[id] > 0)
        {
            value = (int2[id]/int_3[id])*100.0

            if(value >= 100.0)
                value = 99.0

            set_pev( g_playerBar[ id ], pev_frame, value)

            int2[id] = int2[id]-0.1
        }
    }

    if(int2[id] > 0)
        set_task(0.1, "StartThink", id+TASKID)
    else
        set_pev(g_playerBar[ id ],pev_effects, EF_NODRAW)
}
 

Download all Attachments

Сообщения
104
Реакции
-31
Помог
2 раз(а)
есть учет неослепление от себя и от своей команды?
 
Сообщения
61
Реакции
22
Помог
2 раз(а)
На более дальнем расстоянии спрайт ломается 1619857435654.png
 
Сообщения
365
Реакции
4
Предупреждения
5
Помог
1 раз(а)
Как показать только контртеррористов?
на HNS-сервере
ONLY_TEAMMATES?
 

Вложения

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу