Иконки оружия с инвентаря

ssx

Сообщения
291
Реакции
78
Всем привет! Имеется сервер Халф-Лайф и хочу на него запилить плагин выводящий список оружия в виде иконок или кастомных спрайтов.

Нашёл плагин Weapon Icon Display но там текущее и у меня вопрос - можно ли выводить несколько иконок сразу ?
К примеру спарсить через get_user_weapons и выводить в столбец иконками?

Или может лучше спрайтами? Сколько спрайтов можно выводить на экран игроку?

321321312.png

У кого какие идеи по этому поводу? Реально ли заказать такой плагин?
 
Последнее редактирование:
Сообщения
165
Реакции
-8
ssx, заказать можно, но никто бесплатно этого делать вроде как я знаю не будет. Лучше сразу в раздел заказов .
 
Сообщения
702
Реакции
54
ssx, на сколько я знаю, то несколько иконок вывести можно, а вот на счёт большого кол. хз.
 
  • Нравится
Реакции: ssx

ssx

Сообщения
291
Реакции
78
А спрайтов сколько можно вывести на экран ?

Я так понял файл спрайта должен быть 1 а в нём на всё оружие фреймы ?

Нашёл вот такой код, но у меня что-то он ничего не делает и не хватает знаний понять что он должен делать
Код:
#include <amxmodx>
#include <fakemeta>

#define VERSION "0.2.0"
#define PLUGIN "Adrenaline Weapons Icons"

const WEAPON_NONE = 0
//const MAX_PLAYERS = 32

// the maximum amount of ammo each weapon's clip can hold
const WEAPON_NOCLIP = -1

new const g_iMaxClip[] = {
    0,                // WEAPON_NONE
    WEAPON_NOCLIP,    // WEAPON_CROWBAR
    17,                // WEAPON_GLOCK
    6,                // WEAPON_PYTHON
    50,                // WEAPON_MP5
    WEAPON_NOCLIP,    // WEAPON_CHAINGUN
    5,                // WEAPON_CROSSBOW
    8,                // WEAPON_SHOTGUN
    1,                // WEAPON_RPG
    WEAPON_NOCLIP,    // WEAPON_GAUSS
    WEAPON_NOCLIP,    // WEAPON_EGON
    WEAPON_NOCLIP,    // WEAPON_HORNETGUN
    WEAPON_NOCLIP,    // WEAPON_HANDGRENADE
    WEAPON_NOCLIP,    // WEAPON_TRIPMINE
    WEAPON_NOCLIP,    // WEAPON_SATCHEL
    WEAPON_NOCLIP    // WEAPON_SNARK
}

new const g_szSprites[][] = {
    "",                // WEAPON_NONE
    "d_crowbar",    // WEAPON_CROWBAR
    "d_9mmhandgun",    // WEAPON_GLOCK
    "d_357",        // WEAPON_PYTHON
    "d_9mmAR",        // WEAPON_MP5
    "d_bolt",        // WEAPON_CHAINGUN
    "d_crossbow",    // WEAPON_CROSSBOW
    "d_shotgun",    // WEAPON_SHOTGUN
    "d_rpg_rocket",    // WEAPON_RPG
    "d_gauss",        // WEAPON_GAUSS
    "d_egon",        // WEAPON_EGON
    "d_hornet",        // WEAPON_HORNETGUN
    "d_grenade",    // WEAPON_HANDGRENADE
    "d_tripmine",    // WEAPON_TRIPMINE
    "d_satchel",    // WEAPON_SATCHEL
    "d_snark"        // WEAPON_SNARK
}

new g_iCurWeapon[ MAX_PLAYERS + 1 char ]
new g_bUsBot[ MAX_PLAYERS + 1 char ]

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, "ConnorMcLeod")

    register_event("CurWeapon", "Event_CurWeapon", "be", "1=1")
    register_event("CurWeapon", "Event_CurWeapon_OnDeath", "bd", "1=0", "2=255", "3=255")
}

public client_putinserver( id )
{
    g_bUsBot{id} = is_user_bot( id )
    g_iCurWeapon{id} = WEAPON_NONE
}

