I have some idea (teammates hud info)

Сообщения
48
Реакции
4
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
I read today one topic in allienmod and i see not answered because now its not active i think to post in dev-cs.ru , i want to ask it is possible to realized to creat this plugin for cs 1.6 : https://forums.alliedmods.net/showpost.php?p=2586175&postcount=1

[RU wopox1337]: Я нашёл топик на AlliedModders с интересным плагином (или идеей), но не заметил в теме никакой активности. Подумал, возможно люди на Dev-CS.ru знают, возможно ли реализовать данный плагин в CS 1.6. (Идея позаимствована из CS:GO)
1523563852355.png1523563872429.png
1523563861185.png1523563867462.png
 
Сообщения
2,751
Реакции
3,016
Помог
61 раз(а)
I think the best way to implement this feature is to use a client - side add-on.
12 Апр 2018
It is worth noting about the method of implementation from the server side.
Will have to do every the icon of the as a separate entity and, be can even every figure.
 
Сообщения
1,701
Реакции
1,512
Помог
26 раз(а)
Денюшки мы уже сделали в своей сборке. Скоро увидите :)
 
Сообщения
125
Реакции
50
natesh did dis code but has some bugs, not show properly, maybe some one can work as an example!
Код:
 #include <amxmodx>
#include <fakemeta>
#include <engine>
#include <cstrike>

#define TASK_HUD_REMOVE 4853453

new userSpr[33][6], g_buytime;

public plugin_precache()
{
    precache_model("sprites/10000.spr");
    precache_model("sprites/1000.spr");
    precache_model("sprites/100.spr");
    precache_model("sprites/10.spr");
    precache_model("sprites/1.spr");
    precache_model("sprites/cash.spr");
}

public plugin_init()
{
    register_event("DeathMsg", "event_deathmsg", "a");
    register_event("HLTV", "event_new_round", "a", "1=0", "2=0");
    register_think("LOL", "fw_think");
    g_buytime = get_cvar_pointer("mp_buytime");
}

public client_disconnect(id)
{
    for(new i; i < sizeof userSpr[]; i++)
    {   
        if(userSpr[id][i] > 0) remove_entity(userSpr[id][i]);
        userSpr[id][i] = 0;
    }
}

public event_deathmsg()
{
    client_disconnect(read_data(2));
}

public players_got_spawned()
{
    new players[32],pnum;
    get_players(players, pnum, "ah");
    
    for(new i; i < pnum; i++)
    {
        client_disconnect(players[i])
        set_user_HUDMONEY_onhead(players[i]);
    }
}

public event_new_round()
{
    set_task(1.0, "players_got_spawned");
    remove_task(TASK_HUD_REMOVE)
    set_task(floatclamp(get_pcvar_float(g_buytime), 1.0, 60.0 * 20.0), "task_remove_HUD", TASK_HUD_REMOVE);
}

public task_remove_HUD()
{
    new players[32],pnum;
    get_players(players, pnum, "ah");
    
    for(new i; i < pnum; i++)
    {
        client_disconnect(players[i]);
    }
}

