· 6 years ago · Dec 10, 2019, 04:10 PM
1#include <amxmodx>
2#include <amxmisc>
3#include <cstrike>
4#include <hamsandwich>
5#include <fakemeta>
6#include <fun>
7#include <engine>
8#include <fakemeta_util>
9#include <csx>
10#include <sqlx>
11#include <reapi>
12
13// Hostname, nustatyk ДЌia.
14#define HOSTNAME "CSLIFE.LT MIX ARENA"
15
16// Prefix'as prie tekstЕі
17#define PREFIX "^4MIX^1"
18
19#define FLAG ADMIN_BAN
20
21#define MONEY 800
22#define MAX_ROUNDS 16
23
24#define MIX_HOST "127.0.0.1"
25#define MIX_USER "admin"
26#define MIX_PASSWORD "jaroslawas2013"
27#define MIX_DATABASE "miksas"
28
29#define MAX_LEVELS 3
30#define MAX_CLASSES 3
31#define MAX_PONTUATION 10000
32
33enum
34{
35 TASK_MVP = 15,
36 TASK_RANK_MVP = 15
37}
38
39new const CLASSES[MAX_CLASSES+1][] =
40{
41 "UNRANKED",
42 "LOW",
43 "MID",
44 "PRO"
45}
46
47new const LEVELS[MAX_LEVELS+1] =
48{
49 0,
50 1000,
51 2000,
52 3000
53}
54
55new Handle:g_hTuple;
56
57new const szTables[][] =
58{
59 "CREATE TABLE IF NOT EXISTS `mix_players` (`player_id` varchar(32) NOT NULL, `player_name` varchar(64), `kills` int(16) NOT NULL, `deaths` int(16) NOT NULL, `headshots` int(16), `m_aces` int(16), `aces` int(16), `mix_played` int(16) NOT NULL, `mix_won` int(16) NOT NULL, `mix_lost` int(16) NOT NULL, `mix_draw` int(16) NOT NULL, `last_online` varchar(64), PRIMARY KEY (`player_id`))",
60}
61
62new pPoints[MAX_PLAYERS+1];
63new pLevels[MAX_PLAYERS+1];
64new pClasses[MAX_PLAYERS+1];
65
66new pTempKills[33], pTempDeaths[33], pTempHeadshots[33], pTempAces[33], pTempMiniAces[33], pTempPlants[33], pTempDefusions[33];
67new pKills[33], pDeaths[33], pHeadshots[33], pAces[33], pMiniAces[33], pMixPlayed[33], pMixLost[33], pMixDraw[33], pMixWon[33], bool:pLoaded[33];
68new pTempAK[33], pTempM4A1[33], pTempDeagle[33], pTempAWP[33], pTempUSP[33], pTempHE[33], pTempGlock[33], pTempKnives[33], pTempScout[33], pTempFamas[33];
69
70#define isAdmin(%1) (get_user_flags(%1) & FLAG)
71
72new scoreT, scoreCT, serverPassword[64], tempCT, tempT, tempCount;
73new bool:WarmUp = true, bool:KnifeRound, bool:passwordStatus, bool:canChat = true, bool:PrepareRound, bool:Fire;
74new Kills[33];
75
76new RoundCount;
77new cvarTimeout, cvarFormat;
78
79new const BlockCmds[][] =
80{
81 "amx_unban",
82 "amx_rcon",
83 "amx_cvar",
84 "amxmodmenu"
85}
86
87new const Commands[][][] =
88{
89 {"menu", "mainMenu"},
90 {"mixmenu", "mainMenu"},
91 {"live", "setLive"},
92 {"rr", "restartRound"},
93 {"restart", "restartRound"},
94 {"wm", "warmUP"},
95 {"warmup", "warmUP"},
96 {"gg", "endGame"},
97 {"stop", "endGame"},
98 {"knife", "setKnife"},
99 {"knf", "setKnife"},
100 {"score", "getScore"},
101 {"rez", "getScore"},
102 {"pw", "infoPassword"},
103 {"renkam", "setPrepare"}
104}
105
106public plugin_init()
107{
108 register_dictionary("mix_arena.txt");
109
110 new szFmt[64];
111
112 for(new i = 0; i < sizeof(BlockCmds); i++)
113 {
114 register_concmd(BlockCmds[i], "BlockConsole");
115 }
116
117 for(new i = 0; i < sizeof(Commands); i++)
118 {
119 format(szFmt, 63, "say .%s", Commands[i][0]);
120 register_clcmd(szFmt, Commands[i][1]);
121 format(szFmt, 63, "say /%s", Commands[i][0]);
122 register_clcmd(szFmt, Commands[i][1]);
123 format(szFmt, 63, "say !%s", Commands[i][0]);
124 register_clcmd(szFmt, Commands[i][1]);
125 format(szFmt, 63, "say_team .%s", Commands[i][0]);
126 register_clcmd(szFmt, Commands[i][1]);
127 format(szFmt, 63, "say_team /%s", Commands[i][0]);
128 register_clcmd(szFmt, Commands[i][1]);
129 format(szFmt, 63, "say_team !%s", Commands[i][0]);
130 register_clcmd(szFmt, Commands[i][1]);
131 }
132
133 register_clcmd("jointeam", "cmd_block");
134
135 register_clcmd("say .choose", "choosePlayers");
136 register_clcmd("say /choose", "choosePlayers");
137
138 register_clcmd("say .ban", "BanMenu");
139 register_clcmd("say .kick", "KickMenu");
140 register_clcmd("say .maps", "MapsMenu");
141 register_clcmd("say .leave", "LeaveMenu");
142
143 register_clcmd("say .chaton", "Chat");
144 register_clcmd("say .chatoff", "ChatMenu");
145
146 register_clcmd("say .skill", "showSkill");
147
148 register_clcmd("say .stats", "PlayerRank");
149 register_clcmd("say .top", "showTOP");
150
151 register_clcmd("say .rank", "showPlayerStats");
152
153 register_clcmd("say .me", "showPlayerRank");
154 register_clcmd("say .ace", "showPlayerAce");
155
156 register_clcmd("say", "hookSay");
157 register_clcmd("SetPassword", "_SetPassword");
158
159 register_event("DeathMsg", "DeathEvent", "a");
160
161 register_event("SendAudio", "t_win", "a", "2&%!MRAD_terwin");
162 register_event("SendAudio", "ct_win", "a", "2&%!MRAD_ctwin");
163
164 register_logevent("RoundEnd", 2, "1=Round_End");
165
166 RegisterHam(Ham_Spawn, "player", "PlayerSpawn", 1);
167
168 RegisterHookChain(RG_RoundEnd, "RoundEndReapi", 0); /*Fix Bug's*/
169 RegisterHookChain(RG_CSGameRules_RestartRound, "CSGameRules_RestartRound_Pre", false);
170 RegisterHookChain(RG_CBasePlayer_HasRestrictItem, "HC_HasRestrictItem_Pre", false)
171
172 register_forward(FM_Voice_SetClientListening, "ClientListen");
173
174 server_cmd("sv_password ^"^"");
175 server_cmd("hostname ^"%s^"", HOSTNAME);
176
177 cvarTimeout = register_cvar("amx_demo_timeout", "5.0");
178 cvarFormat = register_cvar("amx_demo_format", "CSLIFE_LT_MIX");
179}
180
181public PlayerRank(id)
182{
183 static query[512];
184 formatex(query, charsmax(query), "SELECT COUNT(*) FROM mix_players WHERE kills > '%d'", pKills[id]);
185 log_amx(query)
186 static data[2];
187 data[0] = id;
188
189 SQL_ThreadQuery(g_hTuple, "QueryLoadStats", query, data, sizeof(data));
190 return PLUGIN_HANDLED;
191}
192
193public QueryLoadStats(failstate, Handle:hQuery, error[], errnum, data[], size, Float:queuetime)
194{
195 if(failstate == TQUERY_CONNECT_FAILED || failstate == TQUERY_QUERY_FAILED)
196 {
197 set_fail_state(error);
198 }
199 else
200 {
201 new id = data[0];
202
203 if(SQL_NumResults(hQuery))
204 {
205 client_printcolor(id, "/y[/ctr%s/y] /yNuЕѕudymai.: ^3%d ^4| /yMirtys.: ^3%d ^4| /yHS.: ^3%d ^4| /yMINI-ACE.: ^3%d ^4| /yACE.: ^3%d", PREFIX, pKills[id], pDeaths[id], pHeadshots[id], pMiniAces[id], pAces[id])
206 client_printcolor(id, "/y[/ctr%s/y] /ySuЕѕaisti.: ^3%d ^4| /yLaimД—ta.: ^3%d ^4| /yPralaimД—ta.: ^3%d ^4| /yLygiosiomis.: ^3%d", PREFIX, pMixPlayed[id], pMixWon[id], pMixLost[id], pMixDraw[id])
207 }
208 }
209}
210
211public showPlayerRank(id)
212{
213 static query[512];
214 formatex(query, charsmax(query), "SELECT COUNT(*) FROM mix_players WHERE kills > '%d'", pKills[id]);
215 log_amx(query)
216 static data[2];
217 data[0] = id;
218
219 SQL_ThreadQuery(g_hTuple, "QueryLoadRank", query, data, sizeof(data));
220 return PLUGIN_HANDLED;
221}
222
223public QueryLoadRank(failstate, Handle:hQuery, error[], errnum, data[], size, Float:queuetime)
224{
225 if( failstate == TQUERY_CONNECT_FAILED || failstate == TQUERY_QUERY_FAILED)
226 {
227 set_fail_state(error);
228 }
229 else
230 {
231 new id = data[0];
232
233 if(SQL_NumResults(hQuery))
234 {
235 new colRank = SQL_ReadResult(hQuery, 0) + 1;
236 client_printcolor(id, "/y[/ctr%s/y] Tavo rankas yra /ctr%d", PREFIX, colRank);
237 }
238 }
239}
240
241public showPlayerStats(id)
242{
243 new menu = menu_create("\w[\rMIX\w] Statistika\r", "showPlayerStatsHandler");
244
245 new players[32], pnum, tempid;
246 new szText[512], szName[35], szUserId[35];
247
248 get_players(players, pnum);
249
250 for(new i; i < pnum; i++)
251 {
252 tempid = players[i];
253
254 if(!is_user_connected(tempid)) continue;
255
256 get_user_name(tempid, szName, charsmax(szName));
257 get_user_authid(tempid, szUserId, 34);
258
259 formatex(szText, charsmax(szText), "%s %s [%d]", get_admin_name(players[i]), CLASSES[pLevels[players[i]]], pPoints[players[i]]);
260 menu_additem(menu, szText, szUserId, 0);
261 }
262
263 menu_display(id, menu, 0);
264
265 return PLUGIN_HANDLED;
266}
267
268public showPlayerStatsHandler(id, menu, item)
269{
270 if(item == MENU_EXIT)
271 {
272 menu_destroy(menu)
273 return PLUGIN_HANDLED;
274 }
275 new szData[64], szName[64];
276 new _access, item_callback;
277 menu_item_getinfo(menu, item, _access, szData, charsmax(szData), szName, charsmax(szName), item_callback);
278
279 new link[128];
280
281 format(link, 127, "http://185.80.129.89/stats/player.php?sid=%s", szData);
282 show_motd(id, link, "ЕЅaiД—jЕі Statistika");
283
284 menu_destroy(menu);
285 return PLUGIN_HANDLED;
286}
287
288public BanMenu(id)
289{
290 if(!isAdmin(id))
291 return PLUGIN_HANDLED;
292
293 client_cmd(id, "amx_banmenu");
294
295 return PLUGIN_HANDLED;
296}
297
298public KickMenu(id)
299{
300 if(!isAdmin(id))
301 return PLUGIN_HANDLED;
302
303 client_cmd(id, "amx_kickmenu");
304
305 return PLUGIN_HANDLED;
306}
307
308public MapsMenu(id)
309{
310 if(!isAdmin(id))
311 return PLUGIN_HANDLED;
312
313 client_cmd(id, "amx_mapmenu");
314
315 return PLUGIN_HANDLED;
316}
317
318public LeaveMenu(id)
319{
320 if(!isAdmin(id))
321 return PLUGIN_HANDLED;
322
323 client_cmd(id, "amx_bandisconnectedmenu");
324
325 return PLUGIN_HANDLED;
326}
327
328public ChatMenu(id)
329{
330 if(!isAdmin(id))
331 return PLUGIN_HANDLED;
332
333 canChat = false;
334
335 client_printcolor(id, "/y[/ctr%s/y] Pokalbiai iЕЎjungti!", PREFIX);
336
337 return PLUGIN_HANDLED;
338}
339
340public Chat(id)
341{
342 if(!isAdmin(id))
343 return PLUGIN_HANDLED;
344
345 canChat = true;
346
347 client_printcolor(id, "/y[/ctr%s/y] Pokalbiai ijungti!", PREFIX);
348
349 return PLUGIN_HANDLED;
350}
351
352public showStats(id)
353{
354 new link[128], steamid[64];
355 get_user_authid(id, steamid, 63);
356 format(link, 127, "http://185.80.129.89/stats/?sid=%s", steamid);
357
358 show_motd(id, link, "ЕЅaidД—jЕі Statistika");
359}
360
361public showTOP(id)
362{
363 new link[128];
364 format(link, 127, "http://185.80.129.89/stats/top.php");
365
366 show_motd(id, link, "ЕЅaidД—jЕі TOP 15 Statistika");
367}
368
369public plugin_cfg()
370{
371 set_task(0.5, "MySQLx_Init");
372}
373
374public MySQLx_Init()
375{
376 g_hTuple = SQL_MakeDbTuple(MIX_HOST, MIX_USER, MIX_PASSWORD, MIX_DATABASE);
377
378 for(new i = 0; i < sizeof szTables; i++)
379 {
380 SQL_ThreadQuery(g_hTuple, "QuerySetData", szTables[i]);
381 }
382}
383
384public QuerySetData(iFailState, Handle:hQuery, szError[], iError, iData[], iDataSize, Float:fQueueTime)
385{
386 if(iFailState == TQUERY_CONNECT_FAILED || iFailState == TQUERY_QUERY_FAILED)
387 {
388 log_amx("%s", szError);
389 return;
390 }
391}
392
393public ClientListen(pid, id)
394{
395 if(pid == id)
396 return 1;
397
398 if(is_user_connected(id))
399 {
400 new szTeam[2];
401 szTeam[0] = get_pdata_int(id, 114);
402 szTeam[1] = get_pdata_int(pid, 114);
403
404 if(szTeam[0] == szTeam[1] || WarmUp || KnifeRound || PrepareRound)
405 {
406 engfunc(EngFunc_SetClientListening, pid, id, 1);
407 return 4;
408 }
409 engfunc(EngFunc_SetClientListening, pid, id, 0);
410 return 4;
411 }
412 return 1;
413}
414
415public client_connect(id)
416{
417 if(WarmUp)
418 {
419 set_task(1.0, "PlayerSpawn")
420 }
421
422 if(!WarmUp && !PrepareRound)
423 {
424 set_task(get_pcvar_float(cvarTimeout), "TaskStarRecord", id);
425
426 if(get_playersnum() < 10)
427 {
428 // set_task(1.0, "set_password")
429 }
430 }
431
432 pTempKills[id] = 0;
433 pTempDeaths[id] = 0;
434 pTempHeadshots[id] = 0;
435 pTempAces[id] = 0;
436 pTempMiniAces[id] = 0;
437 pTempPlants[id] = 0;
438 pTempDefusions[id] = 0;
439
440 pKills[id] = 0;
441 pDeaths[id] = 0;
442 pHeadshots[id] = 0;
443 pAces[id] = 0;
444 pMiniAces[id] = 0;
445 pMixPlayed[id] = 0;
446 pMixLost[id] = 0;
447 pMixDraw[id] = 0;
448 pMixWon[id] = 0;
449 pLoaded[id] = false;
450 LoadPlayerData(id);
451}
452
453public InsertGame()
454{
455 new szQuery[3800];
456 new map_name[64];
457
458 get_mapname(map_name, 63)
459
460 formatex(szQuery, 3799, "REPLACE INTO `mix_games` (`map_name`, `date`, `rez_ct`, `rez_t`) VALUES ('%s', NOW(), '%d', '%d');", map_name, scoreCT, scoreT);
461 SQL_ThreadQuery( g_hTuple, "QuerySetData", szQuery);
462}
463
464public SavePlayer(id)
465{
466 if(!pLoaded[id])
467 return PLUGIN_HANDLED;
468
469 if(pPoints[id] < 0)
470 pPoints[id] = 0;
471
472 if(pMixPlayed[id] >= 10)
473 {
474 while(pPoints[id] >= LEVELS[pLevels[id]])
475 {
476 pLevels[id] += 1;
477 pClasses[id] += 1;
478 }
479 }
480
481 new Name[64], steam[64];
482 get_user_name(id, Name, 63);
483
484 get_user_authid(id, steam, 63);
485
486 static szQuery[3800];
487 formatex(szQuery, 3799, "REPLACE INTO `mix_players` (`player_id`, `player_name`, `kills`, `deaths`, `headshots`, `aces`, `m_aces`, `mix_played`, `mix_lost`, `mix_won`, `mix_draw`, `m_skill`, `m_rank`, `last_online`) VALUES ('%s', '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', NOW());", steam, GetSecureName(Name), pKills[id], pDeaths[id], pHeadshots[id], pAces[id], pMiniAces[id], pMixPlayed[id], pMixLost[id], pMixWon[id], pMixDraw[id], pPoints[id], pLevels[id]);
488
489 #if AMXX_VERSION_NUM >= 183
490 SQL_SetCharset(g_hTuple,"utf8");
491 #endif
492
493 SQL_ThreadQuery(g_hTuple, "QuerySetData", szQuery);
494
495 return PLUGIN_CONTINUE;
496}
497
498public LoadPlayerData(id)
499{
500 new steam[64];
501 get_user_authid(id, steam, 63);
502
503 static szQuery[256], iData[1];
504 formatex(szQuery, 255, "SELECT * FROM `mix_players` WHERE (`player_id` = '%s');", steam);
505
506 iData[0] = id;
507 SQL_ThreadQuery(g_hTuple, "QuerySelectData", szQuery, iData, 1);
508
509 return PLUGIN_CONTINUE;
510}
511
512public QuerySelectData(iFailState, Handle:hQuery, szError[], iError, iData[], iDataSize, Float:fQueueTime)
513{
514 if(iFailState == TQUERY_CONNECT_FAILED || iFailState == TQUERY_QUERY_FAILED)
515 {
516 log_amx("%s", szError);
517
518 return;
519 }
520 else
521 {
522 new id = iData[0];
523 new data_kills = SQL_FieldNameToNum(hQuery, "kills");
524 new data_deaths = SQL_FieldNameToNum(hQuery, "deaths");
525 new data_headshots = SQL_FieldNameToNum(hQuery, "headshots");
526 new data_aces = SQL_FieldNameToNum(hQuery, "aces");
527 new data_mini_aces = SQL_FieldNameToNum(hQuery, "m_aces");
528 new data_mix_played = SQL_FieldNameToNum(hQuery, "mix_played");
529 new data_mix_lost = SQL_FieldNameToNum(hQuery, "mix_lost");
530 new data_mix_draw = SQL_FieldNameToNum(hQuery, "mix_draw");
531 new data_mix_won = SQL_FieldNameToNum(hQuery, "mix_won");
532 new data_skill = SQL_FieldNameToNum(hQuery, "m_skill");
533 new data_rangs = SQL_FieldNameToNum(hQuery, "m_rank");
534
535 while (SQL_MoreResults(hQuery))
536 {
537 pKills[id] = SQL_ReadResult(hQuery, data_kills);
538 pDeaths[id] = SQL_ReadResult(hQuery, data_deaths);
539 pHeadshots[id] = SQL_ReadResult(hQuery, data_headshots);
540 pAces[id] = SQL_ReadResult(hQuery, data_aces);
541 pMiniAces[id] = SQL_ReadResult(hQuery, data_mini_aces);
542 pMixPlayed[id] = SQL_ReadResult(hQuery, data_mix_played);
543 pMixLost[id] = SQL_ReadResult(hQuery, data_mix_lost);
544 pMixDraw[id] = SQL_ReadResult(hQuery, data_mix_draw);
545 pMixWon[id] = SQL_ReadResult(hQuery, data_mix_won);
546 pPoints[id] = SQL_ReadResult(hQuery, data_skill);
547 pLevels[id] = SQL_ReadResult(hQuery, data_rangs);
548
549 SQL_NextRow(hQuery);
550 }
551 pLoaded[id] = true;
552 }
553}
554
555public client_disconnected(id)
556{
557 if(!WarmUp && !PrepareRound)
558 {
559 if(1 <= get_user_team(id) <= 2)
560 {
561 server_cmd("sv_password ^"^"");
562 client_printcolor(0, "/y[/ctr%s/y] ЕЅaidД—jas: /g%s /ypaliko ЕѕaidimД…!", PREFIX, get_admin_name(id))
563 }
564 }
565
566 if(!WarmUp && !PrepareRound)
567 {
568 remove_task(id);
569
570 if(get_playersnum() < 10)
571 {
572 // set_task(1.0, "set_password")
573 }
574 }
575}
576
577public TaskStarRecord(id)
578{
579 if (is_user_connected(id))
580 {
581 new demoName[64], mapName[32], date[12], time[10], steamid[24];
582
583 get_pcvar_string(cvarFormat, demoName, charsmax(demoName));
584
585 get_mapname(mapName, charsmax(mapName));
586 get_time("%m_%d_%Y", date, charsmax(date));
587 get_time("%H_%M", time, charsmax(time));
588 get_user_authid(id, steamid, charsmax(steamid));
589
590 replace(demoName, charsmax(demoName), "%mapname%", mapName);
591 replace(demoName, charsmax(demoName), "%date%", date);
592 replace(demoName, charsmax(demoName), "%time%", time);
593 replace(demoName, charsmax(demoName), "%steamid%", steamid);
594
595 client_cmd(id, "stop;record ^"%s^"", demoName);
596 set_task(5.0, "TaskShowMessage", id, demoName, sizeof demoName);
597 }
598}
599
600public TaskShowMessage(demoName[64], id)
601{
602 if(is_user_connected(id))
603 {
604 new userName[33], time[10], date[12];
605 get_user_name(id, userName, charsmax(userName));
606
607 get_time("%H:%M:%S", time, charsmax(time));
608 get_time("%d.%m.%Y", date, charsmax(date));
609
610 client_print_color(id, print_team_default, "%L", id, "WARNING2", demoName);
611 client_print_color(id, print_team_default, "%L", id, "WARNING3", time, date);
612 }
613}
614
615public bomb_planted(planter)
616{
617 if(!WarmUp && !PrepareRound)
618 {
619 pTempPlants[planter]++;
620 SavePlayer(planter);
621 }
622}
623
624public bomb_defused(defuser)
625{
626 if(!WarmUp && !PrepareRound)
627 {
628 pTempDefusions[defuser]++;
629 SavePlayer(defuser);
630 }
631}
632
633public t_win(id)
634{
635 if(!WarmUp && !KnifeRound && !PrepareRound) scoreT++;
636
637 if(KnifeRound)
638 {
639 if(tempT)
640 {
641 showTeamMenu(tempT);
642 }
643 }
644}
645
646public ct_win(id)
647{
648 if(!WarmUp && !KnifeRound && !PrepareRound) scoreCT++;
649
650 if(KnifeRound)
651 {
652 if(tempCT)
653 {
654 showTeamMenu(tempCT);
655 }
656 }
657}
658
659public PlayerSpawn(id)
660{
661 if(WarmUp && is_user_connected(id))
662 {
663 cs_set_user_money(id, 16000);
664 }
665
666 Kills[id] = 0;
667
668 return PLUGIN_HANDLED;
669}
670
671/*Fix Bug's*/
672public RoundEndReapi(WinStatus:status, ScenarioEventEndRound:event, Float:tmDelay)
673{
674 if(event == ROUND_GAME_COMMENCE && !WarmUp && !PrepareRound)
675 {
676 set_member_game(m_bGameStarted, true);
677 SetHookChainReturn(ATYPE_INTEGER, false);
678
679 return(HC_SUPERCEDE);
680 }
681
682 return(HC_CONTINUE);
683}
684
685
686public RoundEnd()
687{
688 if(WarmUp) server_cmd("hostname ^"%s [ApЕЎilimas]^"", HOSTNAME);
689 else if(KnifeRound) server_cmd("hostname ^"%s [PeiliЕі Roundas]^"", HOSTNAME);
690 else if(PrepareRound) server_cmd("hostname ^"%s [Renkamos Komandos]^"", HOSTNAME);
691 else
692 {
693 if(scoreT == MAX_ROUNDS || scoreCT == MAX_ROUNDS)
694 {
695 server_cmd("hostname ^"[ЕЅaidimas Baigtas - [CT]: %i | [T]: %i %s^"", scoreCT, scoreT, HOSTNAME);
696 }
697 else if(scoreT == MAX_ROUNDS-1 || scoreCT == MAX_ROUNDS-1)
698 {
699 server_cmd("hostname ^"[LIVE] (MB) - [CT]: %i | [T]: %i %s^"", scoreCT, scoreT, HOSTNAME);
700 }
701 else
702 {
703 if(scoreCT+scoreT == MAX_ROUNDS-1)
704 {
705 server_cmd("hostname ^"[LIVE] - [CT]: %i | [T]: %i %s^"", scoreCT, scoreT, HOSTNAME);
706 }
707 else
708 {
709 server_cmd("hostname ^"[LIVE] - [T]: %i | [CT]: %i %s^"", scoreT, scoreCT, HOSTNAME);
710 }
711 }
712 }
713
714 if(!WarmUp && !KnifeRound && !PrepareRound)
715 {
716 for(new i = 1; i <= 32; i++)
717 {
718 if(is_user_connected(i))
719 {
720 if(Kills[i] == 4)
721 {
722 client_printcolor(0, "/y[/ctr%s/y] ЕЅaidД—jas: /g%s /yPadarД— /ctrMINI-ACE", PREFIX, get_admin_name(i))
723
724 if(!WarmUp && !PrepareRound)
725 {
726 pTempMiniAces[i]++;
727 pMiniAces[i]++;
728 SavePlayer(i);
729 }
730 }
731 else if(Kills[i] == 5)
732 {
733 client_printcolor(0, "/y[/ctr%s/y] ЕЅaidД—jas: /g%s /yPadarД— /ctrACE", PREFIX, get_admin_name(i))
734 pTempAces[i]++;
735 pAces[i]++;
736 SavePlayer(i);
737 }
738 }
739 }
740
741 if(scoreCT + scoreT == MAX_ROUNDS-1)
742 {
743 new temp = scoreCT;
744 scoreCT = scoreT;
745 scoreT = temp;
746 client_printcolor(0, "/y[/ctr%s/y] KeiДЌiamos Komandos.", PREFIX);
747 }
748
749 client_printcolor(0, "/y[/ctr%s/y] CT's: /g%i /y|| T's: /g%i", PREFIX, scoreCT, scoreT);
750
751 if(scoreT == MAX_ROUNDS-1 && scoreCT == MAX_ROUNDS-1)
752 {
753 client_printcolor(0, "/y[/ctr%s/y] /gЕЅaidimas Baigtas. /yNei viena komanda nelaimД—jo!", PREFIX);
754 drawGame();
755 setEndGame();
756 }
757 else if(scoreT == MAX_ROUNDS-1) client_printcolor(0, "/y[/ctr%s/y] Terrorists MB", PREFIX);
758 else if(scoreCT == MAX_ROUNDS-1) client_printcolor(0, "/y[/ctr%s/y] Counter-Terrorists MB", PREFIX);
759
760 else if(scoreT == MAX_ROUNDS)
761 {
762 TeamWon(1);
763 client_printcolor(0, "/y[/ctr%s/y] /gЕЅaidimas Baigtas. LaimД—jo: /yTerrorists komanda!", PREFIX);
764 setEndGame();
765 }
766 else if(scoreCT == MAX_ROUNDS)
767 {
768 TeamWon(2);
769 client_printcolor(0, "/y[/ctr%s/y] /gЕЅaidimas Baigtas. LaimД—jo: /yCounter-Terrorists komanda!", PREFIX)
770 setEndGame();
771 }
772 }
773}
774
775public CSGameRules_RestartRound_Pre()
776{
777 if(!WarmUp && !KnifeRound && !PrepareRound)
778 {
779 if(get_member_game(m_bCompleteReset))
780 {
781 RoundCount = 0;
782 }
783
784 RoundCount++;
785
786 if(RoundCount == MAX_ROUNDS)
787 {
788 rg_swap_all_players();
789
790 new players[32], pNum;
791 get_players(players, pNum, "h");
792
793 for(new i, player; i < pNum ; i++)
794 {
795 player = players[i];
796 rg_add_account(player, MONEY, AS_SET, true);
797
798 if(is_user_alive(player))
799 {
800 rg_remove_all_items(player);
801 rg_give_default_items(player);
802 }
803 }
804
805 server_cmd("sv_restart 1");
806
807 client_printcolor(0, "/y[/ctr%s/y] /gTEAMS SWAPED!", PREFIX);
808 client_printcolor(0, "/y[/ctr%s/y] /gHF & GL!", PREFIX);
809 }
810 }
811}
812
813public HC_HasRestrictItem_Pre(const this, ItemID:item, ItemRestType:type)
814{
815 if(type == ITEM_TYPE_BUYING)
816 {
817 switch(item)
818 {
819 case ITEM_SHIELDGUN:
820 {
821 client_print(this, print_center, "Shield has restrict")
822 SetHookChainReturn(ATYPE_INTEGER, true)
823 return HC_SUPERCEDE
824 }
825 }
826 }
827 return HC_CONTINUE
828}
829
830public showSkill(id)
831{
832
833 if(pLevels[id] < (MAX_LEVELS-1))
834 {
835 client_printcolor(id, "/y[/ctr%s/y] /yTaЕЎkai.: ^3%d /yDabartinis RangД…s.: ^3%s ^4ReikalingД… TaЕЎkЕі: ^3%d", PREFIX, pPoints[id], CLASSES[pLevels[id]], (LEVELS[pLevels[id]] - pPoints[id]))
836 }
837 else
838 {
839 client_printcolor(id, "/y[/ctr%s/y] /yTaЕЎkai.: ^3%d /yDabartinis RangД…s.: ^3%s ^1[^4MAX^1]", PREFIX, pPoints[id], CLASSES[pLevels[id]])
840 }
841 return;
842}
843
844public DeathEvent(victim, attacker)
845{
846 new attacker = read_data(1);
847 new victim = read_data(2);
848 new hs = read_data(3);
849 new weapon_name[32]; read_data(4, weapon_name, 31);
850
851 if(WarmUp)
852 {
853 set_task(1.0, "PlayerSpawn", victim);
854 }
855 else if(1 <= victim <= 32 && 1 <= attacker <= 32)
856 {
857 if(!PrepareRound)
858 {
859
860 pPoints[attacker] += 3;
861
862 Kills[attacker]++;
863 pKills[attacker]++;
864 pTempKills[attacker]++;
865
866 if(hs)
867 {
868 pPoints[attacker] += 3;
869
870 pHeadshots[attacker]++;
871 pTempHeadshots[attacker]++;
872 }
873
874 pPoints[victim] -= 3;
875
876 pDeaths[victim]++;
877 pTempDeaths[victim]++;
878
879
880 SavePlayer(victim);
881 SavePlayer(attacker);
882
883 /*if(containi(weapon_name, "ak47") != -1) InsertWeaponKill(CSW_AK47);
884 else if(containi(weapon_name, "m4a1") != -1) InsertWeaponKill(CSW_M4A1);
885 else if(containi(weapon_name, "deagle") != -1) InsertWeaponKill(CSW_DEAGLE);
886 else if(containi(weapon_name, "awp") != -1) InsertWeaponKill(CSW_AWP);
887 else if(containi(weapon_name, "usp") != -1) InsertWeaponKill(CSW_USP);
888 else if(containi(weapon_name, "glock") != -1) InsertWeaponKill(CSW_GLOCK18);
889 else if(containi(weapon_name, "he") != -1) InsertWeaponKill(CSW_HEGRENADE);
890 else if(containi(weapon_name, "knife") != -1) InsertWeaponKill(CSW_KNIFE);
891 else if(containi(weapon_name, "scout") != -1) InsertWeaponKill(CSW_SCOUT);
892 else if(containi(weapon_name, "famas") != -1) InsertWeaponKill(CSW_FAMAS);*/
893
894 /*if(containi(weapon_name, "ak47") != -1) { pTempAK[attacker]++; InsertWeaponAK47(attacker); }
895 else if(containi(weapon_name, "m4a1") != -1) { pTempM4A1[attacker]++; InsertWeaponM4A1(attacker); }
896 else if(containi(weapon_name, "deagle") != -1) { pTempDeagle[attacker]++; InsertWeaponDeagle(attacker); }
897 else if(containi(weapon_name, "awp") != -1) { pTempAWP[attacker]++; InsertWeaponAWP(attacker); }
898 else if(containi(weapon_name, "usp") != -1) { pTempUSP[attacker]++; InsertWeaponUSP(attacker); }
899 else if(containi(weapon_name, "glock") != -1) { pTempGlock[attacker]++; InsertWeaponGlock(attacker); }
900 else if(containi(weapon_name, "he") != -1) { pTempHE[attacker]++; InsertWeaponHE(attacker); }
901 else if(containi(weapon_name, "knife") != -1) { pTempKnives[attacker]++; InsertWeaponKnives(attacker); }
902 else if(containi(weapon_name, "scout") != -1) { pTempScout[attacker]++; InsertWeaponScout(attacker); }
903 else if(containi(weapon_name, "famas") != -1) { pTempFamas[attacker]++; InsertWeaponFamas(attacker); }*/
904 }
905 }
906}
907
908public CurWeapon(id)
909{
910 if(KnifeRound && get_user_weapon(id) != CSW_KNIFE)
911 {
912 engclient_cmd(id, "weapon_knife");
913 }
914}
915
916public infoPassword(id)
917{
918 if(!passwordStatus)
919 {
920 client_printcolor(id, "/y[/ctr%s/y] SlaptaЕѕodis: /g%s", PREFIX, serverPassword);
921 }
922 else
923 {
924 client_printcolor(id, "/y[/ctr%s/y] SlaptaЕѕodis iЕЎjungtas!", PREFIX, serverPassword);
925 }
926 return PLUGIN_HANDLED;
927}
928
929public hookSay(id)
930{
931 if(!canChat)
932 {
933 client_printcolor(id, "/y[/ctr%s/y] Pokalbiai ЕЎiuo metu yra iЕЎjungti!", PREFIX);
934 client_printcolor(id, "/y[/ctr%s/y] Galimos komandos: /g.rez", PREFIX);
935 return PLUGIN_HANDLED;
936 }
937 return PLUGIN_CONTINUE;
938}
939
940public cmd_block(id)
941{
942 if(!WarmUp && !PrepareRound)
943 {
944 if(1 <= get_user_team(id) <= 2)
945 return PLUGIN_HANDLED;
946 }
947 return PLUGIN_CONTINUE;
948}
949
950public BlockConsole(id)
951{
952 return PLUGIN_HANDLED;
953}
954
955public mainMenu(id)
956{
957 if(!isAdmin(id))
958 return PLUGIN_HANDLED;
959
960 new menu = menu_create("\w[\yMIX\w] \rMeniu", "onMainMenu");
961
962 new szMsg[64];
963
964 menu_additem(menu, "Valdymas");
965
966 format(szMsg, 63, "\wPokalbiai \d[%s\d]", canChat ? "\yД®jungti" : "\rIЕЎjungti");
967 menu_additem(menu, szMsg);
968
969 if(serverPassword[0]) format(szMsg, 63, "\wSlaptaЕѕodis \d[\y%s\d]", serverPassword);
970 else format(szMsg, 63, "\wSlaptaЕѕodis \d[\rNД—ra\d]");
971 menu_additem(menu, szMsg);
972
973 menu_additem(menu, "IЕЎmesti ЕѕaidД—jД…");
974 menu_additem(menu, "IЕЎbaninti ЕѕaidД—jД…");
975 menu_additem(menu, "Keisti ЕѕemД—lapДЇ");
976 menu_additem(menu, "AtsijungusiЕі ЕѕaidД—jЕі sД…raЕЎas");
977
978 menu_display(id, menu, 0)
979
980 return PLUGIN_HANDLED;
981}
982
983public onMainMenu(id, menu, item)
984{
985 switch(item)
986 {
987 case 0: PagrMix(id);
988 case 1:
989 {
990 canChat = !canChat;
991 mainMenu(id);
992 return PLUGIN_HANDLED;
993 }
994 case 2: optionsPassword(id);
995 case 3: client_cmd(id, "amx_kickmenu");
996 case 4: client_cmd(id, "amx_banmenu");
997 case 5: client_cmd(id, "amx_mapmenu");
998 case 6: client_cmd(id, "amx_bandisconnectedmenu");
999 }
1000 menu_destroy(menu);
1001 return PLUGIN_HANDLED;
1002}
1003
1004public optionsPassword(id)
1005{
1006 if(!isAdmin(id))
1007 return PLUGIN_HANDLED;
1008
1009 new szText[64];
1010 if(serverPassword[0]) format(szText, 63, "\w[\yMIX\w] \rSlaptaЕѕodis \d(\y%s\d)", serverPassword);
1011
1012 else format(szText, 63, "\w[\yMIX\w] \rSlaptaЕѕodis \d(\rNД—ra\d)");
1013 new menu = menu_create(szText, "onOptionsPassword");
1014
1015 menu_additem(menu, "UЕѕdД—ti slaptaЕѕodДЇ");
1016 menu_additem(menu, "Nuiiimti slaptaЕѕodДЇ");
1017
1018 menu_display(id, menu, 0);
1019
1020 return PLUGIN_HANDLED;
1021}
1022
1023public onOptionsPassword(id, menu, item)
1024{
1025 switch(item)
1026 {
1027 case MENU_EXIT:
1028 {
1029 mainMenu(id);
1030 return PLUGIN_HANDLED;
1031 }
1032 case 0:
1033 {
1034 client_cmd(id, "messagemode SetPassword");
1035 }
1036 case 1:
1037 {
1038 server_cmd("sv_password ^"^"");
1039 format(serverPassword, 63, "");
1040 client_printcolor(0, "/y[/ctr%s/y] [/g%s/y] /gServerio slaptaЕѕodis nuimtas" , PREFIX, get_admin_name(id));
1041 }
1042 }
1043 optionsPassword(id);
1044 return PLUGIN_HANDLED;
1045}
1046
1047public _SetPassword(id)
1048{
1049 if(!isAdmin(id))
1050 return;
1051
1052 new szTemp[64];
1053 read_args(szTemp, charsmax(szTemp));
1054 remove_quotes(szTemp);
1055 format(serverPassword, 63, szTemp);
1056 optionsPassword(id);
1057
1058 server_cmd("sv_password %s", serverPassword);
1059 client_printcolor(0, "/y[/ctr%s/y] [/g%s/y] /ctrServerio slaptaЕѕodis: /g%s" , PREFIX, get_admin_name(id), szTemp);
1060}
1061
1062public PagrMix(id)
1063{
1064 if(!isAdmin(id))
1065 return PLUGIN_HANDLED;
1066
1067 new menu = menu_create("\w[\yMIX\w] \rValdymas", "onPagrMix");
1068
1069 menu_additem(menu, "PradД—ti ЕѕaidimД…");
1070 menu_additem(menu, "PasiruoЕЎti");
1071 menu_additem(menu, "ApЕЎilimas");
1072 menu_additem(menu, "Knife");
1073 menu_additem(menu, "FFA");
1074 menu_additem(menu, "Perkrauti roundД…");
1075 menu_additem(menu, "UЕѕbaigti ЕѕaidimД…");
1076
1077 menu_display(id, menu, 0);
1078
1079 return PLUGIN_HANDLED;
1080}
1081
1082public onPagrMix(id, menu, item)
1083{
1084 switch(item)
1085 {
1086 case 0: setLive(id);
1087 case 1: setPrepare(id);
1088 case 2: warmUP(id);
1089 case 3: setKnife(id);
1090 case 4: FriendlyFire(id);
1091 case 5: restartRound(id);
1092 case 6: endGame(id);
1093 }
1094 menu_destroy(menu);
1095}
1096
1097public setPrepare(id)
1098{
1099 if(!isAdmin(id) || !WarmUp)
1100 return PLUGIN_HANDLED;
1101
1102 if(get_playersnum() >= 8)
1103 {
1104 server_cmd("sv_restart 1"); //
1105 KnifeRound = false; //
1106 PrepareRound = true; //
1107 WarmUp = false; //
1108 scoreCT = 0;
1109 scoreT = 0;
1110 tempCount = 0;
1111 tempCT = 0;
1112 tempT = 0;
1113
1114 for(new i = 1; i <= 32; i++)
1115 {
1116 if(is_user_connected(id) && (1 <= get_user_team(i) <= 2))
1117 {
1118 if(is_user_alive(i)) user_silentkill(i); cs_set_user_team(i, CS_TEAM_SPECTATOR); }
1119 }
1120
1121 client_printcolor(0, "/y[/ctr%s/y] [/g%s/y] Administratorius tuoj iЕЎrinks.", PREFIX, get_admin_name(id));
1122 showPrepareMenu(id);
1123 }
1124 else
1125 {
1126 client_printcolor(id, "/y[/ctr%s/y] TrЕ«ksta ЕѕaidД—jЕі.", PREFIX);
1127 }
1128 return PLUGIN_HANDLED;
1129}
1130
1131public showPrepareMenu(id)
1132{
1133 if(!isAdmin(id))
1134 return PLUGIN_HANDLED;
1135
1136 new menu = menu_create("\w[\yMIX\w] \rPasirinkite kas eis ДЇ Counter-Terrorist", "onPrepareCT");
1137
1138 new players[32], num;
1139 get_players(players, num, "ch");
1140
1141 new szText[512], ui[32];
1142
1143 for(new i; i < num; i++)
1144 {
1145 format(ui, 31, "%d", get_user_userid(players[i]))
1146
1147 formatex(szText, charsmax(szText), "%s %s [%d]", get_admin_name(players[i]), CLASSES[pLevels[players[i]]], pPoints[players[i]]);
1148 menu_additem(menu, szText, ui);
1149 }
1150
1151 menu_display(id, menu, 0);
1152
1153 return PLUGIN_HANDLED;
1154}
1155
1156public onPrepareCT(id, menu, item)
1157{
1158 new szData[6], szName[64];
1159 new _access, item_callback;
1160
1161 menu_item_getinfo(menu, item, _access, szData, charsmax(szData), szName, charsmax(szName), item_callback);
1162
1163 new userid = str_to_num(szData);
1164 new player = find_player("k", userid);
1165
1166 switch(item)
1167 {
1168 case MENU_EXIT:
1169 {
1170 if(PrepareRound) showPrepareMenu(id);
1171 return PLUGIN_HANDLED;
1172 }
1173 default: if(PrepareRound && is_user_connected(player)) cs_set_user_team(player, CS_TEAM_CT);
1174 }
1175
1176 if(PrepareRound)
1177 {
1178 tempCT = player;
1179 client_printcolor(0, "/y[/ctr%s/y] ^1[^4%s^1]", PREFIX, szName);
1180 client_printcolor(0, "/y[/ctr%s/y] Administratorius tuoj iЕЎrinks T!", PREFIX);
1181 showPrepareMenuT(id);
1182 }
1183
1184 return PLUGIN_HANDLED;
1185}
1186
1187public showPrepareMenuT(id)
1188{
1189 if(!isAdmin(id))
1190 return PLUGIN_HANDLED;
1191
1192 new menu = menu_create("\w[\yMIX\w] \rPasirinkite kas eis ДЇ Terrorist", "onPrepareT");
1193
1194 new players[32], num;
1195 get_players(players, num, "ceh", "SPECTATOR");
1196
1197 new szText[512], ui[32];
1198
1199 for(new i; i < num; i++)
1200 {
1201 format(ui, 31, "%d", get_user_userid(players[i]))
1202
1203 formatex(szText, charsmax(szText), "%s %s [%d]", get_admin_name(players[i]), CLASSES[pLevels[players[i]]], pPoints[players[i]]);
1204 menu_additem(menu, szText, ui);
1205 }
1206
1207 menu_display(id, menu, 0);
1208
1209 return PLUGIN_HANDLED;
1210}
1211
1212public onPrepareT(id, menu, item)
1213{
1214 new szData[6], szName[64];
1215 new _access, item_callback;
1216
1217 menu_item_getinfo( menu, item, _access, szData,charsmax(szData), szName, charsmax(szName), item_callback);
1218
1219 new userid = str_to_num(szData);
1220 new player = find_player("k", userid);
1221
1222 switch(item)
1223 {
1224 case MENU_EXIT:
1225 {
1226 if(PrepareRound) showPrepareMenuT(id);
1227 return PLUGIN_HANDLED;
1228 }
1229 default: if(PrepareRound && is_user_connected(player)) cs_set_user_team(player, CS_TEAM_T)
1230 }
1231 if(PrepareRound)
1232 {
1233 tempT = player;
1234 client_printcolor(0, "/y[/ctr%s/y] ^1[^4%s^1]", PREFIX, szName);
1235 client_printcolor(0, "/y[/ctr%s/y] Pradeda rinktis ЕѕaidД—jus!", PREFIX);
1236 client_printcolor(0, "/y[/ctr%s/y] /gDД—mesio: /yJeigu dings meniu su zaideju pasirinkimu, chate rasykite /ctr.choose", PREFIX);
1237 ShowList(tempCT);
1238 }
1239 return PLUGIN_HANDLED;
1240}
1241
1242public choosePlayers(id)
1243{
1244 switch(tempCount)
1245 {
1246 case 0, 2, 4, 6: if(tempT == id) ShowList(id);
1247 case 1, 3, 5, 7: if(tempCT == id) ShowList(id);
1248 }
1249 return PLUGIN_HANDLED;
1250}
1251
1252public showTeamMenu(id)
1253{
1254 new menu = menu_create("\w[\yMIX\w] \rPasirinkite komandД…", "onTeamChange")
1255
1256 menu_additem(menu, "Pasilikti");
1257 menu_additem(menu, "Keistis komandomis");
1258
1259 menu_display(id, menu, 0);
1260
1261 return PLUGIN_HANDLED;
1262}
1263
1264public onTeamChange(id, menu, item)
1265{
1266 switch(item)
1267 {
1268 case 0:
1269 {
1270 client_printcolor(0, "/y[/ctr%s/y] Sprendimas: /gPasilikti", PREFIX);
1271 setServerLive();
1272 }
1273 case 1:
1274 {
1275 client_printcolor(0, "/y[/ctr%s/y] Sprendimas: /gKeistis komandomis", PREFIX);
1276 // changeTeams();
1277 set_task(2.0, "setServerLive", 1);
1278 }
1279 }
1280}
1281
1282public ShowList(id)
1283{
1284 new menu = menu_create("\w[\yMIX\w] \rPasirinkite ЕѕaidД—jД…", "onShowList")
1285
1286 new players[32], num;
1287 get_players(players, num, "ceh", "SPECTATOR");
1288 new ui[32];
1289
1290 for(new i; i < num; i++)
1291 {
1292 format(ui, 31, "%d",get_user_userid(players[i]))
1293 menu_additem(menu, get_admin_name(players[i]), ui)
1294 }
1295 menu_display(id, menu, 0)
1296
1297 return PLUGIN_HANDLED;
1298}
1299
1300public onShowList(id, menu, item)
1301{
1302 new szData[6], szName[64];
1303 new _access, item_callback;
1304
1305 new Where;
1306 switch(tempCount)
1307 {
1308 case 0, 2, 4, 6: Where = 0;
1309 case 1, 3, 5, 7: Where = 1;
1310 default: Where = -1;
1311 }
1312
1313 menu_item_getinfo(menu, item, _access, szData,charsmax(szData), szName,charsmax(szName), item_callback);
1314
1315 new userid = str_to_num(szData);
1316 new player = find_player("k", userid);
1317
1318 switch(item)
1319 {
1320 case MENU_EXIT:
1321 {
1322 if(PrepareRound) ShowList(id)
1323 return PLUGIN_HANDLED;
1324 }
1325 default: if(PrepareRound && is_user_connected(player))
1326 {
1327 if(Where == 0)
1328 {
1329 cs_set_user_team(player, CS_TEAM_CT);
1330 }
1331 else
1332 {
1333 cs_set_user_team(player, CS_TEAM_T);
1334 }
1335 }
1336 }
1337
1338 if(PrepareRound)
1339 {
1340 tempCount++;
1341 client_printcolor(0, "/y[/ctr%s/y] [/g%s /yPasirinko /g%s", PREFIX, get_admin_name(id), szName);
1342
1343 if(tempCount < 8)
1344 {
1345 ShowList(Where == 1 ? tempCT : tempT);
1346 }
1347 else
1348 {
1349 /* KnifeRound = true;
1350 PrepareRound = false;
1351 WarmUp = false;
1352 scoreCT = 0;
1353 scoreT = 0;
1354
1355 server_cmd("mp_roundtime 1.8")
1356 server_cmd("mp_buytime 0.30")
1357 server_cmd("mp_startmoney 16000")
1358 server_cmd("mp_freezetime 7")
1359
1360 server_cmd("sv_restart 1") */
1361
1362 client_printcolor(0, "/y[/ctr%s/y] KomandЕі rinkimasis baigtas!", PREFIX);
1363
1364 setServerLive();
1365 }
1366 }
1367 return PLUGIN_HANDLED;
1368}
1369
1370public restartRound(id)
1371{
1372 if(!isAdmin(id))
1373 return PLUGIN_HANDLED;
1374
1375 server_cmd("sv_restart 1");
1376
1377 client_printcolor(0, "/y[/ctr%s/y] Perkrautas roundas!", PREFIX);
1378 return PLUGIN_HANDLED;
1379}
1380
1381public setServerLive()
1382{
1383 KnifeRound = false;
1384 PrepareRound = false;
1385 WarmUp = false;
1386 scoreCT = 0;
1387 scoreT = 0;
1388
1389 server_cmd("mp_roundtime 1.8");
1390 server_cmd("mp_buytime 0.30");
1391 server_cmd("mp_startmoney 800");
1392
1393 server_cmd("mp_freezetime 7");
1394
1395 server_cmd("sv_restart 3");
1396 server_cmd("mp_forcerespawn 0");
1397
1398 // set_task(1.0, "set_password");
1399
1400 client_printcolor(0, "/y[/ctr%s/y] ЕЅaidimas PrasidД—jo.", PREFIX);
1401
1402 server_cmd("hostname ^"[LIVE] - [CT] [0] - [0] [T] %s^"", HOSTNAME);
1403
1404 return PLUGIN_HANDLED;
1405}
1406
1407public setLive(id)
1408{
1409 if(!isAdmin(id) || !WarmUp)
1410 return PLUGIN_HANDLED
1411
1412 KnifeRound = false;
1413 PrepareRound = false;
1414 WarmUp = false;
1415 scoreCT = 0;
1416 scoreT = 0;
1417
1418 server_cmd("mp_roundtime 1.8");
1419 server_cmd("mp_buytime 0.30");
1420 server_cmd("mp_startmoney 800");
1421 server_cmd("mp_freezetime 7");
1422 server_cmd("mp_forcerespawn 0");
1423
1424 server_cmd("sv_restart 3");
1425
1426 // set_task(1.0, "set_password");
1427
1428 client_printcolor(0, "/y[/ctr%s/y] ЕЅaidimas PrasidД—jo.", PREFIX);
1429
1430 server_cmd("hostname ^"[LIVE] - [CT] [0] - [0] [T] %s^"", HOSTNAME);
1431
1432 set_task(get_pcvar_float(cvarTimeout), "TaskStarRecord", id);
1433 return PLUGIN_HANDLED;
1434}
1435
1436public setRestart(id)
1437{
1438 if(!isAdmin(id))
1439 return PLUGIN_HANDLED;
1440
1441 server_cmd("sv_restart 1");
1442
1443 client_printcolor(0, "/y[/ctr%s/y] Perkrautas roundas.", PREFIX);
1444 return PLUGIN_HANDLED;
1445}
1446
1447public warmUP(id)
1448{
1449 if(!isAdmin(id))
1450 return PLUGIN_HANDLED;
1451
1452 passwordStatus = false;
1453 KnifeRound = false;
1454 PrepareRound = false;
1455 WarmUp = true;
1456 scoreCT = 0;
1457 scoreT = 0;
1458
1459 server_cmd("mp_roundtime 600");
1460 server_cmd("mp_forcerespawn 1");
1461 server_cmd("mp_buytime 999999");
1462 server_cmd("mp_startmoney 16000");
1463 server_cmd("mp_freezetime 0");
1464 server_cmd("sv_password ^"^"");
1465
1466 server_cmd("sv_restart 1");
1467
1468 client_printcolor(0, "/y[/ctr%s/y] [/g%s/y] ApЕЎilimas PrasidД—jo.", PREFIX, get_admin_name(id));
1469
1470 server_cmd("hostname ^"%s [ApЕЎilimas]^"", HOSTNAME);
1471
1472 return PLUGIN_HANDLED;
1473}
1474
1475public setKnife(id)
1476{
1477 if(!isAdmin(id))
1478 return PLUGIN_HANDLED;
1479
1480 KnifeRound = true;
1481 PrepareRound = false;
1482 WarmUp = false;
1483 scoreCT = 0;
1484 scoreT = 0;
1485
1486 server_cmd("mp_roundtime 1.8");
1487 server_cmd("mp_buytime 0.30");
1488 server_cmd("mp_startmoney 800");
1489 server_cmd("mp_freezetime 7");
1490 server_cmd("mp_forcerespawn 0");
1491
1492 server_cmd("sv_restart 1");
1493
1494 client_printcolor(0, "/y[/ctr%s/y] [/g%s/y] PrasidД—jo PeiliЕі roundas.", PREFIX, get_admin_name(id));
1495 return PLUGIN_HANDLED;
1496}
1497
1498public FriendlyFire(id)
1499{
1500 if(!isAdmin(id))
1501 return PLUGIN_HANDLED;
1502
1503 if(Fire == true)
1504 {
1505 server_cmd( "mp_friendlyfire 0" );
1506 client_printcolor(0, "/y[/ctr%s/y] FriendlyFire /yOFF!", PREFIX);
1507 Fire = false;
1508 }
1509 else
1510 {
1511 server_cmd( "mp_friendlyfire 1" );
1512 client_printcolor(0, "/y[/ctr%s/y] FriendlyFire /yON!", PREFIX);
1513 Fire = true;
1514 }
1515 return PLUGIN_HANDLED;
1516}
1517
1518public drawGame()
1519{
1520 for(new i = 1; i <= 32; i++)
1521 {
1522 if(is_user_connected(i) && (1 <= get_user_team(i) <= 2))
1523 {
1524 pMixDraw[i]++;
1525 pMixPlayed[i]++;
1526 SavePlayer(i);
1527 }
1528 }
1529}
1530
1531public TeamWon(team)
1532{
1533 for(new i = 1; i <= 32; i++)
1534 {
1535 if(is_user_connected(i) && (1 <= get_user_team(i) <= 2))
1536 {
1537 pMixPlayed[i]++;
1538
1539 if(get_user_team(i) == team)
1540 {
1541 pMixWon[i]++;
1542 }
1543 else
1544 {
1545 pMixLost[i]++;
1546 }
1547 SavePlayer(i);
1548 }
1549 }
1550}
1551
1552public setEndGame()
1553{
1554 showMVP();
1555 // InsertGame();
1556
1557 passwordStatus = false;
1558 KnifeRound = false;
1559 PrepareRound = false;
1560 WarmUp = true;
1561 canChat = true;
1562 scoreCT = 0;
1563 scoreT = 0;
1564
1565 server_cmd("mp_roundtime 600");
1566 server_cmd("mp_startmoney 16000");
1567 server_cmd("mp_buytime 999999");
1568 server_cmd("mp_freezetime 0");
1569 server_cmd("sv_password ^"^"");
1570 server_cmd("mp_forcerespawn 1");
1571
1572 client_printcolor(0, "/y[/ctr%s/y] ЕЅaidimas baigtas! Laukite ЕѕemД—lapio keitimo!", PREFIX);
1573
1574 server_cmd("hostname ^"[ApЕЎilimas] %s^"", HOSTNAME);
1575
1576 return PLUGIN_HANDLED;
1577}
1578
1579public endGame(id)
1580{
1581 if(!isAdmin(id))
1582 return PLUGIN_HANDLED;
1583
1584 showMVP();
1585 // InsertGame();
1586
1587 passwordStatus = false;
1588 KnifeRound = false;
1589 PrepareRound = false;
1590 WarmUp = true;
1591 canChat = true;
1592 scoreCT = 0;
1593 scoreT = 0;
1594
1595 server_cmd("mp_roundtime 600");
1596 server_cmd("mp_startmoney 16000");
1597 server_cmd("mp_buytime 999999");
1598 server_cmd("mp_freezetime 0");
1599 server_cmd("sv_password ^"^"");
1600 server_cmd("mp_forcerespawn 1");
1601
1602 server_cmd("sv_restart 1");
1603
1604 client_printcolor(0, "/y[/ctr%s/y] Д®jungtas apЕЎilimas! Laukite ЕѕemД—lapio keitimo!", PREFIX);
1605
1606 server_cmd("hostname ^"[ApЕЎilimas] %s^"", HOSTNAME);
1607
1608 return PLUGIN_HANDLED;
1609}
1610
1611public showMVP()
1612{
1613 new KillerName[256], DeathsName[256];
1614 new iPlayers[32], pNum, Tempid;
1615 new topKillerid, topDeathsid;
1616 new topKills, topDeaths;
1617
1618 get_players(iPlayers, pNum, "ch");
1619
1620 for(new i ; i < pNum ; i++)
1621 {
1622 Tempid = iPlayers[i];
1623
1624 if(pTempKills[Tempid] >= topKills && pTempKills[Tempid])
1625 {
1626 topKills = pTempKills[Tempid];
1627 topKillerid = Tempid;
1628 }
1629
1630 if(pTempDeaths[Tempid] >= topDeaths && pTempDeaths[Tempid])
1631 {
1632 topDeaths = pTempDeaths[Tempid];
1633 topDeathsid = Tempid;
1634 }
1635 }
1636
1637 if(1 <= topKillerid <= get_maxplayers())
1638 {
1639 get_user_name(topKillerid, KillerName, charsmax(KillerName));
1640 }
1641
1642 if(1 <= topDeathsid <= get_maxplayers())
1643 {
1644 get_user_name(topDeathsid, DeathsName, charsmax(DeathsName));
1645 }
1646
1647 for(new i ; i < pNum ; i++)
1648 {
1649 Tempid = iPlayers[i];
1650
1651 if(pTempKills[Tempid] == topKills && Tempid != topKillerid && pTempKills[Tempid])
1652 {
1653 new LineToAdd[65] = ",";
1654 new szName[64]; get_user_name(Tempid, szName, charsmax(szName));
1655
1656 add(LineToAdd, charsmax(LineToAdd), szName);
1657 add(KillerName, charsmax(KillerName) - strlen(KillerName) , LineToAdd);
1658 }
1659
1660 if(pTempDeaths[Tempid] == topDeaths && Tempid != topDeathsid && pTempDeaths[Tempid])
1661 {
1662 new LineToAdd[65] = ",";
1663 new szName[64]; get_user_name(Tempid, szName, charsmax(szName));
1664
1665 add(LineToAdd, charsmax(LineToAdd), szName);
1666 add(DeathsName, charsmax(DeathsName) - strlen(DeathsName) , LineToAdd);
1667 }
1668 }
1669
1670 new msgToDisplay[512] = "%L";
1671 format(msgToDisplay, charsmax(msgToDisplay), msgToDisplay, LANG_PLAYER, "RANKING_MVP", scoreT, scoreCT, strlen(KillerName) ? KillerName : "NONE", topKills, strlen(DeathsName) ? DeathsName : "NONE", topDeaths);
1672 set_task(3.0, "RankingTable", TASK_MVP, msgToDisplay, strlen(msgToDisplay))
1673}
1674
1675public RankingTable(msgToDisplay[], TASK_MVP)
1676{
1677 new iPlayers[32], pNum, id;
1678
1679 for(new i ; i < pNum ; i++)
1680 {
1681 id = iPlayers[i];
1682 }
1683
1684 set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 6.0, 6.0);
1685 show_hudmessage(id, msgToDisplay);
1686
1687 //set_task(7.0, "Ranking", TASK_RANK_MVP)
1688}
1689
1690public Ranking(id)
1691{
1692 static query[512];
1693 formatex(query, charsmax(query), "SELECT COUNT(*) FROM mix_players WHERE kills > '%d'", pTempKills[id]);
1694 log_amx(query);
1695 static data[2];
1696 data[0] = id;
1697
1698 SQL_ThreadQuery(g_hTuple, "RankTableMVP", query, data, sizeof(data));
1699 return PLUGIN_HANDLED;
1700}
1701
1702public RankTableMVP(failstate, Handle:hQuery, error[], errnum, data[], size, Float:queuetime)
1703{
1704 if(failstate == TQUERY_CONNECT_FAILED || failstate == TQUERY_QUERY_FAILED)
1705 {
1706 set_fail_state(error);
1707 }
1708 else
1709 {
1710 new id = data[0];
1711 new msgToDisplay[512] = "%L";
1712
1713 if(SQL_NumResults(hQuery))
1714 {
1715 format(msgToDisplay, charsmax(msgToDisplay), msgToDisplay, LANG_PLAYER, "RANKTABLE_MVP", pTempKills[id], pTempDeaths[id], pTempHeadshots[id], pTempMiniAces[id], pTempAces[id]);
1716
1717 set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 6.0, 6.0);
1718 show_hudmessage(id, msgToDisplay, "^n%L", LANG_PLAYER, "RANKTABLE_MVP", pTempKills[id], pTempDeaths[id], pTempHeadshots[id], pTempMiniAces[id], pTempAces[id]);
1719 }
1720 }
1721}
1722
1723public restart(id)
1724{
1725 server_cmd("restart");
1726}
1727
1728public getScore(id)
1729{
1730 if(WarmUp || KnifeRound || PrepareRound)
1731 client_printcolor(id, "/y[/ctr%s/y] ЕЅaidimas ЕЎiuo metu nevyksta!", PREFIX);
1732 else client_printcolor(id, "/y[/ctr%s/y] CT's: /g%d /y|| T's: /g%d", PREFIX, scoreCT, scoreT);
1733 return PLUGIN_HANDLED;
1734}
1735
1736public showPlayerAce(id)
1737{
1738 static query[512];
1739 formatex(query, charsmax(query), "SELECT COUNT(*) FROM mix_players WHERE kills > '%d'", pKills[id]);
1740 log_amx(query);
1741 static data[2];
1742 data[0] = id;
1743
1744 SQL_ThreadQuery(g_hTuple, "QueryLoadAce", query, data, sizeof(data));
1745 return PLUGIN_HANDLED;
1746}
1747
1748public QueryLoadAce(failstate, Handle:hQuery, error[], errnum, data[], size, Float:queuetime)
1749{
1750 if( failstate == TQUERY_CONNECT_FAILED
1751 || failstate == TQUERY_QUERY_FAILED )
1752 {
1753 set_fail_state(error);
1754 }
1755 else
1756 {
1757 new id = data[0];
1758
1759 if(SQL_NumResults(hQuery))
1760 {
1761 if(SQL_NumResults(hQuery))
1762 {
1763 client_printcolor(id, "/y[/ctr%s/y] /yMINI-ACE ^3%d ^4| /yACE ^3%d", PREFIX, pMiniAces[id], pAces[id])
1764 }
1765 }
1766 }
1767}
1768
1769public set_password(id)
1770{
1771 new rnd = random_num(99, 9999);
1772 new serverPassword[10];
1773
1774 num_to_str(rnd, serverPassword, 9);
1775
1776 server_cmd("sv_password %s", serverPassword);
1777}
1778
1779public InsertPoints(id)
1780{
1781 new szQuery[3800];
1782
1783 formatex(szQuery, 3799, "INSERT INTO `rcsgo` (`player_id`, `points`) VALUES (%d, 1) ON DUPLICATE KEY UPDATE `points` = `points` + %d;", pPoints[id]);
1784
1785 log_amx(szQuery);
1786 SQL_ThreadQuery(g_hTuple, "QuerySetData", szQuery);
1787}
1788
1789public InsertWeaponAK47(id)
1790{
1791 new szQuery[3800];
1792
1793 new Name[64], steam[64];
1794 get_user_name(id, Name, 63);
1795
1796 get_user_authid(id, steam, 63);
1797
1798 formatex(szQuery, 3799, "INSERT INTO `mix_guns` (`player_id`, `player_name`, `gun_ak47`, `gun_m4a1`, `gun_deagle`, `gun_awp`, `gun_usp`, `gun_he`, `gun_glock`, `gun_knives`, `gun_scout`, `gun_famas`) VALUES ('%s', '%s', '1', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d') ON DUPLICATE KEY UPDATE `gun_ak47` = `gun_ak47` + 1;", steam, Name, pTempAK, pTempM4A1, pTempDeagle, pTempAWP, pTempUSP, pTempGlock, pTempKnives, pTempScout, pTempFamas);
1799
1800 log_amx(szQuery)
1801 SQL_ThreadQuery(g_hTuple, "QuerySetData", szQuery);
1802}
1803
1804public InsertWeaponM4A1(id)
1805{
1806 new szQuery[3800];
1807
1808 new Name[64], steam[64];
1809 get_user_name(id, Name, 63);
1810
1811 get_user_authid(id, steam, 63);
1812
1813 formatex(szQuery, 3799, "INSERT INTO `mix_guns` (`player_id`, `player_name`, `gun_ak47`, `gun_m4a1`, `gun_deagle`, `gun_awp`, `gun_usp`, `gun_he`, `gun_glock`, `gun_knives`, `gun_scout`, `gun_famas`) VALUES ('%s', '%s', '%d', '1', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d') ON DUPLICATE KEY UPDATE `gun_m4a1` = `gun_m4a1` + 1;", steam, Name, pTempAK, pTempM4A1, pTempDeagle, pTempAWP, pTempUSP, pTempHE, pTempGlock, pTempKnives, pTempScout, pTempFamas);
1814
1815 log_amx(szQuery);
1816 SQL_ThreadQuery( g_hTuple, "QuerySetData", szQuery);
1817}
1818
1819public InsertWeaponDeagle(id)
1820{
1821 new szQuery[3800];
1822
1823 new Name[64], steam[64];
1824 get_user_name(id, Name, 63);
1825
1826 get_user_authid(id, steam, 63);
1827
1828 formatex(szQuery, 3799, "INSERT INTO `mix_guns` (`player_id`, `player_name`, `gun_ak47`, `gun_m4a1`, `gun_deagle`, `gun_awp`, `gun_usp`, `gun_he`, `gun_glock`, `gun_knives`, `gun_scout`, `gun_famas`) VALUES ('%s', '%s', '%d', '%d', '1', '%d', '%d', '%d' , '%d', '%d', '%d', '%d') ON DUPLICATE KEY UPDATE `gun_deagle` = `gun_deagle` + 1;", steam, Name, pTempAK, pTempM4A1, pTempDeagle, pTempAWP, pTempUSP, pTempHE, pTempGlock, pTempKnives, pTempScout, pTempFamas);
1829
1830 log_amx(szQuery);
1831 SQL_ThreadQuery( g_hTuple, "QuerySetData", szQuery);
1832}
1833
1834public InsertWeaponAWP(id)
1835{
1836 new szQuery[3800];
1837
1838 new Name[64], steam[64];
1839 get_user_name(id, Name, 63);
1840
1841 get_user_authid(id, steam, 63);
1842
1843 formatex(szQuery, 3799, "INSERT INTO `mix_guns` (`player_id`, `player_name`, `gun_ak47`, `gun_m4a1`, `gun_deagle`, `gun_awp`, `gun_usp`, `gun_he`, `gun_glock`, `gun_knives`, `gun_scout`, `gun_famas`) VALUES ('%s', '%s', '%d', '%d', '%d', '1', '%d', '%d', '%d', '%d', '%d', '%d') ON DUPLICATE KEY UPDATE `gun_awp` = `gun_awp` + 1;", steam, Name, pTempAK, pTempM4A1, pTempDeagle, pTempAWP, pTempUSP, pTempHE, pTempGlock, pTempKnives, pTempScout, pTempFamas);
1844
1845 log_amx(szQuery);
1846 SQL_ThreadQuery(g_hTuple, "QuerySetData", szQuery);
1847}
1848
1849public InsertWeaponUSP(id)
1850{
1851 new szQuery[3800];
1852
1853 new Name[64], steam[64];
1854 get_user_name(id, Name, 63);
1855
1856 get_user_authid(id, steam, 63);
1857
1858 formatex(szQuery, 3799, "INSERT INTO `mix_guns` (`player_id`, `player_name`, `gun_ak47`, `gun_m4a1`, `gun_deagle`, `gun_awp`, `gun_usp`, `gun_he`, `gun_glock`, `gun_knives`, `gun_scout`, `gun_famas`) VALUES ('%s', '%s', '%d', '%d', '%d', '%d', '1', '%d', '%d', '%d', '%d', '%d') ON DUPLICATE KEY UPDATE `gun_usp` = `gun_usp` + 1;", steam, Name, pTempAK, pTempM4A1, pTempDeagle, pTempAWP, pTempUSP, pTempHE, pTempGlock, pTempKnives, pTempScout, pTempFamas);
1859
1860 log_amx(szQuery);
1861 SQL_ThreadQuery(g_hTuple, "QuerySetData", szQuery);
1862}
1863
1864public InsertWeaponHE(id)
1865{
1866 new szQuery[3800];
1867
1868 new Name[64], steam[64];
1869 get_user_name(id, Name, 63);
1870
1871 get_user_authid(id, steam, 63);
1872
1873 formatex(szQuery, 3799, "INSERT INTO `mix_guns` (`player_id`, `player_name`, `gun_ak47`, `gun_m4a1`, `gun_deagle`, `gun_awp`, `gun_usp`, `gun_he`, `gun_glock`, `gun_knives`, `gun_scout`, `gun_famas`) VALUES ('%s', '%s', '%d', '%d', '%d', '%d', '%d', '1', '%d', '%d', '%d', '%d') ON DUPLICATE KEY UPDATE `gun_he` = `gun_he` + 1;", steam, Name, pTempAK, pTempM4A1, pTempDeagle, pTempAWP, pTempUSP, pTempHE, pTempGlock, pTempKnives, pTempScout, pTempFamas);
1874
1875 log_amx(szQuery);
1876 SQL_ThreadQuery(g_hTuple, "QuerySetData", szQuery);
1877}
1878
1879public InsertWeaponGlock(id)
1880{
1881 new szQuery[3800];
1882
1883 new Name[64], steam[64];
1884 get_user_name(id, Name, 63);
1885
1886 get_user_authid(id, steam, 63);
1887
1888 formatex(szQuery, 3799, "INSERT INTO `mix_guns` (`player_id`, `player_name`, `gun_ak47`, `gun_m4a1`, `gun_deagle`, `gun_awp`, `gun_usp`, `gun_he`, `gun_glock`, `gun_knives`, `gun_scout`, `gun_famas`) VALUES ('%s', '%s', '%d', '%d', '%d', '%d', '%d', '%d', '1', '%d', '%d', '%d') ON DUPLICATE KEY UPDATE `gun_glock` = `gun_glock` + 1;", steam, Name, pTempAK, pTempM4A1, pTempDeagle, pTempAWP, pTempUSP, pTempHE, pTempGlock, pTempKnives, pTempScout, pTempFamas);
1889
1890 log_amx(szQuery);
1891 SQL_ThreadQuery(g_hTuple, "QuerySetData", szQuery);
1892}
1893
1894public InsertWeaponKnives(id)
1895{
1896 new szQuery[3800];
1897
1898 new Name[64], steam[64];
1899 get_user_name(id, Name, 63);
1900
1901 get_user_authid(id, steam, 63);
1902
1903 formatex(szQuery, 3799, "INSERT INTO `mix_guns` (`player_id`, `player_name`, `gun_ak47`, `gun_m4a1`, `gun_deagle`, `gun_awp`, `gun_usp`, `gun_he`, `gun_glock`, `gun_knives`, `gun_scout`, `gun_famas`) VALUES ('%s', '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '1', '%d', '%d') ON DUPLICATE KEY UPDATE `gun_knives` = `gun_knives` + 1;", steam, Name, pTempAK, pTempM4A1, pTempDeagle, pTempAWP, pTempUSP, pTempHE, pTempGlock, pTempKnives, pTempScout, pTempFamas);
1904
1905 log_amx(szQuery);
1906 SQL_ThreadQuery(g_hTuple, "QuerySetData", szQuery);
1907}
1908
1909public InsertWeaponScout(id)
1910{
1911 new szQuery[3800];
1912
1913 new Name[64], steam[64];
1914 get_user_name(id, Name, 63);
1915
1916 get_user_authid(id, steam, 63);
1917
1918 formatex(szQuery, 3799, "INSERT INTO `mix_guns` (`player_id`, `player_name`, `gun_ak47`, `gun_m4a1`, `gun_deagle`, `gun_awp`, `gun_usp`, `gun_he`, `gun_glock`, `gun_knives`, `gun_scout`, `gun_famas`) VALUES ('%s', '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '1', '%d') ON DUPLICATE KEY UPDATE `gun_scout` = `gun_scout` + 1;", steam, Name, pTempAK, pTempM4A1, pTempDeagle, pTempAWP, pTempUSP, pTempHE, pTempGlock, pTempKnives, pTempScout, pTempFamas);
1919
1920 log_amx(szQuery);
1921 SQL_ThreadQuery(g_hTuple, "QuerySetData", szQuery);
1922}
1923
1924public InsertWeaponFamas(id)
1925{
1926 new szQuery[3800];
1927
1928 new Name[64], steam[64];
1929 get_user_name(id, Name, 63);
1930
1931 get_user_authid(id, steam, 63);
1932
1933 formatex(szQuery, 3799, "INSERT INTO `mix_guns` (`player_id`, `player_name`, `gun_ak47`, `gun_m4a1`, `gun_deagle`, `gun_awp`, `gun_usp`, `gun_he`, `gun_glock`, `gun_knives`, `gun_scout`, `gun_famas`) VALUES ('%s', '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '1') ON DUPLICATE KEY UPDATE `gun_famas` = `gun_famas` + 1;", steam, Name, pTempAK, pTempM4A1, pTempDeagle, pTempAWP, pTempUSP, pTempHE, pTempGlock, pTempKnives, pTempScout, pTempFamas);
1934
1935 log_amx(szQuery);
1936 SQL_ThreadQuery(g_hTuple, "QuerySetData", szQuery);
1937}
1938
1939stock get_admin_name(id)
1940{
1941 new szName[64];
1942 get_user_name(id, szName, 63);
1943 return szName;
1944}
1945
1946stock client_printcolor(const id, const input[], any:...)
1947{
1948 new count = 1, players[32];
1949
1950 static msg[191];
1951 vformat(msg, 190, input, 3);
1952
1953 replace_all(msg, 190, "/g", "^4"); // green txt
1954 replace_all(msg, 190, "/y", "^1"); // orange txt
1955 replace_all(msg, 190, "/ctr", "^3"); // team txt
1956 replace_all(msg, 190, "/w", "^0"); // team txt
1957
1958 if(id) players[0] = id; else get_players(players, count, "ch");
1959
1960 for(new i = 0; i < count; i++)
1961
1962 if(is_user_connected(players[i]))
1963 {
1964 message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
1965 write_byte(players[i]);
1966 write_string(msg);
1967 message_end();
1968 }
1969}
1970
1971GetSecureName(const name[])
1972{
1973 static secureName[64];
1974 copy(secureName, charsmax(secureName), name);
1975
1976 replace_all(secureName, charsmax(secureName), "\", "\\");
1977 replace_all(secureName, charsmax(secureName), "'", "\'");
1978 replace_all(secureName, charsmax(secureName), "`", "\`");
1979
1980 return secureName;
1981}