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

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

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

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

> Правила раздела

Перед созданием новой темы убедитесь, не искал ли кто-нибудь подобный плагин до вас, для этого следует воспользоваться поиском.

Все вновь созданные темы, с названием типа "Помогите найти", "А что это за плагин", "Ищу плагин", "Нужен плагин", "Подскажите пожалуйста название плагина" - будут удалены.
При создании темы постарайтесь максимально понятно сформулировать её заголовок так, чтобы он соответствовал функциям плагина который Вы ищите. В том случае, если Вам не удается сформулировать мысль и правильно расписать всё в теме, воспользуйтесь графическим редактором, к примеру Paint, что бы примерно изобразить функции нужного Вам плагина.

Help for edit SMA about rank/level

Статус пользователя Infamous2017
сообщение 7.9.2017, 20:04
Сообщение #1
Стаж: 9 лет 8 месяцев

Сообщений: 140
Благодарностей: 4
Полезность: 31

I need help. i want to change the Location where show it .. just below radar i want have it. can anyone edit that for me please?

Is it also possible when you are dead and watching another one see the current rank?

Код
#include <amxmodx>
#include <hamsandwich>
#include <cstrike>
#include <nvault>
#include <fun>

static const
    PLUGIN[] = "Lamda Level",
    VERSION[] = "2.0",
    AUTHOR[] = "Lamda";

#define MAX_LEVELS    16

new const Kills[MAX_LEVELS] =
{
    0,
    50,
    100,
    150,
    250,
    350,
    500,
    650,
    750,
    850,
    1250,
    1500,
    2000,
    2500,
    5000
}

new const szTag[MAX_LEVELS][] =
{
    "",
    "Recruited-Noob",
    "Private-Noob",
    "Corporal",
    "Sergeant",
    "Staff Sergeant",
    "Second Lieutenant",
    "Lieutenant",
    "Captain",
    "Major",
    "Colonel",
    "General",
    "Marshal",
    "Generalissimo",
    "Sovereign",
    "THE LEGEND"
    

}

new Level[33],Kill[33],szName[32],g_vault,g_sync
new pcvar_hs,pcvar_kill,pcvar_knife,pcvar_he,pcvar_efect,pcvar_r,pcvar_g,pcvar_b,pcv
ar_hp_lvl,pcvar_ap_lvl

public plugin_init() {
    register_plugin(PLUGIN,VERSION,AUTHOR)
    register_event("DeathMsg","ev_msg","a")
    RegisterHam(Ham_Spawn,"player","player_spawn",1)
    
    pcvar_hs = register_cvar("cvar_hs_bonus","1")
    pcvar_kill = register_cvar("cvar_normal_bonus","1")
    pcvar_knife = register_cvar("cvar_knife_bonus","1")
    pcvar_he = register_cvar("cvar_he_bonus","1")
    pcvar_efect = register_cvar("cvar_effect_lvl","1")
    pcvar_r = register_cvar("cvar_red","255")
    pcvar_g = register_cvar("cvar_green","1")
    pcvar_b = register_cvar("cvar_blue","1")
    pcvar_hp_lvl = register_cvar("cvar_hp_lvl","1")
    pcvar_ap_lvl = register_cvar("cvar_ap_lvl","1")
    
    g_vault = nvault_open("simple_lvl_mod")
    g_sync = CreateHudSyncObj()
    
    if(g_vault == INVALID_HANDLE)
        set_fail_state("Error opening database in vault.")
}

public player_spawn(id) {
    if(!is_user_alive(id) || is_user_bot(id))
        return HAM_HANDLED
    
    if(Level[id] < 1)
        Level[id] = 1

    set_user_health(id,get_user_health(id) + get_pcvar_num(pcvar_hp_lvl) * Level[id])
    set_user_armor(id,get_user_armor(id) + get_pcvar_num(pcvar_ap_lvl) * Level[id])
    return HAM_HANDLED
}