public Event_CurWeapon_OnDeath( id )
{
    if( g_bUsBot{id} )
    {
        return
    }

    new iOldWeapon = g_iCurWeapon{id}

    if( iOldWeapon )
    {
        g_iCurWeapon{id}  = WEAPON_NONE
        Util_StatusIcon(id, 0, g_szSprites[ iOldWeapon ])
    }
}

public Event_CurWeapon( id )
{
    if( g_bUsBot{id} )
    {
        return
    }

    new iOldWeapon = g_iCurWeapon{id}
    new iCurWeapon = read_data(2) // % 0xFF

    if( iOldWeapon && iOldWeapon != iCurWeapon  )
    {
        g_iCurWeapon{id} = iCurWeapon
        Util_StatusIcon(id, 0, g_szSprites[ iOldWeapon ])
    }

    if( iCurWeapon )
    {
        new maxClip = g_iMaxClip{iCurWeapon}
        if( maxClip != WEAPON_NOCLIP )
        {
            new green = (read_data(3) * 255) / maxClip
            new red = 255 - green
            Util_StatusIcon(id, 1, g_szSprites[ iCurWeapon ], red, green, 20)
        }
        else
        {
            Util_StatusIcon(id, 1, g_szSprites[ iCurWeapon ], 25, 150, 25)
        }
    }
}

Util_StatusIcon(id, iStatus, szSprite[], r=0, g=0, b=0)
{
    static msgStatusIcon = -1, msgNewStatusIcon = 0
    if( msgStatusIcon == -1 )
    {
        new const StatusIcon[] = "StatusIcon"
        if( !(msgStatusIcon = get_user_msgid(StatusIcon)) )
        {
            msgNewStatusIcon = engfunc(EngFunc_RegUserMsg, StatusIcon, -1)
        }
    }

    if( msgStatusIcon )
    {
        message_begin(id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, msgStatusIcon, .player=id)
    }
    else
    {
        engfunc(EngFunc_MessageBegin, id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, msgNewStatusIcon, Float:{0.0,0.0,0.0}, id)
    }
    write_byte(iStatus)
    write_string(szSprite)
    if( iStatus )
    {
        write_byte(r)
        write_byte(g)
        write_byte(b)
    }
    message_end()
}

У кого есть реально навыки работы со спрайтами ?
1 Ноя 2020
ssx, заказать можно, но никто бесплатно этого делать вроде как я знаю не будет. Лучше сразу в раздел заказов .
Если у вас нет наработок и попыток самому вникнуть в проблему, тогда вам в раздел "Покупка"
У меня есть желание и попытки самому вникнуть. Но спрайты по-любому буду заказывать. Может и сам плагин тоже, но для саморазвития хочу вникнуть сам.
 
Сообщения
702
Реакции
54
ssx,
Код:
Util_StatusIcon(id, iStatus, szSprite[], r=0, g=0, b=0)
Видел иконки оружия под радаром хоть раз? Так вот это тоже самое должно быть)

Когда свитчишь оружие, должна появляться иконка.
Код:
public Event_CurWeapon( id )
 
  • Нравится
Реакции: ssx

ssx

Сообщения
291
Реакции
78
Кто знает как связаться с автором данного плагина ?
 
Сообщения
125
Реакции
50
Кто знает как связаться с автором данного плагина ?
i don`t see a reason to contact him, all plugins he sells at his website are available for free on the internet

if you need this plugin i have the code
 

ssx

Сообщения
291
Реакции
78
tarsisd2, Author of this pugin good know how write plugins to show weapons in inventory how in game "quake champions".
 
Сообщения
125
Реакции
50
i had his whatsapp number but i don`t think i have anymore, i will try to find it, other way to contact him is to buy one of his plugins, then he will contact you to give the code, then you can order what you want, he had an account on alliedmodders but he got banned

you can find him on discord clan Join the Counter-Strike Revolution Discord Server!, his name is william
 
Последнее редактирование:
  • Нравится
Реакции: ssx
Сообщения
847
Реакции
530
Помог
13 раз(а)
Ищи на форуме этот плагин, цветочек постил в одной из тем
Насчёт худа иконок под радаром - просто забудь, это не реализуемо , по крайней мере пока
 

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

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