Raised This Month: $51 Target: $400
 12% 

Fragcounter MVP issue


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
sanimare
Senior Member
Join Date: Sep 2010
Old 04-24-2020 , 16:26   Fragcounter MVP issue
Reply With Quote #1

Hi,

bug: Im getting MVP in hud with my name when im spec continuisly few rounds after i go into spec, is that showing only to me or to all other players?


Code:
/*AMX MOD X script **************************************************************************  *   FragCounter   V    1.01    by    Scarzzurs  *  *  *  *******************************************************************************  *   *  Ported By KingPin( <a href="mailto:[email protected]">[email protected]</a> ). I take no responsibility  *  for this file in any way. Use at your own risk. No warranties of any kind.  *  *  ********************************************************************************  *  **********************************************************************************/ #include <amxmodx> #include <cstrike> #if AMXX_VERSION_NUM < 183     #include <dhudmessage> #endif new pfrags[33] new top new gmsgStatusIcon public plugin_init(){     register_plugin("FragCounter","1.01","Scarzzurs")     gmsgStatusIcon = get_user_msgid("StatusIcon")     register_event("DeathMsg","death","a")     register_event("ResetHUD","playerspawn","b")     register_event("SendAudio","roundend","a","2=%!MRAD_terwin","2=%!MRAD_ctwin","2=%!MRAD_rounddraw") } public playerspawn(id){     pfrags[id]=0     top = 0     calculate_time(id,pfrags[id]) } public death(){     new killer = read_data(1)     pfrags[killer]=pfrags[killer]+1     topplayer()     new players[32]     new player_num     get_players(players, player_num)     for (new i = 0; i < player_num; i++)         calculate_time(players[i],pfrags[players[i]])     return PLUGIN_CONTINUE } public topplayer(){     new score     new players[32]     new player_num     get_players(players, player_num)     for (new i = 0; i < player_num; i++){         if (pfrags[players[i]]>score){             score=pfrags[players[i]]             top=players[i]         }         else if (pfrags[players[i]]==score)             top = 0     } } public calculate_time(id,num){     switch(num){         case 0:{             showtimer(id,"number_1",0)             showtimer(id,"number_2",0)             showtimer(id,"number_3",0)             showtimer(id,"number_4",0)             showtimer(id,"number_5",0)             showtimer(id,"number_6",0)             showtimer(id,"number_7",0)             showtimer(id,"number_8",0)             showtimer(id,"number_9",0)         }         case 1:{             showtimer(id,"number_1",1)             showtimer(id,"number_2",0)             showtimer(id,"number_3",0)             showtimer(id,"number_4",0)             showtimer(id,"number_5",0)             showtimer(id,"number_6",0)             showtimer(id,"number_7",0)             showtimer(id,"number_8",0)             showtimer(id,"number_9",0)         }         case 2:{             showtimer(id,"number_1",0)             showtimer(id,"number_2",1)             showtimer(id,"number_3",0)             showtimer(id,"number_4",0)             showtimer(id,"number_5",0)             showtimer(id,"number_6",0)             showtimer(id,"number_7",0)             showtimer(id,"number_8",0)             showtimer(id,"number_9",0)         }         case 3:{             showtimer(id,"number_1",0)             showtimer(id,"number_2",0)             showtimer(id,"number_3",1)             showtimer(id,"number_4",0)             showtimer(id,"number_5",0)             showtimer(id,"number_6",0)             showtimer(id,"number_7",0)             showtimer(id,"number_8",0)             showtimer(id,"number_9",0)         }         case 4:{             showtimer(id,"number_1",0)             showtimer(id,"number_2",0)             showtimer(id,"number_3",0)             showtimer(id,"number_4",1)             showtimer(id,"number_5",0)             showtimer(id,"number_6",0)             showtimer(id,"number_7",0)             showtimer(id,"number_8",0)             showtimer(id,"number_9",0)         }         case 5:{             showtimer(id,"number_1",0)             showtimer(id,"number_2",0)             showtimer(id,"number_3",0)             showtimer(id,"number_4",0)             showtimer(id,"number_5",1)             showtimer(id,"number_6",0)             showtimer(id,"number_7",0)             showtimer(id,"number_8",0)             showtimer(id,"number_9",0)         }         case 6:{             showtimer(id,"number_1",0)             showtimer(id,"number_2",0)             showtimer(id,"number_3",0)             showtimer(id,"number_4",0)             showtimer(id,"number_5",0)             showtimer(id,"number_6",1)             showtimer(id,"number_7",0)             showtimer(id,"number_8",0)             showtimer(id,"number_9",0)         }         case 7:{             showtimer(id,"number_1",0)             showtimer(id,"number_2",0)             showtimer(id,"number_3",0)             showtimer(id,"number_4",0)             showtimer(id,"number_5",0)             showtimer(id,"number_6",0)             showtimer(id,"number_7",1)             showtimer(id,"number_8",0)             showtimer(id,"number_9",0)         }         case 8:{             showtimer(id,"number_1",0)             showtimer(id,"number_2",0)             showtimer(id,"number_3",0)             showtimer(id,"number_4",0)             showtimer(id,"number_5",0)             showtimer(id,"number_6",0)             showtimer(id,"number_7",0)             showtimer(id,"number_8",1)             showtimer(id,"number_9",0)         }         case 9:{             showtimer(id,"number_1",0)             showtimer(id,"number_2",0)             showtimer(id,"number_3",0)             showtimer(id,"number_4",0)             showtimer(id,"number_5",0)             showtimer(id,"number_6",0)             showtimer(id,"number_7",0)             showtimer(id,"number_8",0)             showtimer(id,"number_9",1)         }     } } public showtimer(id,number[10],onoff){         if (is_user_connected(id) && (cs_get_user_team(id) == CS_TEAM_CT)){         if (id == top && onoff == 1)             onoff = 2         message_begin( MSG_ONE, gmsgStatusIcon, {0,0,0}, id )         write_byte( onoff ) // status         write_string( number ) // sprite name         write_byte( 30 ) // red         write_byte( 144 ) // green         write_byte( 255 ) // blue         message_end()         } else     {         if (is_user_connected(id) && (cs_get_user_team(id) == CS_TEAM_T)){         if (id == top && onoff == 1)             onoff = 2         message_begin( MSG_ONE, gmsgStatusIcon, {0,0,0}, id )         write_byte( onoff ) // status         write_string( number ) // sprite name         write_byte( 255 ) // red         write_byte( 31 ) // green         write_byte( 31 ) // blue         message_end()     } } } public roundend(){     if (top != 0){         new sname[32]         get_user_name(top,sname,32)         set_dhudmessage(random(256), random(256), random(256), -1.0, 0.15, 0, 1.0, 5.0, 0.1, 0.2);         show_dhudmessage(0,"《 MVP 》^n^n %s",sname)     } }

