AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   cool_stats Need Fixed (https://forums.alliedmods.net/showthread.php?t=207909)

At3u 02-08-2013 05:34

cool_stats Need Fixed
 
I hardly tried to make this plugin works but it was unsuccessful all times so i beg you guys to help me.

When you type /rank I want to be displayed next messege:

[HostName] Nick your rank is X whit X Kills and X Deaths.
[HostName] Nick for more information type /rankstats.

Also i want chat commands /me /hp to work to.

Please make it works :) Thanks !

Code:

#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <csx>

// User stats parms id
#define STATS_KILLS            0
#define STATS_DEATHS            1
#define STATS_HS                2
#define STATS_TKS              3
#define STATS_SHOTS            4
#define STATS_HITS              5
#define STATS_DAMAGE            6

// Global player flags.
new BODY_PART[8][] =
{
    "WHOLEBODY",
    "HEAD",
    "CHEST",
    "STOMACH",
    "LEFTARM",
    "RIGHTARM",
    "LEFTLEG",
    "RIGHTLEG"
}

public plugin_init()
{
    // Register plugin.
    register_plugin("CooL Stats", "1.0", "None");
    register_dictionary("CooL_Stats.txt");

    // Register commands.
    register_clcmd("say", "hook_say");
    register_clcmd("say_team", "hook_say");
    register_clcmd("say /hp", "cmdHp");
    register_clcmd("say /rankstats");
    register_clcmd("say /me", "cmdMe");
    register_clcmd("say /rank", "cmdRank");
    register_clcmd("say /top15", "cmdTop15");
    register_clcmd("say_team /hp", "cmdHp");
    register_clcmd("say_team /rankstats", "cmdRankStats");
    register_clcmd("say_team /me", "cmdMe");
    register_clcmd("say_team /rank", "cmdRank");
    register_clcmd("say_team /top15", "cmdTop15");

// Get and format top 15.
{
    new iMax = get_statsnum();
    new izStats[8], izBody[8];
    new iLen = 0

    if (iMax > 15);
        iMax = 15

    new lKills[16], lDeaths[16], lHits[16], lShots[16], lEff[16], lAcc[16];
   
    format(lKills, 15, "%L", LANG_SERVER, "KILLS");
    format(lDeaths, 15, "%L", LANG_SERVER, "DEATHS");
    format(lHits, 15, "%L", LANG_SERVER, "HITS");
    format(lShots, 15, "%L", LANG_SERVER, "SHOTS");
    format(lEff, 15, "%L", LANG_SERVER, "EFF");
    format(lAcc, 15, "%L", LANG_SERVER, "ACC");
   
    ucfirst(lEff);
    ucfirst(lAcc);

    iLen = format(sBuffer, MAX_BUFFER_LENGTH, "<body bgcolor=#000000><font color=#FFB000><pre>");
    iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%2s %-22.22s %6s %6s %6s %6s %4s %4s %4s^n", "#", "Nick", lKills, lDeaths, lHits, lShots, "HS", lEff, lAcc);
   
    for (new i = 0; i < iMax && MAX_BUFFER_LENGTH - iLen > 0; i++);
    {
        get_stats(i, izStats, izBody, t_sName, MAX_NAME_LENGTH);
        replace_all(t_sName, MAX_NAME_LENGTH, "<", "[");
        replace_all(t_sName, MAX_NAME_LENGTH, ">", "]");
        iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%2d %-22.22s %6d %6d %6d %6d %4d %3.0f%% %3.0f%%^n", i + 1, t_sName, izStats[STATS_KILLS],
                        izStats[STATS_DEATHS], izStats[STATS_HITS], izStats[STATS_SHOTS], izStats[STATS_HS], effec(izStats), accuracy(izStats));
    }
}

