Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Wklejka 131452077611795 dodana przez A może sma?, 28.08.2011 09:39
Typ:


131452077611795
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.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
373.
374.
375.
376.
377.
378.
379.
380.
381.
382.
383.
384.
385.
386.
387.
388.
389.
390.
391.
392.
393.
394.
395.
396.
397.
398.
399.
400.
401.
402.
403.
404.
405.
406.
407.
408.
409.
410.
411.
412.
413.
414.
415.
416.
417.
418.
419.
420.
421.
422.
423.
424.
425.
426.
427.
428.
429.
430.
431.
432.
433.
434.
435.
436.
437.
438.
439.
440.
441.
442.
443.
444.
445.
446.
447.
448.
449.
450.
451.
452.
453.
454.
455.
456.
457.
458.
459.
460.
461.
462.
463.
464.
465.
466.
467.
468.
469.
470.
471.
472.
473.
474.
475.
476.
477.
478.
479.
480.
481.
482.
483.
484.
485.
486.
487.
488.
489.
490.
491.
492.
493.
494.
495.
496.
497.
498.
499.
500.
501.
502.
503.
504.
505.
506.
507.
508.
509.
510.
511.
512.
513.
514.
515.
516.
517.
518.
519.
520.
521.
522.
523.
524.
525.
526.
527.
528.
529.
530.
531.
532.
533.
534.
535.
536.
537.
538.
539.
540.
541.
542.
543.
544.
545.
546.
547.
548.
549.
550.
551.
552.
553.
554.
555.
556.
557.
558.
559.
560.
561.
562.
563.
564.
565.
566.
567.
568.
569.
570.
571.
572.
573.
574.
575.
576.
577.
578.
579.
580.
581.
582.
583.
584.
585.
586.
587.
588.
589.
590.
591.
592.
593.
594.
595.
596.
597.
598.
599.
600.
601.
602.
603.
604.
605.
606.
607.
608.
609.
610.
611.
612.
613.
614.
615.
616.
617.
618.
619.
620.
621.
622.
623.
624.
625.
626.
627.
628.
629.
630.
631.
632.
633.
634.
635.
636.
637.
638.
639.
640.
641.
642.
643.
644.
645.
646.
647.
648.
649.
650.
651.
652.
653.
654.
655.
656.
657.
658.
659.
660.
661.
662.
663.
664.
665.
666.
667.
668.
669.
670.
671.
672.
673.
674.
675.
676.
677.
678.
679.
680.
681.
682.
683.
684.
685.
686.
687.
688.
689.
690.
691.
692.
693.
694.
695.
696.
697.
698.
699.
700.
701.
702.
703.
704.
705.
706.
707.
708.
709.
710.
711.
712.
713.
714.
715.
716.
717.
718.
719.
720.
721.
722.
723.
724.
725.
726.
727.
728.
729.
730.
731.
732.
733.
734.
735.
736.
737.
738.
739.
740.
741.
742.
743.
744.
745.
746.
747.
748.
749.
750.
751.
752.
753.
754.
755.
756.
757.
758.
759.
760.
761.
762.
763.
764.
765.
766.
767.
768.
769.
770.
771.
772.
773.
774.
775.
776.
777.
778.
779.
780.
781.
782.
783.
784.
785.
786.
787.
788.
789.
790.
791.
792.
793.
794.
795.
796.
797.
798.
799.
800.
801.
802.
803.
804.
805.
806.
807.
808.
809.
810.
811.
812.
813.
814.
815.
816.
817.
818.
819.
820.
821.
822.
823.
824.
825.
826.
827.
828.
829.
830.
831.
832.
833.
834.
835.
836.
837.
838.
839.
840.
841.
842.
843.
844.
845.
846.
847.
848.
849.
850.
851.
852.
853.
854.
855.
856.
857.
858.
859.
860.
861.
862.
863.
864.
865.
866.
867.
868.
869.
870.
871.
872.
873.
874.
875.
876.
877.
878.
879.
880.
881.
882.
883.
884.
885.
886.
887.
888.
889.
890.
891.
892.
893.
894.
895.
896.
897.
898.
899.
900.
901.
902.
903.
904.
905.
906.
907.
908.
909.
910.
911.
912.
913.
914.
915.
916.
917.
918.
919.
920.
921.
922.
923.
924.
925.
926.
927.
928.
929.
930.
931.
932.
933.
934.
935.
936.
937.
938.
939.
940.
941.
942.
943.
944.
945.
946.
947.
948.
949.
950.
951.
952.
953.
954.
955.
956.
957.
958.
959.
960.
961.
962.
963.
964.
965.
966.
967.
968.
969.
970.
971.
972.
973.
974.
975.
976.
977.
978.
979.
980.
981.
982.
983.
984.
985.
986.
987.
988.
989.
990.
991.
992.
993.
994.
995.
996.
997.
998.
999.
1000.
1001.
1002.
1003.
1004.
1005.
1006.
1007.
1008.
1009.
1010.
1011.
1012.
1013.
1014.
1015.
1016.
1017.
1018.
1019.
1020.
1021.
1022.
1023.
1024.
1025.
1026.
1027.
1028.
1029.
1030.
1031.
1032.
1033.
1034.
1035.
1036.
1037.
1038.
1039.
1040.
1041.
1042.
1043.
1044.
1045.
1046.
1047.
1048.
1049.
1050.
1051.
1052.
1053.
1054.
1055.
1056.
1057.
1058.
1059.
1060.
1061.
1062.
1063.
1064.
1065.
1066.
1067.
1068.
1069.
1070.
1071.
1072.
1073.
1074.
1075.
1076.
1077.
1078.
1079.
1080.
1081.
1082.
1083.
1084.
1085.
1086.
1087.
1088.
1089.
1090.
1091.
1092.
1093.
1094.
1095.
1096.
1097.
1098.
1099.
1100.
1101.
1102.
1103.
1104.
1105.
1106.
1107.
1108.
1109.
1110.
1111.
1112.
1113.
1114.
1115.
1116.
1117.
1118.
1119.
1120.
1121.
1122.
1123.
1124.
1125.
1126.
1127.
1128.
1129.
1130.
1131.
1132.
1133.
1134.
1135.
1136.
1137.
1138.
1139.
1140.
1141.
1142.
1143.
1144.
1145.
1146.
1147.
1148.
1149.
1150.
1151.
1152.
1153.
1154.
1155.
1156.
1157.
1158.
1159.
1160.
1161.
1162.
1163.
1164.
1165.
1166.
1167.
1168.
1169.
1170.
1171.
1172.
1173.
1174.
1175.
1176.
1177.
1178.
1179.
1180.
1181.
1182.
1183.
1184.
1185.
1186.
1187.
1188.
1189.
1190.
1191.
1192.
1193.
1194.
1195.
1196.
1197.
1198.
1199.
1200.
1201.
1202.
1203.
1204.
1205.
1206.
1207.
1208.
1209.
1210.
1211.
1212.
1213.
1214.
1215.
1216.
1217.
1218.
1219.
1220.
1221.
1222.
1223.
1224.
1225.
1226.
1227.
1228.
1229.
1230.
1231.
1232.
1233.
1234.
1235.
1236.
1237.
1238.
1239.
1240.
1241.
1242.
1243.
1244.
1245.
1246.
1247.
1248.
1249.
1250.
1251.
1252.
1253.
1254.
1255.
1256.
1257.
1258.
1259.
1260.
1261.
1262.
1263.
1264.
1265.
1266.
1267.
1268.
1269.
1270.
1271.
1272.
1273.
1274.
1275.
1276.
1277.
1278.
1279.
1280.
1281.
1282.
1283.
1284.
1285.
1286.
1287.
1288.
1289.
1290.
1291.
1292.
1293.
1294.
1295.
1296.
1297.
1298.
1299.
1300.
1301.
1302.
1303.
1304.
1305.
1306.
1307.
1308.
1309.
1310.
1311.
1312.
1313.
1314.
1315.
1316.
1317.
1318.
1319.
1320.
1321.
1322.
1323.
1324.
1325.
1326.
1327.
1328.
1329.
1330.
1331.
1332.
1333.
1334.
1335.
1336.
1337.
1338.
1339.
1340.
1341.
1342.
1343.
1344.
1345.
1346.
1347.
1348.
1349.
1350.
1351.
1352.
1353.
1354.
1355.
1356.
1357.
1358.
1359.
1360.
1361.
1362.
1363.
1364.
1365.
1366.
1367.
1368.
1369.
1370.
1371.
1372.
1373.
1374.
1375.
1376.
1377.
1378.
1379.
1380.
1381.
1382.
1383.
1384.
1385.
1386.
1387.
1388.
1389.
1390.
1391.
1392.
1393.
1394.
1395.
1396.
1397.
1398.
1399.
1400.
1401.
1402.
1403.
1404.
1405.
1406.
1407.
1408.
1409.
1410.
1411.
1412.
1413.
1414.
1415.
1416.
1417.
1418.
1419.
1420.
1421.
1422.
1423.
1424.
1425.
1426.
1427.
1428.
1429.
1430.
1431.
1432.
1433.
1434.
1435.
1436.
1437.
1438.
1439.
1440.
1441.
1442.
1443.
1444.
1445.
1446.
1447.
1448.
1449.
1450.
1451.
1452.
1453.
1454.
1455.
1456.
1457.
1458.
1459.
1460.
1461.
1462.
1463.
1464.
1465.
1466.
1467.
1468.
1469.
1470.
1471.
1472.
1473.
1474.
1475.
1476.
1477.
1478.
1479.
1480.
1481.
1482.
1483.
1484.
1485.
1486.
1487.
1488.
1489.
1490.
1491.
1492.
1493.
1494.
1495.
1496.
1497.
1498.
1499.
1500.
1501.
1502.
1503.
1504.
1505.
1506.
1507.
1508.
1509.
1510.
1511.
1512.
1513.
1514.
1515.
/*=============================================================================R=E=Y=M=O=N==A=R=G=*/
/* Create By ReymonARG										  */
/* 											          */
/* Alls bugs report by MsN or Email To [email protected]					  */
/* 												  */
/* More Information: http://forums.alliedmods.net/showthread.php?t=75606			  */
/* 												  */
/* This is the Version 5.6 Beta of This plugins visit the web for New Versions			  */
/* 												  */
/* New Version Dedicate to AeroCs Servers.						          */
/*												  */
/* Last Mod Modificate 04/12/2008								  */
/*												  */
/*=============================================================================R=E=Y=M=O=N==A=R=G=*/
 
