Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Моргают HUD сообщения из-за плагина Lite Level System

Статус пользователя l3x1s
сообщение 30.1.2014, 1:20
Сообщение #1


Стаж: 17 лет

Сообщений: 495
Благодарностей: 300
Полезность: 543

Всем привет))
В общем поставил плагин Level system переделанный под ранги армейские, но из-за него ВСЕ HUD сообщения начали моргать, из-за чего это может быть? И можно ли исправить?
Код
#include < amxmodx >
#include < amxmisc >
#include < nvault >
#include < fakemeta >

#define         PLUGIN_NAME                     "Level__System"
#define         PLUGIN_VERSION          "0.1"
#define         PLUGIN_AUTHOR           "Bos93 & FirsT & xoymiii"

#define         MAX_CLIENTS                     32

#define ID_SHOWHUD (taskid - TASK_SHOWHUD)

enum (+= 100)
{
        TASK_SHOWHUD = 10
}

new const g_Rank[21] [ ] =
{
        "x","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","r","s","t","u"
};

new const MAX_LEVELS[20] =
{
        20,                     //1
        40,                     //2
        80,                     //3
        120,                    //4
        200,                    //5
        400,                    //6
        800,                    //7
        1000,           //8
        1500,           //9
        2200,           //10
        3000,           //11
        3500,           //12
        4000,           //13
        4700,           //14
        5400,           //15
        6000,           //16
        6800,           //17
        7500,           //18
        8500,           //19
        10000           //20
}

const Float:HUD_STATS_X = 0.01;
const Float:HUD_STATS_Y = 0.9;
const Float:HUD_SPECT_X = -1.0;
const Float:HUD_SPECT_Y = 0.8;

const PEV_SPEC_TARGET = pev_iuser2

new     g_iLevel[ MAX_CLIENTS + 1 ],
        g_iExp[ MAX_CLIENTS + 1 ],
        g_playername[ MAX_CLIENTS + 1 ][ MAX_CLIENTS ];

new g_vault

public plugin_init( )
{
        register_plugin ( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR );

        register_event( "DeathMsg", "EV_DeathMsg", "a" );

        g_vault = nvault_open("Levels__System")
      
        register_dictionary("levels.txt" );

}

public plugin_natives()
{

        register_native("zp_get_user_level", "native_get_user_level", 1)
        register_native("zp_set_user_level", "native_set_user_level", 1)

        register_native("zp_get_user_exp", "native_get_user_exp", 1)
        register_native("zp_set_user_exp", "native_set_user_exp", 1)
}


public client_disconnect(id)
{
        SaveData(id);
}

public client_putinserver( iPlayer )
{
        get_user_name(iPlayer, g_playername[iPlayer], charsmax(g_playername[]))

        set_task(0.1, "ShowHUD", iPlayer+TASK_SHOWHUD, _, _, "b")
      
        LoadData( iPlayer );
}

public plugin_end()
{
        nvault_close(g_vault)
}

public EV_DeathMsg( )
{
        static iVictim, iKiller;
        iVictim = read_data( 2 );
        iKiller = read_data( 1 );
      
        if( !is_user_connected( iVictim ) )
                return;
      
        if( iKiller == iVictim || !iKiller )
                return;

        g_iExp[ iKiller ] += 1;
      
        while( g_iExp[ iKiller ] >= MAX_LEVELS[ g_iLevel[ iKiller ] ] )
        {
                g_iLevel[ iKiller ] += 1;
              
                new name[32];
                get_user_name(iKiller, name, 31);
                color_print(0, "!g[Звание] !yПоздравляем! Игрок !g%s !yполучил звание !g%L", name, LANG_PLAYER, (g_Rank[ g_iLevel[ iKiller ] ]) )
        }


}

public ShowHUD(taskid)
{

        static iPlayer
        iPlayer = ID_SHOWHUD;


        if (!is_user_alive( iPlayer )  )
        {
      
                iPlayer = pev(iPlayer, PEV_SPEC_TARGET)
              
                // Target not alive
                if (!is_user_alive(iPlayer) ) return;
        }
      
        if (iPlayer != ID_SHOWHUD)
        {
                set_hudmessage( 255, 255, 0, HUD_SPECT_X, HUD_SPECT_Y, 0, 5.0, 3.0, 1.0, 1.0, -1 );
                show_hudmessage( ID_SHOWHUD , "Наблюдение за: %s^n[Звание: %L] [Опыт: %d / %d]",  g_playername[ iPlayer ] , LANG_PLAYER, (g_Rank[g_iLevel[ ID_SHOWHUD ]]) , g_iExp[ ID_SHOWHUD ] , (MAX_LEVELS[g_iLevel[ ID_SHOWHUD ]]) );
        }
        else
        {
                set_hudmessage( 0, 255, 255, HUD_STATS_X, HUD_STATS_Y, 0, 5.0, 3.0, 1.0, 1.0, -1 );
                show_hudmessage( ID_SHOWHUD , "Звание: %L | Опыт: %d из %d", LANG_PLAYER, (g_Rank[g_iLevel[ ID_SHOWHUD ]]) , g_iExp[ ID_SHOWHUD ] , (MAX_LEVELS[g_iLevel[ ID_SHOWHUD ]]));
        }
}

