Raised This Month: $ Target: $400
 0% 

HUD message up until click "FIRE" button


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Hawk552
AMX Mod X Moderator
Join Date: Aug 2005
Old 10-19-2009 , 09:39   Re: HUD message up until click "FIRE" button
Reply With Quote #1

Putting a sprite where the HUD message is would likely be a waste of time as you would never be able to get it to look anywhere near as good as you're probably looking for. The best method will make it still look really laggy and annoying.

Try this for your HUD message woes. It's untested.

Oh, and by the way, this script is decently organized, but the style is atrocious. There's little consistency, no good practices or any real style. It's also from the era where everyone thought that Fakemeta had magical powers.

PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta_util>
#include <hamsandwich>
#include <fakemeta>
#include <cstrike>

new const PLUGIN_NAME[] = "Advanced - Respawn"
new const PLUGIN_AUTHOR[] = "Atomen"
new VERSION[] = {"2.1"}

#define MAX_PLAYERS 32
#define FM_MONEY_OFFSET 115
#define fm_get_user_money(%1) get_pdata_int(%1, FM_MONEY_OFFSET)

new iColorT[4]  = { 255100100255 }
new 
iColorCT[4] = { 100100255255 }

new 
toggle_plugintoggle_clicktoggle_effect,toggle_delay,toggle_say,toggle_health
new toggle_sp,toggle_sp_time,toggle_sp_glow,toggle_sp_text
new toggle_money,toggle_amount,toggle_kill_moneytoggle_punish
new toggle_mode,toggle_ammo,toggle_kevlar

new bool:g_originset[33], bool:g_HasClicked[33]

new 
Float:g_origin[33][3];
new 
g_iOldMoney[MAX_PLAYERS 1], g_aOldMoney[MAX_PLAYERS 1]

new 
g_spriteFlareSayTextmp_tkpunish

//=================================[ Register Plugin ]==========================

public plugin_init()
{
    
//Register Plugin
    
register_plugin(PLUGIN_NAMEVERSIONPLUGIN_AUTHOR)

    
//Events
    
RegisterHam(Ham_Killed"player""fwd_Ham_Killed_post"1)
    
register_event"TeamInfo""join_team""a")

    
register_forward(FM_CmdStart,"fw_CmdStart")
    
RegisterHam(Ham_Spawn"player""fwd_Ham_Spawn_post"1)

    
//Other
    
register_cvar("arm_version"VERSIONFCVAR_SERVER|FCVAR_SPONLY)
    
mp_tkpunish get_cvar_pointer("mp_tkpunish")
    
    
//Pcvars
    
toggle_plugin register_cvar("amx_respawn""1")
    
toggle_click register_cvar("amx_respawn_click""0")
    
toggle_delay register_cvar("amx_respawn_delay""1")
    
toggle_effect register_cvar("amx_respawn_effect""0")
    
toggle_say register_cvar("amx_respawn_abuse""1")
    
toggle_health register_cvar("amx_respawn_health""0")

    
toggle_sp register_cvar("amx_respawn_protection""1")
    
toggle_sp_time register_cvar("amx_respawn_protection_time""3")
    
toggle_sp_glow register_cvar("amx_respawn_protection_glow""1")
    
toggle_sp_text register_cvar("amx_respawn_protection_message""1")

    
toggle_mode register_cvar("amx_respawn_pistol""1")
    
toggle_ammo register_cvar("amx_respawn_ammo""1")
    
toggle_kevlar register_cvar("amx_respawn_armor""1")
    
toggle_punish register_cvar("amx_respawn_punish""0")

    
toggle_money register_cvar("amx_respawn_money""0")
    
toggle_amount register_cvar("amx_respawn_amount""600")
    
toggle_kill_money register_cvar("amx_respawn_kill_money""200")

    
register_clcmd("say /respawn","on_Chat")
    
register_clcmd("say_team /respawn","on_Chat")

    
SayText get_user_msgid("SayText");
}

public 
plugin_cfg()
{
    
set_cvar_string("mp_tkpunish""0")
}

//=================================[ Precache Files ]==========================

public plugin_precache()
{
    
g_spriteFlare precache_model("sprites/b-tele1.spr")
    
precache_sound("debris/beamstart2.wav")
}

//=================================[ Respawn Command ]==========================