/*================================================================================================*/
/***************************** [Includes & Defines & Arays] ***************************************/
/*=============================================================================R=E=Y=M=O=N==A=R=G=*/
 
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <hamsandwich>
 
/*-------------DONT CHANGE-------------*/
#define PLUGIN "WarmUP Pro"
#define VERSION "5.6 Beta"
#define AUTHOR "ReymonARG"
/*-------------DONT CHANGE-------------*/
 
#define time_delay 1 
 
#define ITEM_HE                (1<<0) // "a" 
#define ITEM_FS                (1<<1) // "b" 
#define ITEM_SG                (1<<2) // "c" 
#define ITEM_C4                (1<<3) // "d" 
 
#define HIDE_MONEY				(1<<5) // Disable Hud of Money
#define SHOW_MONEY				(1<<7) // Enable Hud of Money
 
/*================================================================================================*/
/******************************************** [MUZYKA] ********************************************/
/*================================================================================================*/
 
new const muzyka[] = "sound/misc/twojfolder/twojplik.mp3"
 
public plugin_precache()
{
	precache_sound(muzyka)
}
 
/*================================================================================================*/
/******************************************** [MUZYKA] ********************************************/
/*================================================================================================*/
 
 
new num_time, sync, time_s, activadoo, respawn3d, itemsxd, RGB, cvar_x, cvar_y, mode, timeprotect, 
ganador, mostrarhud, logtofilecvar
 
new bool:g_is_dead[33]; 
new bool:g_can_respawn; 
new bool:g_cuchi; 
new bool:g_items;
new bool:wup_on;
new bool:g_is_connect[33];
new bool:g_is_autofile;
new bool:g_mapexist_file;
new g_ganadores[33];
new const LOGFILE[] = "warmuppro.log"
new const FILECONFIGNAME[] = "/warmuppro.cfg"
new const FILEMAPSNAME[] = "/warmuppro_maps.cfg"
 
#define FLAG_ALIVE (1<<0)
#define FLAG_DEAD (1<<1)
#define FLAG_DISCONNECT (1<<2)
 
#define FLAG_T (1<<0)
#define FLAG_CT (1<<1)
 
#define DEFUSER 0
#define SHIELD 2
 
#define CONTAIN_FLAG_OF_INDEX(%1,%2) ((%1) & (1<<(%2)))
 
new const g_wbox_class[] = "weaponbox"
new const g_shield_class[] = "weapon_shield"
new const g_wbox_model[] = "models/w_weaponbox.mdl"
new const g_model_prefix[] = "models/w_"
 
new g_max_clients
new g_max_entities
 
new g_pcvar_allow
 
/* Foawrds */
new fwd_resultado;
new wup_fwd_start;
new wup_fwd_finish;
new wup_fwd_adminenable;
new wup_fwd_admindsaible;
 
/* Variables for Stocks */ 
new moneymsg;
new statusiconmsg;
new saytextmsg;
new hideweaponmsg;
new teaminfomsg;
 
/*================================================================================================*/
/************************************* [OFFSETS FAKEMETA] *****************************************/
/*=============================================================================R=E=Y=M=O=N==A=R=G=*/
 
#define EXTRAOFFSET_WEAPONS		4 
#define ACTUAL_EXTRA_OFFSET		20
 
#define OFFSET_ARMORTYPE		112
#define OFFSET_TEAM			114
#define OFFSET_CSMONEY			115
#define OFFSET_PRIMARYWEAPON		116
#define OFFSET_LASTACTIVITY		124
#define OFFSET_INTERNALMODEL		126
#define OFFSET_NVGOGGLES		129
#define OFFSET_DEFUSE_PLANT		193
#define OFFSET_VIP			209
#define OFFSET_TK			216 
#define OFFSET_HOSTAGEKILLS		217
#define OFFSET_MAPZONE			235
#define OFFSET_ISDRIVING		350 
#define OFFSET_STATIONARY		362 
#define OFFSET_ZOOMTYPE			363
 
#define OFFSET_AWM_AMMO			377 
#define OFFSET_SCOUT_AMMO		378
#define OFFSET_PARA_AMMO		379
#define OFFSET_FAMAS_AMMO		380
#define OFFSET_M3_AMMO			381
#define OFFSET_USP_AMMO			382
#define OFFSET_FIVESEVEN_AMMO		383
#define OFFSET_DEAGLE_AMMO		384
#define OFFSET_P228_AMMO		385
#define OFFSET_GLOCK_AMMO		386
#define OFFSET_FLASH_AMMO		387
#define OFFSET_HE_AMMO			388
#define OFFSET_SMOKE_AMMO		389
#define OFFSET_C4_AMMO			390
 
