Спрайт сквозь стены |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
|
Спрайт сквозь стены |
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 Если еще варианты есть, скидываем
Отредактировал: s0h, - 2.5.2014, 5:04
|
|
|
|
IORoK
|
2.5.2014, 7:28
Сообщение
|
![]() |
Код Код #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
Сообщение
|
|
|
|
|
|
|
IORoK
|
2.5.2014, 7:41
Сообщение
|
![]() |
|
|
|
|
s0h
|
2.5.2014, 11:09
Сообщение
|
![]() |
|
|
|
|
Fred Perry
|
2.5.2014, 11:11
Сообщение
|
![]() ![]() |
s0h,
Там был какой-то плагин с жизнями немки... глянь ![]() Гнилой фашистской нечисти
Загоним пулю в лоб, Отродью человечества Сколотим крепкий гроб! |
|
|
|
s0h
|
2.5.2014, 11:18
Сообщение
|
![]() |
|
|
|
|
csnet
|
2.5.2014, 11:21
Сообщение
|
|
|
я как то пробовал health bar сделать через стену, чет не вышло, хотя другие статические спрайты - без проблем
![]() go v cs:go
|
|
|
|
![]() ![]() |