Page 1 of 1

Best Player

Posted: 2015 Jun 28 07:52
by Terror
Geriausias žaidėjas Gauna

Deagle
Armor +100
HP + 10
$ + 1000

Code: Select all

#include <amxmodx>#include <fun>#include <cstrike>#include <hamsandwich> enum _:DATA { Bonus[32], Num }new const g_aBonuses[][DATA] ={    { "weapon_deagle", 35 },        { "addarmor", 100 },            { "addhealth", 10},         { "addmoney", 1000}     } new Float:g_fDamage[33];new Float:g_fMaxHP;new g_iBestPlayer; public plugin_init(){    register_plugin("BestPlayer", "1.1", "neygomon");     register_logevent("LeRoundEnd", 2, "1=Round_End");        RegisterHam(Ham_Spawn, "player", "fwdPlayerSpawnPost", true);    RegisterHam(Ham_TakeDamage, "player", "fwdPlayerTakeDmgPost", true);} public client_disconnect(id){    if(g_iBestPlayer == id)        g_iBestPlayer = 0;        g_fDamage[id] = 0.0;} public fwdPlayerSpawnPost(const pClient){    if(g_iBestPlayer != pClient) return;    if(!is_user_alive(pClient)) return;        new name[32]; get_user_name(pClient, name, charsmax(name));    new bonus = random(charsmax(g_aBonuses));        if(g_aBonuses[bonus][Bonus][0] == 'w' && g_aBonuses[bonus][Bonus][6] == '_')    {        give_item(pClient, g_aBonuses[bonus][Bonus]);        if(g_aBonuses[bonus][Num] > 0) cs_set_user_bpammo(pClient, get_weaponid(g_aBonuses[bonus][Bonus]), g_aBonuses[bonus][Num]);                ChatColor("^1[^4Best Player^1] ^4Игрок ^3%s ^4стал ^3лучшим ^4прошлого раунда! Нанес ^3%d ^4урона. Бонус ^1- ^3%s", name, floatround(g_fMaxHP), g_aBonuses[bonus][Bonus][7]);    }    else if(!strcmp(g_aBonuses[bonus][Bonus], "addarmor") && g_aBonuses[bonus][Num] > 0)    {        cs_set_user_armor(pClient, g_aBonuses[bonus][Num], CS_ARMOR_VESTHELM);        ChatColor("^1[^4Best Player^1] ^4Игрок ^3%s ^4стал ^3лучшим ^4прошлого раунда! Нанес ^3%d ^4урона. Бонус ^1- ^3%d Armor", name, floatround(g_fMaxHP), g_aBonuses[bonus][Num]);    }       else if(!strcmp(g_aBonuses[bonus][Bonus], "addhealth") && g_aBonuses[bonus][Num] > 0)    {        set_user_health(pClient, get_user_health(pClient) + g_aBonuses[bonus][Num]);        ChatColor("^1[^4Best Player^1] ^4Игрок ^3%s ^4стал ^3лучшим ^4прошлого раунда! Нанес ^3%d ^4урона. Бонус ^1- ^3%d HP", name, floatround(g_fMaxHP), g_aBonuses[bonus][Num]);    }    else if(!strcmp(g_aBonuses[bonus][Bonus], "addmoney") && g_aBonuses[bonus][Num] > 0)    {        cs_set_user_money(pClient, cs_get_user_money(pClient) + g_aBonuses[bonus][Num]);        ChatColor("^1[^4Best Player^1] ^4Игрок ^3%s ^4стал ^3лучшим ^4прошлого раунда! Нанес ^3%d ^4урона. Бонус ^1- ^3%d $", name, floatround(g_fMaxHP), g_aBonuses[bonus][Num]);    }    g_iBestPlayer = 0;}    public fwdPlayerTakeDmgPost(pVictim, idInflictor, pAttacker, Float:fDamage){    if(pAttacker && pVictim != pAttacker)        g_fDamage[pAttacker] += fDamage;} public LeRoundEnd(){    new players[32], pnum; get_players(players, pnum, "h");    g_fMaxHP = 0.0;    for(new i; i < pnum; i++)    {        if(g_fDamage[players[i]] > g_fMaxHP)        {            g_fMaxHP = g_fDamage[players[i]];            g_iBestPlayer = players[i];        }    }    arrayset(_:g_fDamage, _:0.0, 33);} stock ChatColor(const szMessage[], any:...){    static pnum, players[32], szMsg[190], IdMsg;     vformat(szMsg, charsmax(szMsg), szMessage, 2);        if(!IdMsg) IdMsg = get_user_msgid("SayText");    get_players(players, pnum, "c");        for(new i; i < pnum; i++)    {        message_begin(MSG_ONE, IdMsg, .player = players[i]);        write_byte(players[i]);        write_string(szMsg);        message_end();    }}