public on_Chat(iVictimID)
{
    
do_Chat(iVictimID)
    return 
1;
}

public 
do_Chat(iVictimID)
{
    if(!
get_pcvar_num(toggle_plugin))
    {
        
green_print(iVictimID"Respawn Plugin is currently Disabled")
    }

    else
    {
        new 
alive is_user_alive(iVictimID)
        new 
CsTeams:team cs_get_user_team(iVictimID)
        new 
checking get_pcvar_num(toggle_say)
            
        if(!
alive)
        {
            if( 
team == CS_TEAM_T || team == CS_TEAM_CT && checking == || checking == 2)
                
set_task(get_pcvar_float(toggle_delay),"spawnning",iVictimID)

            else if( 
team == CS_TEAM_SPECTATOR )
                
green_print(iVictimID"You cannot respawn as an spectator")
        }
            
        else if(
alive)
        {
            if(
checking == 1)
                
green_print(iVictimID"Only dead players are allowed to respawn!")

            else if(
checking == 2)
            {
                if( 
team == CS_TEAM_T || team == CS_TEAM_CT)
                {
                    if(
g_originset[iVictimID] == true)
                    {
                        
g_origin[iVictimID][2] = g_origin[iVictimID][2] + 10;
                        
set_pev(iVictimIDpev_origing_origin[iVictimID])

                        
green_print(iVictimID"You have been moved to your last spawn")
                    }
                }

                else if( 
team == CS_TEAM_SPECTATOR)
                    
green_print(iVictimID"You cannot respawn as an spectator")
            }
        }
    }
}

//=================================[ Block Useless ]==========================

public fwdStartFrame()
{
    if(
get_pcvar_num(toggle_punish))
        
set_pcvar_num(mp_tkpunish0)
}

//=================================[ Register Spawn ]==========================

public fwd_Ham_Spawn_post(iVictimID
{
    if(
get_pcvar_num(toggle_plugin) >= 1)
    {
        if(
is_user_alive(iVictimID))
        {
            if(
get_pcvar_num(toggle_say) == 2)
            {
                
pev(iVictimIDpev_origing_origin[iVictimID])
                
g_originset[iVictimID] = true
            
}

            if(
get_pcvar_num(toggle_health) >= 1)
                
set_pev(iVictimIDpev_healthget_pcvar_float(toggle_health))

            if(
get_pcvar_num(toggle_sp) >= 1)
            {
                
set_pev(iVictimIDpev_takedamage0.0)
    
                if(
get_pcvar_num(toggle_sp_glow) >= 1)
                {
                    new 
CsTeams:team cs_get_user_team(iVictimID)

                    if( 
team == CS_TEAM_CT)  
                        
fm_set_rendering(iVictimIDkRenderFxGlowShelliColorCT[0], iColorCT[1], iColorCT[2],  kRenderNormaliColorCT[3])
        
                    else if( 
team == CS_TEAM_T)
                        
fm_set_rendering(iVictimIDkRenderFxGlowShelliColorT[0], iColorT[1], iColorT[2],  kRenderNormaliColorT[3])
                }

                new 
data[2]
                
data[0] = iVictimID
                data
[1] = get_pcvar_num(toggle_sp_time)

                
set_task0.3"spawn_protection_message"_data)
                
set_task(get_pcvar_float(toggle_sp_time), "remove_spawn_protection"iVictimID)
            }
        }
    }
}

public 
fw_CmdStart(iVictimIDuc_handle)
{
    if (
get_pcvar_num(toggle_plugin) && get_pcvar_num(toggle_click))
    {
        if(
is_user_alive(iVictimID)) return FMRES_IGNORED
        
new iButtons get_uc(uc_handle,UC_Buttons)

        if((
iButtons IN_ATTACK))
        {
            if(
g_HasClicked[iVictimID] == false)
            {
                new 
CsTeams:team cs_get_user_team(iVictimID)
                if( 
team == CS_TEAM_T || team == CS_TEAM_CT)
                {
                    
g_HasClicked[iVictimID] = true
                    set_task
(get_pcvar_float(toggle_delay),"spawnning",iVictimID)
                }
            }
        }
    }
    return 
FMRES_IGNORED
}

//=================================[ Trigger Respawn ]==========================