#define OFFSET_CSDEATHS			444 
#define OFFSET_SHIELD			510
// "weapon_*" entities
#define OFFSET_WEAPONTYPE		43 
#define OFFSET_CLIPAMMO			51 
#define OFFSET_SILENCER_FIREMODE	74 
// "hostage_entity" entities
#define OFFSET_HOSTAGEFOLLOW		86
#define OFFSET_HOSTAGE_NEXTUSE		100
#define OFFSET_HOSTAGE_LASTUSE		483
#define OFFSET_HOSTAGEID		487
// "armoury_entity"
#define OFFSET_ARMOURY_TYPE		34 
// C4 offsets
#define OFFSET_C4_EXPLODE_TIME		100
#define OFFSET_C4_DEFUSING		0x181 
 
#define M4A1_SILENCED			(1<<2)
#define M4A1_ATTACHSILENCEANIM		6
#define M4A1_DETACHSILENCEANIM		13
#define USP_SILENCED			(1<<0)
#define USP_ATTACHSILENCEANIM		7
#define USP_DETACHSILENCEANIM		15
 
#define GLOCK_SEMIAUTOMATIC		0
#define GLOCK_BURSTMODE			2
#define FAMAS_AUTOMATIC			0
#define FAMAS_BURSTMODE			16
 
#define PLAYER_IS_VIP			(1<<8)
 
#define PLAYER_IN_BUYZONE		(1<<0)
 
#define TEAM_UNASSIGNED			0
#define TEAM_T				1
#define TEAM_CT				2
#define TEAM_SPECTATOR			3
 
#define CAN_PLANT_BOMB			(1<<8) 
#define HAS_DEFUSE_KIT			(1<<16) 
 
#define DEFUSER_COLOUR_R		0
#define DEFUSER_COLOUR_G		160
#define DEFUSER_COLOUR_B		0
 
#define HAS_NVGOGGLES			(1<<0)
#define HAS_SHIELD     			(1<<24) 
 
#define SCOREATTRIB_NOTHING		0
#define SCOREATTRIB_DEAD		1
#define SCOREATTRIB_BOMB		2 
#define SCOREATTRIB_VIP			4 
 
#define CS_FIRST_ZOOM			0x28
#define CS_SECOND_AWP_ZOOM		0xA
#define CS_SECOND_NONAWP_ZOOM		0xF
#define CS_AUGSG552_ZOOM		0x37
#define CS_NO_ZOOM			0x5A
 
 
/*------------------------------------------------------------------------------------------------*/
 
enum CS_Internal_Models 
{
	CS_DONTCHANGE = 0,
	CS_CT_URBAN = 1,
	CS_T_TERROR = 2,
	CS_T_LEET = 3,
	CS_T_ARCTIC = 4,
	CS_CT_GSG9 = 5,
	CS_CT_GIGN = 6,
	CS_CT_SAS = 7,
	CS_T_GUERILLA = 8,
	CS_CT_VIP = 9,
	CZ_T_MILITIA = 10,
	CZ_CT_SPETSNAZ = 11
};
 
enum CsTeams 
{
	CS_TEAM_UNASSIGNED = 0,
	CS_TEAM_T = 1,
	CS_TEAM_CT = 2,
	CS_TEAM_SPECTATOR = 3
};
 
 
enum CsArmorType 
{
	CS_ARMOR_NONE = 0, 
	CS_ARMOR_KEVLAR = 1, 
	CS_ARMOR_VESTHELM = 2 
};
 
/*================================================================================================*/
/***************************************** [Stocks] ***********************************************/
/*=============================================================================R=E=Y=M=O=N==A=R=G=*/
 
#define fm_create_entity(%1) engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1))
 
stock fm_strip_user_weapons(index) {
	new ent = fm_create_entity("player_weaponstrip")
	if (!pev_valid(ent))
		return 0
 
	dllfunc(DLLFunc_Spawn, ent)
	dllfunc(DLLFunc_Use, ent, index)
	engfunc(EngFunc_RemoveEntity, ent)
 
	return 1
}
 
stock fm_give_item(index, const item[]) {
	if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5) && !equal(item, "tf_weapon_", 10))
		return 0
 
	new ent = fm_create_entity(item)
	if (!pev_valid(ent))
		return 0
 
	new Float:origin[3]
	pev(index, pev_origin, origin)
	set_pev(ent, pev_origin, origin)
	set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN)
	dllfunc(DLLFunc_Spawn, ent)
 
	new save = pev(ent, pev_solid)
	dllfunc(DLLFunc_Touch, ent, index)
	if (pev(ent, pev_solid) != save)
		return ent
 
	engfunc(EngFunc_RemoveEntity, ent)
 
	return -1
}
 
stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16) {
	new Float:RenderColor[3];
	RenderColor[0] = float(r);
	RenderColor[1] = float(g);
	RenderColor[2] = float(b);
 
	set_pev(entity, pev_renderfx, fx);
	set_pev(entity, pev_rendercolor, RenderColor);
	set_pev(entity, pev_rendermode, render);
	set_pev(entity, pev_renderamt, float(amount));
 
	return 1;
}
 
stock fm_set_user_godmode(index, godmode = 0) {
	set_pev(index, pev_takedamage, godmode == 1 ? DAMAGE_NO : DAMAGE_AIM);
 
	return 1;
}
 
stock fm_set_user_money(index, money, flash = 1)
{
	set_pdata_int(index, OFFSET_CSMONEY, money);
 
	message_begin(MSG_ONE, moneymsg, {0,0,0}, index);
	write_long(money);
	write_byte(flash ? 1 : 0);
	message_end();
}
 
stock fm_set_user_plant(id, plant = 1, showbombicon = 1)
{
	new plantskill = get_pdata_int(id, OFFSET_DEFUSE_PLANT);
 
	if(plant)
	{
		plantskill |= CAN_PLANT_BOMB;
		set_pdata_int(id, OFFSET_DEFUSE_PLANT, plantskill);
 
		if(showbombicon)
		{
			message_begin(MSG_ONE, statusiconmsg, _, id);
			write_byte(1);
			write_string("c4");
			write_byte(DEFUSER_COLOUR_R);
			write_byte(DEFUSER_COLOUR_G);
			write_byte(DEFUSER_COLOUR_B);
			message_end();
		}
	}
	else
	{
		plantskill &= ~CAN_PLANT_BOMB;
		set_pdata_int(id, OFFSET_DEFUSE_PLANT, plantskill);
		message_begin(MSG_ONE, statusiconmsg, _, id);
		write_byte(0);
		write_string("c4");
		message_end();
	}
}
 
stock fm_set_user_defuse(id, defusekit = 1, r = DEFUSER_COLOUR_R, g = DEFUSER_COLOUR_G, b = DEFUSER_COLOUR_B, icon[] = "defuser", flash = 0)
{
	new defuse = get_pdata_int(id, OFFSET_DEFUSE_PLANT);
 
	if(defusekit)
	{
		new colour[3] = {DEFUSER_COLOUR_R, DEFUSER_COLOUR_G, DEFUSER_COLOUR_B}
		if(r != -1) colour[0] = r;
		if(g != -1) colour[1] = g;
		if(b != -1) colour[2] = b;
 
    		set_pev(id, pev_body, 1);
 
		defuse |= HAS_DEFUSE_KIT;
		set_pdata_int(id, OFFSET_DEFUSE_PLANT, defuse);
 
		message_begin(MSG_ONE, statusiconmsg, _, id);
		write_byte((flash == 1) ? 2 : 1);
		write_string(icon[0] ? icon : "defuser");
		write_byte(colour[0]);
		write_byte(colour[1]);
		write_byte(colour[2]);
		message_end();
	}
 
	else
	{
		defuse &= ~HAS_DEFUSE_KIT;
		set_pdata_int(id, OFFSET_DEFUSE_PLANT, defuse);
		message_begin(MSG_ONE, statusiconmsg, _, id);
		write_byte(0);
		write_string("defuser");
		message_end();
 
		set_pev(id, pev_body, 0);
	}
}
 
