Raised This Month: $ Target: $400
 0% 

Hud Sprite


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
Jhob94
AMX Mod X Donor
Join Date: Jul 2012
Old 05-15-2013 , 13:32   Hud Sprite
Reply With Quote #1

Hi. I did edited the plugins of ZP hud Sprites for my furien server.
I dont know why, but is not working
Here you go:
Sprites On Hud Sma
PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <xs>

// Distance at which the sprite is placed from the users screen
// DO NOT EDIT UNNECESSARILY!
#define DISTANCE     12

new g_player_ent[33], g_bit_connected_userg_stop_frame[33]

// Connected players macros
#define player_is_connected(%1)        (g_bit_connected_user |=  (1 << (%1 & 31)))
#define player_disconnected(%1)        (g_bit_connected_user &= ~(1 << (%1 & 31)))
#define is_player_connected(%1)        ((1 <= %1 <= 32) && (g_bit_connected_user & (1 << (%1 & 31))))

public plugin_init() 
{
    
// Register the plugin and the main forward
    
register_plugin("[ZP] Addon: Sprites On HUD""1.0""@bdul!");
    
register_forward(FM_AddToFullPack"fm_add_to_fullpack"1)
}

public 
plugin_natives()
{
    
// Lets register some natives
    
register_native("display_hud_sprite""native_display_hud_sprite"1)
    
register_native("remove_hud_sprite""native_remove_hud_sprite"1)
}

public 
fm_add_to_fullpack(eseenthosthost_flagsplayerp_set)
{
    
// Valid player ?
    
if (!is_player_connected(host))
        return 
FMRES_IGNORED;
    
    
// Player haves a valid sprite entity
    
if (ent == g_player_ent[host])
    {
        static 
Float:origin[3], Float:forvec[3], Float:voffsets[3]
        
        
// Retrieve player's origin
        
pev(hostpev_originorigin)
        
pev(hostpev_view_ofsvoffsets)
        
xs_vec_add(originvoffsetsorigin)
        
        
// Get a forward vector in the direction of player's aim
        
velocity_by_aim(hostDISTANCEforvec)
        
        
// Set the sprite on the new origin
        
xs_vec_add(originforvecorigin)
        
engfunc(EngFunc_SetOriginentorigin)
        
set_es(esES_Originorigin)
        
        
// Make the sprite visible
        
set_es(esES_RenderModekRenderNormal)
        
set_es(esES_RenderAmt200)
        
        
// Sprite animation already stopped ?
        
if (!g_stop_frame[host])
            return 
FMRES_IGNORED
        
        
// Stop the animation at the desired frame
        
if (pev(entpev_frame) == g_stop_frame[host])
        {
            
set_pev(entpev_framerate0.0)
            
g_stop_frame[host] = 0
        
}
    }
    
    
// Stupid compiler !!
    
return FMRES_IGNORED
}

public 
client_putinserver(id)
{
    
// Player connected
    
player_is_connected(id)
    
    
// Marks bots as disconnected players (so sprites are'nt displayed to them)
    
if (is_user_bot(id)) player_disconnected(id)
    
    
// Remove sprite entity if present
    
if (pev_valid(g_player_ent[id]))
        
remove_sprite_entity(id)
}

public 
client_disconnect(id)
{
    
// Player disconnected
    
player_disconnected(id)
    
    
// Remove sprite entity if present
    
if (pev_valid(g_player_ent[id]))
        
remove_sprite_entity(id)
}

public 
native_display_hud_sprite(id, const sprite_name[], Float:sprite_sizesprite_stopframeFloat:sprite_framerate)
{
    
// Invalid player ?
    
if (!is_player_connected(id))
        return -
1;
    
    
// Already haves a sprite on his hud
    
if (g_player_ent[id])
        return -
1;
    
    
// Strings passed byref
    
param_convert(2)
    
    
// Invalid sprite ?
    
if (!sprite_name[0])
        return -
1;
    
    
// Create an entity for the player
    
g_player_ent[id] = engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"env_sprite"))
    
    
// Invalid entity ?
    
if (!pev_valid(g_player_ent[id]))
        return -
1;
    
    
// Set some basic properties
    
set_pev(g_player_ent[id], pev_takedamage0.0)
    
set_pev(g_player_ent[id], pev_solidSOLID_NOT)
    
