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

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

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

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

Спрайт сквозь стены

Статус пользователя s0h
сообщение 2.5.2014, 4:55
Сообщение #1


Стаж: 17 лет

Сообщений: 670
Благодарностей: 897
Полезность: 1164

Код
Код
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <zombieplague>

#define PLUGIN "[ZP] Addon: Show Zombie Health"
#define VERSION "1.0"
#define AUTHOR "Dias : BlackCat"

new const npcgrade2_spr[] = "sprites/npcgrade2.spr"
new g_playerbar[33] , g_isAlive[33]
new g_playerMaxHealth[33]

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    RegisterHam(Ham_Spawn, "player", "ham_spawn_post", 1)
    register_forward(FM_AddToFullPack, "fm_addtofullpack_post", 1)
    
    register_event("ResetHUD", "event_resethud", "be")
    register_event("DeathMsg", "event_death", "a")
    register_event("Health", "event_health", "be")
    
    make_npcgrade2()
}

public make_npcgrade2()
{
    static playerBar, allocString
    allocString = engfunc(EngFunc_AllocString, "env_sprite")
    
    for( new id = 1; id <= get_maxplayers(); id ++ )
    {
        g_playerbar[id] = engfunc(EngFunc_CreateNamedEntity, allocString)
        playerBar = g_playerbar[id]
        
        if(pev_valid(playerBar))
        {
            set_pev(playerBar, pev_scale, 0.25)
            engfunc(EngFunc_SetModel, playerBar, npcgrade2_spr)
            set_pev(playerBar, pev_effects, pev(playerBar, pev_effects ) | EF_NODRAW)
        }
    }    
}

public plugin_precache() engfunc(EngFunc_PrecacheModel, npcgrade2_spr)

public ham_spawn_post(id)
{
    if(is_user_alive(id))
    {
        g_isAlive[id] = 1
    }
}


public zp_user_humanized_post(id)
{
    set_pev(g_playerbar[id], pev_effects, pev(g_playerbar[id], pev_effects) | EF_NODRAW)
}

public client_disconnect(id)
{
    set_pev(g_playerbar[id], pev_effects, pev(g_playerbar[id], pev_effects) | EF_NODRAW)
}

public event_resethud(id)
{
    set_pev(g_playerbar[id], pev_effects, pev(g_playerbar[id], pev_effects) | EF_NODRAW)
}

public event_death()
{
    new id = read_data(2)
    
    g_isAlive[id] = 0
    set_pev(g_playerbar[id], pev_effects, pev(g_playerbar[id], pev_effects) | EF_NODRAW)
}

public event_health(id)
{
    new hp = get_user_health(id)
    
    if(g_playerMaxHealth[id] < hp)
    {
        g_playerMaxHealth[id] = hp
        set_pev(g_playerbar[id], pev_frame, 99.0)
    }
    else
    {
        set_pev(g_playerbar[id], pev_frame, 0.0 + (((hp - 1) * 100) / g_playerMaxHealth[id]))
    }
}

public fm_addtofullpack_post(es, e, user, host, host_flags, player, p_set)
{
    if(!player)
        return FMRES_IGNORED
        
    if(!is_user_alive(host) || !is_user_alive(user))
        return FMRES_IGNORED
        
    if(!zp_get_user_nemesis(user))
        return FMRES_IGNORED
        
    if(host == user)
        return FMRES_IGNORED
    
    new Float:PlayerOrigin[3]
    pev(user, pev_origin, PlayerOrigin)
                            
    PlayerOrigin[2] += 60.0
                        
    engfunc(EngFunc_SetOrigin, g_playerbar[user], PlayerOrigin)
    set_pev(g_playerbar[user], pev_effects, pev(g_playerbar[user], pev_effects) & ~EF_NODRAW)

    return FMRES_HANDLED
}

Собственно. Возможно ли сделать, чтобы через этот способ модель(спрайт) было видно через стенки?

Либо есть где-то (способ\статья\наводка\подсказка) как сделать спрайт без обновлений каждые N секунд, если да, скиньте (ссылку\код\подсказку\наводку), буду очень благодарен.

Что уже нашёл: https://forums.alliedmods.net/showthread.ph...795222?p=795222
Если еще варианты есть, скидываем

Отредактировал: s0h, - 2.5.2014, 5:04
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя IORoK
сообщение 2.5.2014, 7:28
Сообщение #2


Стаж: 14 лет

Сообщений: 274
Благодарностей: 73
Полезность: 199

Цитата(s0h @ 2.5.2014, 4:55) *
Код
Код
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <zombieplague>

#define PLUGIN "[ZP] Addon: Show Zombie Health"
#define VERSION "1.0"
#define AUTHOR "Dias : BlackCat"

new const npcgrade2_spr[] = "sprites/npcgrade2.spr"
new g_playerbar[33] , g_isAlive[33]
new g_playerMaxHealth[33]

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    RegisterHam(Ham_Spawn, "player", "ham_spawn_post", 1)
    register_forward(FM_AddToFullPack, "fm_addtofullpack_post", 1)
    
    register_event("ResetHUD", "event_resethud", "be")
    register_event("DeathMsg", "event_death", "a")
    register_event("Health", "event_health", "be")
    
    make_npcgrade2()
}

public make_npcgrade2()
{
    static playerBar, allocString
    allocString = engfunc(EngFunc_AllocString, "env_sprite")
    
    for( new id = 1; id <= get_maxplayers(); id ++ )
    {
        g_playerbar[id] = engfunc(EngFunc_CreateNamedEntity, allocString)
        playerBar = g_playerbar[id]
        
        if(pev_valid(playerBar))
        {
            set_pev(playerBar, pev_scale, 0.25)
            engfunc(EngFunc_SetModel, playerBar, npcgrade2_spr)
            set_pev(playerBar, pev_effects, pev(playerBar, pev_effects ) | EF_NODRAW)
        }
    }    
}

public plugin_precache() engfunc(EngFunc_PrecacheModel, npcgrade2_spr)

public ham_spawn_post(id)
{
    if(is_user_alive(id))
    {
        g_isAlive[id] = 1
    }
}


public zp_user_humanized_post(id)
{
    set_pev(g_playerbar[id], pev_effects, pev(g_playerbar[id], pev_effects) | EF_NODRAW)
}

public client_disconnect(id)
{
    set_pev(g_playerbar[id], pev_effects, pev(g_playerbar[id], pev_effects) | EF_NODRAW)
}

public event_resethud(id)
{
    set_pev(g_playerbar[id], pev_effects, pev(g_playerbar[id], pev_effects) | EF_NODRAW)
}

public event_death()
{
    new id = read_data(2)
    
    g_isAlive[id] = 0
    set_pev(g_playerbar[id], pev_effects, pev(g_playerbar[id], pev_effects) | EF_NODRAW)
}

public event_health(id)
{
    new hp = get_user_health(id)
    
    if(g_playerMaxHealth[id] < hp)
    {
        g_playerMaxHealth[id] = hp
        set_pev(g_playerbar[id], pev_frame, 99.0)
    }
    else
    {
        set_pev(g_playerbar[id], pev_frame, 0.0 + (((hp - 1) * 100) / g_playerMaxHealth[id]))
    }
}

public fm_addtofullpack_post(es, e, user, host, host_flags, player, p_set)
{
    if(!player)
        return FMRES_IGNORED
        
    if(!is_user_alive(host) || !is_user_alive(user))
        return FMRES_IGNORED
        
    if(!zp_get_user_nemesis(user))
        return FMRES_IGNORED
        
    if(host == user)
        return FMRES_IGNORED
    
    new Float:PlayerOrigin[3]
    pev(user, pev_origin, PlayerOrigin)
                            
    PlayerOrigin[2] += 60.0
                        
    engfunc(EngFunc_SetOrigin, g_playerbar[user], PlayerOrigin)
    set_pev(g_playerbar[user], pev_effects, pev(g_playerbar[user], pev_effects) & ~EF_NODRAW)

    return FMRES_HANDLED
}

Собственно. Возможно ли сделать, чтобы через этот способ модель(спрайт) было видно через стенки?

Либо есть где-то (способ\статья\наводка\подсказка) как сделать спрайт без обновлений каждые N секунд, если да, скиньте (ссылку\код\подсказку\наводку), буду очень благодарен.

Что уже нашёл: https://forums.alliedmods.net/showthread.ph...795222?p=795222
Если еще варианты есть, скидываем


Поищи плагин подарков в пабе ( там есть спрайт который показывается всем сквозь стены )
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя sweet
сообщение 2.5.2014, 7:30
Сообщение #3
Стаж: 15 лет

Сообщений: 1920
Благодарностей: 597
Полезность: 431

Цитата(IORoK @ 2.5.2014, 9:28) *
Поищи плагин подарков в пабе ( там есть спрайт который показывается всем сквозь стены )


И с феерической нагрузкой.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя IORoK
сообщение 2.5.2014, 7:41
Сообщение #4


Стаж: 14 лет

Сообщений: 274
Благодарностей: 73
Полезность: 199

Цитата(sweet @ 2.5.2014, 7:30) *
И с феерической нагрузкой.


хз насчет нагрузки , я только подал идею откуда вырезать код можно
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя s0h
сообщение 2.5.2014, 11:09
Сообщение #5


Стаж: 17 лет

Сообщений: 670
Благодарностей: 897
Полезность: 1164

Цитата(IORoK @ 2.5.2014, 7:41) *
хз насчет нагрузки , я только подал идею откуда вырезать код можно

там спрайт мигает же
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 2.5.2014, 11:11
Сообщение #6


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

Стаж: 16 лет

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

s0h,
Там был какой-то плагин с жизнями немки... глянь


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


Стаж: 17 лет

Сообщений: 670
Благодарностей: 897
Полезность: 1164

Цитата(Fred Perry @ 2.5.2014, 11:11) *
s0h,
Там был какой-то плагин с жизнями немки... глянь

он в первом посту под спойлером)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 2.5.2014, 11:21
Сообщение #8


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

Стаж: 16 лет

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

s0h,
Завтыкал :)

Ну плагин подарков их много, все смотрел? )
И еще видел тему когда-то на амх-х

Иду поищу


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 2.5.2014, 11:21
Сообщение #9
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

я как то пробовал health bar сделать через стену, чет не вышло, хотя другие статические спрайты - без проблем


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