#include #include #include #include #include #define VERSION "2.4" /* Based on version 2.0 - fixed syncrinosation with score table */ #pragma semicolon 1 new MaxPlayers; new ScoreRed = 0; new ScoreBlue = 0; new gMsg_TeamScore; new g_iTeam[33]; new g_iPlayerScore[33]; enum { TEAM_NONE = 0, TEAM_BLUE, TEAM_RED, TEAM_SPEC } public plugin_init() { register_plugin("HL Teams Score By killing", VERSION, "Kuma & D-AIRY"); register_event("DeathMsg", "player_killed", "a"); gMsg_TeamScore = get_user_msgid("TeamScore"); register_message(gMsg_TeamScore, "msg_teamScore"); set_task(1.0,"score_round",_,_,_,"b"); MaxPlayers = get_maxplayers(); } public client_infochanged(id) { new tid = get_user_team(id); switch(tid) { case TEAM_BLUE: if(g_iTeam[id] != TEAM_BLUE) { if(g_iTeam[id] == TEAM_RED) { ScoreRed -= g_iPlayerScore[id]; } g_iTeam[id] = TEAM_BLUE; ScoreBlue += g_iPlayerScore[id]; } case TEAM_RED: if(g_iTeam[id] != TEAM_RED) { if(g_iTeam[id] == TEAM_BLUE) { ScoreBlue -= g_iPlayerScore[id]; } g_iTeam[id] = TEAM_RED; ScoreRed += g_iPlayerScore[id]; } case TEAM_NONE: { if(g_iTeam[id] == TEAM_BLUE) { ScoreBlue -= g_iPlayerScore[id]; } if(g_iTeam[id] == TEAM_BLUE) { ScoreBlue -= g_iPlayerScore[id]; } } default: return; } } public client_disconnect(id) { if(g_iTeam[id] == TEAM_BLUE) { server_print("Disconnected. ScoreBlue -= %d\n", g_iPlayerScore[id]); ScoreBlue -= g_iPlayerScore[id]; } if(g_iTeam[id] == TEAM_RED) { server_print("Disconnected. ScoreRed -= %d\n", g_iPlayerScore[id]); ScoreRed -= g_iPlayerScore[id]; } g_iPlayerScore[id] = 0; } public client_putinserver(id) { g_iPlayerScore[id] = 0; } public player_killed() { new iKiller = read_data(1); new id = read_data(2); new iAdd = 1; new iGift = 5; new tid = hl_get_user_team(iKiller); switch(tid) { case 1: g_iTeam[iKiller] = TEAM_BLUE; case 2: g_iTeam[iKiller] = TEAM_RED; default: return; } if(id == iKiller || !(1 <= iKiller <= MaxPlayers)) { if(hl_get_user_team(id) == TEAM_BLUE ) { ScoreBlue -= iAdd; g_iPlayerScore[id] -= iAdd; } if( hl_get_user_team(id) == TEAM_RED ) { ScoreRed -= iAdd; g_iPlayerScore[id] -= iAdd; } } else if(1 <= iKiller <= MaxPlayers) { if(hl_get_user_team(id) == tid) { if(tid == TEAM_BLUE ) { ScoreBlue -= iAdd; g_iPlayerScore[id] -= iAdd; } if(tid == TEAM_RED ) { ScoreRed -= iAdd; g_iPlayerScore[id] -= iAdd; } } else { if(tid == TEAM_BLUE ) { ScoreBlue += iAdd; g_iPlayerScore[iKiller] += iAdd; } if(tid == TEAM_RED ) { ScoreRed += iAdd; g_iPlayerScore[iKiller] += iAdd; } } } } public msg_teamScore() { static szTeam[32]; get_msg_arg_string(1, szTeam, 1); switch(szTeam[0]) { case 1: set_msg_arg_int(2, ARG_SHORT, ScoreBlue); case 2: set_msg_arg_int(2, ARG_SHORT, ScoreRed); } } public on_change_level() { new szMsg[48]; new szFormat[192]; formatex(szFormat, charsmax(szFormat), "Bat-Man %d : %d Iron-Man %s", ScoreBlue,ScoreRed, szMsg); client_print(0, print_center, szFormat); log_message("Blue %d : %d Red", ScoreBlue,ScoreRed); if(ScoreBlue <= ScoreRed) { }else if(ScoreRed <= ScoreBlue) { } } public score_round() { set_dhudmessage(0, 70, 200, -1.0, 0.0, 0, 0.5, 1.1, 0.08, 1.1, true); show_dhudmessage(0,"Bat-Man :%d| ", ScoreBlue); set_dhudmessage(200, 0, 0, -1.0, 0.0, 0, 0.5, 2.0, 0.08, 2.0, true); show_dhudmessage(0," |%d: Iron-Man", ScoreRed); } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ fbidis\\ ansi\\ ansicpg1252\\ deff0{\\ fonttbl{\\ f0\\ fnil\\ fcharset0 Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ ltrpar\\ lang5121\\ f0\\ fs16 \n\\ par } */