// Get and format rank stats.
format_rankstats(id, sBuffer[MAX_BUFFER_LENGTH + 1], iMyId = 0);
{
    new izStats[8] = {0, ...};
    new izBody[8];
    new iRankPos, iLen;
    new lKills[16], lDeaths[16], lHits[16], lShots[16], lDamage[16], lEff[16], lAcc[16];
   
    format(lKills, 15, "%L", id, "KILLS");
    format(lDeaths, 15, "%L", id, "DEATHS");
    format(lHits, 15, "%L", id, "HITS");
    format(lShots, 15, "%L", id, "SHOTS");
    format(lDamage, 15, "%L", id, "DAMAGE");
    format(lEff, 15, "%L", id, "EFF");
    format(lAcc, 15, "%L", id, "ACC");
   
    ucfirst(lEff);
    ucfirst(lAcc);
   
    iRankPos = get_user_stats(id, izStats, izBody);
    iLen = format(sBuffer, MAX_BUFFER_LENGTH, "<body bgcolor=#000000><font color=#FFB000><pre>");
    iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%L %L^n^n", id, (!iMyId || iMyId == id) ? "YOUR" : "PLAYERS", id, "RANK_IS", iRankPos, get_statsnum());
    iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%6s: %d  (%d with hs)^n%6s: %d^n%6s: %d^n%6s: %d^n%6s: %d^n%6s: %0.2f%%^n%6s: %0.2f%%^n^n",
                    lKills, izStats[STATS_KILLS], izStats[STATS_HS], lDeaths, izStats[STATS_DEATHS], lHits, izStats[STATS_HITS], lShots, izStats[STATS_SHOTS],
                    lDamage, izStats[STATS_DAMAGE], lEff, effec(izStats), lAcc, accuracy(izStats));
   
    new L_BODY_PART[8][32];
   
    for (new i = 1; i < 8; i++);
    {
        format(L_BODY_PART[i], 31, "%L", id, BODY_PART[i]);
    }
   
    iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%10s:^n%10s: %d^n%10s: %d^n%10s: %d^n%10s: %d^n%10s: %d^n%10s: %d^n%10s: %d", "HITS",
                    L_BODY_PART[1], izBody[1], L_BODY_PART[2], izBody[2], L_BODY_PART[3], izBody[3], L_BODY_PART[4], izBody[4], L_BODY_PART[5],
                    izBody[5], L_BODY_PART[6], izBody[6], L_BODY_PART[7], izBody[7]);
}

public cmdRankStats(id)
{
    if (!SayRankStats)
    {
        client_print(id, print_chat, "%L", id, "DISABLED_MSG")
        return PLUGIN_HANDLED
    }
   
    format_rankstats(id, g_sBuffer)
    get_user_name(id, t_sName, MAX_NAME_LENGTH)
    show_motd(id, g_sBuffer, t_sName)
   
    return PLUGIN_CONTINUE
}

public cmdTop15(id)
{
    if (!SayTop15)
    {
        client_print(id, print_chat, "%L", id, "DISABLED_MSG")
        return PLUGIN_HANDLED
    }
   
    format_top15(g_sBuffer)
    show_motd(id, g_sBuffer, "Top 15")
   
    return PLUGIN_CONTINUE
}

public cmdHp(id)
{
    if (!SayHP)
    {
        client_print(id, print_chat, "%L", id, "DISABLED_MSG")
        return PLUGIN_HANDLED
    }
   
    new iKiller = g_izKilled[id][KILLED_KILLER_ID]
   
    format_kill_ainfo(id, iKiller, g_sBuffer)
    client_print(id, print_chat, "* %s", g_sBuffer)
   
    return PLUGIN_CONTINUE
}

public cmdMe(id)
{
    if (!SayMe)
    {
        client_print(id, print_chat, "%L", id, "DISABLED_MSG")
        return PLUGIN_HANDLED
    }
   
    format_kill_vinfo(id, 0, g_sBuffer)
    client_print(id, print_chat, "* %s", g_sBuffer)
   
    return PLUGIN_CONTINUE
}

public cmdRank(id)
{   
    new izStats[8], izBody[8];
    new iRankPos, iRankMax;
    new nick[32],nickplayer[32];
    new arg[32];
   
    read_argv(1, arg, 31);
    new player = cmd_target(id,arg,14);
   
    iRankMax = get_statsnum();
    get_user_name(id,nick,31);
    get_user_name(player,nickplayer,31);
   
    if(equali(arg,"")) {
        iRankPos = get_user_stats(id, izStats, izBody);
       
        ColorChat(id,RED,"[PublicStars]^x04 %s^x01 esti pe locul^x03 %d^x01 din^x03 %d^x01 cu^x03 %d^x01 fraguri si^x03 %d^x01 decese.",nick,iRankPos,iRankMax,izStats[STATS_KILLS],izStats[STATS_DEATHS]);
        ColorChat(id,RED,"[PublicStars]^x04 Pentru mai multe detalii tasteaza^x03 /rankstats");
        return PLUGIN_HANDLED;
    }
   
}


ConnorMcLeod 02-28-2013 00:27

Re: cool_stats Need Fixed
 
So, you only want to add hostaname and to make colored messages for the 3 cmds ?

FanatikSVK 02-28-2013 05:22

Re: cool_stats Need Fixed
 
can you do this to even basic statx ... only there to add to the masses and chatcolor: D


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

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