stock fm_set_user_bpammo(index, weapon, amount)
{
	new offset;
 
	switch(weapon)
	{
		case CSW_AWP: offset = OFFSET_AWM_AMMO;
		case CSW_SCOUT,CSW_AK47,CSW_G3SG1: offset = OFFSET_SCOUT_AMMO;
		case CSW_M249: offset = OFFSET_PARA_AMMO;
		case CSW_M4A1,CSW_FAMAS,CSW_AUG,CSW_SG550,CSW_GALI,CSW_SG552: offset = OFFSET_FAMAS_AMMO;
		case CSW_M3,CSW_XM1014: offset = OFFSET_M3_AMMO;
		case CSW_USP,CSW_UMP45,CSW_MAC10: offset = OFFSET_USP_AMMO;
		case CSW_FIVESEVEN,CSW_P90: offset = OFFSET_FIVESEVEN_AMMO;
		case CSW_DEAGLE: offset = OFFSET_DEAGLE_AMMO;
		case CSW_P228: offset = OFFSET_P228_AMMO;
		case CSW_GLOCK18,CSW_MP5NAVY,CSW_TMP,CSW_ELITE: offset = OFFSET_GLOCK_AMMO;
		case CSW_FLASHBANG: offset = OFFSET_FLASH_AMMO;
		case CSW_HEGRENADE: offset = OFFSET_HE_AMMO;
		case CSW_SMOKEGRENADE: offset = OFFSET_SMOKE_AMMO;
		case CSW_C4: offset = OFFSET_C4_AMMO;
 
		default:
		{
			new invalidMsg[20 + 7];
			formatex(invalidMsg,20 + 6,"Invalid weapon id %d",weapon);
			set_fail_state(invalidMsg);
 
			return 0;
		}
	}
 
	set_pdata_int(index,offset,amount);
 
	return 1;
}
 
/*-----------------------------------------GET----------------------------------------------------*/
 
stock CsTeams:fm_get_user_team(id, &{CS_Internal_Models,_}:model = CS_DONTCHANGE)
{
	model = CS_Internal_Models:get_pdata_int(id, OFFSET_INTERNALMODEL);
 
	return CsTeams:get_pdata_int(id, OFFSET_TEAM);
}
 
stock fm_get_weapon_id(weapon_id)
{
	if(is_linux_server())
	{
		#undef EXTRAOFFSET_WEAPONS
		#define EXTRAOFFSET_WEAPONS 4
	}
	else
	{
		#undef EXTRAOFFSET_WEAPONS
		#define EXTRAOFFSET_WEAPONS	0
	}
 
	return get_pdata_int(weapon_id, OFFSET_WEAPONTYPE, EXTRAOFFSET_WEAPONS)
}
 
stock fm_get_user_plant(id)
{
	if(get_pdata_int(id, OFFSET_DEFUSE_PLANT) & CAN_PLANT_BOMB)
		return 1;
 
	return 0;
}
 
stock fm_get_user_defuse(id)
{
	if(get_pdata_int(id, OFFSET_DEFUSE_PLANT) & HAS_DEFUSE_KIT)
		return 1;
 
	return 0;
}
 
/*------------------------------------------------------------------------------------------------*/
new const g_weapon_names[][] =
{
	"", // Null random 1 to X  This is 0
	"weapon_p228",
	"weapon_scout",
	"weapon_xm1014",
	"weapon_mac10",
	"weapon_aug",
	"weapon_elite",
	"weapon_fiveseven",
	"weapon_ump45",
	"weapon_sg550",
	"weapon_galil",
	"weapon_famas",
	"weapon_usp",
	"weapon_glock18",
	"weapon_awp",
	"weapon_mp5navy",
	"weapon_m249",
	"weapon_m3",
	"weapon_m4a1",
	"weapon_tmp",
	"weapon_g3sg1",
	"weapon_deagle",
	"weapon_sg552",
	"weapon_ak47",
	"weapon_p90"
};
 
/*-------------------------------------------*/
/*-----------WARMPUP GIVE WEAPON-------------*/
/*-------------------------------------------*/
stock wup_give_weapon(index, weapon[], balas)
{
	fm_give_item(index, weapon);
	new wpnid = get_weaponid(weapon)
	fm_set_user_bpammo(index, wpnid, balas)
}
/*-------------------------------------------*/
/*-----------WARMPUP GIVE WEAPON-------------*/
/*-------------------------------------------*/
 
 
/*================================================================================================*/
/*************************************** [Color Chat] *********************************************/
/*=============================================================================R=E=Y=M=O=N==A=R=G=*/
 
 
enum Color
{
	NORMAL = 1, // clients scr_concolor cvar color
	GREEN, // Green Color
	TEAM_COLOR, // Red, grey, blue
	GREY, // grey
	RED, // Red
	BLUE, // Blue
}
 
new TeamName[][] = 
{
	"",
	"TERRORIST",
	"CT",
	"SPECTATOR"
}
 
ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
{
	new message[256];
 
	switch(type)
	{
		case NORMAL: // clients scr_concolor cvar color
		{
			message[0] = 0x01;
		}
		case GREEN: // Green
		{
			message[0] = 0x04;
		}
		default: // White, Red, Blue
		{
			message[0] = 0x03;
		}
	}
 
	vformat(message[1], 251, msg, 4);
 
	// Make sure message is not longer than 192 character. Will crash the server.
	message[192] = '^0';
 
	new team, ColorChange, index, MSG_Type;
 
	if(id)
	{
		MSG_Type = MSG_ONE;
		index = id;
	} else {
		index = FindPlayer();
		MSG_Type = MSG_ALL;
	}
 
	team = get_user_team(index);
	ColorChange = ColorSelection(index, MSG_Type, type);
 
	ShowColorMessage(index, MSG_Type, message);
 
	if(ColorChange)
	{
		Team_Info(index, MSG_Type, TeamName[team]);
	}
}
 
ShowColorMessage(id, type, message[])
{
	message_begin(type, saytextmsg, _, id);
	write_byte(id)		
	write_string(message);
	message_end();	
}
 
Team_Info(id, type, team[])
{
	message_begin(type, teaminfomsg, _, id);
	write_byte(id);
	write_string(team);
	message_end();
 
	return 1;
}
 
ColorSelection(index, type, Color:Type)
{
	switch(Type)
	{
		case RED:
		{
			return Team_Info(index, type, TeamName[1]);
		}
		case BLUE:
		{
			return Team_Info(index, type, TeamName[2]);
		}
		case GREY:
		{
			return Team_Info(index, type, TeamName[0]);
		}
	}
 
	return 0;
}
 
FindPlayer()
{
	new i = -1;
 
	while(i <= get_maxplayers())
	{
		if(is_user_connected(++i))
			return i;
	}
 
	return -1;
}
 
