· 8 years ago · Mar 08, 2018, 05:38 AM
1/* Script generated by Pawn Studio */
2
3#include <amxmodx>
4#include <amxmisc>
5#include <hamsandwich>
6#include <sqlx>
7#include <fakemeta>
8#include <cstrike>
9#include <engine>
10#include <api_oldmenu>
11#include <dhudmessage>
12
13native bazuka(id);
14native molotov(id);
15native ammo(id);
16native hook(id);
17native auto(id);
18native sentry(id);
19
20new const iPlugin[][] = { "Mapas Frutas Niveles", "1", "Hypnotize", "[DG]" };
21
22const TASK_SHOWHUD = 50000;
23#define ID_SHOWHUD (taskid - TASK_SHOWHUD)
24
25new const szTable[ ] = "cuentas";
26#define MYSQL
27
28#if defined MYSQL
29
30#define MYSQL_HOST "127.0.0.1"
31#define MYSQL_USER "Drunk"
32#define MYSQL_PASS "stJMEoyM"
33#define MYSQL_DATEBASE "45581264427062"
34
35#else
36
37#define SQLITE_DATEBASE "cuentas"
38
39#endif
40
41new const iWeb[] = "www.Drunk-Gaming.com";
42
43enum eTienda{ tNombre[100], tPrecio };
44enum eRangos{ rNombre[100], rNecesario };
45enum eAdmin{ aNombre[100], aFlag, aGanancia };
46enum eHats { hNombre[64], hModel[64], hFlags, hTAdmin[50], hPuntos };
47enum{ REGISTRAR_CUENTA=1, LOGUEAR_CUENTA, CARGAR_DATOS, GUARDAR_DATOS};
48enum _:Armas{ CSW_NAME, WPN_ID[20], V_MDL[70], P_MDL[70], NAMEE[70], Nivel, FLAG};
49enum { KNIFES = 1, M4A1, AWP, GLOCK18, AK47, USP, DEAGLE, MAX_ARM };
50
51new const iTienda[][eTienda] = {
52 { "Bazooka \r(1 ronda)", 180 },
53 { "Molotov \r(1 ronda)", 30 },
54 { "Balas Infinitas \r(1 ronda)", 150 },
55 { "Hook \r(1 ronda)", 70 },
56 { "AutoBunny \r(1 ronda)", 70 },
57 { "Torreta \r(1 ronda)", 150 }
58}
59new const iRangos[][eRangos] = {
60 { "Villero", 0 },
61 { "Punga", 101 },
62 { "Turro", 301 },
63 { "Pandillero", 901 },
64 { "Cheto", 1801 },
65 { "Pichurria", 3501 },
66 { "Barrendero", 6001 },
67 { "Panadero", 9001 },
68 { "Albanil", 13501 },
69 { "Verdulero", 23501 },
70 { "Granjero", 37001 },
71 { "Cabinero", 56001 },
72 { "Aficionado", 88501 },
73 { "Explorador", 105500 },
74 { "Magnate", 135500 },
75 { "Elite", 180001 },
76 { "Profesional", 235501 },
77 { "Letal", 290001 },
78 { "Heroe", 340001 },
79 { "Leyenda", 400001 },
80 { "Master", 440501 },
81 { "Grand Master", 1000000 }
82}
83new const iAdmins[][eAdmin] = {
84 { "[OWNER]", ADMIN_RCON, 3 },
85 { "[ADMIN]", ADMIN_LEVEL_F, 2 },
86 { "[DONADOR]", ADMIN_LEVEL_G, 3 },
87 { "[V.I.P]", ADMIN_LEVEL_H, 2 }
88}
89#define null ""
90new const iHats[][eHats] = {
91 { "HeadCrab", "models/dg_hats/dg_headcrab.mdl", -1, null, 1000 },
92 { "Harry Potter", "models/dg_hats/dg_harrypotter.mdl", -1, null, 1250 },
93 { "Beanie", "models/dg_hats/dg_beanie.mdl", -1, null,1500 },
94 { "Mexicano", "models/dg_hats/dg_mexicano.mdl", -1, null, 1800 },
95 { "Samurai", "models/dg_hats/dg_samurai.mdl", -1, null, 2000 },
96 { "Super Space", "models/dg_hats/dg_superspace.mdl", -1, null, 2200 },
97 { "SubZero", "models/dg_hats/dg_subzero.mdl", -1, null, 2500 },
98 { "Maligno", "models/dg_hats/dg_maligno.mdl", -1, null, 3000 },
99 { "Anonymous", "models/dg_hats/dg_anonymous.mdl", ADMIN_BAN, "VIP", 0 },
100 { "Skyrim", "models/dg_hats/dg_skyrim.mdl", ADMIN_BAN, "VIP", 0 }
101};
102new g_isUsedHat[ 33 ][ sizeof(iHats) ];
103new const WEAPONENTNAMES[][] = { "", "weapon_p228", "", "weapon_scout", "weapon_hegrenade", "weapon_xm1014", "weapon_c4", "weapon_mac10",
104 "weapon_aug", "weapon_smokegrenade", "weapon_elite", "weapon_fiveseven", "weapon_ump45", "weapon_sg550",
105 "weapon_galil", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249",
106 "weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_g3sg1", "weapon_flashbang", "weapon_deagle", "weapon_sg552",
107"weapon_ak47", "weapon_knife", "weapon_p90" }
108//-1 sin acceso
109new const iKnifes[][Armas] =
110{
111 { CSW_KNIFE, "weapon_knife", "models/v_knife.mdl", "default", "Normal", 0, -1},
112 { CSW_KNIFE, "weapon_knife", "models/dg_knives/v_karate.mdl", "default", "Karate", 1000, -1},
113 { CSW_KNIFE, "weapon_knife", "models/dg_knives/v_bowie.mdl", "default", "Bowie", 1500, -1},
114 { CSW_KNIFE, "weapon_knife", "models/dg_knives/v_bayonet.mdl", "default", "Bayonet", 1800, -1},
115 { CSW_KNIFE, "weapon_knife", "models/dg_knives/v_winner.mdl", "default", "Winner ", 2000, -1},
116 { CSW_KNIFE, "weapon_knife", "models/dg_knives/v_chakram.mdl", "default", "Chakram", 2200, -1},
117 { CSW_KNIFE, "weapon_knife", "models/dg_knives/v_karambit.mdl", "default", "Karambit ", 2500, -1},
118 { CSW_KNIFE, "weapon_knife", "models/dg_knives/v_cuchillas.mdl", "default", "Cuchillas", 3000, -1},
119 { CSW_KNIFE, "weapon_knife", "models/dg_knives/v_platano.mdl", "default", "Platano", 0, ADMIN_BAN}
120};
121new g_isUsedKnife[ 33 ][ sizeof(iKnifes) ];
122new const iM4a1[][Armas] =
123{
124 { CSW_M4A1, "weapon_m4a1", "default", "default", "Normal", 0, -1},
125 { CSW_M4A1, "weapon_m4a1", "models/dg_weapons/m4a1/v_m4a1_musica.mdl", "default", "M4A1 - Musica", 6, -1},
126 { CSW_M4A1, "weapon_m4a1", "models/dg_weapons/m4a1/v_m4a1_decimator.mdl", "default", "M4A1 - DecimatoR", 12, -1},
127 { CSW_M4A1, "weapon_m4a1", "models/dg_weapons/m4a1/v_m4a1_toxic.mdl", "default", "M4A1 - Toxic", 16, -1},
128 { CSW_M4A1, "weapon_m4a1", "models/dg_weapons/m4a1/v_m4a1_griffin.mdl", "default", "M4A1 - Griffin", 19, -1},
129 { CSW_M4A1, "weapon_m4a1", "models/dg_weapons/m4a1/v_m4a1_dragonking.mdl", "default", "M4A1 - Dragon King", 20, -1},
130 { CSW_M4A1, "weapon_m4a1", "models/dg_weapons/m4a1/v_m4a1_deadspace.mdl", "default", "M4A1 - Dead Space", 0, ADMIN_BAN}
131
132};
133
134new const iAwp[][Armas] =
135{
136 { CSW_AWP, "weapon_awp", "default", "default", "Normal", 0, -1},
137 { CSW_AWP, "weapon_awp", "models/dg_weapons/awp/v_awp_reygusano.mdl", "default", "AWP - Rey Gusano", 7, -1},
138 { CSW_AWP, "weapon_awp", "models/dg_weapons/awp/v_awp_captainstrike.mdl", "default", "AWP - Captain Strike", 12, -1},
139 { CSW_AWP, "weapon_awp", "models/dg_weapons/awp/v_awp_dragonlore.mdl", "default", "AWP - Dragon Lore", 15, -1},
140 { CSW_AWP, "weapon_awp", "models/dg_weapons/awp/v_awp_trg-21.mdl", "default", "AWP - TRG-21", 17, -1},
141 { CSW_AWP, "weapon_awp", "models/dg_weapons/awp/v_awp_seaimpaler.mdl", "default", "AWP - Sea Impaler", 20, -1},
142 { CSW_AWP, "weapon_awp", "models/dg_weapons/awp/v_awp_onitaiji.mdl", "default", "AWP - Oni Taiji", 0, ADMIN_BAN}
143};
144
145new const iDeagle[][Armas] =
146{
147 { CSW_DEAGLE, "weapon_deagle", "default", "default", "Normal", 0, -1},
148 { CSW_DEAGLE, "weapon_deagle", "models/dg_weapons/deagle/v_deagle_wayfarer.mdl", "default", "Deagle - Wayfarer", 4, -1},
149 { CSW_DEAGLE, "weapon_deagle", "models/dg_weapons/deagle/v_deagle_ice.mdl", "default", "Deagle - Ice", 7, -1},
150 { CSW_DEAGLE, "weapon_deagle", "models/dg_weapons/deagle/v_deagle_cyberwanderer.mdl", "default", "Deagle - Cyber Wanderer", 10, -1},
151 { CSW_DEAGLE, "weapon_deagle", "models/dg_weapons/deagle/v_deagle_warcraft.mdl", "default", "Deagle - Warcraft", 13, -1},
152 { CSW_DEAGLE, "weapon_deagle", "models/dg_weapons/deagle/v_deagle_obstacle.mdl", "default", "Deagle - Obstacle", 16, -1},
153 { CSW_DEAGLE, "weapon_deagle", "models/dg_weapons/deagle/v_deagle_toxicator.mdl", "default", "Deagle - Toxicator", 0, ADMIN_BAN}
154}
155
156new const iGlock18[][Armas] =
157{
158 { CSW_GLOCK18, "weapon_glock18", "default", "default", "Normal", 0, -1},
159 { CSW_GLOCK18, "weapon_glock18", "models/dg_weapons/glock/v_glock18_foxhound.mdl", "default", "Glock - Fox Hound", 4, -1},
160 { CSW_GLOCK18, "weapon_glock18", "models/dg_weapons/glock/v_glock18_weasel.mdl", "default", "Glock - Weasel", 7, -1},
161 { CSW_GLOCK18, "weapon_glock18", "models/dg_weapons/glock/v_glock18_cityscape.mdl", "default", "Glock - City Scape", 10, -1},
162 { CSW_GLOCK18, "weapon_glock18", "models/dg_weapons/glock/v_glock18_fire_elemental.mdl", "default", "Glock - Fire Elemental", 13, -1},
163 { CSW_GLOCK18, "weapon_glock18", "models/dg_weapons/glock/v_glock18_crimson.mdl", "default", "Glock - Crimson", 16, -1},
164 { CSW_GLOCK18, "weapon_glock18", "models/dg_weapons/glock/v_glock18_fade.mdl", "default", "Glock - Fade", 0, ADMIN_BAN}
165}
166
167new const iAk47[][Armas] =
168{
169 { CSW_AK47, "weapon_ak47", "default", "default", "Normal", 0, -1},
170 { CSW_AK47, "weapon_ak47", "models/dg_weapons/ak47/v_ak47_fireserpent.mdl", "default", "AK-47 Serpent", 5, -1},
171 { CSW_AK47, "weapon_ak47", "models/dg_weapons/ak47/v_ak47_jackal.mdl", "default", "AK-47 The Jackal", 11, -1},
172 { CSW_AK47, "weapon_ak47", "models/dg_weapons/ak47/v_ak47_demolition.mdl", "default", "AK-47 Demolition", 15, -1},
173 { CSW_AK47, "weapon_ak47", "models/dg_weapons/ak47/v_ak47_empress.mdl", "default", "AK-47 The Empress", 18, -1},
174 { CSW_AK47, "weapon_ak47", "models/dg_weapons/ak47/v_ak47_ufo.mdl", "default", "AK-47 UFO", 20, -1},
175 { CSW_AK47, "weapon_ak47", "models/dg_weapons/ak47/v_ak47_astronaut.mdl", "default", "AK-47 Astronout", 0, ADMIN_BAN}
176}
177
178new const iUsp[][Armas] =
179{
180 { CSW_USP, "weapon_usp", "default", "default", "Normal", 0, -1},
181 { CSW_USP, "weapon_usp", "models/dg_weapons/usp/v_usp_roadrash.mdl", "default", "USP - Road Rash", 4, -1},
182 { CSW_USP, "weapon_usp", "models/dg_weapons/usp/v_usp_oilfilter.mdl", "default", "USP - Oil Filter", 11, -1},
183 { CSW_USP, "weapon_usp", "models/dg_weapons/usp/v_usp_revenant.mdl", "default", "USP - Revenant", 15, -1},
184 { CSW_USP, "weapon_usp", "models/dg_weapons/usp/v_usp_draco.mdl", "default", "USP - Draco", 18, -1},
185 { CSW_USP, "weapon_usp", "models/dg_weapons/usp/v_usp_hyperbeast.mdl", "default", "USP - Hyper Beast", 20, -1},
186 { CSW_USP, "weapon_usp", "models/dg_weapons/usp/v_usp_killconfirmed.mdl", "default", "USP - Kill Confirmed", 0, ADMIN_BAN}
187}
188/*
189new const iGalil[][Armas] =
190{
191 { CSW_GALIL, "weapon_galil", "default", "default", "Normal", 0, -1},
192 { CSW_GALIL, "weapon_galil", "models/ZKGAMiNG/v_galil_stone_cold.mdl", "default", "Stone-Cold", 2, -1}
193}
194new const iAug[][Armas] =
195{
196 { CSW_AUG, "weapon_aug", "default", "default", "Normal", 0, -1},
197 { CSW_AUG, "weapon_aug", "models/ZKGAMiNG/v_aug_syd_mead.mdl", "default", "SydMead", 3, -1}
198}
199new const iFamas[][Armas] =
200{
201 { CSW_FAMAS, "weapon_famas", "default", "default", "Normal", 0, -1},
202 { CSW_FAMAS, "weapon_famas", "models/ZKGAMiNG/v_famas_roll_cage.mdl", "default", "Rool-Cage", 21, -1}
203}
204new const iSg552[][Armas] =
205{
206 { CSW_SG552, "weapon_sg552", "default", "default", "Normal", 0, -1},
207 { CSW_SG552, "weapon_sg552", "models/ZKGAMiNG/v_sg552_cyrex.mdl", "default", "CyreX", 2, -1}
208}
209new const iScout[][Armas] =
210{
211 { CSW_SCOUT, "weapon_scout", "default", "default", "Normal", 0, -1},
212 { CSW_SCOUT, "weapon_scout", "models/ZKGAMiNG/v_scout_blood_water.mdl", "default", "blood-water", 3, -1}
213}
214*/
215
216new gIsLen[ 900 ];
217
218new g_isPoint[ 33 ];
219new g_isLevel[ 33 ];
220new g_isExp[ 33 ];
221new g_isHat[ 33 ];
222new g_isGanancia[ 33 ];
223new g_isTag[ 33 ][ 30 ];
224new g_isName[ 33 ][ 32 ];
225new gIsCan[ 33 ][ sizeof(iTienda) ];
226new g_isCat[ 33 ];
227new g_isElegida[ 33 ][ MAX_ARM ];
228new bool:g_isTeam[ 33 ];
229
230new g_isMaxPlayers, iHud, g_isrCT, g_isrTT;
231
232new g_isEntro[ 33 ];
233new g_id[ 33 ];
234new g_password[ 33 ][ 34 ];
235new Handle:g_hTuple;
236new g_msgShowMenu, g_msgVGUIMenu;
237
238const m_iVGUI = 510;
239
240new const ent_cm[] = "hat_ent";
241new const iHours[] = { 06, 07, 08, 09, 10, 11, 18, 19, 20, 21, 22, 23 };
242new bool: g_isHappytime;
243
244public plugin_init()
245{
246 register_plugin(iPlugin[0], iPlugin[1], iPlugin[2]);
247
248 RegisterHam(Ham_Killed, "player", "Ham_PlayerKilled", 1);
249 for(new i = 1; i < sizeof WEAPONENTNAMES; i++)
250 if(WEAPONENTNAMES[i][0]) RegisterHam(Ham_Item_Deploy, WEAPONENTNAMES[i], "ham_ItemDeploy_AllWeapons", 1);
251
252 // Add your own code here
253
254 register_message(get_user_msgid("TextMsg") ,"message_TextMsg");
255 register_forward(FM_ClientUserInfoChanged, "ClientUserInfoChanged") ;
256 register_clcmd("say", "BlockSay");
257 register_clcmd("chooseteam", "clcmdMenu");
258 register_clcmd("jointeam", "clcmdMenu");
259 register_event("HLTV", "round_start", "a", "1=0", "2=0");
260
261 register_clcmd( "Crear_contra", "reg_passwordd" );
262 register_clcmd( "loguear_contra", "log_passwordd" );
263 register_clcmd( "say /top15", "cargar_top" );
264 g_msgShowMenu = get_user_msgid("ShowMenu")
265 g_msgVGUIMenu = get_user_msgid("VGUIMenu")
266 register_message( g_msgShowMenu, "message_ShowMenu" );
267 register_message( g_msgVGUIMenu, "message_VGUIMenu" );
268 register_logevent( "RoundEnd", 2, "1=Round_End" );
269 register_concmd("go_puntos", "cmd_puntos", ADMIN_RCON, "<nombre> <puntos>");
270 new ent;
271 for (new i = 1; i <= 32; i++)
272 {
273 ent = create_entity("info_target")
274 entity_set_int(ent, EV_INT_movetype, MOVETYPE_FOLLOW);
275 entity_set_edict(ent, EV_ENT_owner, i);
276 entity_set_string(ent, EV_SZ_classname, ent_cm);
277 }
278
279 g_isMaxPlayers = get_maxplayers();
280 iHud = CreateHudSyncObj();
281 g_isrTT = g_isrCT = 0;
282 oldmenu_register();
283 MySQLx_Init( );
284
285}
286#if defined MYSQL
287
288public MySQLx_Init( )
289{
290 g_hTuple = SQL_MakeDbTuple( MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DATEBASE );
291
292 if( !g_hTuple )
293 {
294 log_to_file( "SQL_ERROR.txt", "No se pudo conectar con la base de datos." );
295 return pause( "a" );
296 }
297 new szTabla[ 2000 ], len = 0;
298
299 len += format(szTabla[len], charsmax(szTabla) - len, "CREATE TABLE IF NOT EXISTS %s", szTable);
300 len += format(szTabla[len], charsmax(szTabla) - len, "( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE,");
301 len += format(szTabla[len], charsmax(szTabla) - len, "Password VARCHAR NOT NULL,");
302 len += format(szTabla[len], charsmax(szTabla) - len, "Pj VARCHAR NOT NULL UNIQUE,");
303 len += format(szTabla[len], charsmax(szTabla) - len, "Pt int(10) NOT NULL DEFAULT '0',");
304 len += format(szTabla[len], charsmax(szTabla) - len, "Lvl int(10) NOT NULL DEFAULT '0',");
305 len += format(szTabla[len], charsmax(szTabla) - len, "Hat int(10) NOT NULL DEFAULT '0',");
306 len += format(szTabla[len], charsmax(szTabla) - len, "Exp int(10) NOT NULL DEFAULT '0',");
307 len += format(szTabla[len], charsmax(szTabla) - len, "Ele1 int(10) NOT NULL DEFAULT '0',");
308 len += format(szTabla[len], charsmax(szTabla) - len, "Ele2 int(10) NOT NULL DEFAULT '0',");
309 len += format(szTabla[len], charsmax(szTabla) - len, "Ele3 int(10) NOT NULL DEFAULT '0',");
310 len += format(szTabla[len], charsmax(szTabla) - len, "Ele4 int(10) NOT NULL DEFAULT '0',");
311 len += format(szTabla[len], charsmax(szTabla) - len, "Ele5 int(10) NOT NULL DEFAULT '0',");
312 len += format(szTabla[len], charsmax(szTabla) - len, "Ele6 int(10) NOT NULL DEFAULT '0',");
313
314 len += format(szTabla[len], charsmax(szTabla) - len, "H1 int(10) NOT NULL DEFAULT '0',");
315 len += format(szTabla[len], charsmax(szTabla) - len, "H2 int(10) NOT NULL DEFAULT '0',");
316 len += format(szTabla[len], charsmax(szTabla) - len, "H3 int(10) NOT NULL DEFAULT '0',");
317 len += format(szTabla[len], charsmax(szTabla) - len, "H4 int(10) NOT NULL DEFAULT '0',");
318 len += format(szTabla[len], charsmax(szTabla) - len, "H5 int(10) NOT NULL DEFAULT '0',");
319 len += format(szTabla[len], charsmax(szTabla) - len, "H6 int(10) NOT NULL DEFAULT '0',");
320 len += format(szTabla[len], charsmax(szTabla) - len, "H7 int(10) NOT NULL DEFAULT '0',");
321 len += format(szTabla[len], charsmax(szTabla) - len, "H8 int(10) NOT NULL DEFAULT '0',");
322 len += format(szTabla[len], charsmax(szTabla) - len, "H9 int(10) NOT NULL DEFAULT '0',");
323 len += format(szTabla[len], charsmax(szTabla) - len, "H10 int(10) NOT NULL DEFAULT '0',");
324 len += format(szTabla[len], charsmax(szTabla) - len, "K1 int(10) NOT NULL DEFAULT '0',");
325 len += format(szTabla[len], charsmax(szTabla) - len, "K2 int(10) NOT NULL DEFAULT '0',");
326 len += format(szTabla[len], charsmax(szTabla) - len, "K3 int(10) NOT NULL DEFAULT '0',");
327 len += format(szTabla[len], charsmax(szTabla) - len, "K4 int(10) NOT NULL DEFAULT '0',");
328 len += format(szTabla[len], charsmax(szTabla) - len, "K5 int(10) NOT NULL DEFAULT '0',");
329 len += format(szTabla[len], charsmax(szTabla) - len, "K6 int(10) NOT NULL DEFAULT '0',");
330 len += format(szTabla[len], charsmax(szTabla) - len, "K7 int(10) NOT NULL DEFAULT '0',");
331 len += format(szTabla[len], charsmax(szTabla) - len, "K8 int(10) NOT NULL DEFAULT '0',");
332 len += format(szTabla[len], charsmax(szTabla) - len, "K9 int(10) NOT NULL DEFAULT '0',");
333 len += format(szTabla[len], charsmax(szTabla) - len, "Ele7 int(10) NOT NULL DEFAULT '0')");
334 //ALTER TABLE cuentas ADD Rango VARCHAR NOT NULL
335 //ALTER TABLE dbo.cuentas ADD Rango VARCHAR(20) NOT NULL;
336 SQL_ThreadQuery(g_hTuple, "QueryCreateTable", szTabla);
337 return PLUGIN_CONTINUE;
338}
339#else
340public MySQLx_Init( )
341{
342 new get_type[ 12 ];
343
344 SQL_SetAffinity( "sqlite" );
345
346 SQL_GetAffinity( get_type, sizeof get_type );
347
348 if( !equali( get_type, "sqlite" ) )
349 {
350 log_to_file( "SQLITE_ERROR.txt", "Error de conexion" );
351 return pause( "a" );
352 }
353
354 g_hTuple = SQL_MakeDbTuple( "", "", "", SQLITE_DATEBASE );
355
356 new szTabla[ 2000 ], len = 0;
357
358 len += format(szTabla[len], charsmax(szTabla) - len, "CREATE TABLE IF NOT EXISTS %s", szTable);
359 len += format(szTabla[len], charsmax(szTabla) - len, "( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE,");
360 len += format(szTabla[len], charsmax(szTabla) - len, "Password VARCHAR NOT NULL,");
361 len += format(szTabla[len], charsmax(szTabla) - len, "Pj VARCHAR NOT NULL UNIQUE,");
362 len += format(szTabla[len], charsmax(szTabla) - len, "Pt INTEGER DEFAULT '0',");
363 len += format(szTabla[len], charsmax(szTabla) - len, "Lvl INTEGER DEFAULT '0',");
364 len += format(szTabla[len], charsmax(szTabla) - len, "Hat INTEGER DEFAULT '0',");
365 len += format(szTabla[len], charsmax(szTabla) - len, "Exp INTEGER DEFAULT '0',");
366 len += format(szTabla[len], charsmax(szTabla) - len, "Ele1 INTEGER DEFAULT '0',");
367 len += format(szTabla[len], charsmax(szTabla) - len, "Ele2 INTEGER DEFAULT '0',");
368 len += format(szTabla[len], charsmax(szTabla) - len, "Ele3 INTEGER DEFAULT '0',");
369 len += format(szTabla[len], charsmax(szTabla) - len, "Ele4 INTEGER DEFAULT '0',");
370 len += format(szTabla[len], charsmax(szTabla) - len, "Ele5 INTEGER DEFAULT '0',");
371 len += format(szTabla[len], charsmax(szTabla) - len, "Ele6 INTEGER DEFAULT '0',");
372
373 len += format(szTabla[len], charsmax(szTabla) - len, "H1 INTEGER DEFAULT '0',");
374 len += format(szTabla[len], charsmax(szTabla) - len, "H2 INTEGER DEFAULT '0',");
375 len += format(szTabla[len], charsmax(szTabla) - len, "H3 INTEGER DEFAULT '0',");
376 len += format(szTabla[len], charsmax(szTabla) - len, "H4 INTEGER DEFAULT '0',");
377 len += format(szTabla[len], charsmax(szTabla) - len, "H5 INTEGER DEFAULT '0',");
378 len += format(szTabla[len], charsmax(szTabla) - len, "H6 INTEGER DEFAULT '0',");
379 len += format(szTabla[len], charsmax(szTabla) - len, "H7 INTEGER DEFAULT '0',");
380 len += format(szTabla[len], charsmax(szTabla) - len, "H8 INTEGER DEFAULT '0',");
381 len += format(szTabla[len], charsmax(szTabla) - len, "H9 INTEGER DEFAULT '0',");
382 len += format(szTabla[len], charsmax(szTabla) - len, "H10 INTEGER DEFAULT '0',");
383 len += format(szTabla[len], charsmax(szTabla) - len, "K1 INTEGER DEFAULT '0',");
384 len += format(szTabla[len], charsmax(szTabla) - len, "K2 INTEGER DEFAULT '0',");
385 len += format(szTabla[len], charsmax(szTabla) - len, "K3 INTEGER DEFAULT '0',");
386 len += format(szTabla[len], charsmax(szTabla) - len, "K4 INTEGER DEFAULT '0',");
387 len += format(szTabla[len], charsmax(szTabla) - len, "K5 INTEGER DEFAULT '0',");
388 len += format(szTabla[len], charsmax(szTabla) - len, "K6 INTEGER DEFAULT '0',");
389 len += format(szTabla[len], charsmax(szTabla) - len, "K7 INTEGER DEFAULT '0',");
390 len += format(szTabla[len], charsmax(szTabla) - len, "K8 INTEGER DEFAULT '0',");
391 len += format(szTabla[len], charsmax(szTabla) - len, "K9 INTEGER DEFAULT '0',");
392 len += format(szTabla[len], charsmax(szTabla) - len, "Ele7 INTEGER DEFAULT '0')");
393 SQL_ThreadQuery(g_hTuple, "QueryCreateTable", szTabla);
394
395 return PLUGIN_CONTINUE
396
397}
398#endif
399
400public QueryCreateTable(FailState, Handle:Query, Error[], Errorcode, Data[], DataSize)
401{
402 //posibles casos
403 switch (FailState)
404 {
405 case TQUERY_CONNECT_FAILED: log_to_file("SQL_LOG_TQ.txt", "Failed to connect to database [%i]: %s", Errorcode, Error)
406 case TQUERY_QUERY_FAILED: log_to_file("SQL_LOG_TQ.txt", "Error on query for creating table [%i]: %s", Errorcode, Error)
407 }
408
409 return PLUGIN_HANDLED;
410}
411public plugin_end( ) SQL_FreeHandle( g_hTuple );
412
413public cargar_top(id) if(!is_user_connected(id)) show_motd(id, "");
414public plugin_precache(){
415 static i;
416 for ( i = 0; i < sizeof(iHats); i++)
417 precache_model(iHats[i][hModel]);
418
419 for(i = 0; i < sizeof iKnifes; i++){
420 if(!(equal(iKnifes[i][V_MDL], "default"))) precache_model(iKnifes[i][V_MDL]);
421 if(!(equal(iKnifes[i][P_MDL], "default"))) precache_model(iKnifes[i][P_MDL]);
422 }
423 for(i = 0; i < sizeof iM4a1; i++){
424 if(!(equal(iM4a1[i][V_MDL], "default"))) precache_model(iM4a1[i][V_MDL]);
425 if(!(equal(iM4a1[i][P_MDL], "default"))) precache_model(iM4a1[i][P_MDL]);
426 }
427 for(i = 0; i < sizeof iAk47; i++){
428 if(!(equal(iAk47[i][V_MDL], "default"))) precache_model(iAk47[i][V_MDL]);
429 if(!(equal(iAk47[i][P_MDL], "default"))) precache_model(iAk47[i][P_MDL]);
430 }
431 for(i = 0; i < sizeof iAwp; i++) {
432 if(!(equal(iAwp[i][V_MDL], "default"))) precache_model(iAwp[i][V_MDL]);
433 if(!(equal(iAwp[i][P_MDL], "default"))) precache_model(iAwp[i][P_MDL]);
434 }
435 for(i = 0; i < sizeof iGlock18; i++){
436 if(!(equal(iGlock18[i][V_MDL], "default"))) precache_model(iGlock18[i][V_MDL]);
437 if(!(equal(iGlock18[i][P_MDL], "default"))) precache_model(iGlock18[i][P_MDL]);
438 }
439 for(i = 0; i < sizeof iUsp; i++){
440 if(!(equal(iUsp[i][V_MDL], "default"))) precache_model(iUsp[i][V_MDL]);
441 if(!(equal(iUsp[i][P_MDL], "default"))) precache_model(iUsp[i][P_MDL]);
442 }
443 for(i = 0; i < sizeof iDeagle; i++){
444 if(!(equal(iDeagle[i][V_MDL], "default"))) precache_model(iDeagle[i][V_MDL]);
445 if(!(equal(iDeagle[i][P_MDL], "default"))) precache_model(iDeagle[i][P_MDL]);
446 }
447 /*for(i = 0; i < sizeof iScout; i++){
448 if(!(equal(iScout[i][V_MDL], "default"))) precache_model(iScout[i][V_MDL]);
449 if(!(equal(iScout[i][P_MDL], "default"))) precache_model(iScout[i][P_MDL]);
450 }
451 for(i = 0; i < sizeof iFamas; i++){
452 if(!(equal(iFamas[i][V_MDL], "default"))) precache_model(iFamas[i][V_MDL]);
453 if(!(equal(iFamas[i][P_MDL], "default"))) precache_model(iFamas[i][P_MDL]);
454 }
455 for(i = 0; i < sizeof iSg552; i++){
456 if(!(equal(iSg552[i][V_MDL], "default"))) precache_model(iSg552[i][V_MDL]);
457 if(!(equal(iSg552[i][P_MDL], "default"))) precache_model(iSg552[i][P_MDL]);
458 }
459 for(i = 0; i < sizeof iGalil; i++){
460 if(!(equal(iGalil[i][V_MDL], "default"))) precache_model(iGalil[i][V_MDL]);
461 if(!(equal(iGalil[i][P_MDL], "default"))) precache_model(iGalil[i][P_MDL]);
462 }
463 for(i = 0; i < sizeof iAug; i++){
464 if(!(equal(iAug[i][V_MDL], "default"))) precache_model(iAug[i][V_MDL]);
465 if(!(equal(iAug[i][P_MDL], "default"))) precache_model(iAug[i][P_MDL]);
466 }*/
467
468}
469public cmd_puntos (id, puntos, cid)
470{
471 if (!cmd_access(id, puntos, cid, 3)) return PLUGIN_HANDLED;
472 new arg[33], arg2[10];
473 read_argv(1, arg, charsmax(arg));
474 read_argv(2, arg2, charsmax(arg2));
475
476 new Player = cmd_target(id, arg,CMDTARGET_ONLY_ALIVE);
477
478 if (!Player){
479 client_print(id, print_console, "Player no registrado.");
480 return PLUGIN_HANDLED;
481 }
482
483 g_isPoint[Player] += str_to_num(arg2) ;
484 return PLUGIN_HANDLED;
485}
486public client_putinserver(id){
487 get_user_name( id, g_isName[ id ], 31 );
488 set_task(0.5, "show_login_menu", id);
489 arrayset(g_isElegida[ id ], 0, sizeof(g_isElegida[]));
490 arrayset(g_isUsedKnife[id], 0, sizeof(g_isUsedKnife[]));
491 arrayset(g_isUsedHat[id], 0, sizeof(g_isUsedHat[]));
492 g_isHat[ id ] = -1;
493 g_isEntro[ id ] = g_isCat[ id ] = g_isExp[ id ] = g_isPoint[ id ] = g_isLevel[ id ] = 0;
494 g_isGanancia[ id ] = 1;
495 g_isTag[ id ] = "^0";
496 arrayset(gIsCan[id], 0, sizeof(gIsCan));
497 if(is_user_admin(id))
498 {
499 for(new i = 0; i < sizeof(iAdmins); ++i){
500 if(get_user_flags(id) & iAdmins[i][aFlag]){
501 g_isGanancia[ id ] = iAdmins[i][aGanancia];
502 formatex(g_isTag[ id ], charsmax(g_isTag), "%s", iAdmins[i][aNombre]);
503 break;
504 }
505 }
506
507 }
508}
509public sethat(id){
510 if(is_user_connected(id) && (g_isHat[id] >= 0)){
511 new ent = find_ent_by_owner(-1, ent_cm, id);
512 entity_set_model(ent, iHats[g_isHat[id]][hModel]);
513 entity_set_edict(ent, EV_ENT_aiment, id);
514 entity_set_int(ent, EV_INT_movetype, MOVETYPE_FOLLOW);
515 chatcolor( id, "^x04%s^x01 Haz sido equipado con el Hat ^x04%s^x01", iPlugin[3], iHats[g_isHat[id]][hNombre]);
516 return PLUGIN_HANDLED;
517 }
518 return PLUGIN_HANDLED;
519}
520public client_disconnect(id){
521 if( g_isEntro[id] == 2 ) {
522 guardar_datos( id );
523 }
524
525 g_password[ id ][ 0 ] = '^0';
526
527 remove_task(id+TASK_SHOWHUD);
528 if (g_isHat[id] >= 0)
529 {
530 new ent = find_ent_by_owner(-1, ent_cm, id);
531 entity_set_model(ent, "");
532 entity_set_edict(ent, EV_ENT_aiment, 0);
533 entity_set_int(ent, EV_INT_movetype, MOVETYPE_NONE);
534 entity_set_origin(ent, Float:{8192.0,8192.0,8192.0});
535 }
536}
537public RoundEnd() {
538 for(new i = 1; i <= g_isMaxPlayers; ++i){
539 if( g_isEntro[i] == 2 && is_user_connected( i ) ){
540 guardar_datos( i );
541 arrayset(gIsCan[i], 0, sizeof(gIsCan));
542 }
543 }
544 arrayset(g_isTeam, false, sizeof(g_isTeam));
545}
546public round_start() {
547 set_task(0.1,"horahappy");
548}
549public horahappy(id)
550{
551 new data[12]; get_time("%H", data, 12);
552 new Tiempo = str_to_num(data);
553
554 for(new i=0;i <= sizeof iHours - 1;i++)
555 {
556 if(Tiempo != iHours[i]) continue;
557 g_isHappytime = true;
558 break;
559 }
560 if(g_isHappytime) chatcolor( id, "^x04%s^x01 Estas en Hora Feliz ganas el^x04 DOBLE^x01", iPlugin[3]);
561}
562public ClientUserInfoChanged(id)
563{
564 static const name[] = "name"
565 static szOldName[32], szNewName[32]
566 pev(id, pev_netname, szOldName, charsmax(szOldName))
567 if( szOldName[0] )
568 {
569 get_user_info(id, name, szNewName, charsmax(szNewName))
570 if( !equal(szOldName, szNewName) )
571 {
572 set_user_info(id, name, szOldName)
573 return FMRES_HANDLED
574 }
575 }
576 return FMRES_IGNORED
577}
578public message_TextMsg( const MsgId, const MsgDest, const MsgEntity )
579{
580 static message[32]
581 get_msg_arg_string(2, message, charsmax(message))
582
583 if(equal(message, "#Terrorists_Win")){
584 for(new i=1; i <= g_isMaxPlayers; ++i){
585 if(!is_user_connected(i)) continue;
586 if(cs_get_user_team(i) == CS_TEAM_T){
587 Check_level(i, 5, 3);
588 if(g_isHappytime) chatcolor( i, "^x04%s^x01 Ganaste^x04 %d de EXP y %d MONEDA(S)^x01 por ganar la ronda en la ^x04Hora Vicio.", iPlugin[3], (5*g_isGanancia[i])*2, (3*g_isGanancia[i])*2)
589 else chatcolor( i, "^x04%s^x01 Ganaste^x04 %d de EXP y %d MONEDA(S)^x01 por ganar la ronda.", iPlugin[3], (5*g_isGanancia[i]), (3*g_isGanancia[i]))
590 }
591 }
592 ++g_isrTT;
593 }
594 else if(equal(message, "#CTs_Win")){
595 for(new i=1; i <= g_isMaxPlayers; ++i){
596 if(!is_user_connected(i)) continue;
597
598 if(cs_get_user_team(i) == CS_TEAM_CT) {
599 Check_level(i, 5, 3);
600 if(g_isHappytime) chatcolor( i, "^x04%s^x01 Ganaste^x04 %d de EXP y %d MONEDA(S)^x01 por ganar en la ^x04Hora Vicio.", iPlugin[3], (5*g_isGanancia[i])*2, (3*g_isGanancia[i])*2)
601 else chatcolor( i, "^x04%s^x01 Ganaste^x04 %d de EXP y %d MONEDA(S)^x01 por ganar la ronda.", iPlugin[3], (5*g_isGanancia[i]), (3*g_isGanancia[i]))
602 }
603 }
604 ++g_isrCT;
605 }
606}
607
608public menu_principal(id){
609 formatex(gIsLen, charsmax(gIsLen), "%s^n %s^nRango Actual: \r%s", iPlugin[0], iWeb, iRangos[ g_isLevel[ id ] ][ rNombre ]);
610 new menu = menu_create(gIsLen, "handler_princ");
611
612 menu_additem(menu, g_isTeam[id] || is_user_alive(id) ? "\dCambiar a \yT. RIKOLINO \r(CT)":"\wCambiar a \yT. RIKOLINO \r(CT)");
613 menu_additem(menu, g_isTeam[id] || is_user_alive(id) ? "\dCambiar a \yT. ZULUKEMTO \r(TT)":"\wCambiar a \yT. ZULUKEMTO \r(TT)");
614 menu_additem(menu, g_isTeam[id] || is_user_alive(id) ? "\dEspectador":"\wEspectador");
615 menu_additem(menu, "Tienda de Frutas");
616 menu_additem(menu, "Skins - Armas");
617 menu_additem(menu, "Sombreros");
618 menu_additem(menu, "Menu de Admin");
619 menu_additem(menu, "Adquirir Admin");
620 menu_additem(menu, "Top15 Rangos");
621 menu_additem(menu, "Top15 Monedas");
622 menu_display(id, menu, 0);
623}
624public handler_princ(id, menu, item)
625{
626 if (item == MENU_EXIT)
627 {
628 menu_destroy(menu);
629 return PLUGIN_HANDLED;
630 }
631 switch(item){
632 case 0:
633 {
634 if(is_user_alive(id)) chatcolor( id, "^x04%s^x01 Debes estar muerto para cambiarte de team.", iPlugin[3]);
635 else{
636 if(!g_isTeam[id]){
637 engclient_cmd( id, "jointeam", "2"); g_isTeam[id] = true;
638 }
639 else chatcolor( id, "^x04%s^x01 Espera una ronda para usarlo de nuevo.", iPlugin[3]);
640 }
641 }
642 case 1:
643 {
644 if(is_user_alive(id)) chatcolor( id, "^x04%s^x01 Debes estar muerto para cambiarte de team.", iPlugin[3]);
645 else{
646 if(!g_isTeam[id]){
647 engclient_cmd( id, "jointeam", "1"); g_isTeam[id] = true;
648 }
649 else chatcolor( id, "^x04%s^x01 Espera una ronda para usarlo de nuevo.", iPlugin[3]);
650 }
651 }
652 case 2:
653 {
654 if(is_user_alive(id)) chatcolor( id, "^x04%s^x01 Debes estar muerto para cambiarte de team.", iPlugin[3]);
655 else{
656 if(!g_isTeam[id]){
657 engclient_cmd( id, "jointeam", "6"); g_isTeam[id] = true;
658 }
659 else chatcolor( id, "^x04%s^x01 Espera una ronda para usarlo de nuevo.", iPlugin[3]);
660 }
661 }
662 case 3: menu_tienda(id);
663 case 4: cmdMenu_Armas(id);
664 case 5: show_hats(id);
665 case 6: client_cmd(id, "amxmodmenu");
666 case 7: {
667 //show_motd(id, "www.Drunk-Gaming.com/ventas", "Adquiere tu ADMIN");
668 chatcolor( id, "^x04%s^x01 Para adquirir un V.I.P o DONADOR, visitanos en ^x04www.Drunk-Gaming.com.", iPlugin[3]);
669 }
670 case 8: show_motd(id, "http://drunk-gaming.com/servidores/27062/top15/TopRangos.php", "Top15");
671 case 9: show_motd(id, "http://drunk-gaming.com/servidores/27062/top15/TopMonedas.php", "Top15");
672 }
673 return PLUGIN_HANDLED;
674}
675
676public menu_tienda(id){
677 new menu = menu_create(gIsLen, "handler_tienda");
678
679 for(new i = 0; i < sizeof(iTienda); ++i){
680 if(g_isPoint[ id ] >= iTienda[i][tPrecio]){
681 formatex(gIsLen, charsmax(gIsLen), "\w%s\y[\rMonedas %d\y]", iTienda[i][tNombre], iTienda[i][tPrecio]);
682 menu_additem(menu, gIsLen);
683 }
684 else{
685 formatex(gIsLen, charsmax(gIsLen), "\d%s\y[\rMonedas %d\y]", iTienda[i][tNombre], iTienda[i][tPrecio]);
686 menu_additem(menu, gIsLen);
687 }
688 }
689 menu_display(id, menu, 0);
690}
691public handler_tienda(id, menu, item)
692{
693 if (item == MENU_EXIT || !is_user_alive(id))
694 {
695 menu_destroy(menu);
696 return PLUGIN_HANDLED;
697 }
698 if(g_isPoint[ id ] < iTienda[item][tPrecio] || gIsCan[id][item] >= 1)
699 return PLUGIN_HANDLED;
700 switch(item){
701 case 0: bazuka(id);
702 case 1: molotov(id);
703 case 2: ammo(id);
704 case 3: hook(id);
705 case 4: auto(id);
706 case 5: sentry(id);
707 }
708 ++gIsCan[id][item];
709 g_isPoint[ id ] -= iTienda[item][tPrecio];
710 return PLUGIN_HANDLED;
711}
712public show_hats(id){
713 static fgs; fgs = get_user_flags(id);
714 new menu = menu_create("Menu de Sombreros", "handled_hats");
715
716 menu_additem(menu, "Quitar Sombrero^n", "");
717
718 for( new i = 0; i < sizeof(iHats); ++i){
719 if(g_isPoint[id] >= iHats[i][hPuntos] || g_isUsedHat[id][i] == 1){
720 if(g_isHat[id] == i){
721 formatex(gIsLen, charsmax(gIsLen), "\dHat: %s \y[ACTUAL]", iHats[i][hNombre]);
722 menu_additem(menu, gIsLen, "");
723 }
724 else {
725 if(fgs & iHats[i][hFlags]){
726 formatex(gIsLen, charsmax(gIsLen), "\wHat: \y%s \y[\rMonedas %d\y]", iHats[i][hNombre], iHats[i][hPuntos]);
727 menu_additem(menu, gIsLen, "");
728 }else{
729 formatex(gIsLen, charsmax(gIsLen), "\wHat: \y%s | \y[\rAdmin: %s\y]\y[\rMonedas %d\y]", iHats[i][hNombre], iHats[i][hTAdmin], iHats[i][hPuntos]);
730 menu_additem(menu, gIsLen, "");
731 }
732 }
733 }
734 else{ formatex(gIsLen, charsmax(gIsLen), "\y[\rLocked\y] \y[\rMonedas %d\y]", iHats[i][hPuntos]);menu_additem(menu, gIsLen, ""); }
735 }
736 menu_setprop(menu, MPROP_EXITNAME, "Cerrar");
737
738 menu_display(id, menu)
739}
740public handled_hats(id, menu, item){
741 if (item == MENU_EXIT)
742 {
743 menu_destroy(menu);
744 return PLUGIN_HANDLED;
745 }
746 static fgs; fgs = get_user_flags(id);
747 if(item == 0)
748 {
749 if (g_isHat[id] < 0) chatcolor( id, "^x04%s^x01 No llevas un accesorio.", iPlugin[3])
750 else
751 {
752 new ent = find_ent_by_owner(-1, ent_cm, id);
753 entity_set_model(ent, "");
754 entity_set_edict(ent, EV_ENT_aiment, 0);
755 entity_set_int(ent, EV_INT_movetype, MOVETYPE_NONE);
756 entity_set_origin(ent, Float:{8192.0,8192.0,8192.0});
757
758 g_isHat[id] = -1;
759 chatcolor( id, "^x04%s^x01 Ahora no llevas un accesorio.", iPlugin[3]);
760 }
761 }else {
762 if(item-1 == g_isHat[id]){
763 chatcolor( id, "^x04%s^x01 Ya tienes este hat", iPlugin[3]);
764 return PLUGIN_HANDLED;
765 }
766 else if(g_isUsedHat[id][item-1] == 0 && (g_isPoint[id] < iHats[item-1][hPuntos])){
767 chatcolor( id, "^x04%s^x01 No tienes puntos suficientes", iPlugin[3]);
768 return PLUGIN_HANDLED;
769 }
770 if(fgs & iHats[item-1][hFlags]){
771 if(g_isUsedHat[id][item-1] == 0) g_isPoint[ id ] -= iHats[item-1][hPuntos];
772
773 g_isUsedHat[id][item-1] = 1;
774 g_isHat[id] = item-1;
775 new ent = find_ent_by_owner(-1, ent_cm, id);
776 entity_set_model(ent, iHats[item-1][hModel]);
777 entity_set_edict(ent, EV_ENT_aiment, id);
778 entity_set_int(ent, EV_INT_movetype, MOVETYPE_FOLLOW);
779 chatcolor( id, "^x04%s^x01 Haz sido equipado con el Hat ^x04%s^x01", iPlugin[3], iHats[item-1][hNombre]);
780 return PLUGIN_HANDLED;
781 }
782 }
783 //chatcolor( id, "^x04%s^x01 El Hat ^x04%s^x01 Es para Admin ^x04%s^x01", iPlugin[3], iHats[item-1][hNombre], iHats[item-1][hTAdmin]);
784 return PLUGIN_HANDLED;
785}
786public cmdMenu_Armas(id)
787{
788 oldmenu_create("handlerMenu", "\rMenu skins");
789 //if(tipo == 0){
790 //suma[id] = 0;
791 oldmenu_additem(1, 0, "\r1. \wCuchillos \w[ACTUAL \r%s\w]", iKnifes[ g_isElegida[ id ][ KNIFES ] ][ NAMEE ] );
792 oldmenu_additem(2, 0, "\r2. \wM4A1 \w[ACTUAL \r%s\w]", iM4a1[ g_isElegida[ id ][ M4A1 ] ][ NAMEE ] );
793 oldmenu_additem(3, 0, "\r3. \wAWP \w[ACTUAL \r%s\w]", iAwp[ g_isElegida[ id ][ AWP ] ][ NAMEE ] );
794 //oldmenu_additem(4, 0, "\r4. \wDeagle \w[ACTUAL \r%s\w]", iDeagle[ g_isElegida[ id ][ DEAGLE ] ][ NAMEE ] );
795 oldmenu_additem(4, 0, "\r4. \wGLOCK-18 \w[ACTUAL \r%s\w]", iGlock18[ g_isElegida[ id ][ GLOCK18 ] ][ NAMEE ] );
796 oldmenu_additem(5, 0, "\r5. \wAK-47 \w[ACTUAL \r%s\w]", iAk47[ g_isElegida[ id ][ AK47 ] ][ NAMEE ] );
797 oldmenu_additem(6, 0, "\r6. \wUSP \w[ACTUAL \r%s\w]", iUsp[ g_isElegida[ id ][ USP ] ][ NAMEE ] );
798 oldmenu_additem(7, 0, "\r7. \wDEAGLE \w[ACTUAL \r%s\w]", iDeagle[ g_isElegida[ id ][ DEAGLE ] ][ NAMEE ] );
799 //oldmenu_additem(8, 0, "\r8. \wGalil \w[ACTUAL \r%s\w]", iGalil[ g_isElegida[ id ][ GALIL ] ][ NAMEE ] );
800 //oldmenu_additem(9, 0, "\r9. \wSiguiente" );
801 /*}else if(tipo == 1){
802 oldmenu_additem(1, 0, "\r1. \wAug \w[ACTUAL \r%s\w]", iAug[ g_isElegida[ id ][ AUG ] ][ NAMEE ] );
803 oldmenu_additem(2, 0, "\r2. \wFamas \w[ACTUAL \r%s\w]", iFamas[ g_isElegida[ id ][ FAMAS ] ][ NAMEE ] );
804 oldmenu_additem(3, 0, "\r3. \wSg552 \w[ACTUAL \r%s\w]", iSg552[ g_isElegida[ id ][ SG ] ][ NAMEE ] );
805 oldmenu_additem(4, 0, "\r4. \wScout \w[ACTUAL \r%s\w]", iScout[ g_isElegida[ id ][ SCOUT ] ][ NAMEE ] );
806 }*/
807 oldmenu_additem(0, 0, "^n^n\r0. \wSalir");
808 oldmenu_display(id);
809 return PLUGIN_HANDLED;
810}
811
812public handlerMenu(id, item, value, page) {
813 if(item == MENU_EXIT) {
814 return PLUGIN_HANDLED;
815 }
816 /*if( item == 9){
817 suma[id] = 8;
818 cmdMenu_Armas(id, 1);
819 return PLUGIN_HANDLED;
820 } */
821 g_isCat[ id ] = item; //(item+suma[id]);
822 menu_armas(id);
823 return PLUGIN_HANDLED;
824}
825public menu_armas(id)
826{
827 new menu = menu_create("Menu Skins", "handler_skins");
828 static fgs; fgs = get_user_flags(id);
829 switch(g_isCat[ id ])
830 {
831 case KNIFES:
832 {
833
834 for(new i = 0; i < sizeof iKnifes; i++)
835 {
836 if(g_isPoint[id] >= iKnifes[i][Nivel] || g_isUsedKnife[id][i] == 1)
837 {
838 if(g_isElegida[ id ][ KNIFES ] == i)
839 {
840 formatex(gIsLen, charsmax(gIsLen), "\d%s \y[ACTUAL]", iKnifes[i][NAMEE]);
841 menu_additem(menu, gIsLen, "");
842 }else{
843 if(fgs & iKnifes[i][FLAG])
844 {
845 formatex(gIsLen, charsmax(gIsLen), "\y%s \y[\r%d\y]", iKnifes[i][NAMEE], iKnifes[i][Nivel]);
846 menu_additem(menu, gIsLen, "");
847 } else {
848 formatex(gIsLen, charsmax(gIsLen), "\y%s \y[\r%d\y] | \y[\rAdmin\y]", iKnifes[i][NAMEE], iKnifes[i][Nivel]);
849 menu_additem(menu, gIsLen, "");
850 }
851 }
852 } else {
853 formatex(gIsLen, charsmax(gIsLen), "\y%s \y[\r%d\y]", iKnifes[i][NAMEE], iKnifes[i][Nivel]);
854 menu_additem(menu, gIsLen, "");
855 }
856 }
857 }
858 case M4A1:{
859 for(new i = 0; i < sizeof iM4a1; i++)
860 {
861 if(g_isLevel[id] >= iM4a1[i][Nivel])
862 {
863 if(g_isElegida[ id ][ M4A1 ] == i)
864 {
865 formatex(gIsLen, charsmax(gIsLen), "\d%s \y[ACTUAL]", iM4a1[i][NAMEE]);
866 menu_additem(menu, gIsLen, "");
867 } else
868 {
869 if(fgs & iM4a1[i][FLAG])
870 {
871 formatex(gIsLen, charsmax(gIsLen), "\y%s ", iM4a1[i][NAMEE]);
872 menu_additem(menu, gIsLen, "");
873 }else{
874 formatex(gIsLen, charsmax(gIsLen), "\y%s | \y[\rAdmin\y]", iM4a1[i][NAMEE]);
875 menu_additem(menu, gIsLen, "");
876 }
877 }
878 }else {
879 formatex(gIsLen, charsmax(gIsLen), "\y%s \yRango: \y[\r%s\y]", iM4a1[i][NAMEE], iRangos[iM4a1[i][Nivel]][rNombre]);
880 menu_additem(menu, gIsLen, "");
881 }
882 }
883 }
884 case AWP:{
885 for(new i = 0; i < sizeof iAwp; i++)
886 {
887 if(g_isLevel[id] >= iAwp[i][Nivel])
888 {
889 if(g_isElegida[ id ][ AWP ] == i){
890 formatex(gIsLen, charsmax(gIsLen), "\d%s \y[ACTUAL]", iAwp[i][NAMEE]);
891 menu_additem(menu, gIsLen, "");
892 } else {
893 if(fgs & iAwp[i][FLAG])
894 {
895 formatex(gIsLen, charsmax(gIsLen), "\y%s ", iAwp[i][NAMEE]);
896 menu_additem(menu, gIsLen, "");
897 }else{
898 formatex(gIsLen, charsmax(gIsLen), "\y%s | \y[\rAdmin\y]", iAwp[i][NAMEE]);
899 menu_additem(menu, gIsLen, "");
900 }
901 }
902 }else {
903 formatex(gIsLen, charsmax(gIsLen), "\y%s \yRango: \y[\r%s\y]", iAwp[i][NAMEE], iRangos[iAwp[i][Nivel]][rNombre]);
904 menu_additem(menu, gIsLen, "");
905 }
906 }
907 }
908 case GLOCK18:{
909 for(new i = 0; i < sizeof iGlock18; i++)
910 {
911 if(g_isLevel[id] >= iGlock18[i][Nivel])
912 {
913 if(g_isElegida[ id ][ GLOCK18 ] == i){
914 formatex(gIsLen, charsmax(gIsLen), "\d%s \y[ACTUAL]", iGlock18[i][NAMEE]);
915 menu_additem(menu, gIsLen, "");
916 } else {
917 if(fgs & iGlock18[i][FLAG])
918 {
919 formatex(gIsLen, charsmax(gIsLen), "\y%s ", iGlock18[i][NAMEE]);
920 menu_additem(menu, gIsLen, "");
921 }else{
922 formatex(gIsLen, charsmax(gIsLen), "\y%s | \y[\rAdmin\y]", iGlock18[i][NAMEE]);
923 menu_additem(menu, gIsLen, "");
924 }
925 }
926 }else {
927 formatex(gIsLen, charsmax(gIsLen), "\y%s \yRango: \y[\r%s\y]", iGlock18[i][NAMEE], iRangos[iGlock18[i][Nivel]][rNombre]);
928 menu_additem(menu, gIsLen, "");
929 }
930 }
931 }
932 case AK47:{
933 for(new i = 0; i < sizeof iAk47; i++)
934 {
935 if(g_isLevel[id] >= iAk47[i][Nivel])
936 {
937 if(g_isElegida[ id ][ AK47 ] == i){
938 formatex(gIsLen, charsmax(gIsLen), "\d%s \y[ACTUAL]", iAk47[i][NAMEE]);
939 menu_additem(menu, gIsLen, "");
940 } else {
941 if(fgs & iAk47[i][FLAG])
942 {
943 formatex(gIsLen, charsmax(gIsLen), "\y%s ", iAk47[i][NAMEE]);
944 menu_additem(menu, gIsLen, "");
945 }else{
946 formatex(gIsLen, charsmax(gIsLen), "\y%s | \y[\rAdmin\y]", iAk47[i][NAMEE]);
947 menu_additem(menu, gIsLen, "");
948 }
949 }
950 }else {
951 formatex(gIsLen, charsmax(gIsLen), "\y%s \yRango: \y[\r%s\y]", iAk47[i][NAMEE], iRangos[iAk47[i][Nivel]][rNombre]);
952 menu_additem(menu, gIsLen, "");
953 }
954 }
955 }
956 case USP:{
957 for(new i = 0; i < sizeof iUsp; i++)
958 {
959 if(g_isLevel[id] >= iUsp[i][Nivel])
960 {
961 if(g_isElegida[ id ][ USP ] == i){
962 formatex(gIsLen, charsmax(gIsLen), "\d%s \y[ACTUAL]", iUsp[i][NAMEE]);
963 menu_additem(menu, gIsLen, "");
964 } else {
965 if(fgs & iUsp[i][FLAG])
966 {
967 formatex(gIsLen, charsmax(gIsLen), "\y%s ", iUsp[i][NAMEE]);
968 menu_additem(menu, gIsLen, "");
969 }else{
970 formatex(gIsLen, charsmax(gIsLen), "\y%s | \y[\rAdmin\y]", iUsp[i][NAMEE]);
971 menu_additem(menu, gIsLen, "");
972 }
973 }
974 }else {
975 formatex(gIsLen, charsmax(gIsLen), "\y%s \yRango: \y[\r%s\y]", iUsp[i][NAMEE], iRangos[iUsp[i][Nivel]][rNombre]);
976 menu_additem(menu, gIsLen, "");
977 }
978 }
979 }
980 case DEAGLE:{
981 for(new i = 0; i < sizeof iDeagle; i++)
982 {
983 if(g_isLevel[id] >= iDeagle[i][Nivel])
984 {
985 if(g_isElegida[ id ][ DEAGLE ] == i){
986 formatex(gIsLen, charsmax(gIsLen), "\d%s \y[ACTUAL]", iDeagle[i][NAMEE]);
987 menu_additem(menu, gIsLen, "");
988 } else {
989 if(fgs & iDeagle[i][FLAG])
990 {
991 formatex(gIsLen, charsmax(gIsLen), "\y%s ", iDeagle[i][NAMEE]);
992 menu_additem(menu, gIsLen, "");
993 }else{
994 formatex(gIsLen, charsmax(gIsLen), "\y%s | \y[\rAdmin\y]", iDeagle[i][NAMEE]);
995 menu_additem(menu, gIsLen, "");
996 }
997 }
998 }else {
999 formatex(gIsLen, charsmax(gIsLen), "\y%s \yRango: \y[\r%s\y]", iDeagle[i][NAMEE], iRangos[iDeagle[i][Nivel]][rNombre]);
1000 menu_additem(menu, gIsLen, "");
1001 }
1002 }
1003 }
1004 ///////
1005 /*case GALIL:{
1006 for(new i = 0; i < sizeof iGalil; i++)
1007 {
1008 if(g_isLevel[id] >= iGalil[i][Nivel])
1009 {
1010 if(g_isElegida[ id ][ GALIL ] == i){
1011 formatex(gIsLen, charsmax(gIsLen), "\d%s \y[ACTUAL]", iGalil[i][NAMEE]);
1012 menu_additem(menu, gIsLen, "");
1013 } else {
1014 if(fgs & iGalil[i][FLAG])
1015 {
1016 formatex(gIsLen, charsmax(gIsLen), "\y%s ", iGalil[i][NAMEE]);
1017 menu_additem(menu, gIsLen, "");
1018 }else{
1019 formatex(gIsLen, charsmax(gIsLen), "\y%s | \y[\rAdmin\y]", iGalil[i][NAMEE]);
1020 menu_additem(menu, gIsLen, "");
1021 }
1022
1023 }
1024 }else menu_additem(menu, "\r[Locked]", "");
1025 }
1026 }
1027 case AUG:{
1028 for(new i = 0; i < sizeof iAug; i++)
1029 {
1030 if(g_isLevel[id] >= iAug[i][Nivel])
1031 {
1032 if(g_isElegida[ id ][ AUG ] == i){
1033 formatex(gIsLen, charsmax(gIsLen), "\d%s \y[ACTUAL]", iAug[i][NAMEE]);
1034 menu_additem(menu, gIsLen, "");
1035 } else {
1036 if(fgs & iAug[i][FLAG])
1037 {
1038 formatex(gIsLen, charsmax(gIsLen), "\y%s ", iAug[i][NAMEE]);
1039 menu_additem(menu, gIsLen, "");
1040 }else{
1041 formatex(gIsLen, charsmax(gIsLen), "\y%s | \y[\rAdmin\y]", iAug[i][NAMEE]);
1042 menu_additem(menu, gIsLen, "");
1043 }
1044 }
1045 }else menu_additem(menu, "\r[Locked]", "");
1046 }
1047 }
1048 case FAMAS:{
1049 for(new i = 0; i < sizeof iFamas; i++)
1050 {
1051 if(g_isLevel[id] >= iFamas[i][Nivel])
1052 {
1053 if(g_isElegida[ id ][ FAMAS ] == i){
1054 formatex(gIsLen, charsmax(gIsLen), "\d%s \y[ACTUAL]", iFamas[i][NAMEE]);
1055 menu_additem(menu, gIsLen, "");
1056 } else {
1057 if(fgs & iFamas[i][FLAG])
1058 {
1059 formatex(gIsLen, charsmax(gIsLen), "\y%s ", iFamas[i][NAMEE]);
1060 menu_additem(menu, gIsLen, "");
1061 }else{
1062 formatex(gIsLen, charsmax(gIsLen), "\y%s | \y[\rAdmin\y]", iFamas[i][NAMEE]);
1063 menu_additem(menu, gIsLen, "");
1064 }
1065 }
1066 }else menu_additem(menu, "\r[Locked]", "");
1067 }
1068 }
1069 case SG:{
1070 for(new i = 0; i < sizeof iSg552; i++)
1071 {
1072 if(g_isLevel[id] >= iSg552[i][Nivel])
1073 {
1074 if(g_isElegida[ id ][ SG ] == i){
1075 formatex(gIsLen, charsmax(gIsLen), "\d%s \y[ACTUAL]", iSg552[i][NAMEE]);
1076 menu_additem(menu, gIsLen, "");
1077 } else {
1078 if(fgs & iSg552[i][FLAG])
1079 {
1080 formatex(gIsLen, charsmax(gIsLen), "\y%s ", iSg552[i][NAMEE]);
1081 menu_additem(menu, gIsLen, "");
1082 }else{
1083 formatex(gIsLen, charsmax(gIsLen), "\y%s | \y[\rAdmin\y]", iSg552[i][NAMEE]);
1084 menu_additem(menu, gIsLen, "");
1085 }
1086 }
1087 }else menu_additem(menu, "\r[Locked]", "");
1088 }
1089 }
1090 case SCOUT:{
1091 for(new i = 0; i < sizeof iScout; i++)
1092 {
1093 if(g_isLevel[id] >= iScout[i][Nivel])
1094 {
1095 if(g_isElegida[ id ][ SCOUT ] == i){
1096 formatex(gIsLen, charsmax(gIsLen), "\d%s \y[ACTUAL]", iScout[i][NAMEE]);
1097 menu_additem(menu, gIsLen, "");
1098 } else {
1099 if(fgs & iScout[i][FLAG])
1100 {
1101 formatex(gIsLen, charsmax(gIsLen), "\y%s ", iScout[i][NAMEE]);
1102 menu_additem(menu, gIsLen, "");
1103 }else{
1104 formatex(gIsLen, charsmax(gIsLen), "\y%s | \y[\rAdmin\y]", iScout[i][NAMEE]);
1105 menu_additem(menu, gIsLen, "");
1106 }
1107 }
1108 }else menu_additem(menu, "\r[Locked]", "");
1109 }
1110 }*/
1111 }
1112 menu_display(id, menu);
1113}
1114public handler_skins(id, menu, item) {
1115 if(item == MENU_EXIT) {
1116 menu_destroy(menu);
1117 return;
1118 }
1119 static fgs; fgs = get_user_flags(id);
1120 if(g_isElegida[ id ][ g_isCat[ id ] ] == item)
1121 return;
1122
1123 switch(g_isCat[ id ])
1124 {
1125 case KNIFES:{
1126 if (g_isUsedKnife[id][item] == 0 && (g_isPoint[id] < iKnifes[item][Nivel]))
1127 return;
1128
1129 if(fgs & iKnifes[item][FLAG]){
1130 g_isElegida[ id ][ KNIFES ] = item;
1131 if (g_isUsedKnife[id][item] == 0)
1132 g_isPoint[id] -= iKnifes[item][Nivel];
1133
1134 g_isUsedKnife[id][item] = 1;
1135 return;
1136 }
1137 }
1138 case M4A1:{
1139 if (g_isLevel[id] < iM4a1[item][Nivel])
1140 return;
1141 if(fgs & iM4a1[item][FLAG]){
1142 g_isElegida[ id ][ M4A1 ] = item;
1143 return;
1144 }
1145 }
1146 case AWP:{
1147 if (g_isLevel[id] < iAwp[item][Nivel])
1148 return;
1149 if(fgs & iAwp[item][FLAG]){
1150 g_isElegida[ id ][ AWP ] = item;
1151 return;
1152 }
1153 }
1154 case DEAGLE:{
1155 if (g_isLevel[id] < iDeagle[item][Nivel])
1156 return;
1157 if(fgs & iDeagle[item][FLAG]){
1158 g_isElegida[ id ][ DEAGLE ] = item;
1159 return;
1160 }
1161 }
1162 case GLOCK18:{
1163 if (g_isLevel[id] < iGlock18[item][Nivel])
1164 return;
1165 if(fgs & iGlock18[item][FLAG]){
1166 g_isElegida[ id ][ GLOCK18 ] = item;
1167 return;
1168 }
1169 }
1170 case AK47:{
1171 if (g_isLevel[id] < iAk47[item][Nivel])
1172 return;
1173 if(fgs & iAk47[item][FLAG]){
1174 g_isElegida[ id ][ AK47 ] = item;
1175 return;
1176 }
1177 }
1178 case USP:{
1179 if (g_isLevel[id] < iUsp[item][Nivel])
1180 return;
1181 if(fgs & iUsp[item][FLAG]){
1182 g_isElegida[ id ][ USP ] = item;
1183 return;
1184 }
1185 }
1186 /*case GALIL:{
1187 if (g_isLevel[id] < iGalil[item][Nivel])
1188 return;
1189 if(fgs & iGalil[item][FLAG]){
1190 g_isElegida[ id ][ GALIL ] = item;
1191 return;
1192 }
1193 }
1194 case AUG:{
1195 if (g_isLevel[id] < iAug[item][Nivel])
1196 return;
1197 if(fgs & iAug[item][FLAG]){
1198 g_isElegida[ id ][ AUG ] = item;
1199 return;
1200 }
1201 }
1202 case FAMAS:{
1203 if (g_isLevel[id] < iFamas[item][Nivel])
1204 return;
1205 if(fgs & iFamas[item][FLAG]){
1206 g_isElegida[ id ][ FAMAS ] = item;
1207 return;
1208 }
1209 }
1210 case SG:{
1211 if (g_isLevel[id] < iSg552[item][Nivel])
1212 return;
1213 if(fgs & iSg552[item][FLAG]){
1214 g_isElegida[ id ][ SG ] = item;
1215 return;
1216 }
1217 }
1218 case SCOUT:{
1219 if (g_isLevel[id] < iScout[item][Nivel])
1220 return;
1221 if(fgs & iScout[item][FLAG]){
1222 g_isElegida[ id ][ SCOUT ] = item;
1223 return;
1224 }
1225 }*/
1226 }
1227 return;
1228
1229}
1230public ham_ItemDeploy_AllWeapons(wpn)
1231{
1232 static id; id = fm_cs_get_weapon_ent_owner(wpn);
1233
1234 if (!pev_valid(id) || !is_user_alive(id)) return;
1235
1236 static WeaponID; WeaponID = cs_get_weapon_id(wpn);
1237
1238 switch(WeaponID){
1239 case CSW_AK47: {
1240 if (!(equal(iAk47[ g_isElegida[ id ][ AK47 ] ][V_MDL], "default"))) set_pev(id, pev_viewmodel2, iAk47[ g_isElegida[ id ][ AK47 ] ][V_MDL]);
1241 if (!(equal(iAk47[ g_isElegida[ id ][ AK47 ] ][P_MDL], "default"))) set_pev(id, pev_weaponmodel2, iAk47[ g_isElegida[ id ][ AK47 ] ][P_MDL]);
1242 }
1243 case CSW_M4A1:{
1244 if (!(equal(iM4a1[ g_isElegida[ id ][ M4A1 ] ][V_MDL], "default"))) set_pev(id, pev_viewmodel2, iM4a1[ g_isElegida[ id ][ M4A1 ] ][V_MDL]);
1245 if (!(equal(iM4a1[ g_isElegida[ id ][ M4A1 ] ][P_MDL], "default"))) set_pev(id, pev_weaponmodel2, iM4a1[ g_isElegida[ id ][ M4A1 ] ][P_MDL]);
1246 }
1247 case CSW_AWP: {
1248 if (!(equal(iAwp[ g_isElegida[ id ][ AWP ] ][V_MDL], "default"))) set_pev(id, pev_viewmodel2, iAwp[ g_isElegida[ id ][ AWP ] ][V_MDL]);
1249 if (!(equal(iAwp[ g_isElegida[ id ][ AWP ] ][P_MDL], "default"))) set_pev(id, pev_weaponmodel2, iAwp[ g_isElegida[ id ][ AWP ] ][P_MDL]);
1250 }
1251 case CSW_GLOCK18:{
1252 if (!(equal(iGlock18[ g_isElegida[ id ][ GLOCK18 ] ][V_MDL], "default"))) set_pev(id, pev_viewmodel2, iGlock18[ g_isElegida[ id ][ GLOCK18 ] ][V_MDL]);
1253 if (!(equal(iGlock18[ g_isElegida[ id ][ GLOCK18 ] ][P_MDL], "default"))) set_pev(id, pev_weaponmodel2, iGlock18[ g_isElegida[ id ][ GLOCK18 ] ][P_MDL]);
1254 }
1255 case CSW_USP: {
1256 if (!(equal(iUsp[ g_isElegida[ id ][ USP ] ][V_MDL], "default"))) set_pev(id, pev_viewmodel2, iUsp[ g_isElegida[ id ][ USP ] ][V_MDL]);
1257 if (!(equal(iUsp[ g_isElegida[ id ][ USP ] ][P_MDL], "default"))) set_pev(id, pev_weaponmodel2, iUsp[ g_isElegida[ id ][ USP ] ][P_MDL]);
1258 }
1259 case CSW_DEAGLE: {
1260 if (!(equal(iDeagle[ g_isElegida[ id ][ DEAGLE ] ][V_MDL], "default"))) set_pev(id, pev_viewmodel2, iDeagle[ g_isElegida[ id ][ DEAGLE ] ][V_MDL]);
1261 if (!(equal(iDeagle[ g_isElegida[ id ][ DEAGLE ] ][P_MDL], "default"))) set_pev(id, pev_weaponmodel2, iDeagle[ g_isElegida[ id ][ DEAGLE ] ][P_MDL]);
1262 }
1263 case CSW_KNIFE: {
1264 if (!(equal(iKnifes[ g_isElegida[ id ][ KNIFES ] ][V_MDL], "default"))) set_pev(id, pev_viewmodel2, iKnifes[ g_isElegida[ id ][ KNIFES ] ][V_MDL]);
1265 if (!(equal(iKnifes[ g_isElegida[ id ][ KNIFES ] ][P_MDL], "default"))) set_pev(id, pev_weaponmodel2, iKnifes[ g_isElegida[ id ][ KNIFES ] ][P_MDL]);
1266 }
1267 /*case CSW_AUG: {
1268 if (!(equal(iAug[ g_isElegida[ id ][ AUG ] ][V_MDL], "default"))) set_pev(id, pev_viewmodel2, iAug[ g_isElegida[ id ][ AUG ] ][V_MDL]);
1269 if (!(equal(iAug[ g_isElegida[ id ][ AUG ] ][P_MDL], "default"))) set_pev(id, pev_weaponmodel2, iAug[ g_isElegida[ id ][ AUG ] ][P_MDL]);
1270 }
1271 case CSW_GALIL:{
1272 if (!(equal(iGalil[ g_isElegida[ id ][ GALIL ] ][V_MDL], "default"))) set_pev(id, pev_viewmodel2, iGalil[ g_isElegida[ id ][ GALIL ] ][V_MDL]);
1273 if (!(equal(iGalil[ g_isElegida[ id ][ GALIL ] ][P_MDL], "default"))) set_pev(id, pev_weaponmodel2, iGalil[ g_isElegida[ id ][ GALIL ] ][P_MDL]);
1274 }
1275 case CSW_SCOUT:{
1276 if (!(equal(iScout[ g_isElegida[ id ][ SCOUT ] ][V_MDL], "default"))) set_pev(id, pev_viewmodel2, iScout[ g_isElegida[ id ][ SCOUT ] ][V_MDL]);
1277 if (!(equal(iScout[ g_isElegida[ id ][ SCOUT ] ][P_MDL], "default"))) set_pev(id, pev_weaponmodel2, iScout[ g_isElegida[ id ][ SCOUT ] ][P_MDL]);
1278 }
1279 case CSW_SG552:{
1280 if (!(equal(iSg552[ g_isElegida[ id ][ SG ] ][V_MDL], "default"))) set_pev(id, pev_viewmodel2, iSg552[ g_isElegida[ id ][ SG ] ][V_MDL]);
1281 if (!(equal(iSg552[ g_isElegida[ id ][ SG ] ][P_MDL], "default"))) set_pev(id, pev_weaponmodel2, iSg552[ g_isElegida[ id ][ SG ] ][P_MDL]);
1282 }
1283 case CSW_FAMAS:{
1284 if (!(equal(iFamas[ g_isElegida[ id ][ FAMAS ] ][V_MDL], "default"))) set_pev(id, pev_viewmodel2, iFamas[ g_isElegida[ id ][ FAMAS ] ][V_MDL]);
1285 if (!(equal(iFamas[ g_isElegida[ id ][ FAMAS ] ][P_MDL], "default"))) set_pev(id, pev_weaponmodel2, iFamas[ g_isElegida[ id ][ FAMAS ] ][P_MDL]);
1286 }*/
1287 }
1288}
1289public ShowHUD(const taskid)
1290{
1291 new id
1292 id = ID_SHOWHUD;
1293 if (!is_user_alive(id))
1294 {
1295 id = pev(id, pev_iuser2);
1296 return;
1297 }
1298 set_dhudmessage(0,225,0, -1.0, 0.0, 0, 6.0, 1.1, 0.0, 0.0)
1299 show_dhudmessage(id, "TEAM RIKOLINO [%d] - [%d] TEAM ZUKULEMTO", g_isrCT,g_isrTT);
1300
1301 set_hudmessage(0, 225, 0, -1.0, 0.9, 0, 6.0, 1.1, 0.0, 0.0) ;
1302 if( g_isLevel[ id ] < sizeof(iRangos) ){
1303 ShowSyncHudMsg(id, iHud,"Rango: %s - EXP: %d/%d - Monedas: %d^nHora Feliz: %s",
1304 iRangos[ g_isLevel[ id ] ][ rNombre ], g_isExp[ id ], iRangos[ g_isLevel[ id ]+1 ][ rNecesario ], g_isPoint[ id ],
1305 g_isHappytime ? "ON": "OFF") ;
1306 }
1307 else{
1308 ShowSyncHudMsg(id, iHud,"Rango: %s [MAX] - EXP: %d/%d - Monedas: %d^nHora Feliz: %s",
1309 iRangos[ g_isLevel[ id ] ][ rNombre ], g_isExp[ id ], iRangos[ g_isLevel[ id ] ][ rNecesario ], g_isPoint[ id ],
1310 g_isHappytime ? "ON": "OFF") ;
1311 }
1312}
1313public Ham_PlayerKilled(const victim, const attacker, const shouldgib) {
1314 if (!is_user_connected(attacker) || (victim == attacker)) return;
1315
1316 Check_level(attacker, 3, 1);
1317 if(g_isHappytime)chatcolor( attacker, "^x04%s^x01 Ganaste^x04 %d de EXP y %d MONEDA(S)^x01 por matar un enemigo en la ^x04Hora Vicio.", iPlugin[3], (3*g_isGanancia[attacker])*2, (1*g_isGanancia[attacker])*2)
1318 else chatcolor( attacker, "^x04%s^x01 Ganaste^x04 %d de EXP y %d MONEDA(S)^x01 por matar un enemigo.", iPlugin[3], (3*g_isGanancia[attacker]), (1*g_isGanancia[attacker]))
1319}
1320public Check_level(id, cantExp, cantPoints){
1321 if(g_isLevel[ id ] >= sizeof(iRangos)){
1322 chatcolor( id, "^x04[DG]^x01 Estas en el rango maximo!!!");
1323 return;
1324 }
1325 static hh; hh = g_isHappytime ? 2 : 1;
1326 g_isExp[ id ] += (cantExp * g_isGanancia[ id ]) * hh;
1327 g_isPoint[ id ] += (cantPoints * g_isGanancia[ id ]) * hh;
1328 static level; level = g_isLevel[ id ];
1329 while(g_isExp[ id ] >= iRangos[ g_isLevel[ id ] + 1 ][ rNecesario ] && g_isLevel[ id ] < sizeof(iRangos)-1){
1330 ++g_isLevel[ id ];
1331 }
1332 if(g_isLevel[ id ] > level ){
1333 chatcolor( id, "^x04[DG]^x01 FELICIDADES! Subiste al NIVEL:^x04 %d ^x01 ^x01y RANGO:^x04 %s", g_isLevel[ id ], iRangos[ g_isLevel[ id ] ][ rNombre ]);
1334 }
1335}
1336
1337public clcmdMenu(const id){
1338 if(g_isEntro[ id ] == 2) menu_principal(id);
1339 else if(g_isEntro[ id ] == 1) menu_enter(id);
1340 else if(g_isEntro[ id ] == 0){
1341 show_login_menu( id );
1342 return PLUGIN_HANDLED;
1343 }
1344 return PLUGIN_HANDLED;
1345}
1346
1347public message_VGUIMenu( iMsgid, iDest, id ) {
1348 if( g_isEntro[id] || get_msg_arg_int( 1 ) != 2 )
1349 return PLUGIN_CONTINUE;
1350
1351 return PLUGIN_HANDLED;
1352}
1353
1354public message_ShowMenu( iMsgid, iDest, id ) {
1355 if( g_isEntro[id] )
1356 return PLUGIN_CONTINUE;
1357
1358 static sMenuCode[ 33 ];
1359 get_msg_arg_string( 4, sMenuCode, charsmax( sMenuCode ) );
1360
1361 if( containi( sMenuCode, "Team_Select" ) != -1 ) {
1362 return PLUGIN_HANDLED;
1363 }
1364
1365 return PLUGIN_CONTINUE;
1366}
1367public menu_enter( id ){
1368 oldmenu_create("handler_enter", "\y* DATOS DE TU CUENTA *");
1369
1370 oldmenu_additem(-1, 0, "\wNombre: \y%s", g_isName[ id ]);
1371 oldmenu_additem(-1, 0, "\wRango: \y%s", iRangos[ g_isLevel[ id ] ][rNombre]);
1372 oldmenu_additem(-1, 0, "\wMonedas: \y%d", g_isPoint[ id ]);
1373
1374 oldmenu_additem(1, 0, "^n^n\w1. \wENTRAR A JUGAR !!");
1375 oldmenu_display(id);
1376 return PLUGIN_HANDLED;
1377}
1378public handler_enter(id, item, value, page)
1379{
1380 menu_team( id )
1381
1382 return PLUGIN_HANDLED;
1383}
1384public menu_team( id ){
1385 oldmenu_create("handler_tewam", "\y* MENU DE EQUIPOS *");
1386 if(getTT() > getCT())
1387 oldmenu_additem(1, 0, "\r1. \wTEAM RIKOLINO \r[CT]");
1388 else{
1389 if(getCT() > getTT())
1390 oldmenu_additem(2, 0, "\r2. \wTEAM ZUKULEMTO \r[TT]");
1391 else {
1392 oldmenu_additem(1, 0, "\r1. \wTEAM RIKOLINO \r[CT]");
1393 oldmenu_additem(2, 0, "\r2. \wTEAM ZUKULEMTO \r[TT]");
1394 }
1395 }
1396 oldmenu_display(id);
1397 return PLUGIN_HANDLED;
1398}
1399public handler_tewam(id, item, value, page)
1400{
1401 func_login_success( id, item );
1402 if(getTT() > getCT())
1403 func_login_success( id, 1 );
1404 else{
1405 if(getCT() > getTT())
1406 func_login_success( id, 2 );
1407 else {
1408 func_login_success( id, item );
1409 }
1410 }
1411 return PLUGIN_HANDLED;
1412}
1413
1414public func_login_success(iId, itemm){
1415 if( is_user_connected(iId) )
1416 {
1417 static iRestore; iRestore = get_pdata_int( iId, m_iVGUI );
1418
1419 if( iRestore & (1<<0) )
1420 set_pdata_int( iId, m_iVGUI, iRestore & ~(1<<0) );
1421
1422 set_pdata_int( iId, 365, 0 );
1423 set_msg_block( g_msgShowMenu, BLOCK_SET );
1424 set_msg_block( g_msgVGUIMenu, BLOCK_SET );
1425
1426 g_isEntro[ iId ] = 2;
1427 sethat(iId);
1428 engclient_cmd( iId, "jointeam", itemm == 1 ? "2" : itemm == 2 ? "1": "6" );
1429 engclient_cmd( iId, "joinclass", "5" );
1430 set_task(1.0, "ShowHUD", iId+TASK_SHOWHUD, _, _, "b" );
1431 Check_level(iId, 0, 0);
1432 set_msg_block( g_msgShowMenu, BLOCK_NOT );
1433 set_msg_block( g_msgVGUIMenu , BLOCK_NOT );
1434
1435 if( iRestore & (1<<0) )
1436 set_pdata_int( iId, m_iVGUI, iRestore );
1437
1438 menu_cancel( iId );
1439
1440 }
1441}
1442public show_login_menu( id ) {
1443 oldmenu_create("login_menuu", "\y%s \n\wCreado Por \r%s", iPlugin[0], iPlugin[2]);
1444
1445 oldmenu_additem(1,0, "\r1. \wCrear Cuenta" );
1446 oldmenu_additem(2,0, "\r2. \wIngresar" );
1447 oldmenu_display(id);
1448
1449 return PLUGIN_HANDLED;
1450}
1451
1452public login_menuu(id, itemnum, value, page) {
1453
1454 switch( itemnum ) {
1455 case 1: client_cmd( id, "messagemode Crear_contra" );
1456 case 2: client_cmd( id, "messagemode loguear_contra" );
1457 }
1458
1459 return PLUGIN_HANDLED;
1460}
1461
1462public reg_passwordd( id ) {
1463 read_args( g_password[ id ], charsmax( g_password[ ] ) );
1464 remove_quotes( g_password[ id ] );//removemos comillas
1465 trim( g_password[ id ] );
1466 md5( g_password[ id ], g_password[ id ] );
1467
1468
1469 new szQuery[ 256 ], iData[ 2 ];
1470
1471 iData[ 0 ] = id;
1472 iData[ 1 ] = REGISTRAR_CUENTA;
1473
1474 get_user_name( id, g_isName[ id ], charsmax( g_isName[ ] ) );//obtenemos el nombre
1475 //insertar en la tabla pw y pj que valen el nick y la pw ingresada
1476 formatex( szQuery, charsmax( szQuery ), "INSERT INTO %s (Password, Pj) VALUES (^"%s^", ^"%s^")", szTable, g_password[ id ], g_isName[ id ] );
1477 //ejecutamos la consulta
1478 SQL_ThreadQuery(g_hTuple, "DataHandler", szQuery, iData, 2);
1479
1480 return PLUGIN_HANDLED;
1481}
1482
1483public log_passwordd( id ) {
1484 read_args( g_password[ id ], charsmax( g_password[ ] ) );
1485 remove_quotes( g_password[ id ] );//removemos las comillas
1486 trim( g_password[ id ] );
1487 md5( g_password[ id ], g_password[ id ] );
1488
1489 new szQuery[ 128 ], iData[ 2 ];
1490
1491 iData[ 0 ] = id;
1492 iData[ 1 ] = LOGUEAR_CUENTA;
1493 //seleccionamos entre t2 los datos de la tabla donde pj sea igual al nick y la pw al a ingresada
1494 formatex( szQuery, charsmax( szQuery ), "SELECT * FROM %s WHERE Pj=^"%s^" AND Password=^"%s^"", szTable, g_isName[ id ], g_password[ id ] );
1495 //ejecutamos la consulta
1496 SQL_ThreadQuery( g_hTuple, "DataHandler", szQuery, iData, 2 );
1497
1498 return PLUGIN_HANDLED;
1499}
1500
1501public guardar_datos( id ) {
1502 new szTabla[ 1000 ], len = 0, iData[ 2 ];
1503
1504 iData[ 0 ] = id;
1505 iData[ 1 ] = GUARDAR_DATOS;
1506 //actualizamos los kilss etc donde la id sea igual a la id del player
1507
1508 len += format(szTabla[len], charsmax(szTabla) - len, "UPDATE %s SET Pt='%d',Lvl='%d',Hat='%d', Exp='%d', Ele1='%d', Ele2='%d',",
1509 szTable, g_isPoint[ id ], g_isLevel[ id ], g_isHat[ id ], g_isExp[ id ], g_isElegida[ id ][ 1 ], g_isElegida[ id ][ 2 ]);
1510
1511 len += format(szTabla[len], charsmax(szTabla) - len, "Ele3='%d',Ele4='%d',Ele5='%d',Ele6='%d', H1='%d',H2='%d',H3='%d',H4='%d',H5='%d',",
1512 g_isElegida[ id ][ 3 ], g_isElegida[ id ][ 4 ], g_isElegida[ id ][ 5 ], g_isElegida[ id ][ 6 ], g_isUsedHat[ id ][ 0 ],
1513 g_isUsedHat[ id ][ 1 ], g_isUsedHat[ id ][ 2 ], g_isUsedHat[ id ][ 3 ], g_isUsedHat[ id ][ 4 ])
1514
1515 len += format(szTabla[len], charsmax(szTabla) - len, "H6='%d',H7='%d',H8='%d',H9='%d',H10='%d',K1='%d',K2='%d',K3='%d',K4='%d',K5='%d', ",
1516 g_isUsedHat[ id ][ 5 ], g_isUsedHat[ id ][ 6 ], g_isUsedHat[ id ][ 7 ], g_isUsedHat[ id ][ 8 ], g_isUsedHat[ id ][ 9 ],
1517 g_isUsedKnife[ id ][ 0 ], g_isUsedKnife[ id ][ 1 ], g_isUsedKnife[ id ][ 2 ], g_isUsedKnife[ id ][ 3 ], g_isUsedKnife[ id ][ 4 ])
1518
1519 len += format(szTabla[len], charsmax(szTabla) - len, "K6='%d',K7='%d',K8='%d',K9='%d',Ele7='%d' WHERE id='%d'", g_isUsedKnife[ id ][ 5 ],
1520 g_isUsedKnife[ id ][ 6 ], g_isUsedKnife[ id ][ 7 ], g_isUsedKnife[ id ][ 8 ], g_isElegida[ id ][ 7 ], g_id[ id ]);
1521
1522 //ejecutamos la consulta
1523 SQL_ThreadQuery( g_hTuple, "DataHandler", szTabla, iData, 2 );
1524}
1525
1526public DataHandler( failstate, Handle:Query, error[ ], error2, data[ ], datasize, Float:time ) {
1527 static id;
1528 id = data[ 0 ];
1529
1530 if( !is_user_connected( id ) )
1531 return;
1532
1533 switch( failstate ) {
1534 case TQUERY_CONNECT_FAILED: {
1535 log_to_file( "SQL_LOG_TQ.txt", "Error en la conexion al MySQL [%i]: %s", error2, error );
1536 return;
1537 }
1538 case TQUERY_QUERY_FAILED:
1539 log_to_file( "SQL_LOG_TQ.txt", "Error en la consulta al MySQL [%i]: %s", error2, error );
1540 }
1541
1542 switch( data[ 1 ] ) {
1543 case REGISTRAR_CUENTA: {
1544 if( failstate < TQUERY_SUCCESS ) {
1545 if( containi( error, "Pj" ) != -1 )
1546 chatcolor( id, "%s El nombre de personaje esta en uso.", iPlugin[3] );
1547 else
1548 chatcolor( id, "^4%s^1 Error al crear la cuenta. Intente nuevamente.", iPlugin[3] );
1549
1550 client_cmd( id, "spk buttons/button10.wav" );
1551
1552 show_login_menu( id );
1553 }
1554 else {
1555 chatcolor( id, "^4%s^1 Tu cuenta ha sido creada correctamente.", iPlugin[3] );
1556 new szQuery[ 128 ], iData[ 2 ];
1557
1558 iData[ 0 ] = id;
1559 iData[ 1 ] = CARGAR_DATOS;
1560 //seleccionamos la id de la tabla .. donde pj esa igual al nick
1561 formatex( szQuery, charsmax( szQuery ), "SELECT id FROM %s WHERE Pj=^"%s^"", szTable, g_isName[ id ] );
1562 SQL_ThreadQuery( g_hTuple, "DataHandler", szQuery, iData, 2 );
1563 }
1564
1565 }
1566 case LOGUEAR_CUENTA: {
1567 if( SQL_NumResults( Query ) ) {
1568 g_id[ id ] = SQL_ReadResult( Query, 0 );
1569 SQL_ReadResult( Query, 2, g_isName[ id ], charsmax( g_isName[ ] ) );
1570
1571 // Cargamos datos
1572 g_isPoint[ id ] = SQL_ReadResult( Query, 3 );
1573 g_isLevel[ id ] = SQL_ReadResult( Query, 4 );
1574 g_isHat[ id ] = SQL_ReadResult( Query, 5 );
1575 g_isExp[ id ] = SQL_ReadResult( Query, 6 );
1576 for(new i = 1; i < 7; ++i) g_isElegida[ id ][ i ] = SQL_ReadResult( Query, i+6 );//12
1577 for(new i = 0; i < 10; ++i) g_isUsedHat[ id ][ i ] = SQL_ReadResult( Query, i+13 );//22
1578 for(new i = 0; i < 9; ++i) g_isUsedKnife[ id ][ i ] = SQL_ReadResult( Query, i+23 );//31
1579 g_isElegida[ id ][ 7 ] = SQL_ReadResult( Query, 32 );
1580 menu_enter( id );
1581 g_isEntro[ id ] = 1;
1582 }
1583 else {
1584 chatcolor( id, "^4%s^1 Contraseñ incorrecta.", iPlugin[3] );
1585 client_cmd( id, "spk buttons/button10.wav" );
1586
1587 show_login_menu( id );
1588 }
1589 }
1590 case CARGAR_DATOS: {
1591 if( SQL_NumResults( Query ) ) {
1592 g_id[ id ] = SQL_ReadResult( Query, 0 );//cargamos la id
1593
1594 g_isLevel[ id ] = g_isPoint[ id ] = g_isExp[ id ] = 0;
1595 g_isHat[ id ] = -1;
1596 arrayset(g_isElegida[ id ], 0, sizeof(g_isElegida[ ]));
1597 arrayset(g_isUsedHat[ id ], 0, sizeof(g_isUsedHat[ ]));
1598 arrayset(g_isUsedKnife[ id ], 0, sizeof(g_isUsedKnife[ ]));
1599 menu_enter( id );
1600 g_isEntro[ id ] = 1;
1601 }
1602 else {
1603 chatcolor( id, "^4%s^1 Error al cargar los datos, intente nuevamente.", iPlugin[3]);
1604 show_login_menu( id );
1605 }
1606 }
1607 case GUARDAR_DATOS: {
1608 if( failstate < TQUERY_SUCCESS )
1609 console_print( id, "^4%s^1 Error en el guardado de datos.", iPlugin[3] );
1610
1611 else
1612 console_print( id, "^4%s^1 Datos guardados.", iPlugin[3] );
1613 }
1614 }
1615}
1616stock contain_special_characters(const str[])
1617{
1618 static len
1619 len = strlen(str)
1620
1621 for (new i = 0; i < len; i++)
1622 {
1623 if (!isalnum(str[i]))
1624 return 1;
1625 }
1626
1627 return 0;
1628}
1629stock count_characters(const szString[], const len = sizeof(szString))
1630{
1631 new count, i
1632
1633 for (i = 0 ; i < len; i++)
1634 {
1635 if (isalnum(szString[i]))
1636 count++
1637 }
1638
1639 return count;
1640}
1641public BlockSay( index )
1642{
1643 static said[191];
1644 read_args(said, charsmax(said));
1645 remove_quotes(said);
1646 replace_all(said, charsmax(said), "%", " "); replace_all(said, charsmax(said), "#", " ");
1647
1648 if (!ValidMessage(said, 1)) return PLUGIN_CONTINUE;
1649
1650 static color[11], prefix[91]
1651 get_user_team(index, color, charsmax(color))
1652
1653 formatex(prefix, charsmax(prefix), "%s ^x04%s^x01[ ^x04%s ^x01] ^x03%s",
1654 is_user_alive( index ) ? "^x01" : "^x01*MUERTO* ", g_isTag[ index ], iRangos[ g_isLevel[ index ] ][ rNombre ], g_isName[ index ]);
1655
1656 if (is_user_admin(index)) format(said, charsmax(said), "^x04%s", said);
1657
1658 format(said, charsmax(said), "%s^x01 : %s", prefix, said);
1659
1660 static i, team[11];
1661 for (i = 1; i <= g_isMaxPlayers; i++)
1662 {
1663 if (!is_user_connected(i)) continue;
1664
1665 if (is_user_admin(i) || is_user_alive(index) && is_user_alive(i) || !is_user_alive(index) && !is_user_alive(i))
1666 {
1667 get_user_team(i, team, charsmax(team));
1668 changeTeamInfo(i, color);
1669 writeMessage(i, said);
1670 changeTeamInfo(i, team);
1671 }
1672 }
1673
1674 return PLUGIN_HANDLED_MAIN;
1675}
1676
1677public changeTeamInfo(player, team[])
1678{
1679 message_begin(MSG_ONE, get_user_msgid( "TeamInfo" ), _, player);
1680 write_byte(player);
1681 write_string(team);
1682 message_end();
1683}
1684
1685public writeMessage(player, message[])
1686{
1687 message_begin(MSG_ONE, get_user_msgid( "SayText" ), {0, 0, 0}, player);
1688 write_byte(player);
1689 write_string(message);
1690 message_end();
1691}
1692stock ValidMessage(text[], maxcount)
1693{
1694 static len, i, count;
1695 len = strlen(text);
1696 count = 0;
1697
1698 if (!len) return false;
1699
1700 for (i = 0; i < len; i++)
1701 {
1702 if (text[i] != ' ')
1703 {
1704 count++;
1705 if (count >= maxcount)
1706 return true;
1707 }
1708 }
1709
1710 return false;
1711}
1712stock chatcolor(id, const input[], any:...)
1713{
1714 static szMsg[191], msgSayText;
1715
1716 if (!msgSayText)
1717 msgSayText = get_user_msgid("SayText");
1718
1719 vformat(szMsg, 190, input, 3);
1720
1721 replace_all(szMsg, 190, "!g", "^4");
1722 replace_all(szMsg, 190, "!y", "^1");
1723 replace_all(szMsg, 190, "!team", "^3");
1724
1725 message_begin(id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, msgSayText, .player = id);
1726 write_byte(id ? id : 33);
1727 write_string(szMsg);
1728 message_end();
1729}
1730stock fm_cs_get_weapon_ent_owner(ent)
1731{
1732 if (pev_valid(ent) != 2)
1733 return -1;
1734
1735 return get_pdata_cbase(ent, 41, 4);
1736}
1737getTT(){
1738 static nm;
1739 for (new i = 1; i <= g_isMaxPlayers; i++)
1740 {
1741 if(is_user_connected( i ) && (cs_get_user_team(i) == CS_TEAM_T) )
1742 ++nm;
1743 }
1744 return nm;
1745}
1746 getCT(){
1747 static nm;
1748 for (new i = 1; i <= g_isMaxPlayers; i++)
1749 {
1750 if(is_user_connected( i ) && (cs_get_user_team(i) == CS_TEAM_CT) )
1751 ++nm;
1752 }
1753 return nm;
1754}
1755/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
1756*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang10250\\ f0\\ fs16 \n\\ par }
1757*/