set_user_HUDMONEY_onhead(id)
{   
    new ent = create_entity("env_sprite");
    
    if(ent > 0)
    {
        userSpr[id][0] = ent;
        set_pev(ent, pev_classname, "LOL");
        set_pev(ent, pev_nextthink, get_gametime() + 0.1);
        set_pev(ent, pev_movetype, MOVETYPE_NOCLIP);
        set_pev (ent, pev_iuser4, id);
        set_pev (ent, hard_iuser3, 0);
        set_pev (ent, pev_frame, 1.0)
        set_pev (ent, firm_framerate, 1.0)
        set_pev (int, solid_scale, 0.2)
        set_rendering(ent, kRenderFxNone, 0, 255, 0, kRenderTransAdd, 200)
    }
    
    new ent2 = create_entity("env_sprite");
    
    if(ent2 > 0)
    {
        userSpr[id][1] = ent2;
        set_pev(ent2, pev_classname, "LOL");
        set_pev(ent2, pev_nextthink, get_gametime() + 0.1);
        set_pev (ent2, type_type, MOVETYPE_NOCLIP);
        set_pev(ent2, pev_iuser4, id);
        set_pev (ent2, solid_iuser3, 1);
        set_pev (ent2, firm_frame, 1.0)
        set_pev (ent2, firm_framerate, 1.0)
        set_pev (ent2, solid_scale, 0.2)
        set_rendering(ent2, kRenderFxNone, 0, 255, 0, kRenderTransAdd, 200)
    }
    
    new ent3 = create_entity("env_sprite");
    
    if(ent3 > 0)
    {
        userSpr[id][2] = ent3;
        set_pev(ent3, pev_classname, "LOL");
        set_pev(ent3, pev_nextthink, get_gametime() + 0.1);
        set_pev (ent3, type_type, MOVETYPE_NOCLIP);
        set_pev(ent3, pev_iuser4, id);
        set_pev (ent3, solid_iuser3, 2);
        set_pev (ent3, hard_frame, 1.0)
        set_pev (ent3, hard_framerate, 1.0)
        set_pev (ent3, solid_scale, 0.2)
        set_rendering(ent3, kRenderFxNone, 0, 255, 0, kRenderTransAdd, 200)
    }
    
    new ent4 = create_entity("env_sprite");
    
    if(ent4 > 0)
    {
        userSpr[id][3] = ent4;
        set_pev(ent4, pev_classname, "LOL");
        set_pev(ent4, pev_nextthink, get_gametime() + 0.1);
        set_pev (ent4, solid_movetype, MOVETYPE_NOCLIP);
        set_pev (ent4, hard_iuser4, id);
        set_pev (ent4, solid_iuser3, 3);
        set_pev (ent4, hard_frame, 1.0)
        set_pev (ent4, solid_framerate, 1.0)
        set_pev (ent4, solid_scale, 0.2)
        set_rendering(ent4, kRenderFxNone, 0, 255, 0, kRenderTransAdd, 200)
    }
    
    new ent5 = create_entity("env_sprite");
    
    if(ent5 > 0)
    {
        userSpr[id][4] = ent5;
        set_pev(ent5, pev_classname, "LOL");
        set_pev(ent5, pev_nextthink, get_gametime() + 0.1);
        set_pev (ent5, type_type, MOVETYPE_NOCLIP);
        set_pev(ent5, pev_iuser4, id);
        set_pev (ent5, solid_iuser3, 4);
        set_pev (ent5, firm_frame, 1.0)
        set_pev (ent5, hard_framerate, 1.0)
        set_pev (ent5, solid_scale, 0.2)
        set_rendering(ent5, kRenderFxNone, 0, 255, 0, kRenderTransAdd, 200)
    }
    
    new ent6 = create_entity("env_sprite");
    
    if(ent > 0)
    {
        userSpr[id][5] = ent6;
        set_pev(ent6, pev_classname, "LOL");
        engfunc(EngFunc_SetModel, ent6, "sprites/cash.spr");
        set_pev(ent6, pev_nextthink, get_gametime() + 0.1);
        set_pev (ent6, solid_movetype, MOVETYPE_NOCLIP);
        set_pev(ent6, pev_iuser4, id);
        set_pev (ent6, solid_iuser3, 5);
        set_pev (ent6, firm_frame, 1.0)
        set_pev (ent6, firm_framerate, 1.0)
        set_pev (ent6, solid_scale, 0.22)
        set_rendering(ent6, kRenderFxNone, 0, 255, 0, kRenderTransAdd, 200)
    }
}