Thank's

Last edited by sanimare; 04-24-2020 at 16:27.
sanimare is offline
Supremache
Veteran Member
Join Date: Sep 2019
Location: Egypt
Old 04-24-2020 , 23:47   Re: Fragcounter MVP issue
Reply With Quote #2

Quote:
Originally Posted by sanimare View Post
Hi,

bug: Im getting MVP in hud with my name when im spec continuisly few rounds after i go into spec, is that showing only to me or to all other players?


Code:
/*AMX MOD X script **************************************************************************  *   FragCounter   V    1.01    by    Scarzzurs  *  *  *  *******************************************************************************  *   *  Ported By KingPin( <a href="mailto:[email protected]">[email protected]</a> ). I take no responsibility  *  for this file in any way. Use at your own risk. No warranties of any kind.  *  *  ********************************************************************************  *  **********************************************************************************/ #include <amxmodx> #include <cstrike> #if AMXX_VERSION_NUM < 183     #include <dhudmessage> #endif new pfrags[33] new top new gmsgStatusIcon public plugin_init(){     register_plugin("FragCounter","1.01","Scarzzurs")     gmsgStatusIcon = get_user_msgid("StatusIcon")     register_event("DeathMsg","death","a")     register_event("ResetHUD","playerspawn","b")     register_event("SendAudio","roundend","a","2=%!MRAD_terwin","2=%!MRAD_ctwin","2=%!MRAD_rounddraw") } public playerspawn(id){     pfrags[id]=0     top = 0     calculate_time(id,pfrags[id]) } public death(){     new killer = read_data(1)     pfrags[killer]=pfrags[killer]+1     topplayer()     new players[32]     new player_num     get_players(players, player_num)     for (new i = 0; i < player_num; i++)         calculate_time(players[i],pfrags[players[i]])     return PLUGIN_CONTINUE } public topplayer(){     new score     new players[32]     new player_num     get_players(players, player_num)     for (new i = 0; i < player_num; i++){         if (pfrags[players[i]]>score){             score=pfrags[players[i]]             top=players[i]         }         else if (pfrags[players[i]]==score)             top = 0     } } public calculate_time(id,num){     switch(num){         case 0:{             showtimer(id,"number_1",0)             showtimer(id,"number_2",0)             showtimer(id,"number_3",0)             showtimer(id,"number_4",0)             showtimer(id,"number_5",0)             showtimer(id,"number_6",0)             showtimer(id,"number_7",0)             showtimer(id,"number_8",0)             showtimer(id,"number_9",0)         }         case 1:{             showtimer(id,"number_1",1)             showtimer(id,"number_2",0)             showtimer(id,"number_3",0)             showtimer(id,"number_4",0)             showtimer(id,"number_5",0)             showtimer(id,"number_6",0)             showtimer(id,"number_7",0)             showtimer(id,"number_8",0)             showtimer(id,"number_9",0)         }         case 2:{             showtimer(id,"number_1",0)             showtimer(id,"number_2",1)             showtimer(id,"number_3",0)             showtimer(id,"number_4",0)             showtimer(id,"number_5",0)             showtimer(id,"number_6",0)             showtimer(id,"number_7",0)             showtimer(id,"number_8",0)             showtimer(id,"number_9",0)         }         case 3:{             showtimer(id,"number_1",0)             showtimer(id,"number_2",0)             showtimer(id,"number_3",1)             showtimer(id,"number_4",0)             showtimer(id,"number_5",0)             showtimer(id,"number_6",0)             showtimer(id,"number_7",0)             showtimer(id,"number_8",0)             showtimer(id,"number_9",0)         }         case 4:{             showtimer(id,"number_1",0)             showtimer(id,"number_2",0)             showtimer(id,"number_3",0)             showtimer(id,"number_4",1)             showtimer(id,"number_5",0)             showtimer(id,"number_6",0)             showtimer(id,"number_7",0)             showtimer(id,"number_8",0)             showtimer(id,"number_9",0)         }         case 5:{             showtimer(id,"number_1",0)             showtimer(id,"number_2",0)             showtimer(id,"number_3",0)             showtimer(id,"number_4",0)             showtimer(id,"number_5",1)             showtimer(id,"number_6",0)             showtimer(id,"number_7",0)             showtimer(id,"number_8",0)             showtimer(id,"number_9",0)         }         case 6:{             showtimer(id,"number_1",0)             showtimer(id,"number_2",0)             showtimer(id,"number_3",0)             showtimer(id,"number_4",0)             showtimer(id,"number_5",0)             showtimer(id,"number_6",1)             showtimer(id,"number_7",0)             showtimer(id,"number_8",0)             showtimer(id,"number_9",0)         }         case 7:{             showtimer(id,"number_1",0)             showtimer(id,"number_2",0)             showtimer(id,"number_3",0)             showtimer(id,"number_4",0)             showtimer(id,"number_5",0)             showtimer(id,"number_6",0)             showtimer(id,"number_7",1)             showtimer(id,"number_8",0)             showtimer(id,"number_9",0)         }         case 8:{             showtimer(id,"number_1",0)             showtimer(id,"number_2",0)             showtimer(id,"number_3",0)             showtimer(id,"number_4",0)             showtimer(id,"number_5",0)             showtimer(id,"number_6",0)             showtimer(id,"number_7",0)             showtimer(id,"number_8",1)             showtimer(id,"number_9",0)         }         case 9:{             showtimer(id,"number_1",0)             showtimer(id,"number_2",0)             showtimer(id,"number_3",0)             showtimer(id,"number_4",0)             showtimer(id,"number_5",0)             showtimer(id,"number_6",0)             showtimer(id,"number_7",0)             showtimer(id,"number_8",0)             showtimer(id,"number_9",1)         }     } } public showtimer(id,number[10],onoff){         if (is_user_connected(id) && (cs_get_user_team(id) == CS_TEAM_CT)){         if (id == top && onoff == 1)             onoff = 2         message_begin( MSG_ONE, gmsgStatusIcon, {0,0,0}, id )         write_byte( onoff ) // status         write_string( number ) // sprite name         write_byte( 30 ) // red         write_byte( 144 ) // green         write_byte( 255 ) // blue         message_end()         } else     {         if (is_user_connected(id) && (cs_get_user_team(id) == CS_TEAM_T)){         if (id == top && onoff == 1)             onoff = 2         message_begin( MSG_ONE, gmsgStatusIcon, {0,0,0}, id )         write_byte( onoff ) // status         write_string( number ) // sprite name         write_byte( 255 ) // red         write_byte( 31 ) // green         write_byte( 31 ) // blue         message_end()     } } } public roundend(){     if (top != 0){         new sname[32]         get_user_name(top,sname,32)         set_dhudmessage(random(256), random(256), random(256), -1.0, 0.15, 0, 1.0, 5.0, 0.1, 0.2);         show_dhudmessage(0,"《 MVP 》^n^n %s",sname)     } }

Thank's
This plugin shows a Director HUD Message at the end of each round deciding who was the MVP (Most Valuable Player) this round ?
This showing for all other players

PHP Code:
show_dhudmessage(0,"《 MVP 》^n^n %s",sname
Supremache is offline
sanimare
Senior Member
Join Date: Sep 2010
Old 05-01-2020 , 15:26   Re: Fragcounter MVP issue
Reply With Quote #3

Yes, but when i go to spec i see my name several time in dhud after round end without playing. That's a bug to all or just to me?
sanimare is offline
+ARUKARI-
AlliedModders Donor
Join Date: Jul 2004
Location: Japan
Old 05-01-2020 , 20:48   Re: Fragcounter MVP issue
Reply With Quote #4

btw, calculate_time function is so long code.
PHP Code:
public calculate_time(id,num)
{
    new 
sNumbers[10];
    new 
iLen charsmax(sNumbers);
    for(new 
110i++)
    {
        
formatex(sNumbersiLen"number_%i"i);
        if (
num == i)
            
showtimer(idsNumbers1);
        else
            
showtimer(idsNumbers0);
    }

__________________
GitHub
SteamWishlist

六四天安門事件
+ARUKARI- is offline
+ARUKARI-
AlliedModders Donor
Join Date: Jul 2004
Location: Japan
Old 05-02-2020 , 01:17   Re: Fragcounter MVP issue
Reply With Quote #5

Quote:
Originally Posted by sanimare View Post
Yes, but when i go to spec i see my name several time in dhud after round end without playing. That's a bug to all or just to me?
I Rewriten Code.
When you moved to the spectator, the problem was that kept the score for that round.
PHP Code:
/*AMX MOD X script
**************************************************************************
 *   FragCounter   V    1.01    by    Scarzzurs
 *
 *
 *  *******************************************************************************
 *  
 *  Ported By KingPin( <a href="mailto:[email protected]">[email protected]</a> ). I take no responsibility 
 *  for this file in any way. Use at your own risk. No warranties of any kind. 
 *
 *  ********************************************************************************
 *
 **********************************************************************************/

#pragma semicolon 1
// #define USE_BOT
#include <amxmodx>
#include <cstrike>
#include <hamsandwich>

#if AMXX_VERSION_NUM < 183
    #include <dhudmessage>
    
enum CsTeams
    
{
        
CS_TEAM_UNASSIGNED 0,
        
CS_TEAM_T          1,
        
CS_TEAM_CT         2,
        
CS_TEAM_SPECTATOR  3,
    };
#endif 

#if !defined MAX_PLAYERS
    #define MAX_PLAYERS 32
#endif

new gPlayerFrags[MAX_PLAYERS];
new 
gTopId;
new 
gmsgStatusIcon;

new 
gTeamColor[4][3] =
{
    {
0,0,0},
    {
255,31,31},
    {
30144,255},
    {
0,0,0},
};

public 
plugin_init()
{
    
register_plugin("FragCounter","1.01","Scarzzurs");
    
gmsgStatusIcon get_user_msgid("StatusIcon");

    
RegisterHam(Ham_Spawn"player""PlayerSpawn"1);
    
RegisterHam(Ham_Killed,"player""PlayerDeath",    0);

    
register_event("SendAudio","RoundEnd","a","2=%!MRAD_terwin","2=%!MRAD_ctwin","2=%!MRAD_rounddraw");
}

#if defined USE_BOT
new g_bots_registered false;
public 
client_authorizedid )
{
    if( !
g_bots_registered && is_user_botid ) )
    {
        
set_task0.1"register_bots"id );
    }
}

public 
register_botsid )
{
    if( !
g_bots_registered && is_user_connectedid ) )
    {
        
RegisterHamFromEntityHam_Spawnid"PlayerSpawn"1);
        
RegisterHamFromEntityHam_Killed,id"PlayerDeath"0);
        
g_bots_registered true;
    }
}
#endif

public PlayerSpawn(id)
{
    
gTopId 0;
    
gPlayerFrags[id] = 0;
    
CalculateTime(id0);
}

public 
PlayerDeath(iVictimiAttacker)
{
    
gPlayerFrags[iAttacker]++;

    
TopPlayer();

    new 
players[MAX_PLAYERS], player_num;
    
get_players(playersplayer_num);

    for (new 
0player_numi++)
        
CalculateTime(players[i], gPlayerFrags[players[i]]);

    return 
PLUGIN_CONTINUE;
}

public 
TopPlayer()
{
    new 
score 0;
    new 
players[MAX_PLAYERS], player_num;
    new 
idCsTeams:team;

    
get_players(playersplayer_num"h");

    for (new 
0player_numi++)
    {
        
id players[i];
        
team cs_get_user_team(id);

        if (
team == CS_TEAM_UNASSIGNED && team == CS_TEAM_SPECTATOR)
        {
            
gPlayerFrags[id] = 0;
        }

        if (
gPlayerFrags[id] > score)
        {
            
score  gPlayerFrags[id];
            
gTopId id;
        }
        else
        if (
gPlayerFrags[id] == score)
        {
            
gTopId 0;
        }
    }
}

