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(); }}