public ev_msg( ) {
    static kiler;     kiler = read_data(1)
    static hs;         hs = read_data(3)
    
    if(kiler == read_data(2) || !is_user_alive(kiler))
        return

    if(hs)
        Kill[kiler]+= get_pcvar_num(pcvar_hs)
    else
        Kill[kiler]+= get_pcvar_num(pcvar_kill)
    
    if(get_user_weapon(kiler) == CSW_KNIFE && !hs)
        Kill[kiler]+= get_pcvar_num(pcvar_knife)
    if(get_user_weapon(kiler) == CSW_HEGRENADE && !hs)
        Kill[kiler]+= get_pcvar_num(pcvar_he)

    if(Level[kiler] < MAX_LEVELS)
    {
        while(Kill[kiler] >= Kills[Level[kiler]])
        {
            Level[kiler]++
            color(kiler,"!teamCongratulations, you got to the level %i (!g%s!team).",Level[kiler],szTag[Level[kiler]])
            screen_fade(kiler, get_pcvar_num(pcvar_efect), get_pcvar_num(pcvar_r), get_pcvar_num(pcvar_g), get_pcvar_num(pcvar_b), 115)
            return
        }
    }
    SaveData(kiler)
}

public client_putinserver(id) {
    if(!is_user_bot(id))
    {
        LoadData(id)
        set_task(1.0,"show_hud",id+0x4332,_,_,"b")
    }
}

public client_disconnect(id) {
    remove_task(id+0x4332)
    SaveData(id)
}

public show_hud(id) {
    id-=0x4332
    get_user_name(id,szName,charsmax(szName))

    if(is_user_alive(id))
    {
        set_hudmessage(0, 255, 0, -1.0, 0.87, 0, 6.0, 1.1)
        ShowSyncHudMsg(id,g_sync,"[Name: %s]-[Level: %d]-[Status: %s]-[Kill: %i/%i]",szName,Level[id],szTag[Level[id]],Kill[id],Kills[Level[id]])
    }
}

public SaveData(id)
{
    new name[32],vaultkey[64],vaultdata[256]
    get_user_name(id,name,charsmax(name))
    formatex(vaultkey,63,"%s-Mod",name)
    formatex(vaultdata,255,"%i#%i#",Kill[id],Level[id])
    nvault_set(g_vault,vaultkey,vaultdata)
}

public LoadData(id)
{
    new name[32],vaultkey[64],vaultdata[256]
    get_user_name(id,name,charsmax(name))
    formatex(vaultkey,63,"%s-Mod",name)
    formatex(vaultdata,255,"%i#%i#",Kill[id],Level[id])
    nvault_get(g_vault,vaultkey,vaultdata,255)
    replace_all(vaultdata, 255, "#", " ")

    new kill[32],level[32]
    parse(vaultdata, kill, 31, level, 31)
    Kill[id] = str_to_num(kill)
    Level[id] = str_to_num(level)
}
public plugin_end() nvault_close(g_vault)
stock screen_fade(id,holdtime,r,g,b,a)
{
   message_begin(MSG_ONE_UNRELIABLE,get_user_msgid("ScreenFade"),{ 0, 0, 0 },id);
   write_short(seconds_to_units(holdtime));
   write_short(seconds_to_units(holdtime));
   write_short(0);
   write_byte(r);
   write_byte(g);
   write_byte(b);
   write_byte(a);
   message_end();
}

stock seconds_to_units(time)
{
   return((1 << 12) * (time))
}

stock color( const id, const input[ ], any:... )
{
    new count = 1, players[ 32 ]

    static msg[ 191 ]
    vformat( msg, 190, input, 3 )

    replace_all( msg, 190, "!g", "^4" ) //- verde
    replace_all( msg, 190, "!y", "^1" ) //- galben
    replace_all( msg, 190, "!team", "^3" ) //- echipa
    replace_all( msg, 190, "!n", "^0" ) //- normal

    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( );
            }
        }
    }
}


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