public fwd_Ham_Killed_post(iVictimIDattacker
{
    if(
get_pcvar_num(toggle_plugin) >= 1)
    {
        if( !
is_user_connectediVictimID ) )
            return 
0

        
else
        {
            
g_iOldMoney[iVictimID] = fm_get_user_money(iVictimID)
            
g_aOldMoney[attacker] = fm_get_user_money(attacker)

            if(
get_pcvar_num(mp_tkpunish))
                
set_pcvar_num(mp_tkpunish0)

            if(
attacker != iVictimID && get_user_team(attacker) == get_user_team(iVictimID) && get_pcvar_num(toggle_punish))
            {
                
fm_strip_user_weapons(attacker)
                
set_hudmessage255000.300.5005.03.0 0.10.2)
                
show_hudmessageiVictimID"[AMXX] TK is not allowed !")
            }

            else
                
money_on_kill(attacker)

            if(
get_pcvar_num(toggle_click))
            {
                
set_hudmessage255000.300.50090.03.0 0.10.2)
                
show_hudmessageiVictimID"You were killed. Press Fire to respawn!")
            }

            else if(
get_pcvar_num(toggle_delay) < 1)
            {
                
set_pcvar_num(toggle_delay1)
                
set_task(get_pcvar_float(toggle_delay),"spawnning",iVictimID)
            }

            else
                
set_task(get_pcvar_float(toggle_delay),"spawnning",iVictimID)
        }
    }
    return 
HAM_IGNORED;
}

//=================================[ Money on Kill ]==========================

public money_on_kill(attacker)
{
    if(
is_user_connected(attacker))
        if(
get_pcvar_num(toggle_kill_money) > 0)
            
fm_set_user_money(attackerg_aOldMoney[attacker] += get_pcvar_num(toggle_kill_money), 1)
}

//=================================[ Respawn on Join ]==========================

public join_team()
{
    if(
get_pcvar_num(toggle_plugin) >= 1)
    {
        new 
iVictimID read_data(1)
        static 
user_team[32]
    
        
read_data(2user_team31)  
        new 
alive is_user_alive(iVictimID)  
    
        if(!
is_user_connected(iVictimID))
            return 
0;
    
        switch(
user_team[0])
        {
            case 
'C':  
            {
                if(!
alive)
                    
set_task(get_pcvar_float(toggle_delay),"spawnning",iVictimID);
            }
            
            case 
'T':
            { 
                if(!
alive)
                    
set_task(get_pcvar_float(toggle_delay),"spawnning",iVictimID); 
                }
        
            case 
'S':  
            {
                
green_print(iVictimID"You have to join CT or Terrorist to respawn")
            }
            }
    }
    return 
0;
}

//=================================[ Respawn upon Death ]==========================

public spawnning(iVictimID
{
    
ExecuteHamB(Ham_CS_RoundRespawniVictimID)
    
green_print(iVictimID"You have been respawned")

    
cvar_loads(iVictimID)

    if(
get_pcvar_num(toggle_click))
        
g_HasClicked[iVictimID] = false

    
if(get_pcvar_num(toggle_sp) >= 1)
        
set_task0.1 "spawn_protection"iVictimID)
}

//=================================[ Check cvar Features ]==========================

public cvar_loads(iVictimID)
{
    if(
get_pcvar_num(toggle_mode) < 1)
    {
        
fm_strip_user_weapons(iVictimID)
        
fm_give_item(iVictimID"weapon_knife")
    }

    else
    {
        if(
get_pcvar_num(toggle_ammo) >= 1)
        {

            if(
cs_get_user_team(iVictimID) == CS_TEAM_T)
                
ExecuteHam(Ham_GiveAmmoiVictimID80"9mm"120)
            else
                
ExecuteHam(Ham_GiveAmmoiVictimID76"45acp"100)
        }
    }
    
armoury_check(iVictimID)
}

//=================================[ Armor Check ]==========================

public armoury_check(iVictimID)
{
    
respawn_check(iVictimID)
    new 
check get_pcvar_num(toggle_kevlar)

    if(
check == 1)
        
fm_give_item(iVictimID"item_kevlar")

    else if(
check == 2)
        
fm_give_item(iVictimID"item_assaultsuit")
}

//=================================[ Respawn Check ]==========================