/*================================================================================================*/
/**************************************** [Registers] *********************************************/
/*=============================================================================R=E=Y=M=O=N==A=R=G=*/
 
public plugin_init()  
{ 
	register_plugin(PLUGIN, VERSION, AUTHOR) 
	register_cvar("wup_version", VERSION, FCVAR_SERVER | FCVAR_SPONLY) 
	register_cvar("wup_author", AUTHOR, FCVAR_SERVER | FCVAR_SPONLY) 
 
	register_event("TextMsg","autostartrr","a","2&#Game_C"); 
	RegisterHam(Ham_Killed, "player", "FwdPlayerDeath", 1); 
	RegisterHam(Ham_Spawn, "player", "FwdPlayerSpawn", 1); 
	register_event("CurWeapon", "check_change", "be", "1=1");
 
	register_forward(FM_SetModel, "forward_set_model");
 
	g_pcvar_allow = register_cvar("wup_drop", "");
	logtofilecvar = register_cvar("wup_logtofile", "1");
 
	g_max_clients = global_get(glb_maxClients);
	g_max_entities = global_get(glb_maxEntities);
 
	sync = CreateHudSyncObj(); 
	register_dictionary( "warmuppro.txt" ); 
	register_dictionary( "common.txt" );
 
	if( get_pcvar_num(logtofilecvar) == 1 )
	{
		new mapita[64]
		get_mapname(mapita, 63)
		log_to_file(LOGFILE, "<----------: Map %s :----------->", mapita)
	}
 
	register_concmd("wup_disable","admin_exec1",ADMIN_BAN,"Stop the WarmUP")
	register_concmd("wup_enable","admin_exec2",ADMIN_BAN,"Start a new WarmUP")
 
	hideweaponmsg = get_user_msgid( "HideWeapon" );
	moneymsg = get_user_msgid( "Money" );
	statusiconmsg = get_user_msgid( "StatusIcon" );
	saytextmsg = get_user_msgid( "SayText" );
	teaminfomsg = get_user_msgid( "TeamInfo" );
 
	/*    CVARS   */
	activadoo = register_cvar("wup_autostart", "") 
	respawn3d = register_cvar("wup_respawn", "1") 
	itemsxd = register_cvar("wup_items", "abcd") 
	mode = register_cvar("wup_mode", "1") 
	num_time = register_cvar("wup_time","120") 
	RGB = register_cvar("wup_color", "255255255") 
	cvar_x = register_cvar("wup_setx", "-1.0") 
	cvar_y = register_cvar("wup_sety", "0.28") 
	timeprotect = register_cvar("wup_protecttime", "3")
	/*    5.0 News Cvars   */
	ganador = register_cvar("wup_winner", "1")
	mostrarhud = register_cvar("wup_showhud", "1")
 
	wup_fwd_start = CreateMultiForward("wup_startwarmup", ET_IGNORE);
	wup_fwd_finish = CreateMultiForward("wup_finishwarmup", ET_IGNORE);
	wup_fwd_adminenable = CreateMultiForward("wup_adminenable", ET_IGNORE, FP_CELL);
	wup_fwd_admindsaible = CreateMultiForward("wup_adminidsable", ET_IGNORE, FP_CELL);
} 
 
/*================================================================================================*/
/************************************ [Register Natives] ******************************************/
/*=============================================================================R=E=Y=M=O=N==A=R=G=*/
 
public plugin_natives()
{
	register_native("is_warmup_enable", "native_is_warmup_enable", 1);
	register_native("wup_timeleft", "native_wup_timeleft", 1);
	register_native("wup_get_user_kills", "native_wup_get_user_kills", 1);
}
 
/*================================================================================================*/
/*********************************** [File Config Cvars] ******************************************/
/*=============================================================================R=E=Y=M=O=N==A=R=G=*/
 
public plugin_cfg()
{
	new filename[64], filename2[64]
	get_configsdir(filename, 63);
	get_configsdir(filename2, 63);
	add(filename, 63, FILECONFIGNAME);
	add(filename2, 63, FILEMAPSNAME);
 
	if(file_exists(filename))
	{
		server_cmd("exec ^"%s^"",filename)
 
		if( get_pcvar_num(logtofilecvar) == 1 )
			log_to_file(LOGFILE, "Correct Exec: %s", filename)
	}
	else
	{
		if( get_pcvar_num(logtofilecvar) == 1 )
			log_to_file(LOGFILE, "Create Cvar Files")
 
		new mensajito[256]
		formatex(mensajito, 255, "; File location: $moddir/%s", filename)
		write_file(filename,"; WarmUP Configuration File")
		write_file(filename,mensajito)
		write_file(filename,";")
		write_file(filename,";/////////WARMUP PRO FILE\\\\\\\\\\;")
		write_file(filename,";/////////WARMUP PRO FILE\\\\\\\\\\;")
		write_file(filename,";")
		write_file(filename,";")
		write_file(filename,";Enable the WarmUP when the GameStart")
		write_file(filename,"wup_autostart 1")
		write_file(filename,";")
		write_file(filename,";")
		write_file(filename,";Enable the respawn is a player die in the WarmUP")
		write_file(filename,"wup_respawn 1")
		write_file(filename,";")
		write_file(filename,";")
		write_file(filename,";Items to give to a player in the respawn")
		write_file(filename,";A) Give HE B) Give FB C) Give SG")
		write_file(filename,";D) Give C4 to Terrorist And Defuse to CT.")
		write_file(filename,"wup_items ^"abcd^"")
		write_file(filename,";")
		write_file(filename,";")
		write_file(filename,";0) Normal Rounds  1) Weapon Chance  2) Knife")
		write_file(filename,"wup_mode 1")
		write_file(filename,";")
		write_file(filename,";")
		write_file(filename,";Set the during of the warmUP.")
		write_file(filename,"wup_time 120")
		write_file(filename,";")
		write_file(filename,";")
		write_file(filename,";Color of the Hud that show time remending.")
		write_file(filename,"wup_color ^"255255255^"")
		write_file(filename,";")
		write_file(filename,";")
		write_file(filename,";X Position of the hud")
		write_file(filename,"wup_setx ^"-1.0^"")
		write_file(filename,";")
		write_file(filename,";")
		write_file(filename,";Y Position of the hud")
		write_file(filename,"wup_sety ^"0.28^"")
		write_file(filename,";")
		write_file(filename,";")
		write_file(filename,";Set Time of SpawnProtection  0 = Disable")
		write_file(filename,"wup_protectime 3")
		write_file(filename,";")
		write_file(filename,";")
		write_file(filename,"; Show a Msg with the winner of the WarmUP")
		write_file(filename,"wup_winner ^"1^"")
		write_file(filename,";")
		write_file(filename,";")
		write_file(filename,"; Show Hud Wit htime remending")
		write_file(filename,"wup_showhud ^"1^"")
		write_file(filename,";")
		write_file(filename,";")
		write_file(filename,"; Enable Logs of the plugin")
		write_file(filename,"wup_logtofile ^"1^"")
		write_file(filename,";")
		write_file(filename,";")
		write_file(filename,";This plis dont change :D ")
		write_file(filename,"wup_drop ^"^" // This Dont change")
		write_file(filename,";")
		write_file(filename,";")
		write_file(filename,";")
		write_file(filename,";")
		write_file(filename,";/////////WARMUP PRO FILE\\\\\\\\\\;")
		write_file(filename,";/////////WARMUP PRO FILE\\\\\\\\\\;")
		write_file(filename,"echo WarmUP 5.6 Pro Cvars Enable.")
		write_file(filename,"echo WarmUP 5.6 Pro Create by ReymonARG")
		write_file(filename,";/////////WARMUP PRO FILE\\\\\\\\\\;")
		write_file(filename,";/////////WARMUP PRO FILE\\\\\\\\\\;")
 
		server_cmd("exec %s",filename)
	}
 
	if( !file_exists(filename2) )
	{
		if( get_pcvar_num(logtofilecvar) == 1 )
			log_to_file(LOGFILE, "Create Maps Configuration File")
 
		new mensajelol[256]
		formatex(mensajelol, 255, "; File location: $moddir/%s", filename2)
		write_file(filename2,"; WarmUP Mpas Configuration File")
		write_file(filename2,mensajelol)
		write_file(filename2,";")
		write_file(filename2,"; With this File you can Change the AutoStart of all yours maps")
		write_file(filename2,";")
		write_file(filename2,"; Example:  <mapname> <status>")
		write_file(filename2,"; ^"de_nuke^" ^"0^"")
		write_file(filename2,";")
		write_file(filename2,"; Prefix Example: <Prefix> <status> <P>")
		write_file(filename2,"; ^"cs_^" ^"0^" ^"P^"")
		write_file(filename2,";")
		write_file(filename2,"^"kz_^" ^"0^" ^"P^"")
	}
 
	enableordisable()
 
}
 
