AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   ACC (https://forums.alliedmods.net/showthread.php?t=313434)

Igor69 01-09-2019 08:35

ACC
 
Hello, why plugin do not show acc %? When round end always shows 0% acc. Maybe can help? Thanks.

Code:

#include <amxmodx>
#include <amxmisc>
#include <csstats>

#define MIN_KILLS 1

new Kills[33];
new Headshots[33];

public plugin_init()
{
    register_plugin("Best", "1.0", "eV");
   
    register_event("HLTV", "OnHltv", "a", "1=0", "2=0");
    register_event("DeathMsg", "OnDeathMsg", "a");
   
    register_logevent("OnRoundEnd", 2, "1=Round_End");
}

public client_disconnected(id)
    Kills[id] = Headshots[id] = 0;
   
public OnHltv()
{
    arrayset(Kills, 0, sizeof Kills);
    arrayset(Headshots, 0, sizeof Headshots);
}
public OnDeathMsg()
{
    new id = read_data(1);
   
    if (!is_user_connected(id))
        return;
       
    Kills[id]++;
   
    if (read_data(3))
        Headshots[id]++;
}

public OnRoundEnd()
{
        static stats[8]
        new players[32], num;
        get_players(players, num);
   
    if (!num)
        return;
   
    new best = players[0];
   
    for (new i = 1, id; i < num; i++)
    {
        id = players[i];
       
        if (Kills[id] > Kills[best] || (Kills[id] == Kills[best] && Headshots[id] > Headshots[best]))
            best = id;
    }
   
    if (Kills[best] < MIN_KILLS) // Minimum amount of kills
        return;

    new name[32];
    get_user_name(best, name, charsmax(name));   
    client_print(0, print_chat, "* Best is %s!", name);
    client_print(0, print_chat, "* He killed %d players, including %d headshots.", Kills[best], Headshots[best]);
    client_print(0, print_chat, "* ACC: %2.0f%%", accuracy(stats));

stock Float:accuracy(stats[8])
{
        if(!stats[4])
                return ( 0.0 );
        new Float:result
        result = 100.0 * float( stats[5] ) / float( stats[4] );
        return (result > 100.0) ? 100.0 : result
}


Nutu_ 01-09-2019 09:20

Re: ACC
 
PHP Code:

 client_print(0print_chat"* ACC: %2.0f%%"accuracy(stats)); 

:arrow:
PHP Code:

 client_print(0print_chat"* ACC: %s"accuracy(stats)); 

not sure

Natsheh 01-09-2019 09:42

Re: ACC
 
Quote:

Originally Posted by Nutu_ (Post 2633811)
PHP Code:

 client_print(0print_chat"* ACC: %2.0f%%"accuracy(stats)); 

:arrow:
PHP Code:

 client_print(0print_chat"* ACC: %s"accuracy(stats)); 

not sure


Not correct

%s for formating a string or an array.

%.2f is for a float with two digits on the right (1.00)

Igor69 01-09-2019 09:58

Re: ACC
 
so must be -> %.2f ?

shauli 01-09-2019 10:16

Re: ACC
 
You didn't use get_user_stats or whatever it's called. 'stats' is always empty.

SomewhereLost 01-09-2019 10:35

Re: ACC
 
Quote:

Originally Posted by Igor69 (Post 2633819)
so must be -> %.2f ?

%.02f < for 2 decimal points.

Igor69 01-09-2019 11:21

Re: ACC
 
Quote:

Originally Posted by shauli (Post 2633821)
You didn't use get_user_stats or whatever it's called. 'stats' is always empty.


So then how best to get it? Can help?

Igor69 01-09-2019 14:41

Re: ACC
 
So, what I need to add to make it work acc? Maybe can anyone wirte the code? Thanks.

Natsheh 01-09-2019 15:07

Re: ACC
 
Quote:

Originally Posted by shauli (Post 2633821)
You didn't use get_user_stats or whatever it's called. 'stats' is always empty.


Igor69 01-09-2019 15:45

Re: ACC
 
Can you add in code full line?


All times are GMT -4. The time now is 07:31.

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