public respawn_check(iVictimID)
{
    new 
CsTeams:team cs_get_user_team(iVictimID)

    if(
get_pcvar_num(toggle_say) == 2)
    {
        
pev(iVictimIDpev_origing_origin[iVictimID])
        
g_originset[iVictimID] = true
    
}

    if(
get_pcvar_num(toggle_money))
        if( 
team == CS_TEAM_T || team == CS_TEAM_CT)
            
fm_set_user_money(iVictimIDg_iOldMoney[iVictimID] += get_pcvar_num(toggle_amount), 1)

    if(
get_pcvar_num(toggle_health) >= 1)
        
set_pev(iVictimIDpev_healthget_pcvar_float(toggle_health))

    if(
get_pcvar_num(toggle_effect) == 1)
    {
        new 
origin[3]
        
get_user_origin(iVictimIDorigin)
        
emit_sound(iVictimIDCHAN_STATIC"debris/beamstart2.wav"0.6ATTN_NORM0PITCH_NORM)

        
explosion_effect(origin)
    }
}

//=================================[ Spawn Effect ]==========================

public explosion_effect(vec1[3])
{
    
// Value
    
new radius 300

    
// Explosion 2
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
    
write_byte(12)
    
write_coord(vec1[0])
    
write_coord(vec1[1])
    
write_coord(vec1[2])
    
write_byte(188)
    
write_byte(10)
    
message_end()

    
// Explosion
    
message_begin(MSG_BROADCASTSVC_TEMPENTITYvec1)
    
write_byte(3)
    
write_coord(vec1[0])
    
write_coord(vec1[1])
    
write_coord(vec1[2])
    
write_short(g_spriteFlare)
    
write_byte(radius/9)
    
write_byte(15)
    
write_byte(0)
    
message_end()
}

//=================================[ Spawn Protection - Feature ]==========================

public spawn_protection(iVictimID)
{
    
set_pev(iVictimIDpev_takedamage0.0)
    
    if(
get_pcvar_num(toggle_sp_glow) >= 1)
    {
        new 
CsTeams:team cs_get_user_team(iVictimID)

        if( 
team == CS_TEAM_CT)  
            
fm_set_rendering(iVictimIDkRenderFxGlowShelliColorCT[0], iColorCT[1], iColorCT[2],  kRenderNormaliColorCT[3])
        
        else if( 
team == CS_TEAM_T)
            
fm_set_rendering(iVictimIDkRenderFxGlowShelliColorT[0], iColorT[1], iColorT[2],  kRenderNormaliColorT[3])
    }

    new 
data[2]
    
data[0] = iVictimID
    data
[1] = get_pcvar_num(toggle_sp_time)

    
set_task0.3"spawn_protection_message"_data)
    
set_task(get_pcvar_float(toggle_sp_time), "remove_spawn_protection"iVictimID)
}

public 
remove_spawn_protection(iVictimID)
{
    new 
Float:val
    pev
(iVictimIDpev_takedamageval)

    if(
val == 0.0)
        
set_pev(iVictimIDpev_takedamage1.0)

    if(
get_pcvar_num(toggle_sp_glow) >= 1)
        
fm_set_rendering(iVictimIDkRenderFxNone255,255,255kRenderNormal255)
}

public 
spawn_protection_message(data[2])
{
    new 
iVictimID data[0]
    if(
get_pcvar_num(toggle_sp_text))
    {        
        if ( --
data[1] )
            
set_task1.0"spawn_protection_message"_data)
            
        
set_hudmessage255000.350.5006.03.0 0.10.2);
        
show_hudmessageiVictimID"[AMXX] You have spawn protection for %d seconds"data[1] )    
    }
}

//=================================[ Green print "[AMXX]" ]================================

stock green_print(index, const message[])
{
    new 
finalmsg[192];
    
formatex(finalmsg191"^x01%s"message);
    
message_begin(MSG_ONESayText_index);
    
write_byte(index);
    
write_string(finalmsg);
    
message_end();
}

//=================================[ Set user Money Function ]================================

stock fm_set_user_money(indexmoneyflash 1//set money
{
    
set_pdata_int(indexFM_MONEY_OFFSETmoney);
 
    
message_begin(MSG_ONEget_user_msgid("Money"), _index);
    
write_long(money);
    
write_byte(flash 0);
    
message_end();

__________________

Last edited by Hawk552; 10-19-2009 at 09:41.
Hawk552 is offline
Send a message via AIM to Hawk552
Reply



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 17:37.


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