public 
CalculateTime(idnum)
{
    new 
sNumbers[10];
    new 
iLen charsmax(sNumbers);
    for(new 
110i++)
    {
        
formatex(sNumbersiLen"number_%i"i);
        if (
num == i)
            
ShowTimer(idsNumbers1);
        else
            
ShowTimer(idsNumbers0);
    }


public 
ShowTimer(idnumber[10], onoff)
{
    if (!
is_user_connected(id))
        return;

    if (
id == gTopId && onoff == 1)
        
onoff 2;

    new 
CsTeams:team cs_get_user_team(id);

    
message_begin    (MSG_ONEgmsgStatusIcon, {0,0,0}, id);
    
write_byte        (onoff);                     // status
    
write_string    (number);                     // sprite name
    
write_byte        (gTeamColor[int:team][0]);    // red
    
write_byte        (gTeamColor[int:team][1]);    // green
    
write_byte        (gTeamColor[int:team][2]);    // blue
    
message_end        ();
}

public 
RoundEnd()
{
    if (
gTopId != 0)
    {
        new 
sname[32];
        
get_user_name(gTopIdsname32);
        
set_dhudmessage(random(256), random(256), random(256), -1.00.1501.05.00.10.2);
        
show_dhudmessage(0,"《 MVP 》^n^n %s",sname);
    }

__________________
GitHub
SteamWishlist

六四天安門事件
+ARUKARI- is offline
sanimare
Senior Member
Join Date: Sep 2010
Old 02-26-2021 , 16:59   Re: Fragcounter MVP issue
Reply With Quote #6

I'm using crx go spec plugin and i updated code and it still buging when i join spec i watch next round and it's my name in the hud because i was MVP and every other round, i thought it's solved when i updated, but i checked now after longer time, updated sma compiled again on server updated new file and it's same.
sanimare is offline
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 09:29.


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