public enableordisable()
{
	new readdata[128],txtlen, filenamelala[64]
	new parsedmap[64], onoroff[32], prefixs[32]
	new mapitas[64]
 
	get_configsdir(filenamelala,63)
	add(filenamelala, 63, FILEMAPSNAME)
 
	new fsize = file_size(filenamelala,1)
	get_mapname(mapitas,63)
	g_mapexist_file = false;
	g_is_autofile = false;
 
	for (new line=0;line<=fsize;line++)
	{
		read_file(filenamelala,line,readdata,127,txtlen)
		parse(readdata,parsedmap,63,onoroff,31, prefixs, 31)
 
		new estaon = str_to_num(onoroff);
 
		if( equal(mapitas,parsedmap) || containi(prefixs, "P") != -1 && containi(mapitas, parsedmap) != -1 )
		{
			g_mapexist_file = true;
			g_is_autofile = estaon ? true : false
 
			if( get_pcvar_num(logtofilecvar) == 1 )
				log_to_file(LOGFILE, "WarmUP Pro: %s by File", estaon ? "ON" : "OFF")
 
			break;
		}
	}
}
 
/*================================================================================================*/
/********************************** [Srting Flags A B C D] ****************************************/
/*=============================================================================R=E=Y=M=O=N==A=R=G=*/
 
public get_item_flags() 
{ 
	new sFlags[24] 
	get_pcvar_string(itemsxd,sFlags,23) 
	return read_flags(sFlags) 
} 
 
/*================================================================================================*/
/************************************* [No Weapon Drop] *******************************************/
/*=============================================================================R=E=Y=M=O=N==A=R=G=*/
 
public forward_set_model(ent, const model[]) 
{
 
	if( wup_on && get_pcvar_num(mode) == 1 || wup_on && get_pcvar_num(mode) == 2)
	{
		if (!pev_valid(ent) || !equali(model, g_model_prefix, sizeof g_model_prefix - 1) || equali(model, g_wbox_model))
			return FMRES_IGNORED
 
		new id = pev(ent, pev_owner)
		if (!(1 <= id <= g_max_clients))
			return FMRES_IGNORED
 
		new weapon
		static class[32]
		pev(ent, pev_classname, class, sizeof class - 1)
		if (equal(class, g_shield_class))
			weapon = SHIELD
		else if (!equal(class, g_wbox_class))
			return FMRES_IGNORED
 
		new cvar_state = 7
		new cvar_teams = 3
		new cvar_allow = get_pcvar_num(g_pcvar_allow)
		if (cvar_state <= 0 || cvar_teams <= 0)
			return FMRES_IGNORED
 
		new state_, team
		if (!is_user_connected(id)) {
			state_ = FLAG_DISCONNECT
			team = FLAG_T // on disconnect only T can drop weapon (the bomb only)
		}
		else if (!is_user_alive(id))
			state_ = FLAG_DEAD
		else
			state_ = FLAG_ALIVE
 
		if (!(cvar_state & state_))
			return FMRES_IGNORED
 
		if (state_ != FLAG_DISCONNECT) 
		{
			new CsTeams:equipo = fm_get_user_team(id)
			switch( equipo ) 
			{
				case CS_TEAM_T: 
				{
					team = FLAG_T
				}
 
				case CS_TEAM_CT:
				{
					team = FLAG_CT
				}
			}
		}
 
		if (!(cvar_teams & team))
			return FMRES_IGNORED
 
		if (weapon == SHIELD) 
		{
			if (!CONTAIN_FLAG_OF_INDEX(cvar_allow, SHIELD)) 
			{
				set_pev(ent, pev_effects, EF_NODRAW)
				set_task(0.1, "task_remove_shield", ent) // we even can't use nextthink, that will not work
			}
 
			return FMRES_IGNORED
		}
 
		for (new i = g_max_clients + 1; i < g_max_entities; ++i) 
		{
			if (!pev_valid(i) || ent != pev(i, pev_owner))
				continue
 
			if (!CONTAIN_FLAG_OF_INDEX(cvar_allow, fm_get_weapon_id(i)))
				dllfunc(DLLFunc_Think, ent)
 
			return FMRES_IGNORED
		}
 
	}
	return FMRES_IGNORED
}
 
public task_remove_shield(ent) 
{
	if(wup_on && get_pcvar_num(mode) == 1 || wup_on && get_pcvar_num(mode) == 2)
	{
		dllfunc(DLLFunc_Think, ent)
	}
}
 
/*================================================================================================*/
/************************************ [Respawn Player] ********************************************/
/*=============================================================================R=E=Y=M=O=N==A=R=G=*/
 
public TaskCheckAlive(plr) 
{ 
	if( !g_can_respawn ) 
	{ 
		return;
	} 
 
	new CsTeams:team = fm_get_user_team(plr); 
	if( team == CS_TEAM_UNASSIGNED || team == CS_TEAM_SPECTATOR ) 
	{ 
		set_task(1.0, "TaskCheckAlive", plr); 
 
		return; 
	} 
 
	if( g_is_dead[plr] ) 
	{ 
		ExecuteHamB(Ham_CS_RoundRespawn, plr); 
	} 
} 
 
/*================================================================================================*/
/********************************** [Connect  & Desconnect] ***************************************/
/*=============================================================================R=E=Y=M=O=N==A=R=G=*/
 
public client_putinserver(plr) 
{ 
	if( wup_on ) 
	{ 
		set_task(2.0, "connectrespawn", plr); 
		g_is_connect[plr] = true;
		g_ganadores[plr] = 0;
	}     
} 
 
public connectrespawn(plr)
{	
	if( !wup_on )
		return;
 
	if( is_user_alive(plr) )
		return;
 
	new CsTeams:team = fm_get_user_team(plr); 
	if( team == CS_TEAM_UNASSIGNED || team == CS_TEAM_SPECTATOR ) 
	{ 
		set_task(1.0, "connectrespawn", plr); 
 
		return;
	} 
 
	if( g_is_connect[plr] ) 
	{ 
		ExecuteHamB(Ham_CS_RoundRespawn, plr); 
		g_is_connect[plr] = false;
	}
}
 
