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

Top Roun Daño


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
El Abuelo Loco
Senior Member
Join Date: Jun 2020
Old 07-20-2020 , 00:39   Top Roun Daño
Reply With Quote #1

hello can anyone do me or if there is a TOP 3 DAMAGE plugin.

that shows the 3 that did the most damage and put that he did the most obvious damage in the top1

I leave you an example https://prnt.sc/tkywax
El Abuelo Loco is offline
tom .
Member
Join Date: May 2016
Old 07-20-2020 , 15:14   Re: Top Roun Daño
Reply With Quote #2

PHP Code:
/*****************************************************************************

   Ð’озможноÑти:

1. ÐаÑтроить Ñколько Ð¸Ð³Ñ€Ð¾ÐºÐ¾Ð² Ð²Ñ‹Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ Ð² ÑпиÑок

2. ÐаÑтроить Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð¾Ðµ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтво Ð¸Ð³Ñ€Ð¾ÐºÐ¾Ð² Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð°

3. ÐаÑтроить Ñ ÐºÐ°ÐºÐ¾Ð³Ð¾ Ñ€Ð°ÑƒÐ½Ð´Ð° Ð²Ñ‹Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ

4. Ð’ремѠпоказа

5. ÐœÐ³Ð½Ð¾Ð²ÐµÐ½Ð½Ð¾Ðµ Ð·Ð°ÐºÑ€Ñ‹Ñ‚ие Ð¼ÐµÐ½ÑŽ Ð¿Ð¾ Ð½Ð°Ð¶Ð°Ñ‚ию Ð½Ð° ÐºÐ»Ð°Ð²Ð¸ÑˆÐ¸ Ñ†Ð¸Ñ„Ñ€

6. ÐžÑ‚ключение Ð¿Ð¾ÐºÐ°Ð·Ð° Ñ‡ÐµÑ€ÐµÐ· ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ /damage , Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð¾ Ñ‡ÐµÑ€ÐµÐ· setinfo

7. ÐŸÐ¾Ð¼Ð¸Ð¼Ð¾ ÑƒÑ€Ð¾Ð½Ð° Ñ€Ñдом Ð²Ñ‹Ð²Ð¾Ð´Ð¸Ñ‚ Ñ‚акже ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтво ÑƒÐ±Ð¸Ð¹Ñтв

8. ÐŸÑ€ÐµÑ„икѠперед Ñообщением Ð² Ñ‡Ð°Ñ‚е

9. ÐаÑтроить Ñколько Ð´ÐµÐ½ÐµÐ³ Ð´Ð°Ð²Ð°Ñ‚ÑŒ Ð»ÑƒÑ‡ÑˆÐµÐ¼Ñƒ Ð¸Ð³Ñ€Ð¾ÐºÑƒ Ñ€Ð°ÑƒÐ½Ð´Ð°



Только Ð½Ð° Ñ€ÐµÐ°Ð¿Ð¸, Ð±ÐµÐ· Ñ€ÐµÐ°Ð¿Ð¸ Ð´ÐµÐ»Ð°Ñ‚ÑŒ Ð½Ðµ Ð±ÑƒÐ´Ñƒ, Ð½Ðµ Ð²Ð¸Ð¶Ñƒ ÑмыÑла



*****************************************************************************/



#include <amxmodx>

#include <reapi>



#if AMXX_VERSION_NUM < 183

    #include <colorchat>

#endif



#define PLUGIN "Top Round Damage"

#define VERSION "1.0.1 ReAPI"

#define AUTHOR "Dager* *.* -G-"



#if !defined MAX_PLAYERS

    #define MAX_PLAYERS 32

#endif



#if !defined MAX_NAME_LENGTH

    #define MAX_NAME_LENGTH 32

#endif



#define IsPlayer(%1)   (1 <= %1 <= g_iMaxPlayers)

#define ClearArr(%1)   arrayset(_:%1, _:0.0, sizeof(%1))

#define Keys           (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9)



/* Ð½Ð°Ñтройки */

#define PREFIX         "^4[CS]"  // Ð¿Ñ€ÐµÑ„икÑ

#define TOP_PLAYERS    5             // ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтво Ð²Ñ‹Ð²Ð¾Ð´Ð¸Ð¼Ñ‹Ñ… Ð¸Ð³Ñ€Ð¾ÐºÐ¾Ð² Ð² Ñ‚оп Ð¿Ð¾ Ð´Ð°Ð¼Ð°Ð³Ñƒ [больше 10 Ð½ÐµÑ‚ ÑмыÑла ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ]

#define MIN_PLAYERS    2             // Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð¾Ðµ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтво Ð¸Ð³Ñ€Ð¾ÐºÐ¾Ð² Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° Ñ‚опа

#define ROUND_NUMBER   2             // Ñ ÐºÐ°ÐºÐ¾Ð³Ð¾ Ñ€Ð°ÑƒÐ½Ð´Ð° Ð²Ñ‹Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ

#define SHOW_TIME      3             // Ñ‡ÐµÑ€ÐµÐ· Ñколько Ñекунд Ð·Ð°ÐºÑ€Ð¾ÐµÑ‚ÑѠменю Ð»ÑƒÑ‡ÑˆÐ¸Ñ… Ð¸Ð³Ñ€Ð¾ÐºÐ¾Ð² Ð¿Ð¾ Ð´Ð°Ð¼Ð°Ð³Ñƒ Ð·Ð° Ñ€Ð°ÑƒÐ½Ð´ [целое Ñ‡Ð¸Ñло]

#define GIVE_MONEY     500          // Ñколько Ð´ÐµÐ½ÐµÐ³ Ð´Ð°Ð²Ð°Ñ‚ÑŒ Ð»ÑƒÑ‡ÑˆÐµÐ¼Ñƒ Ð¸Ð³Ñ€Ð¾ÐºÑƒ



/* Ð½Ðµ Ñ‚рогать Ð²ÑÑ‘ Ñ‡Ñ‚о Ð½Ð¸Ð¶Ðµ*/



enum _:ePlayerData

{

    
PLAYER_ID,

    
Float:DAMAGE,

    
KILLS

};



new 
g_arrData[MAX_PLAYERS 1][ePlayerData];

new 
Float:g_flPlayerDmg[MAX_PLAYERS 1];

new 
g_iPlayerKills[MAX_PLAYERS 1];

new 
g_iRoundCounter;

new 
g_iMaxPlayers;

new 
g_bShow true;

new 
g_isSwitch[MAX_PLAYERS 1] = {0, ...};

new 
g_szText[3] = "";



public 
plugin_init()

{

    
register_plugin(PLUGINVERSIONAUTHOR);

    

    
register_clcmd("say /damage""cmdTopDamageSwitch");

    
register_clcmd("say_team /damage""cmdTopDamageSwitch");

    

    
RegisterHookChain(RG_CSGameRules_RestartRound"CSGameRules_RestartRound_Pre"false);

    
RegisterHookChain(RG_CBasePlayer_TakeDamage"CBasePlayer_TakeDamage"true);

    
RegisterHookChain(RG_CBasePlayer_Killed"CBasePlayer_Killed"true);

    
RegisterHookChain(RG_RoundEnd"RoundEnd"true);

    

    
register_menucmd(register_menuid("TopDmg"), Keys"fnTopDmgHandler");

    

    
g_iMaxPlayers get_member_game(m_nMaxPlayers);

}



public 
client_putinserver(id)

{

    if(
g_bShow)

    {

        
get_user_info(id"_topdamage"g_szTextcharsmax(g_szText));

        
g_isSwitch[id] = (g_szText[0]) ? str_to_num(g_szText) : 1;

    }

    else

        
g_isSwitch[id] = 0;

    

    
g_flPlayerDmg[id] = 0.0;

    
g_iPlayerKills[id] = 0;

}



public 
cmdTopDamageSwitch(id)

{

    
g_isSwitch[id] = (g_isSwitch[id]) ? 1;

    
num_to_str(g_isSwitch[id], g_szTextcharsmax(g_szText));

    
client_cmd(id"setinfo _topdamage %s"g_szText);

    

    new 
szSwitch[20];

    
formatex(szSwitchcharsmax(szSwitch), "%s"g_isSwitch[id] ? "включили" "отключили");

    

    
client_print_color(idprint_team_default,

        
"%s ^1Ð’Ñ‹ %s ^4TOP-%d DAMAGE PROVOCAT ^1IN ACEASTA RUNDA",

        
PREFIXszSwitchTOP_PLAYERS

    
);

    

    return 
PLUGIN_CONTINUE;

}



public 
CSGameRules_RestartRound_Pre()

{

    if(
get_member_game(m_bCompleteReset))

        
g_iRoundCounter 0;

    

    
g_iRoundCounter++;

    
ClearArr(g_flPlayerDmg);

    
ClearArr(g_iPlayerKills);

    

    for(new 
1<= g_iMaxPlayersi++)

        
arrayset(g_arrData[i], 0ePlayerData);

}



public 
CBasePlayer_TakeDamage(const pevVictimpevInflictor, const pevAttackerFloat:flDamagebitsDamageType)

{

    if(
pevVictim == pevAttacker || get_member(pevVictimm_iTeam) == get_member(pevAttackerm_iTeam) || bitsDamageType DMG_BLAST)

        return 
HC_CONTINUE;

    

    if(
IsPlayer(pevAttacker) && rg_is_player_can_takedamage(pevVictimpevAttacker))

        
g_flPlayerDmg[pevAttacker] += flDamage;

    

    return 
HC_CONTINUE;

}



public 
CBasePlayer_Killed(const VictimAttacker)

{

    if(!
is_user_connected(Victim) || Victim == Attacker || !IsPlayer(Attacker) || get_member(Victimm_iTeam) == get_member(Attackerm_iTeam))

        return 
HC_CONTINUE;

    

    
g_iPlayerKills[Attacker]++;

    return 
HC_CONTINUE;

}



