· 8 years ago · May 16, 2018, 09:54 AM
1#pragma semicolon 1
2#pragma ctrlchar '\'
3
4
5new g_Names[10][32];
6new g_SteamIDs[10][32];
7new g_IPs[10][32];
8new g_Access[10];
9new g_Tracker;
10new g_Size;
11new Handle:g_SqlTuple;
12new g_Error[512];
13new szTransferComands[3][] =
14{
15 "/t",
16 "/ct",
17 "/spec"
18};
19new bool:g_bCanSay = 1;
20new g_bKnifeRound;
21new g_iRounds;
22new g_iPart;
23new g_iScore[2][3];
24new g_iKills[33];
25new g_iPoints[33];
26new iScreenNumber[33];
27new iScreens[33];
28new g_iDid[33];
29new gTeamScore;
30new szTag[21] =
31{
32 91, 122, 97, 70, 69, 83, 84, 32, 65, 82, 69, 65, 45, 71, 65, 77, 69, 83, 93, 32, 0
33}
34
35replace_all(String:string[], len, String:what[], String:with[])
36{
37 new pos = 0;
38 new var1 = contain(string, what);
39 pos = var1;
40 if (var1 == -1)
41 {
42 return 0;
43 }
44 new total = 0;
45 new with_len = strlen(with);
46 new diff = strlen(what) - with_len;
47 new total_len = strlen(string);
48 new temp_pos = 0;
49 while (replace(string[pos], len - pos, what, with))
50 {
51 total++;
52 pos = with_len + pos;
53 total_len -= diff;
54 if (pos >= total_len)
55 {
56 return total;
57 }
58 else
59 {
60 temp_pos = contain(string[pos], what);
61 if (temp_pos == -1)
62 {
63 return total;
64 }
65 else
66 {
67 pos = temp_pos + pos;
68 }
69 return total;
70 }
71 return total;
72 }
73 return total;
74}
75
76user_silentkill(index)
77{
78 static msgid;
79 new msgblock = 0;
80 if (!msgid)
81 {
82 msgid = get_user_msgid("DeathMsg");
83 }
84 msgblock = get_msg_block(msgid);
85 set_msg_block(msgid, 1);
86 user_kill(index, 1);
87 set_msg_block(msgid, msgblock);
88 return 1;
89}
90
91
92cmd_access(id, level, cid, num, bool:accesssilent)
93{
94 !!! Removed Phi
95 new has_access = 0;
96 new var1;
97 if (is_dedicated_server())
98 {
99 var1 = 0;
100 }
101 else
102 {
103 var1 = 1;
104 }
105 if (var1 == id)
106 {
107 has_access = 1;
108 }
109 else
110 {
111 if (level == 16777216)
112 {
113 if (is_user_admin(id))
114 {
115 has_access = 1;
116 }
117 }
118 if (level & get_user_flags(id, 0))
119 {
120 has_access = 1;
121 }
122 if (level)
123 {
124 }
125 else
126 {
127 has_access = 1;
128 }
129 }
130 if (has_access)
131 {
132 if (num > read_argc())
133 {
134 new hcmd[32];
135 new hinfo[128];
136 new hflag = 0;
137 get_concmd(cid, hcmd, 31, hflag, hinfo, 127, level, -1);
138 console_print(id, "%L: %s %s", id, "USAGE", hcmd, hinfo);
139 return 0;
140 }
141 return 1;
142 }
143 if (!accesssilent)
144 {
145 console_print(id, "%L", id, "NO_ACC_COM");
146 }
147 return 0;
148}
149
150cmd_target(id, String:arg[], flags)
151{
152 !!! Removed Phi
153 new player = find_player("bl", arg);
154 if (player)
155 {
156 if (find_player("blj", arg) != player)
157 {
158 console_print(id, "%L", id, "MORE_CL_MATCHT");
159 return 0;
160 }
161 }
162 else
163 {
164 if (var4 && arg[0] == 35 && arg[1])
165 {
166 player = find_player("k", str_to_num(arg[1]));
167 }
168 }
169 if (!player)
170 {
171 console_print(id, "%L", id, "CL_NOT_FOUND");
172 return 0;
173 }
174 if (flags & 1)
175 {
176 if (get_user_flags(player, 0) & 1 && flags & 2)
177 {
178 new imname[32];
179 get_user_name(player, imname, 31);
180 console_print(id, "%L", id, "CLIENT_IMM", imname);
181 return 0;
182 }
183 }
184 if (flags & 4)
185 {
186 if (!is_user_alive(player))
187 {
188 new imname[32];
189 get_user_name(player, imname, 31);
190 console_print(id, "%L", id, "CANT_PERF_DEAD", imname);
191 return 0;
192 }
193 }
194 if (flags & 8)
195 {
196 if (is_user_bot(player))
197 {
198 new imname[32];
199 get_user_name(player, imname, 31);
200 console_print(id, "%L", id, "CANT_PERF_BOT", imname);
201 return 0;
202 }
203 }
204 return player;
205}
206
207show_activity_key(String:KeyWithoutName[], String:KeyWithName[], String:___AdminName[])
208{
209 static __amx_show_activity;
210 if (!__amx_show_activity)
211 {
212 __amx_show_activity = get_cvar_pointer("amx_show_activity");
213 if (__amx_show_activity)
214 {
215 }
216 else
217 {
218 __amx_show_activity = register_cvar("amx_show_activity", "2", 0, 0.00);
219 }
220 }
221 new buffer[512];
222 new keyfmt[256];
223 new i = 0;
224 new __maxclients = get_maxplayers();
225 switch (get_pcvar_num(__amx_show_activity))
226 {
227 case 1:
228 {
229 i++;
230 while (__maxclients > i)
231 {
232 if (is_user_connected(i))
233 {
234 LookupLangKey(keyfmt, 255, KeyWithoutName, i);
235 vformat(buffer, 511, keyfmt, 4);
236 client_print(i, print_chat, "%s", buffer);
237 }
238 }
239 }
240 case 2:
241 {
242 i++;
243 while (__maxclients > i)
244 {
245 if (is_user_connected(i))
246 {
247 LookupLangKey(keyfmt, 255, KeyWithName, i);
248 vformat(buffer, 511, keyfmt, 3);
249 client_print(i, print_chat, "%s", buffer);
250 }
251 }
252 }
253 case 3:
254 {
255 i++;
256 while (__maxclients > i)
257 {
258 if (is_user_connected(i))
259 {
260 if (is_user_admin(i))
261 {
262 LookupLangKey(keyfmt, 255, KeyWithName, i);
263 vformat(buffer, 511, keyfmt, 3);
264 }
265 else
266 {
267 LookupLangKey(keyfmt, 255, KeyWithoutName, i);
268 vformat(buffer, 511, keyfmt, 4);
269 }
270 client_print(i, print_chat, "%s", buffer);
271 }
272 }
273 }
274 case 4:
275 {
276 i++;
277 while (__maxclients > i)
278 {
279 if (is_user_connected(i))
280 {
281 if (is_user_admin(i))
282 {
283 LookupLangKey(keyfmt, 255, KeyWithName, i);
284 vformat(buffer, 511, keyfmt, 3);
285 client_print(i, print_chat, "%s", buffer);
286 }
287 }
288 }
289 }
290 case 5:
291 {
292 i++;
293 while (__maxclients > i)
294 {
295 if (is_user_connected(i))
296 {
297 if (is_user_admin(i))
298 {
299 LookupLangKey(keyfmt, 255, KeyWithoutName, i);
300 vformat(buffer, 511, keyfmt, 4);
301 client_print(i, print_chat, "%s", buffer);
302 }
303 }
304 }
305 }
306 default:
307 {
308 }
309 }
310 return 0;
311}
312
313public __fatal_ham_error(Ham:id, HamError:err, String:reason[])
314{
315 !!! Removed Phi
316 if (func != -1 && callfunc_begin_i(func, -1) == 1)
317 {
318 callfunc_push_int(id);
319 callfunc_push_int(err);
320 callfunc_push_str(reason, false);
321 if (callfunc_end() == 1)
322 {
323 fail = 0;
324 }
325 }
326 if (fail)
327 {
328 set_fail_state(reason);
329 }
330 return 0;
331}
332
333public plugin_init()
334{
335 register_plugin("Mix System", "1.0", "FaTzZu");
336 RegisterHam(Ham_Spawn, "player", "hamPlayerSpawn", 1);
337 register_logevent("evRoundEnd", 2, "1=Round_End");
338 register_event("HLTV", "evNewRound", "a", "1=0", "2=0");
339 register_event("CurWeapon", "evCurrentWeapon", "be", "1=1", "2!29");
340 register_event("DeathMsg", "evDeathMsg", "a", "");
341 register_event("SendAudio", "evTerroWin", "a", "2=%!MRAD_terwin");
342 register_event("SendAudio", "evCounterWin", "a", "1=0", "2=%!MRAD_ctwin");
343 register_clcmd("say /live", "cmdStartMatch", -1, "", -1);
344 register_clcmd("say /stopmatch", "cmdStopMatch", -1, "", -1);
345 register_clcmd("say /warm", "cmdWarmRound", -1, "", -1);
346 register_clcmd("say /specall", "cmdSpecALL", -1, "", -1);
347 register_clcmd("say /knife", "cmdStartKnifeRound", -1, "", -1);
348 register_clcmd("say /rr", "cmdRestart", -1, "", -1);
349 register_clcmd("say /on", "cmdChatON", -1, "", -1);
350 register_clcmd("say /off", "cmdChatOFF", -1, "", -1);
351 register_clcmd("say /score", "cmdSayScore", -1, "", -1);
352 register_clcmd("say /puncte", "cmdSayPuncte", -1, "", -1);
353 register_clcmd("say", "cmdSay", -1, "", -1);
354 register_clcmd("amx_t", "cmdTransfer", 4, "<name>", -1);
355 register_clcmd("amx_ct", "cmdTransfer", 4, "<name>", -1);
356 register_clcmd("amx_spec", "cmdTransfer", 4, "<name>", -1);
357 register_concmd("amx_pass", "cmdPass", 4, "<parola>", -1);
358 register_concmd("amx_nopass", "cmdNoPass", 4, "", -1);
359 register_clcmd("amx_demo", "cmdDemo", 4, "<name>", -1);
360 register_clcmd("amx_super_kick", "cmdKick", 4, "<name>", -1);
361 register_concmd("amx_ss", "cmdScreenShot", 16, "<nume> <numar poze>", -1);
362 register_concmd("amx_last", "cmdLast", 8, "- list the last few disconnected clients info", -1);
363 gTeamScore = get_user_msgid("TeamScore");
364 g_SqlTuple = SQL_MakeDbTuple("db.tni.ro", "vuser85", "fghj34trgth4er5hfg", "vuser85", 0);
365 set_task(1.00, "MySql_Init", 0, "", 0, "", 0);
366 return 0;
367}
368
369public MySql_Init()
370{
371 new ErrorCode = 0;
372 new Handle:SqlConnection = SQL_Connect(g_SqlTuple, ErrorCode, "", 511);
373 if (!SqlConnection)
374 {
375 set_fail_state("");
376 }
377 new Handle:Queries = 0;
378 Queries = SQL_PrepareQuery(SqlConnection, "CREATE TABLE IF NOT EXISTS puncteMix (steamid varchar(32),points INT(11))");
379 if (!SQL_Execute(Queries))
380 {
381 SQL_QueryError(Queries, "", 511);
382 set_fail_state("");
383 }
384 SQL_FreeHandle(Queries);
385 SQL_FreeHandle(SqlConnection);
386 return 0;
387}
388
389public client_putinserver(id)
390{
391 g_iKills[id] = 0;
392 Load_MySql(id);
393 return 0;
394}
395
396public client_disconnect(id)
397{
398 if (!is_user_bot(id))
399 {
400 InsertInfo(id);
401 }
402 return 0;
403}
404
405public hamPlayerSpawn(id)
406{
407 g_iKills[id] = 0;
408 g_iDid[id] = 0;
409 return 0;
410}
411
412public evDeathMsg()
413{
414 !!! Removed Phi
415 if (!is_user_alive(iKiller) || iVictim != iKiller || !g_iPart)
416 {
417 return 0;
418 }
419 new var6 = Heap_4;
420 var6[0] = 11356;
421 new var7 = Heap_4;
422 var7[0] = 11356;
423 if (get_user_team(iVictim, var7, 0) == get_user_team(iKiller, var6, 0))
424 {
425 ColorChat(iKiller, "!g%s!nAi pierdut 5 puncte pentru tk.", szTag);
426 new var8 = g_iPoints[iKiller];
427 var8 = var8[0][0] - 5;
428 if (0 > g_iPoints[iKiller][0][0])
429 {
430 g_iPoints[iKiller] = 0;
431 }
432 Save_MySql(iKiller);
433 return 0;
434 }
435 if (get_user_flags(iKiller, 0) & 524288 || get_user_flags(iKiller, 0) & 4096)
436 {
437 var3 = 2;
438 }
439 else
440 {
441 var3 = 1;
442 }
443 iPoints = var3;
444 new var9 = g_iPoints[iKiller];
445 var9 = iPoints + var9[0][0];
446 new var4;
447 if (iPoints == 1)
448 {
449 var4 = 11692;
450 }
451 else
452 {
453 var4 = 11696;
454 }
455 ColorChat(iKiller, "!g%s!nAi primit %d punct%s [Total punctaj %d]", szTag, iPoints, var4, g_iPoints[iKiller]);
456 if (4 <= g_iKills[iKiller][0][0])
457 {
458 new var5;
459 if (g_iKills[iKiller][0][0] == 4)
460 {
461 var5 = 1;
462 }
463 else
464 {
465 var5 = 2;
466 }
467 g_iDid[iKiller] = var5;
468 if (g_iKills[iKiller][0][0] == 5)
469 {
470 g_iKills[iKiller] = 0;
471 }
472 }
473 Save_MySql(iKiller);
474 return 0;
475}
476
477public evNewRound()
478{
479 if (!g_iPart)
480 {
481 return 0;
482 }
483 g_iRounds += 1;
484 set_task(1.00, "changeScores", 0, "", 0, "", 0);
485 return 0;
486}
487
488public changeScores()
489{
490 changeTeamScores();
491 return 0;
492}
493
494public evRoundEnd()
495{
496 !!! Removed Phi
497 if (!g_iPart)
498 {
499 return 0;
500 }
501 switch (g_iPart)
502 {
503 case 1:
504 {
505 new var9 = g_iScore;
506 if (g_iScore[1][0][g_iPart] + var9[0][0][var9][g_iPart] == 15)
507 {
508 new var10 = g_iScore;
509 var10[0][0][var10][g_iPart + 1] = g_iScore[1][0][g_iPart];
510 new var11 = g_iScore;
511 g_iScore[1][0][g_iPart + 1] = var11[0][0][var11][g_iPart];
512 new iTemp = 0;
513 new var12 = g_iScore;
514 iTemp = var12[0][0][var12][g_iPart];
515 new var13 = g_iScore;
516 var13[0][0][var13][g_iPart] = g_iScore[1][0][g_iPart];
517 g_iScore[1][0][g_iPart] = iTemp;
518 g_iPart = 2;
519 SwapTeams();
520 changeTeamScores();
521 ColorChat(0, "!g%s!nS-au jucat 15 runde! Acum, echipele se vor schimba !", szTag);
522 set_cvar_string("sv_restart", "2");
523 }
524 }
525 case 2:
526 {
527 new var4 = g_iScore;
528 if (var4[0][0][var4][g_iPart] == 16)
529 {
530 new var5 = g_iScore;
531 ColorChat(0, "!g%s!nEchipa Terrorists a castigat acest meci, scorul fiind %d - %d", szTag, var5[0][0][var5][g_iPart], g_iScore[1][0][g_iPart]);
532 stopMatch();
533 g_iPart = 0;
534 new var6 = g_iScore;
535 g_iScore[1][0][g_iPart] = 0;
536 var6[0][0][var6][g_iPart] = 0;
537 setariStopMeci();
538 stopDemo();
539 }
540 if (g_iScore[1][0][g_iPart] == 16)
541 {
542 new var7 = g_iScore;
543 ColorChat(0, "!g%s!nEchipa Counter-Terrorists a castigat acest meci, scorul fiind %d - %d", szTag, g_iScore[1][0][g_iPart], var7[0][0][var7][g_iPart]);
544 stopMatch();
545 g_iPart = 0;
546 new var8 = g_iScore;
547 g_iScore[1][0][g_iPart] = 0;
548 var8[0][0][var8][g_iPart] = 0;
549 setariStopMeci();
550 stopDemo();
551 }
552 }
553 default:
554 {
555 }
556 }
557 new iPlayers[32];
558 new iNum = 0;
559 new id = 0;
560 get_players(iPlayers, iNum, "", "");
561 new i = 0;
562 while (i < iNum)
563 {
564 id = iPlayers[i];
565 if (g_iDid[id][0][0])
566 {
567 new szName[32];
568 get_user_name(id, szName, 31);
569 new iReward;
570 new var1;
571 if (g_iDid[id][0][0] == 1)
572 {
573 var1 = 4;
574 }
575 else
576 {
577 var1 = 5;
578 }
579 if (get_user_flags(id, 0) & 4096 && g_iDid[id][0][0] == 2)
580 {
581 iReward *= 2;
582 }
583 new var3;
584 if (g_iDid[id][0][0] == 1)
585 {
586 var3 = 12876;
587 }
588 else
589 {
590 var3 = 12900;
591 }
592 ColorChat(0, "!g%s!nJucatorul %s a realizat un %sACE si a primit %d puncte.", szTag, szName, var3, iReward);
593 new var14 = g_iPoints[id];
594 var14 = iReward + var14[0][0];
595 Save_MySql(id);
596 i++;
597 }
598 i++;
599 }
600 return 0;
601}
602
603public cmdSay(id)
604{
605 !!! Removed Phi
606 if (!g_bCanSay && !is_user_admin(id))
607 {
608 return 1;
609 }
610 new szArg[32];
611 new szCommand[32];
612 read_argv(1, szArg, 31);
613 remove_quotes(szArg);
614 new i = 0;
615 while (i < 3)
616 {
617 if (equal(szArg, szTransferComands[i][0][0], strlen(szTransferComands[i][0][0])))
618 {
619 replace(szArg, 31, "/", "");
620 formatex(szCommand, 31, "amx_%s", szArg);
621 client_cmd(id, szCommand);
622 return 1;
623 }
624 i++;
625 }
626 return 0;
627}
628
629public cmdStartMatch(id)
630{
631 if (!get_user_flags(id, 0) & 8)
632 {
633 return 1;
634 }
635 if (10 > get_playersnum(0))
636 {
637 ColorChat(id, "!g%s!nMeciul poate incepe doar daca sunt minim 10 jucatori pe server!", szTag);
638 return 1;
639 }
640 ColorChat(0, "LIVE");
641 ColorChat(0, "!g%s!nMeciul incepe in 3 secunde! Good luck and have fun!", szTag);
642 ColorChat(0, "LIVE");
643 setariStartMeci();
644 g_bKnifeRound = 0;
645 g_iRounds = 0;
646 g_iPart = 1;
647 new var1 = g_iScore;
648 g_iScore[1][0][g_iPart] = 0;
649 var1[0][0][var1][g_iPart] = 0;
650 return 0;
651}
652
653public cmdStopMatch(id)
654{
655 if (!get_user_flags(id, 0) & 8)
656 {
657 return 1;
658 }
659 ColorChat(0, "!g%s!nMeciul a fost oprit de un admin!", szTag);
660 setariStopMeci();
661 stopMatch();
662 g_bKnifeRound = 0;
663 g_iRounds = 0;
664 g_iPart = 0;
665 stopDemo();
666 return 0;
667}
668
669public cmdRestart(id)
670{
671 !!! Removed Phi
672 if (!get_user_flags(id, 0) & 8)
673 {
674 return 1;
675 }
676 set_cvar_string("sv_restart", "1");
677 g_bKnifeRound = 0;
678 g_iRounds = 0;
679 switch (g_iPart)
680 {
681 case 1:
682 {
683 new var3 = g_iScore;
684 g_iScore[1][0][g_iPart] = 0;
685 var3[0][0][var3][g_iPart] = 0;
686 }
687 case 2:
688 {
689 new var1 = g_iScore;
690 new var2 = g_iScore;
691 var1[0][0][var1][g_iPart] = var2[0][0][var2][g_iPart + -1];
692 g_iScore[1][0][g_iPart] = g_iScore[1][0][g_iPart + -1];
693 }
694 default:
695 {
696 }
697 }
698 ColorChat(0, "!g%s!nS-a resetat repriza curenta!", szTag);
699 return 0;
700}
701
702public cmdStartKnifeRound(id)
703{
704 if (!get_user_flags(id, 0) & 8)
705 {
706 return 1;
707 }
708 ColorChat(0, "!g%s!nIncepe runda de lame!", szTag);
709 set_cvar_string("sv_restart", "3");
710 g_bKnifeRound = 1;
711 g_iRounds = 0;
712 g_iPart = 0;
713 return 0;
714}
715
716public cmdWarmRound(id)
717{
718 if (!get_user_flags(id, 0) & 8)
719 {
720 return 1;
721 }
722 ColorChat(0, "!g%s!nMeciul a fost trecut pe modul warm!", szTag);
723 setariWarm();
724 g_bKnifeRound = 0;
725 g_iPart = 0;
726 return 0;
727}
728
729public cmdChatON(id)
730{
731 if (!get_user_flags(id, 0) & 8)
732 {
733 return 1;
734 }
735 ColorChat(0, "!g%s!nChatul a fost deblocat !", szTag);
736 g_bCanSay = 1;
737 return 0;
738}
739
740public cmdChatOFF(id)
741{
742 if (!get_user_flags(id, 0) & 8)
743 {
744 return 1;
745 }
746 ColorChat(0, "!g%s!nA fost blocat chatul pe y! Folositi say_team !", szTag);
747 g_bCanSay = 0;
748 return 0;
749}
750
751public cmdSayScore(id)
752{
753 if (!get_user_flags(id, 0) & 8)
754 {
755 return 1;
756 }
757 showScore();
758 return 0;
759}
760
761public cmdSpecALL(id)
762{
763 if (!get_user_flags(id, 0) & 8)
764 {
765 return 1;
766 }
767 ColorChat(0, "!g%s!nAu fost trecuti toti jucatorii specatori pentru alegeri !", szTag);
768 new iPlayers[32];
769 new iNum = 0;
770 get_players(iPlayers, iNum, "", "");
771 new i = 0;
772 while (i < iNum)
773 {
774 user_silentkill(iPlayers[i]);
775 cs_set_user_team(iPlayers[i], 3, _}:0);
776 i++;
777 }
778 return 0;
779}
780
781public cmdSayPuncte(id)
782{
783 ColorChat(id, "!g%s!nAi %d puncte.", szTag, g_iPoints[id]);
784 return 1;
785}
786
787public evTerroWin()
788{
789 if (!g_iPart)
790 {
791 return 0;
792 }
793 new var1 = g_iScore;
794 var1[0][0][var1][g_iPart]++;
795 showScore();
796 return 0;
797}
798
799public evCounterWin()
800{
801 if (!g_iPart)
802 {
803 return 0;
804 }
805 g_iScore[1][0][g_iPart]++;
806 showScore();
807 return 0;
808}
809
810public bomb_planted(id)
811{
812 if (!g_iPart)
813 {
814 return 0;
815 }
816 new iReward = 3;
817 new szName[32];
818 get_user_name(id, szName, 31);
819 ColorChat(0, "!g%s!nJucatorul %s a plantat bomba si a primit %d puncte.", szTag, szName, iReward);
820 new var1 = g_iPoints[id];
821 var1 = var1[0][0] + 3;
822 Save_MySql(id);
823 return 0;
824}
825
826public bomb_defused(id)
827{
828 if (!g_iPart)
829 {
830 return 0;
831 }
832 new iReward = 3;
833 new szName[32];
834 get_user_name(id, szName, 31);
835 ColorChat(0, "!g%s!nJucatorul %s a dezamorsat bomba si a primit %d puncte.", szTag, szName, iReward);
836 new var1 = g_iPoints[id];
837 var1 = var1[0][0] + 3;
838 Save_MySql(id);
839 return 0;
840}
841
842public evCurrentWeapon(id)
843{
844 !!! Removed Phi
845 if (g_bKnifeRound && is_user_alive(id))
846 {
847 engclient_cmd(id, "weapon_knife", "", "");
848 }
849 return 0;
850}
851
852public SwapTeams()
853{
854 new iPlayers[32];
855 new iNum = 0;
856 new id = 0;
857 get_players(iPlayers, iNum, "", "");
858 new i = 0;
859 while (i < iNum)
860 {
861 id = iPlayers[i];
862 switch (cs_get_user_team(id, 0))
863 {
864 case 1:
865 {
866 cs_set_user_team(id, 2, _}:0);
867 i++;
868 }
869 case 2:
870 {
871 cs_set_user_team(id, 1, _}:0);
872 i++;
873 }
874 default:
875 {
876 i++;
877 }
878 }
879 i++;
880 }
881 return 0;
882}
883
884public cmdPass(id, level, cid)
885{
886 if (!cmd_access(id, level, cid, 2, false))
887 {
888 return 1;
889 }
890 new szArg[20];
891 read_argv(1, szArg, 19);
892 set_cvar_string("sv_password", szArg);
893 return 0;
894}
895
896public cmdNoPass(id, level, cid)
897{
898 if (!cmd_access(id, level, cid, 1, false))
899 {
900 return 1;
901 }
902 set_cvar_string("sv_password", "");
903 return 0;
904}
905
906public cmdTransfer(id, level, cid)
907{
908 if (!cmd_access(id, level, cid, 2, false))
909 {
910 return 1;
911 }
912 new szArg1[32];
913 new szArg2[32];
914 new szName[32];
915 new szAdminName[32];
916 read_argv(0, szArg1, 31);
917 read_argv(1, szArg2, 31);
918 new idTarget = cmd_target(id, szArg2, 2);
919 if (!idTarget)
920 {
921 console_print(id, "Jucator inexistent !");
922 return 1;
923 }
924 switch (szArg1[4])
925 {
926 case 99:
927 {
928 if (cs_get_user_team(idTarget, 0) != 2)
929 {
930 if (is_user_alive(idTarget))
931 {
932 user_silentkill(idTarget);
933 }
934 get_user_name(idTarget, szName, 31);
935 get_user_name(id, szAdminName, 31);
936 cs_set_user_team(idTarget, 2, _}:0);
937 ColorChat(0, "!g%s!nAdmin %s transfer %s to Counter-Terrorists.", szTag, szAdminName, szName);
938 }
939 }
940 case 115:
941 {
942 if (cs_get_user_team(idTarget, 0) != 3)
943 {
944 if (is_user_alive(idTarget))
945 {
946 user_silentkill(idTarget);
947 }
948 get_user_name(idTarget, szName, 31);
949 get_user_name(id, szAdminName, 31);
950 cs_set_user_team(idTarget, 3, _}:0);
951 ColorChat(0, "!g%s!nAdmin %s transfer %s to Spectators.", szTag, szAdminName, szName);
952 }
953 }
954 case 116:
955 {
956 if (cs_get_user_team(idTarget, 0) != 1)
957 {
958 if (is_user_alive(idTarget))
959 {
960 user_silentkill(idTarget);
961 }
962 get_user_name(idTarget, szName, 31);
963 get_user_name(id, szAdminName, 31);
964 cs_set_user_team(idTarget, 1, _}:0);
965 ColorChat(0, "!g%s!nAdmin %s transfer %s to Terrorists.", szTag, szAdminName, szName);
966 }
967 }
968 default:
969 {
970 }
971 }
972
973/ * ERROR! Unable to cast object of type 'Lysis.DSentinel' to type 'Lysis.DReturn'. * /
974 function "cmdTransfer"
975public cmdTransfer(id, level, cid)
976
977public cmdScreenShot(id, level, cid)
978{
979 !!! Removed Phi
980 if (!cmd_access(id, level, cid, 3, false))
981 {
982 return 1;
983 }
984 if (iScreens[iTarget][0][0] < 1 || iScreens[iTarget][0][0] > 5)
985 {
986 console_print(id, "[!]Numarul de poze nu trebuie sa fie mai mic de 1 sau mai mare de 5 !");
987 return 1;
988 }
989 if (!iTarget)
990 {
991 console_print(id, "[!]Jucatorul specificat nu exista !");
992 return 1;
993 }
994 iScreenNumber[iTarget] = 0;
995 set_task(1.00, "cmdTakeScreens", iTarget + 191911, "", 0, "a", iScreens[iTarget][0][0]);
996 return 1;
997}
998
999public cmdTakeScreens(id)
1000{
1001 !!! Removed Phi
1002 id += -191911;
1003 new szIP[16];
1004 new szName[32];
1005 new szTime[32];
1006 new szMonth[32];
1007 new szDay[32];
1008 get_user_name(id, szName, 31);
1009 get_user_ip(id, szIP, 15, 1);
1010 get_time("!g%H!n:!g%M", szTime, 31);
1011 get_time("%d", szDay, 31);
1012 get_time("%m", szMonth, 31);
1013 iScreenNumber[id]++;
1014 ColorChat(id, "!g%s!nPoza numarul [!g%i!n/!g%i!n]", szTag, iScreenNumber[id], iScreens[id]);
1015 ColorChat(id, "!g%s!nLuna [!g%s!n] Ziua [!g%s!n] Ora [!g%s!n]", szTag, szMonth, szDay, szTime);
1016 ColorChat(id, "!g%s!nJucator [!g%s!n] IP [!g%s!n]", szTag, szName, szIP);
1017 client_cmd(id, "wait;snapshot");
1018 if (iScreens[id][0][0] == iScreenNumber[id][0][0])
1019 {
1020 iScreenNumber[id] = 0;
1021 iScreens[id] = 0;
1022 }
1023 return 0;
1024}
1025
1026public cmdKick(id, level, cid)
1027{
1028 if (!cmd_access(id, level, cid, 2, false))
1029 {
1030 return 1;
1031 }
1032 new arg[32];
1033 read_argv(1, arg, 31);
1034 new player = cmd_target(id, arg, 2);
1035 if (!player)
1036 {
1037 return 1;
1038 }
1039 new authid[32];
1040 new authid2[32];
1041 new name2[32];
1042 new name[32];
1043 new userid2 = 0;
1044 new reason[32];
1045 get_user_authid(id, authid, 31);
1046 get_user_authid(player, authid2, 31);
1047 get_user_name(player, name2, 31);
1048 get_user_name(id, name, 31);
1049 userid2 = get_user_userid(player);
1050 read_argv(2, reason, 31);
1051 remove_quotes(reason);
1052 log_amx("Kick: \"%s<%d><%s><>\" kick \"%s<%d><%s><>\" (reason \"%s\")", name, get_user_userid(id), authid, name2, userid2, authid2, reason);
1053 show_activity_key("ADMIN_KICK_1", "ADMIN_KICK_2", name, name2);
1054 if (is_user_bot(player))
1055 {
1056 server_cmd("kick #%d", userid2);
1057 }
1058 else
1059 {
1060 if (reason[0])
1061 {
1062 server_cmd("kick #%d \"%s\"", userid2, reason);
1063 }
1064 server_cmd("kick #%d", userid2);
1065 }
1066 console_print(id, "[AMXX] Client \"%s\" kicked", name2);
1067 return 1;
1068}
1069
1070public cmdDemo(id, level, cid)
1071{
1072 if (!cmd_access(id, level, cid, 2, false))
1073 {
1074 return 1;
1075 }
1076 new szArg[32];
1077 read_argv(1, szArg, 31);
1078 new iTarget = cmd_target(id, szArg, 2);
1079 if (!iTarget)
1080 {
1081 console_print(id, "[!]Jucatorul specificat nu exista !");
1082 return 1;
1083 }
1084 new szName[32];
1085 get_user_name(iTarget, szName, 31);
1086 client_cmd(iTarget, "record mix%s", szName);
1087 return 1;
1088}
1089
1090public cmdLast(id, level, cid)
1091{
1092 if (!cmd_access(id, level, cid, 1, false))
1093 {
1094 return 1;
1095 }
1096 new name[32];
1097 new authid[32];
1098 new ip[32];
1099 new flags[32];
1100 new access = 0;
1101 console_print(id, "%19s %20s %s", "name", "authid", "access");
1102 new i = 0;
1103 while (i < g_Size)
1104 {
1105 GetInfo(i, name, 31, authid, 31, ip, 31, access);
1106 get_flags(access, flags, 31);
1107 console_print(id, "%19s %20s %s", name, authid, flags);
1108 i++;
1109 }
1110 console_print(id, "%d old connections saved.", g_Size);
1111 return 1;
1112}
1113
1114GetInfo(i, String:name[], namesize, String:auth[], authsize, String:ip[], ipsize, &access)
1115{
1116 if (i >= g_Size)
1117 {
1118 abort(10, "GetInfo: Out of bounds (%d:%d)", i, g_Size);
1119 }
1120 new target = i + g_Tracker;
1121 copy(name, namesize, g_Names[target][0][0]);
1122 copy(auth, authsize, g_SteamIDs[target][0][0]);
1123 copy(ip, ipsize, g_IPs[target][0][0]);
1124 access = g_Access[target][0][0];
1125 return 0;
1126}
1127
1128InsertInfo(id)
1129{
1130 !!! Removed Phi
1131 if (0 < g_Size)
1132 {
1133 new ip[32];
1134 new auth[32];
1135 get_user_authid(id, auth, 31);
1136 get_user_ip(id, ip, 31, 1);
1137 new last = 0;
1138 if (g_Size < 10)
1139 {
1140 last = g_Size + -1;
1141 }
1142 else
1143 {
1144 last = g_Tracker + -1;
1145 if (0 > last)
1146 {
1147 last = g_Size + -1;
1148 }
1149 }
1150 if (equal(auth, g_SteamIDs[last][0][0], 0) && equal(ip, g_IPs[last][0][0], 0))
1151 {
1152 get_user_name(id, g_Names[last][0][0], 31);
1153 g_Access[last] = get_user_flags(id, 0);
1154 return 0;
1155 }
1156 }
1157 new target = 0;
1158 if (g_Size < 10)
1159 {
1160 target = g_Size;
1161 g_Size += 1;
1162 }
1163 else
1164 {
1165 target = g_Tracker;
1166 g_Tracker += 1;
1167 if (g_Tracker == 10)
1168 {
1169 g_Tracker = 0;
1170 }
1171 }
1172 get_user_authid(id, g_SteamIDs[target][0][0], 31);
1173 get_user_name(id, g_Names[target][0][0], 31);
1174 get_user_ip(id, g_IPs[target][0][0], 31, 1);
1175 g_Access[target] = get_user_flags(id, 0);
1176 return 0;
1177}
1178
1179public Load_MySql(id)
1180{
1181 new szSteamID[32];
1182 new szTemp[512];
1183 get_user_authid(id, szSteamID, 31);
1184 new Data[1];
1185 Data[0] = id;
1186 format(szTemp, 511, "SELECT * FROM `puncteMix` WHERE (`puncteMix`.`steamid` = '%s')", szSteamID);
1187 SQL_ThreadQuery(g_SqlTuple, "register_client", szTemp, Data, 1);
1188 return 0;
1189}
1190
1191public register_client(FailState, Handle:Query, String:Error[], Errcode, String:Data[], DataSize)
1192{
1193 if (FailState == -2)
1194 {
1195 log_amx("Load - Could not connect to SQL database. [%d] %s", Errcode, Error);
1196 }
1197 else
1198 {
1199 if (FailState == -1)
1200 {
1201 log_amx("Load Query failed. [%d] %s", Errcode, Error);
1202 }
1203 }
1204 new id = 0;
1205 id = Data[0];
1206 if (1 > SQL_NumResults(Query))
1207 {
1208 new szSteamID[32];
1209 get_user_authid(id, szSteamID, 31);
1210 if (equal(szSteamID, "ID_PENDING", 0))
1211 {
1212 return 1;
1213 }
1214 new szTemp[512];
1215 format(szTemp, 511, "INSERT INTO `puncteMix` ( `steamid` , `points`)VALUES ('%s','0');", szSteamID);
1216 SQL_ThreadQuery(g_SqlTuple, "IgnoreHandle", szTemp, "", 0);
1217 }
1218 else
1219 {
1220 g_iPoints[id] = SQL_ReadResult(Query, 1);
1221 }
1222 return 1;
1223}
1224
1225public IgnoreHandle(FailState, Handle:Query, String:Error[], Errcode, String:Data[], DataSize)
1226{
1227 SQL_FreeHandle(Query);
1228 return 1;
1229}
1230
1231public Save_MySql(id)
1232{
1233 new szSteamID[32];
1234 new szTemp[512];
1235 get_user_authid(id, szSteamID, 31);
1236 format(szTemp, 511, "UPDATE `puncteMix` SET `points` = '%i' WHERE `puncteMix`.`steamid` = '%s';", g_iPoints[id], szSteamID);
1237 SQL_ThreadQuery(g_SqlTuple, "IgnoreHandle", szTemp, "", 0);
1238 return 0;
1239}
1240
1241showScore()
1242{
1243 new var1 = g_iScore;
1244 ColorChat(0, "!g%s!nScorul este: Terorists %d - %d Counter-Terorists", szTag, var1[0][0][var1][g_iPart], g_iScore[1][0][g_iPart]);
1245 return 0;
1246}
1247
1248setariStartMeci()
1249{
1250 set_cvar_string("sv_restart", "3");
1251 set_cvar_string("mp_freezetime", "13");
1252 set_cvar_string("mp_startmoney", "800");
1253 set_cvar_string("mp_friendlyfire", "1");
1254 set_cvar_string("mp_roundtime", "1.75");
1255 set_cvar_string("mp_timelimit", "0");
1256 set_cvar_string("mp_forchasecam", "2");
1257 set_cvar_string("mp_buytime", "30");
1258 set_cvar_string("mp_c4timer", "35");
1259 set_cvar_string("amx_atsrounds", "15");
1260 return 0;
1261}
1262
1263setariStopMeci()
1264{
1265 set_cvar_string("sv_restart", "1");
1266 set_cvar_string("mp_freezetime", "0");
1267 set_cvar_string("mp_startmoney", "16000");
1268 set_cvar_string("mp_friendlyfire", "0");
1269 set_cvar_string("amx_atsrounds", "100");
1270 return 0;
1271}
1272
1273setariWarm()
1274{
1275 set_cvar_string("sv_restart", "2");
1276 set_cvar_string("mp_freezetime", "0");
1277 set_cvar_string("mp_startmoney", "16000");
1278 set_cvar_string("mp_friendlyfire", "0");
1279 set_cvar_string("amx_atsrounds", "100");
1280 return 0;
1281}
1282
1283stopDemo()
1284{
1285 new iPlayers[32];
1286 new iNum = 0;
1287 new id = 0;
1288 new i = 0;
1289 while (i < iNum)
1290 {
1291 id = iPlayers[i];
1292 client_cmd(id, "stopdemo");
1293 i++;
1294 }
1295 return 0;
1296}
1297
1298stopMatch()
1299{
1300 new var1 = g_iScore;
1301 new var2 = g_iScore;
1302
1303/ * ERROR! unknown load * /
1304 function "stopMatch"
1305stopMatch()
1306
1307ColorChat(id, String:input[])
1308{
1309 new iNum = 1;
1310 new iPlayers[32];
1311 static szMessage[191];
1312 vformat(szMessage, 190, input, 3);
1313 replace_all(szMessage, 190, "!g", "\4");
1314 replace_all(szMessage, 190, "!n", "\1");
1315 replace_all(szMessage, 190, "!t", "\3");
1316 if (id)
1317 {
1318 iPlayers[0] = id;
1319 }
1320 else
1321 {
1322 get_players(iPlayers, iNum, "ch", "");
1323 }
1324 new i = 0;
1325 while (i < iNum)
1326 {
1327 if (is_user_connected(iPlayers[i]))
1328 {
1329 message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), 22144, iPlayers[i]);
1330 write_byte(iPlayers[i]);
1331 write_string("");
1332 message_end();
1333 i++;
1334 }
1335 i++;
1336 }
1337 return 0;
1338}
1339
1340public changeTeamScores()
1341{
1342 message_begin(MSG_ALL, gTeamScore, 22144, 0);
1343 write_string("TERRORIST");
1344 new var1 = g_iScore;
1345 write_short(var1[0][0][var1][g_iPart]);
1346 message_end();
1347 message_begin(MSG_ALL, gTeamScore, 22144, 0);
1348 write_string("CT");
1349 write_short(g_iScore[1][0][g_iPart]);
1350 message_end();
1351 return 0;
1352}
1353
1354public plugin_end()
1355{
1356 SQL_FreeHandle(g_SqlTuple);
1357 return 0;
1358}