public client_disconnect(plr) 
{ 
	remove_task(plr); 
	g_ganadores[plr] = 0;
} 
 
/*================================================================================================*/
/************************************** [Player Death] ********************************************/
/*=============================================================================R=E=Y=M=O=N==A=R=G=*/
 
public FwdPlayerDeath(plr, idattacker) 
{ 
	g_is_dead[plr] = true; 
 
	if(get_pcvar_num(respawn3d) == 1) 
	{ 
		set_task(2.0, "TaskCheckAlive", plr); 
	} 
 
	if( wup_on && get_pcvar_num(ganador) == 1 && fm_get_user_team(plr) != fm_get_user_team(idattacker) && is_user_connected(idattacker) )
	{
		g_ganadores[idattacker]++;
	}
	else if( wup_on && get_pcvar_num(ganador) == 1 && fm_get_user_team(plr) == fm_get_user_team(idattacker) && is_user_connected(idattacker) )
	{
		g_ganadores[idattacker]--;
	}
 
 
	if(wup_on && get_pcvar_num(mode) == 1 || wup_on && get_pcvar_num(mode) == 2)
	{
		if (!(7 & FLAG_DEAD) || !(3 & FLAG_CT) || !fm_get_user_defuse(plr))
			return
 
		if (CONTAIN_FLAG_OF_INDEX(get_pcvar_num(g_pcvar_allow), DEFUSER))
			return
 
		fm_set_user_defuse(plr, 0)
		set_pev(plr, pev_body, 0) // backward compatibility
	}
}
 
/*================================================================================================*/
/*************************************** [Player Spawn] *******************************************/
/*=============================================================================R=E=Y=M=O=N==A=R=G=*/
 
public FwdPlayerSpawn(plr) 
{
	if( is_user_alive(plr)) 
	{ 
		g_is_dead[plr] = false; 
 
		if( g_can_respawn && wup_on && get_pcvar_num(timeprotect) != 0 )
		{
			set_task(0.1, "wup_protect", plr)
		}
 
		if( wup_on && get_pcvar_num(mode) == 1 || wup_on && get_pcvar_num(mode) == 2)
		{
			fm_set_user_money(plr, 0)
			HideMoney(plr)
		}
 
		if(wup_on && get_pcvar_num(mode) == 1)
		{
			new rand = random_num(1,sizeof(g_weapon_names) -1);
			fm_strip_user_weapons(plr)
			fm_give_item(plr, "weapon_knife")
			wup_give_weapon(plr, g_weapon_names[rand], 250)
			set_task(0.1, "giveitems", plr)
		}
	} 
} 
 
/*================================================================================================*/
/************************************ [Spawn Protection] ******************************************/
/*=============================================================================R=E=Y=M=O=N==A=R=G=*/
 
public wup_protect(plr)
{
	new Float:ProtecTime = get_pcvar_float(timeprotect)
	if( wup_on && get_pcvar_num(timeprotect) != 0 )
	{
		if(get_user_team(plr) == 1)
		{
			fm_set_rendering(plr, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 26)
			fm_set_user_godmode(plr, 1)
		}
 
		if(get_user_team(plr) == 2)
		{
			fm_set_rendering(plr, kRenderFxGlowShell, 0, 0, 255, kRenderNormal, 26)
			fm_set_user_godmode(plr, 1)
		}
 
		set_task(ProtecTime, "desprotect", plr)
	}
}
 
public desprotect(plr)
{
	fm_set_rendering(plr, kRenderFxGlowShell, 0, 0, 0, kRenderNormal, 26)
	fm_set_user_godmode(plr, 0)
}
 
/*================================================================================================*/
/*************************************** [Give Items] *********************************************/
/*=============================================================================R=E=Y=M=O=N==A=R=G=*/
 
 
public giveitems(plr)
{
	new iFlags = get_item_flags() 
	new CsTeams:team = fm_get_user_team(plr); 
	if( g_items ) 
	{ 
		if (iFlags&ITEM_HE) 
		{ 
			fm_give_item(plr,"weapon_hegrenade") 
		} 
 
		if(iFlags&ITEM_FS) 
		{ 
			fm_give_item(plr,"weapon_flashbang") 
		} 
 
		if(iFlags&ITEM_SG) 
		{ 
			fm_give_item(plr,"weapon_smokegrenade") 
		} 
 
		if( team == CS_TEAM_CT && iFlags&ITEM_C4 ) 
		{ 
			fm_give_item(plr, "item_thighpack") 
		} 
 
		if( team == CS_TEAM_T && iFlags&ITEM_C4 ) 
		{ 
			fm_give_item(plr, "weapon_c4") 
			fm_set_user_plant(plr, 1, 1)
		} 
	}
}
 
/*================================================================================================*/
/********************************* [Remove Players Weapons] ***************************************/
/*=============================================================================R=E=Y=M=O=N==A=R=G=*/
 
public check_change(plr) 
{ 
	if(get_pcvar_num(mode) == 2)
	{ 
		if( g_cuchi )
		{ 
			new wpnid = read_data(2) 
			if( !(wpnid == CSW_KNIFE || wpnid == CSW_HEGRENADE || wpnid == CSW_FLASHBANG || wpnid == CSW_SMOKEGRENADE || wpnid == CSW_C4) ) 
			{ 
				set_task(0.1, "remove", plr); 
				fm_set_user_money(plr, 0);  
				HideMoney(plr)
			} 
		} 
	}
} 
 
 
public remove(plr) 
{ 
	fm_strip_user_weapons(plr) 
	fm_give_item(plr,"weapon_knife")
	fm_set_user_money(plr, 0);
	set_task(0.1, "giveitems", plr)
} 
 
/*================================================================================================*/
/******************************** [Remove Huds From Players] **************************************/
/*=============================================================================R=E=Y=M=O=N==A=R=G=*/
 
public HideMoney(plr)
{
	if( wup_on && get_pcvar_num(mode) == 1 || wup_on && get_pcvar_num(mode) == 2)
	{
		message_begin( MSG_ONE, hideweaponmsg, _, plr );
		write_byte( HIDE_MONEY );
		message_end();
	}
 
	if( !(wup_on) || get_pcvar_num(mode) == 0)
	{
		message_begin( MSG_ONE, hideweaponmsg, _, plr );
		write_byte( SHOW_MONEY );
		message_end();
	}
}
 
/*================================================================================================*/
/************************************ [Admins Commands] *******************************************/
/*=============================================================================R=E=Y=M=O=N==A=R=G=*/
 
public admin_exec1(plr, level)
{	
	if(!access(plr, level))
	{
		client_print(plr, print_console, "%L", plr, "NO_ACC_COM")
		return PLUGIN_HANDLED
	}
 
	set_cvar_float("sv_restartround",1.0);
	batata()
	g_can_respawn = false; 
	g_cuchi = false; 
	g_items = false; 
	wup_on = false; 
	client_cmd(0, "mp3 stop")
	remove_task(plr); 
	new name[32]
	get_user_name(plr, name, 31)
 
	if( get_pcvar_num(logtofilecvar) == 1 )
		log_to_file(LOGFILE, "ADMIN: %s Disable WarmUP", name);
 
 
	client_print(plr, print_console, "[WUP] WarmUP Pro DISABLED")
	ColorChat(0, GREEN,"^x04[WUP] ADMIN:^x03 %s^x04 Set WarmUP Pro DISABLE", name)
	ExecuteForward(wup_fwd_admindsaible, fwd_resultado, plr);
 
	return PLUGIN_HANDLED
}
 
public admin_exec2(plr, level)
{
	if(!access(plr, level))
	{
		client_print(plr, print_console, "%L", plr, "NO_ACC_COM")
		return PLUGIN_HANDLED
	}
 
	if( wup_on )
		return PLUGIN_HANDLED
 
	time_s = get_pcvar_num(num_time) 
	set_task(float(time_delay),"restart_time") 
 
	batata()
	set_cvar_float("sv_restartround",1.0);
	g_can_respawn = true; 
	g_cuchi = true; 
	g_items = true; 
	wup_on = true;
	client_cmd(0, "mp3 play %s", muzyka);
	new iFlags = get_item_flags()
	if( !(iFlags&ITEM_C4) )
	{
		set_pcvar_num(g_pcvar_allow, 64)
	}
 
	new name[32]
	get_user_name(plr, name, 31)
 
	if( get_pcvar_num(logtofilecvar) == 1 )
		log_to_file(LOGFILE, "ADMIN: %s Start a New WarmUP", name);
 
 
	client_print(plr, print_console, "[WUP] WarmUP Pro Enable")
	ColorChat(0, GREEN,"^x04[WUP] ADMIN:^x03 %s^x04 Set WarmUP Pro Enable", name)
	ExecuteForward(wup_fwd_adminenable, fwd_resultado, plr);
 
	return PLUGIN_HANDLED
}
 
/*================================================================================================*/
/****************************** [Exec Time And Clean Arrays] **************************************/
/*=============================================================================R=E=Y=M=O=N==A=R=G=*/
 
public autostartrr(plr) 
{ 	
	if( g_mapexist_file && !g_is_autofile )
	{
		g_can_respawn = false;
		g_cuchi = false; 
		g_items = false; 
		wup_on = false;
		client_cmd(0, "mp3 stop")
		remove_task(plr); 
 
		return;
	}
 
	if(get_pcvar_num(activadoo) == 0) 
	{ 
		if( g_mapexist_file && g_is_autofile )
		{
			//do nothing
		}
		else
		{
			g_can_respawn = false;
			g_cuchi = false; 
			g_items = false; 
			wup_on = false;
			client_cmd(0, "mp3 stop")
 
			if( get_pcvar_num(logtofilecvar) == 1 )
				log_to_file(LOGFILE, "WarmUP AutoStart Off")
 
			remove_task(plr); 
		}
	} 
 
	if(get_pcvar_num(activadoo) == 1 || g_mapexist_file && g_is_autofile)
	{ 
		time_s = get_pcvar_num(num_time) 
		set_task(float(time_delay),"restart_time")
		ExecuteForward(wup_fwd_start, fwd_resultado)
		//g_ganadores[0] = 0;
		wup_on = true;
		client_cmd(0, "mp3 play %s", muzyka)
		g_can_respawn = true; 
		g_cuchi = true; 
		g_items = true; 
 
		if( get_pcvar_num(logtofilecvar) == 1 )
			log_to_file(LOGFILE, "WarmUP AutoStart On");
 
 
		new iFlags = get_item_flags()
		if( !(iFlags&ITEM_C4) )
		{
			set_pcvar_num(g_pcvar_allow, 64)
		}
	} 
} 
 
/*================================================================================================*/
/*********************************** [Show Time & Restart] ****************************************/
/*=============================================================================R=E=Y=M=O=N==A=R=G=*/
 
public restart_time() 
{ 
	new color[10] 
	new r
	new g
	new b
	get_pcvar_string(RGB, color, 9) 
	new c = str_to_num(color) 
	r = c / 1000000 
	c %= 1000000  
	g = c / 1000 
	b = c % 1000 
 
	if(wup_on && time_s >= 0) 
	{  
		ClearSyncHud(0, sync)
 
		if(time_s < 1) 
		{ 
			set_cvar_float("sv_restartround",2.0);
			g_can_respawn = false; 
			g_cuchi = false; 
			g_items = false; 
		}
 
		if(time_s == 0)
		{
			wup_on = false;
			client_cmd(0, "mp3 stop")
 
			if( get_pcvar_num(logtofilecvar) == 1 )
				log_to_file(LOGFILE, "WarmUP Finish")
 
			ExecuteForward(wup_fwd_finish, fwd_resultado)
 
			if( get_pcvar_num(ganador) == 1 )
				darresultado()
		}
 
		if( get_pcvar_num(mostrarhud) == 1 )
		{
			set_hudmessage( r, g, b, get_pcvar_float(cvar_x), get_pcvar_float(cvar_y), 1, 6.0, 6.0); 
			ShowSyncHudMsg(0, sync, "%L", LANG_PLAYER, "MP_DISPLAY", time_s);
		}
 
		--time_s; 
		set_task(1.0,"restart_time")
	}
} 
 
/*================================================================================================*/
/************************************** [Winner Info] *********************************************/
/*=============================================================================R=E=Y=M=O=N==A=R=G=*/
 
public darresultado()
{
	new resultadofinal = 0
	new name[32]
	new mensajes[256]
	new bool:g_muchos
	mensajes[0] = 0;
	name[0] = 0;
	g_muchos = false;
	resultadofinal = 0
 
	for(new i = 1; i <= 32 ; i++)
	{
 
		if( g_ganadores[i] == resultadofinal )
		{
			g_muchos = true;
			get_user_name(i, name, 31)
 
			formatex(mensajes, 255, "%s, %s", mensajes, name)
		}
 
		if( g_ganadores[i] > resultadofinal )
		{
			name[0] = 0;
			mensajes[0] = 0;
			g_muchos = false;
			resultadofinal = g_ganadores[i]
			get_user_name(i, name, 31)
			formatex(mensajes, 255, "%s", name)
		}
	}
 
	if( resultadofinal >= 1 )
	{
		if( !g_muchos )
		{
			ColorChat(0, GREEN, "^x04[WUP] The winner is:^x03 %s^x04 with^x03 %d^x04 Flags", name, resultadofinal)
 
			if( get_pcvar_num(logtofilecvar) == 1 )
				log_to_file(LOGFILE, "The Winner of WarmUP was: %s with %d Flags", name, resultadofinal)
 
		}
		else if( g_muchos )
		{
			ColorChat(0, GREEN, "^x04[WUP] ^x03%s ^x04 Win the WarmUP Rounds with^x03 %d^x04 Flags", mensajes, resultadofinal)
 
			if( get_pcvar_num(logtofilecvar) == 1 )
				log_to_file(LOGFILE, "%s Win the WarmUP Rounds with %d Flags", mensajes, resultadofinal)
 
		}
	}
 
	if( resultadofinal == 0 )
	{
		ColorChat(0, GREEN, "[WUP] NoBody won the WarmUP Round")
 
		if( get_pcvar_num(logtofilecvar) == 1 )
			log_to_file(LOGFILE, "NoBody won the WarmUP Round")
 
	}
 
	batata()
 
}
 
 
public batata()
{
	for(new i = 0; i <= 32 ; i++)
	{
		g_ganadores[i] = 0;
	}
}
 
/*================================================================================================*/
/***************************************** [Navites] **********************************************/
/*=============================================================================R=E=Y=M=O=N==A=R=G=*/
 
public native_is_warmup_enable()
{
	return wup_on;
}
 
public native_wup_timeleft()
{
	return time_s;
}
 
public native_wup_get_user_kills(id)
{
	return g_ganadores[id];
}
 
/*================================================================================================*/
/********************************** [Create By ReymonARG] *****************************************/
/*=============================================================================R=E=Y=M=O=N==A=R=G=*/