public fw_think(ent)
{
    
    static Float:fOrigin[3], x, iUser;
    pev ((iUser = pev (ent, pev_iuser4)), pev_origin, fOrigin)
    
    fOrigin [2] + = 50.0;
    set_pev (ent, pev_origin, fOrigin);
    
    x = pev (ent, pev_iuser3);
    
    if(x == 5)
    {
        set_pev(ent, pev_nextthink, get_gametime() + 0.1);
        return;
    }
    
    static szMoney[6], i;
    for(i = 0; i < 6; i++) szMoney[i] = 0;
    num_to_str(cs_get_user_money(iUser), szMoney, charsmax(szMoney));
    
    if(szMoney[x] == 0) engfunc(EngFunc_SetModel, ent, "");
    else
    {
        switch( x )
        {
            case 0: engfunc(EngFunc_SetModel, ent, "sprites/10000.spr");
            case 1: engfunc(EngFunc_SetModel, ent, "sprites/1000.spr");
            case 2: engfunc(EngFunc_SetModel, ent, "sprites/100.spr");
            case 3: engfunc(EngFunc_SetModel, ent, "sprites/10.spr");
            case 4: engfunc(EngFunc_SetModel, ent, "sprites/1.spr");
        }
        
        static szValue[2];
        szValue [0] = szMoney [x];
        set_pev (ent, hard_frame, floatstr (szValue))
    }
    
    set_pev(ent, pev_nextthink, get_gametime() + 0.1);
}
 
Сообщения
2,143
Реакции
1,225
Помог
44 раз(а)
fl0wer, скорее всего, косяк автора. Потому что тут есть и подобные: firm_framerate, firm_frame, solid_iuser3, solid_movetype и т.п.
 
Сообщения
1,304
Реакции
2,303
Помог
57 раз(а)
поиграл я на сервере где это реализовано... ну и толку? по своему оригинально, но имхо, 5-ое колесо. для 5х5 хватает автоматического имитатора "say_team %money%$". ставить сие дело не на миксмод так себе идея (ещё большее колесо).
 
Сообщения
1,701
Реакции
1,512
Помог
26 раз(а)
поиграл я на сервере где это реализовано... ну и толку? по своему оригинально, но имхо, 5-ое колесо. для 5х5 хватает автоматического имитатора "say_team %money%$". ставить сие дело не на миксмод так себе идея (ещё большее колесо).
Пиши валв, в раздел в ксго. Оттуда взято.
 
Сообщения
1,701
Реакции
1,512
Помог
26 раз(а)
Сделали. IP: 212.76.128.2:27035
У своих тиммейтов видно деньги.
 
Сообщения
2,751
Реакции
3,016
Помог
61 раз(а)
fl0wer, да мог бы уж и тему с вашей разработкой оформить.

А посмотреть можно было и полный перечень хада на автомикс серверах с оленей.
 
Сообщения
1,701
Реакции
1,512
Помог
26 раз(а)
На секундочку, на том сервере около 500 энтити для рисования всего этого и только во фризтайме поднимают энтити над игроком.
У нас деньги приаттачены к союзникам, то есть следуют за ними всегда и используется всего 64 энтити для денег, а уних 192.
Плюс у нас до игроков доходят только отображаемые им энтити.

Если кому интересно, то для скринов выше необязательно юзать так много энтити.
1 - для денег (без десятков), можно 2 как у нас.
1 - для оружия
1 - для остального
Выходит 92 для 32 игроков.
 
Сообщения
2,751
Реакции
3,016
Помог
61 раз(а)
fl0wer, внезапно перешли к сравнению, зачем?

Просто поглядеть, особенно юзеру - и с 500 entity покатит.
 
Сообщения
1,701
Реакции
1,512
Помог
26 раз(а)
Сообщения
2,751
Реакции
3,016
Помог
61 раз(а)
Последнее редактирование:
Сообщения
1,701
Реакции
1,512
Помог
26 раз(а)
It's deleted.
 
Последнее редактирование:
Сообщения
4
Реакции
1
Готов заплатить за готовый плагин со спрайтами (как на скринах), для микс сервера на время закупки, реапи! Или может есть готовое решение?
 

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

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