public 
fnCompareDamage()

{

    new 
iPlayers[MAX_PLAYERS], iNumiPlayerszName[MAX_NAME_LENGTH];

    
get_players(iPlayersiNum"h");

    

    for(new 
0iNumi++)

    {

        
iPlayer iPlayers[i];

        

        
g_arrData[i][PLAYER_ID] = iPlayer;

        
g_arrData[i][DAMAGE] = _:g_flPlayerDmg[iPlayer];

        
g_arrData[i][KILLS] = _:g_iPlayerKills[iPlayer];

    }

    

    
SortCustom2D(g_arrDatasizeof(g_arrData), "SortRoundDamage");

    

    
get_user_name(g_arrData[0][PLAYER_ID], szNamecharsmax(szName));

    
rg_add_account(g_arrData[0][PLAYER_ID], GIVE_MONEYAS_ADDtrue);

    

    
client_print_color(0print_team_default,

        
"%s ^3%s ^1a provocat cel mai mult damage in runda precedenta [^4%0.0f^1] si primeste [^4%d^3$^1].",

        
PREFIXszNameg_arrData[0][DAMAGE], GIVE_MONEY

    
);

    

    return 
PLUGIN_HANDLED;

}



public 
SortRoundDamage(const elem1[], const elem2[])

{

    return (
elem1[DAMAGE] < elem2[DAMAGE]) ? : (elem1[DAMAGE] > elem2[DAMAGE]) ? -0;

}



public 
RoundEnd()

{

    if(
g_iRoundCounter >= ROUND_NUMBER)

    {

        
set_task(0.1"fnCompareDamage");

        

        new 
iPlayers[MAX_PLAYERS], iNumiPlayer;

        
get_players(iPlayersiNum"h");

        

        for(new 
0iNumi++)

        {

            
iPlayer iPlayers[i];

            
set_task(0.2"fnShowStats"iPlayer);

        }

    }

}



public 
fnShowStats(id)

{

    if(!
g_isSwitch[id])

        return 
PLUGIN_CONTINUE;

    

    new 
iPlayers[MAX_PLAYERS], iNumszMenu[512], szName[MAX_NAME_LENGTH], iLen;

    
get_players(iPlayersiNum"h");

    

    
iLen formatex(szMenucharsmax(szMenu), "\w#. \r[\yDamage\r] [\yFraguri\r] \win aceasta runda:^n^n");

    

    if(
iNum MIN_PLAYERS)

        return 
PLUGIN_CONTINUE;

    

    if(
iNum TOP_PLAYERS)

    {

        for(new 
0iNumi++)

        {

            
get_user_name(g_arrData[i][PLAYER_ID], szNamecharsmax(szName));

            

            if(
0.0 <= g_arrData[i][DAMAGE] < 10.0)

                
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\w%d. \r[\y00%0.0f\r] [\y%d\r] \w%s^n"1g_arrData[i][DAMAGE], g_arrData[i][KILLS], szName);

            else if(
10.0 <= g_arrData[i][DAMAGE] < 100.0)

                
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\w%d. \r[\y0%0.0f\r] [\y%d\r] \w%s^n"1g_arrData[i][DAMAGE], g_arrData[i][KILLS], szName);

            else

                
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\w%d. \r[\y%0.0f\r] [\y%d\r] \w%s^n"1g_arrData[i][DAMAGE], g_arrData[i][KILLS], szName);

        }

    }

    else

    {

        for(new 
0TOP_PLAYERSi++)

        {

            
get_user_name(g_arrData[i][PLAYER_ID], szNamecharsmax(szName));

            

            if(
0.0 <= g_arrData[i][DAMAGE] < 10.0)

                
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\w%d. \r[\y00%0.0f\r] [\y%d\r] \w%s^n"1g_arrData[i][DAMAGE], g_arrData[i][KILLS], szName);

            else if(
10.0 <= g_arrData[i][DAMAGE] < 100.0)

                
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\w%d. \r[\y0%0.0f\r] [\y%d\r] \w%s^n"1g_arrData[i][DAMAGE], g_arrData[i][KILLS], szName);

            else

                
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\w%d. \r[\y%0.0f\r] [\y%d\r] \w%s^n"1g_arrData[i][DAMAGE], g_arrData[i][KILLS], szName);

        }

    }

    

    
show_menu(idKeysszMenuSHOW_TIME"TopDmg");

    return 
PLUGIN_HANDLED;

}



public 
fnTopDmgHandler(idiKey)

{

    if(
iKey >= || iKey <= 9)

        return 
PLUGIN_CONTINUE;

    

    return 
PLUGIN_HANDLED;


tom . is offline
El Abuelo Loco
Senior Member
Join Date: Jun 2020
Old 07-20-2020 , 16:31   Re: Top Roun Daño
Reply With Quote #3

It is the same as in the photo that I send, right?
El Abuelo Loco 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 15:07.


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