#include #include #include #define MAX_NAME_LENGTH 128 new const gNazwaPluginu[] = "Stats Mar[Q]uee"; new const gWersjaPluginu[] = "0.1"; new const gAutorPluginu[] = "MisieQ"; new m_sName[MAX_NAME_LENGTH + 1] = "" new marquee_place[40] = "" enum _:cvary { MODE, EFECT, COLOR, POZYCJA } new gCvars[cvary]; new iEffect, iColor_R, iColor_G, iColor_B, g_pcvarColor new Float:iFadeIn, Float:iFadeOut, Float:iHoldTime, Float:iPos_X, Float:iPos_Y new marquee_iID public plugin_init() { register_plugin(gNazwaPluginu, gWersjaPluginu, gAutorPluginu); set_task(15.0, "StatsMarquee", 0, _, 0) gCvars[EFECT] = register_cvar("amx_stats_marquee_effect", "0") gCvars[COLOR] = register_cvar("amx_stats_marquee_color", "0") gCvars[POZYCJA] = register_cvar("amx_stats_marquee_position", "0") gCvars[MODE] = register_cvar("amx_stats_mode", "1") } public StatsMarquee(id) { new izStats[8], izBody[8] get_stats(marquee_iID, izStats, izBody, m_sName, MAX_NAME_LENGTH) switch(get_pcvar_num(gCvars[POZYCJA])) { case 1: { iPos_X = 0.7 iPos_Y = 0.05 } case 2: { iPos_X = 0.02 iPos_Y = 0.7 } case 3: { iPos_X = 0.02 iPos_Y = 0.2 } default: { iPos_X = 0.7 iPos_Y = 0.78 } } g_pcvarColor = get_pcvar_num(gCvars[COLOR]) if(g_pcvarColor == 11) { g_pcvarColor = random_num(1, 9) } switch(g_pcvarColor) { case 1: { // RED iColor_R = 255 iColor_G = 0 iColor_B = 0 } case 2: { // GREEN iColor_R = 0 iColor_G = 255 iColor_B = 0 } case 3: { // BLUE iColor_R = 0 iColor_G = 0 iColor_B = 255 } case 4: { // YELLOW iColor_R = 255 iColor_G = 255 iColor_B = 0 } case 5: { // CYAN iColor_R = 0 iColor_G = 255 iColor_B = 255 } case 6: { // MAGENTA iColor_R = 255 iColor_G = 0 iColor_B = 255 } case 7: { // ORANGE iColor_R = 255 iColor_G = 128 iColor_B = 0 } case 8: { // VIOLET iColor_R = 0 iColor_G = 128 iColor_B = 255 } case 9: { // GRAY iColor_R = 100 iColor_G = 100 iColor_B = 100 } case 10: { // RANDOM iColor_R = random_num(0, 255) iColor_G = random_num(0, 255) iColor_B = random_num(0, 255) } default: { } } if(get_pcvar_num(gCvars[MODE])) { switch(marquee_iID) { case 0: { formatex(marquee_place, charsmax(marquee_place), "Top 10 Graczy") if(!g_pcvarColor) { iColor_R = 0 iColor_G = 255 iColor_B = 0 } } case 10: { formatex(marquee_place, charsmax(marquee_place), "Top 20 Graczy") if(!g_pcvarColor) { iColor_R = 255 iColor_G = 255 iColor_B = 0 } } case 20: { formatex(marquee_place, charsmax(marquee_place), "Top 30 Graczy") if(!g_pcvarColor) { iColor_R = 255 iColor_G = 0 iColor_B = 0 } } } } else { formatex(marquee_place, charsmax(marquee_place), "Statystyki serwera") } switch(get_pcvar_num(gCvars[EFECT])) { case 1: { iEffect = 1 iFadeIn = 0.2 iFadeOut = 0.2 iHoldTime = 5.8 } case 2: { iEffect = 2 iFadeIn = 0.05 iFadeOut = 0.5 iHoldTime = 2.0 } default: { iEffect = 0 iFadeIn = 0.5 iFadeOut = 0.5 iHoldTime = 5.5 } } set_hudmessage(iColor_R, iColor_G, iColor_B, iPos_X, iPos_Y, iEffect, 0.1, iHoldTime, iFadeIn, iFadeOut, -1) show_hudmessage(0, "%s^n%s^nPozycja w Ranku: %d | Zabic: %d | Zginiec: %d", marquee_place, m_sName, marquee_iID + 1, izStats[0], izStats[1]) marquee_iID++ if(marquee_iID >= 30) { marquee_iID = 0 set_task(300.0, "StatsMarquee", 0, _, 0) } else { set_task(6.0, "StatsMarquee", 0, _, 0) } return PLUGIN_CONTINUE }