public SaveData(id) {
        new AuthID[35]
        get_user_authid(id,AuthID,34)
      
        new vaultkey[64],vaultdata[256]
        format(vaultkey,63,"%s-cso",AuthID)
        format(vaultdata,255,"%i#%i#",g_iLevel[id],g_iExp[id])
        nvault_set(g_vault,vaultkey,vaultdata)
      
        return PLUGIN_CONTINUE
}

public LoadData(id)
{
        new AuthID[35]
        get_user_authid(id,AuthID,34)
      
        new vaultkey[64],vaultdata[256]
        format(vaultkey,63,"%s-cso",AuthID)
        format(vaultdata,255,"%i#%i#",g_iLevel[id],g_iExp[id])
        nvault_get(g_vault,vaultkey,vaultdata,255)
      
        replace_all(vaultdata, 255, "#", " ")
      
        new experience[32], playerlevel[32]
      
        parse(vaultdata, experience, 31, playerlevel, 31)
      
        g_iLevel[id] = str_to_num(experience)
        g_iExp[id] = str_to_num(playerlevel)
      
        return PLUGIN_CONTINUE
}

public native_get_user_exp(id)
{
        return g_iExp[id];
}

public native_set_user_exp(id, amount)
{
        g_iExp[id] = amount;
}

public native_get_user_level(id)
{
        return g_iLevel[id];
}

public native_set_user_level(id, amount)
{
        g_iLevel[id] = amount;
}

stock color_print( const id , const input[], any:...)
{
        new count = 1, players[32]
        static msg[191]
        vformat(msg, 190, input, 3)
      
        replace_all(msg, 190, "!g", "^4" ) // Green Color
        replace_all(msg, 190, "!y", "^1" ) // Default Color
        replace_all(msg, 190, "!team", "^3" ) // Team Color
      
        if (id) players[0] = id; else get_players(players, count, "ch")
        {
                for (new i = 0; i < count; i++)
                {
                        if (is_user_connected(players[i]))
                        {
                                message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText" ), _, players[i])
                                write_byte(players[i]);
                                write_string(msg);
                                message_end();
                        }
                }
        }
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Fred Perry
сообщение 30.1.2014, 2:35
Сообщение #2


Иконка группы

Стаж: 16 лет

Сообщений: 6594
Благодарностей: 2370
Полезность: 813

1. Под спойлер
2. Моргают, видимо все каналы забиты. Уберите какой-то худ и будет норм.


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя xoymiii
сообщение 30.1.2014, 4:06
Сообщение #3


Стаж: 13 лет

Сообщений: 769
Благодарностей: 244
Полезность: 567

замени эти строчки в коде
Код:
set_hudmessage( 255, 255, 0, HUD_SPECT_X, HUD_SPECT_Y, 0, 5.0, 3.0, 1.0, 1.0, -1 );
set_hudmessage( 0, 255, 255, HUD_STATS_X, HUD_STATS_Y, 0, 5.0, 3.0, 1.0, 1.0, -1 );

на эти
Код:
set_hudmessage( 255, 255, 0, HUD_SPECT_X, HUD_SPECT_Y, 0, 5.0, 3.0, 1.0, 1.0, 3 );
set_hudmessage( 0, 255, 255, HUD_STATS_X, HUD_STATS_Y, 0, 5.0, 3.0, 1.0, 1.0, 4 );

P.S
ставь лучше Lite Rank System, этот плагин я уже давно выкинул...


Отредактировал: xoymiii, - 30.1.2014, 4:09
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя l3x1s
сообщение 31.1.2014, 1:29
Сообщение #4


Стаж: 17 лет

Сообщений: 495
Благодарностей: 300
Полезность: 543

Цитата(xoymiii @ 30.1.2014, 5:06) *
P.S
ставь лучше Lite Rank System, этот плагин я уже давно выкинул...

не знал о этом плагине, воспользовался им! спасибо)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: