1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124. | #include <amxmodx>
#include <amxmisc>
#include <colorchat>
#define PLUGIN "Spreeeee!"
#define VERSION "0.07"
#define AUTHOR "R3X"
#define MAX_PLAYERS 32
//rozrabiaka
#define PREPARE_HUD() set_hudmessage(42, 255, 42, 0.02, -1.0, 0, 6.0, 6.0,_,_,2)
//koniec szalenstwa
#define PREPARE_HUD2() set_hudmessage(42, 42, 255, 0.62, -1.0, 0, 6.0, 6.0,_,_,1)
//#define DEBUG
new g_points[MAX_PLAYERS+1][2];
new g_pointsThisRound[MAX_PLAYERS+1][2];
new g_cvarLimit,g_cvarEndShow;
public plugin_init(){
register_plugin(PLUGIN, VERSION, AUTHOR);
register_event("DeathMsg","onDeath","a");
register_event("TextMsg", "resetAll", "a", "2&#Game_will_restart_in" );
register_event("TextMsg", "resetAll", "a", "2&#Game_C");
register_logevent("onEndRound", 2, "1=Round_End")
register_logevent("resetAllThisRound", 2, "1=Round_Start")
g_cvarLimit=register_cvar("amx_spree_limit","5");
g_cvarEndShow=register_cvar("amx_endshow","1");
#if defined DEBUG
register_concmd("show_points","cmd_show_points",ADMIN_KICK);
#endif
}
reset(id){
g_points[id][0]=0;
g_points[id][1]=0;
}
resetRound(id){
g_pointsThisRound[id][0]=0;
g_pointsThisRound[id][1]=0;
}
public resetAllThisRound(){
for(new i=0;i<=MAX_PLAYERS;i++)
resetRound(i);
}
public resetAll(){
for(new i=0;i<=MAX_PLAYERS;i++)
reset(i);
}
public onEndRound(){
if(get_pcvar_num(g_cvarEndShow))
set_task(0.3,"podsumowanie");
}
public podsumowanie(){
new bool:double=false;
new id=0;
for(new i=1;i<=MAX_PLAYERS;i++){
if(g_pointsThisRound[id][0]==g_pointsThisRound[i][0]){
if(g_pointsThisRound[id][1] == g_pointsThisRound[i][1]){
double=true;
}
else if(g_pointsThisRound[id][1] < g_pointsThisRound[i][1]){
id=i;
double=false;
}
}
else if(g_pointsThisRound[id][0] < g_pointsThisRound[i][0]){
id=i;
double=false;
}
}
if(!double && id){
new szNick[33];
get_user_name(id,szNick,32);
ColorChat(0,GREEN," Najlepszy Gracz Rundy: ^x03%s^x04 [ Ilosc zabitych: ^x02%d^x04 | Ilosc HS'ow: ^x02%d ^x04]",szNick,g_pointsThisRound[id][0],g_pointsThisRound[id][1]);
}
}
public client_putinserver(id){
reset(id);
resetRound(id);
}
public client_disconnect(id){
reset(id);
resetRound(id);
}
public onDeath(){
new kid=read_data(1);
new vid=read_data(2);
log_amx("%d->%d",kid,vid);
if(!is_user_connected(kid)){
reset(vid);
return PLUGIN_CONTINUE;
}
log_amx("(2)%d->%d",kid,vid);
g_points[kid][0]++;
g_pointsThisRound[kid][0]++;
if(read_data(3)){
g_points[kid][1]++;
g_pointsThisRound[kid][1]++;
}
if(get_pcvar_num(g_cvarLimit)<=0)
return PLUGIN_CONTINUE;
if(g_points[vid][0]>=get_pcvar_num(g_cvarLimit)){
new szVicNick[33],szKilNick[33];
get_user_name(vid,szVicNick,32);
get_user_name(kid,szKilNick,32);
ColorChat(0,GREEN,"* Szalenstwo Zabijania:");
ColorChat(0,GREEN,"* ^x03%s^x04 zabil w sumie ^x02%d^x04 osob [ ^x02%d^x04 HS'ow ]",szVicNick,g_points[vid][0],g_points[vid][1]);
ColorChat(0,GREEN,"* Passa zatrzymana przez : ^x03%s",szKilNick);
}
reset(vid);
return PLUGIN_CONTINUE;
}
#if defined DEBUG
ppublic cmd_show_points(id,level,cid){
if( !cmd_access(id, level, cid, 1))
return PLUGIN_HANDLED;
client_print(id,print_console,"----------Points------------");
new Players[32];
new playerCount, id2;
get_players(Players, playerCount);
for ( new i=0; i<playercount; i++){="" id2="Players[i];" client_print(id,print_console,"%d="" p="%d(%dhs)," ptr="%d(%dhs)",id2,g_points[id2][0],g_points[id2][1],g_pointsThisRound[id2][0],g_pointsThisRound[id2][1])" }="" client_print(id,print_console,"--------------------------");="" return="" plugin_handled;="" #endif="" <="" pre="">
}
#endif |