set_pev(g_player_ent[id], pev_movetypeMOVETYPE_NONE)
    
    
// Set the sprite model
    
engfunc(EngFunc_SetModelg_player_ent[id], sprite_name)
    
    
// Set the rendering on the entity
    
set_pev(g_player_ent[id], pev_rendermodekRenderTransAlpha)
    
set_pev(g_player_ent[id], pev_renderamt0.0)
    
    
// Set the sprite size
    
set_pev(g_player_ent[id], pev_scalesprite_size)
    
    
// Update sprite's stopping frame
    
g_stop_frame[id] = sprite_stopframe
    
    
// Allow animation of sprite ?
    
if (g_stop_frame[id] && sprite_framerate 0.0)
    {
        
// Set the sprites animation time, framerate and stop frame
        
set_pev(g_player_ent[id], pev_animtimeget_gametime())
        
set_pev(g_player_ent[id], pev_frameratesprite_framerate)
        
        
// Spawn the sprite entity (necessary to play the sprite animations)
        
set_pev(g_player_ent[id], pev_spawnflagsSF_SPRITE_STARTON)
        
dllfunc(DLLFunc_Spawng_player_ent[id])
    }
    
    return 
g_player_ent[id];
}

public 
native_remove_hud_sprite(id)
{
    
// Invalid player ?
    
if (!is_player_connected(id))
        return -
1;
    
    
// Doesnt haves any sprite on his screen ?
    
if (!pev_valid(g_player_ent[id]))
        return -
1;
    
    
// Remove sprite entity
    
remove_sprite_entity(id)
    
    return 
1;
}

// Removes a sprite entity from world
remove_sprite_entity(id)
{
    
engfunc(EngFunc_RemoveEntityg_player_ent[id])
    
    
g_player_ent[id] = 0
    g_stop_frame
[id] = 0

End Round Huds
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <fakemeta_util>
#include <furien_dsohud>

new const g_furien_win[] = "sprites/dark_gamerz/zm.spr"
new const g_human_win[] = "sprites/dark_gamerz/humanzm.spr"

new g_maxplayers

public plugin_init()
{
    
register_plugin("Advanced Win HUDs""1.0""@bdul!");
    
    
register_event("HLTV""furien_round_start""a""1=0""2=0")
    
    
register_event("SendAudio""Furien_Win" "a""2&%!MRAD_terwin")
    
register_event("SendAudio""Human_Win""a""2&%!MRAD_ctwin")
    
    
g_maxplayers get_maxplayers()
}

public 
plugin_precache()
{
    
precache_model(g_furien_win)
    
precache_model(g_human_win)
}

public 
furien_round_start()
{
    static 
id
    
for (id 1id <= g_maxplayersid++)
        
remove_hud_sprite(id)
}

public 
Furien_Win()
{
    new 
iPlayers[32], iNumiPlayer
    get_players
(iPlayersiNum)
    
    for(new 
ii<iNumi++)
    {
        
iPlayer iPlayers[i]
        
display_hud_sprite(iPlayerg_furien_win0.05)
    }
}

public 
Human_Win()
{
    new 
iPlayers[32], iNumiPlayer
    get_players
(iPlayersiNum)
    
    for(new 
ii<iNumi++)
    {
        
iPlayer iPlayers[i]
        
display_hud_sprite(iPlayerg_human_win0.04)
    }

furien_dsohud.inc
PHP Code:
#if defined _furien_dsohud_included
  #endinput
#endif
#define _furien_dsohud_included

/**
 * Allows you to display a sprite on a user's HUD display
 *
 * Note: The sprite which is to be displayed must be precached
 * in your sub-plugin
 * 
 * @param id            Player index.
 * @param sprite_name        The sprite's name which is to be displayed
 * @param sprite_scale        The sprite's scale/size, must be a float
 * @param sprite_stopframe    The frame at which to halt the sprite's animation
 * @param sprite_framerate    The framerate of the sprite's animation
 * @return            Index of the sprite's entity or -1 on failure
 * 
**/
native display_hud_sprite(id, const sprite_name[], Float:sprite_scale 0.03sprite_stopframe 0Float:sprite_framerate 0.0)

/**
 * Allows you to remove the sprite from a player's screen
 *
 * @param id        Player index.
 * @return        1 on success otherwise -1 on failure
 * 
**/
native remove_hud_sprite(id
__________________
Jhob94 is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 16:14.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode