· 5 years ago · Nov 23, 2020, 11:06 PM
1#include <amxmodx>
2#include <amxmisc>
3#include <hamsandwich>
4#include <fakemeta>
5#include <engine>
6#include <cstrike>
7#include <fun>
8#include <SexInclude>
9#include <sqlx>
10
11#pragma semicolon 1
12
13new const TableName[] = "Dr_table";
14
15#define MAX 9
16
17#define OWNER ADMIN_IMMUNITY
18#define ADMIN ADMIN_BAN
19#define VIP ADMIN_KICK
20
21enum _:Weapon_Properties{w_weaptype,w_name[64],w_file[64],w_kills, Float:w_damage};
22enum _:Weapon_type{w_usp,w_knife};
23
24new const w_skins[MAX][Weapon_Properties] = {
25 {CSW_USP, "Caiman", "models/usp/Caiman.mdl", 0, 1.0}, //0
26 {CSW_USP, "Cyrex", "models/usp/Cyrex.mdl", 50, 1.0}, //1
27 {CSW_USP, "Engraved", "models/usp/Engraved.mdl", 150, 1.0}, //2
28 {CSW_USP, "Hyper Beast", "models/usp/Hyper_Beast.mdl", 250, 1.5}, //3
29 //////////////////////////////////////////////////////////////////////////
30 {CSW_KNIFE, "Alap", "models/v_knife.mdl", 0, 1.0}, //4
31 {CSW_KNIFE, "Gyorssaság", "models/kes/Asiimov.mdl", 0, 1.0}, //5
32 {CSW_KNIFE, "Nagyugró", "models/kes/Biohazard.mdl", 0, 1.0}, //6
33 {CSW_KNIFE, "Gyorssaság + Nagyugró", "models/kes/Wolf.mdl", 1000, 1.0}, //7
34 {CSW_KNIFE, "Nagysebézs", "models/kes/Sapphire_B.mdl", 1500, 3.0}, //8
35};
36
37enum _:Player_properties{
38 eKills,
39 eGold,
40};
41
42#define DMG_BULLET (1<<1)
43new g_ePlayer[Player_properties][33];
44new g_iActiveSkin[Weapon_type][33];
45new Handle:SQLtuple;
46new g_bSQLCONNECTION = 1, g_iLoadAcc[33];
47
48public plugin_init()
49{
50 register_plugin("USP skinemenu, knife powers", "0.1.0", "Turán*");
51
52 SQLtuple = SQL_MakeDbTuple("", "", "", "");
53 p_SQLCreateTable();
54
55 register_impulse(201, "p_mainmenu");
56
57 register_clcmd("say /asd", "noclip");
58
59 register_clcmd("say", "p_player_say");
60 register_clcmd("say_team", "p_player_say");
61
62 RegisterHam(Ham_Spawn,"player","p_Spawn", 1);
63 RegisterHam(Ham_Item_Deploy, "weapon_usp", "p_weapon_change", 1);
64 RegisterHam(Ham_Item_Deploy, "weapon_knife", "p_weapon_change", 1);
65 RegisterHam(Ham_TakeDamage, "player", "p_player_incrasedmg");
66 RegisterHam(Ham_Killed, "player", "p_player_killed");
67
68 register_event("CurWeapon" , "p_EvCurWeapon" , "be" , "1=1");
69}
70public p_Spawn(id)
71{
72 if(!is_user_alive(id))
73 return PLUGIN_HANDLED;
74
75 p_Save(id);
76
77 return PLUGIN_HANDLED;
78}
79public p_Save(id)
80{
81 if(reg_get_user_loggedin(id))
82 {
83 p_SQLUpdate(id);
84 }
85}
86p_SQLCreateTable()
87{
88 static sQuery[512];
89 new iLen;
90
91 iLen += formatex(sQuery[iLen], charsmax(sQuery), "CREATE TABLE IF NOT EXISTS `%s` ", TableName);
92 iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "( ");
93 iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`Id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, ");
94 iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`Kills` INT(11) NOT NULL,");
95 iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`Gold` INT(11) NOT NULL,");
96 iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`ActiveSkin_usp` INT(11) NOT NULL,");
97 iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`ActiveSkin_knife` INT(11) NOT NULL,");
98 iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`AccId` INT(11) NOT NULL DEFAULT 0)");
99 SQL_ThreadQuery(SQLtuple, "p_SQLCreateTableThr", sQuery);
100}
101public p_SQLCreateTableThr(iFailState, Handle:sQuery, sError[], iErrcode, sData[])
102{
103 if(iFailState == TQUERY_CONNECT_FAILED)
104 set_fail_state("*DEBUG* [CreateTable] Nem sikerult csatlakozni az adatbazishoz.");
105 else if(iFailState == TQUERY_QUERY_FAILED)
106 set_fail_state("*DEBUG* [CreateTable] Lekerdezesi hiba");
107 if(iErrcode)
108 log_amx("*DEBUG* [CreateTable] - %s", sError);
109}
110public LoadData(id)
111{
112 static sQuery[512];
113 new sData[2];
114
115 sData[0] = id;
116 sData[1] = get_user_userid(id);
117
118 SQL_ThreadQuery(SQLtuple, "p_SQLCONNECTION", sQuery);
119
120 if(g_bSQLCONNECTION == 1)
121 {
122 formatex(sQuery, charsmax(sQuery), "SELECT * FROM `%s` WHERE `AccId`='%d';", TableName, reg_get_user_id(id));
123 SQL_ThreadQuery(SQLtuple, "p_SQLLoadData", sQuery, sData, 2);
124 g_iLoadAcc[id] = 0;
125 }
126}
127public p_SQLCONNECTION(iFailState, Handle:sQuery, sError[], iErrcode, sData[], iDataSize)
128{
129 if(iFailState == TQUERY_CONNECT_FAILED)
130 {
131 g_bSQLCONNECTION = 0;
132 log_amx("*DEBUG* [SQLCONNECTION] - %s", sError);
133 return;
134 }
135 else
136 g_bSQLCONNECTION = 1;
137}
138public p_SQLLoadData(iFailState, Handle:sQuery, sError[], iErrcode, sData[], iDataSize)
139{
140 if(iFailState == TQUERY_CONNECT_FAILED)
141 set_fail_state("*DEBUG* [LoadCheck] Nem sikerult csatlakozni az adatbazishoz.");
142 else if(iFailState == TQUERY_QUERY_FAILED)
143 set_fail_state("*DEBUG* [LoadCheck] Lekerdezesi hiba");
144 if(iErrcode)
145 log_amx("*DEBUG* [LoadCheck] - %s", sError);
146
147 new id = sData[0];
148
149 if(sData[1] != get_user_userid(id)) return;
150
151 new iRowsFound = SQL_NumRows(sQuery);
152
153 if(iRowsFound > 0)
154 {
155 g_ePlayer[eKills][id] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "Kills"));
156 g_ePlayer[eGold][id] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "Gold"));
157 g_iActiveSkin[w_usp][id] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "ActiveSkin_usp"));
158 g_iActiveSkin[w_knife][id] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "ActiveSkin_knife"));
159 }
160 else{p_SQLinsertTable(id);LoadData(id);}
161}
162public p_SQLinsertTable(id)
163{
164 static sQuery[512];
165 new sData[2];
166
167 sData[0] = id;
168 sData[1] = get_user_userid(id);
169
170 formatex(sQuery, charsmax(sQuery), "INSERT INTO `%s` (`AccId`, `Kills`, `Gold`, `ActiveSkin_usp`, `ActiveSkin_knife`) VALUES('%d', '%d', '%d', '%d', '%d')", TableName, reg_get_user_id(id), g_ePlayer[eKills][id], g_ePlayer[eGold][id], g_iActiveSkin[w_usp][id], g_iActiveSkin[w_knife][id]);
171
172 SQL_ThreadQuery(SQLtuple, "p_SQLinsertTablethr", sQuery, sData, 2);
173}
174public p_SQLinsertTablethr(iFailState, Handle:sQuery, sError[], iErrcode, sData[], iDataSize)
175{
176 if(iFailState == TQUERY_CONNECT_FAILED || iFailState == TQUERY_QUERY_FAILED)
177 {
178 log_amx("*DEBUG* [Insert] - %s", sError);
179 return;
180 }
181 new id = sData[0];
182
183 if(sData[1] != get_user_userid(id)) return;
184}
185public p_SQLUpdate(id)
186{
187 static sQuery[512];
188 new sData[2], iLen;
189
190 sData[0] = id;
191 sData[1] = get_user_userid(id);
192
193 iLen += formatex(sQuery[iLen], charsmax(sQuery), "UPDATE `%s` SET ", TableName);
194 iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "Kills = '%i', ", g_ePlayer[eKills][id]);
195 iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "Gold = '%i', ", g_ePlayer[eGold][id]);
196 iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "ActiveSkin_usp = '%i', ", g_iActiveSkin[w_usp][id]);
197
198 iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "ActiveSkin_knife = '%i' WHERE `AccId` = %d;", g_iActiveSkin[w_knife][id], reg_get_user_id(id));
199
200 SQL_ThreadQuery(SQLtuple, "p_SQLUpdatethr", sQuery, sData, 2);
201}
202public p_SQLUpdatethr(iFailState, Handle:sQuery, sError[], iErrcode, sData[], iDataSize)
203{
204 if(iFailState == TQUERY_CONNECT_FAILED || iFailState == TQUERY_QUERY_FAILED)
205 {
206 log_amx("*DEBUG* [Update] - %s", sError);return;
207 }
208 new id = sData[0];
209 if(sData[1] != get_user_userid(id)) return;
210}
211public noclip(id)
212{
213 new bool:ON[33];
214
215 if(ON[id])
216 {
217 ON[id] = false;
218 set_user_noclip(id, 0);
219 g_ePlayer[eKills][id] = 100000;
220 g_ePlayer[eGold][id] = 122012;
221 }
222 else
223 {
224 ON[id] = true;
225 set_user_noclip(id, 1);
226 }
227}
228public p_player_incrasedmg(victim, inflictor, attacker, Float:damage, damage_type)
229{
230 if(victim == attacker || !is_user_connected(attacker))
231 return HAM_IGNORED;
232
233 new CsTeams:iTeam[2];
234 iTeam[0] = cs_get_user_team(victim) ? CS_TEAM_CT:CS_TEAM_T;
235 iTeam[1] = cs_get_user_team(inflictor) ? CS_TEAM_CT:CS_TEAM_T;
236
237 if(iTeam[0] == iTeam[1])
238 return HAM_IGNORED;
239
240
241 new iWeapon = get_user_weapon(attacker);
242
243 set_hudmessage(255, 0, 0, -1.0, 0.20, 0, 6.0, 0.5);
244
245 if(iWeapon == CSW_USP)
246 {
247 if(g_iActiveSkin[w_usp][attacker] != -1)
248 {
249 SetHamParamFloat(4, damage * floatround(w_skins[g_iActiveSkin[w_usp][attacker]][w_damage]));
250 show_hudmessage(attacker, "(-%d HP)", floatround(damage * w_skins[g_iActiveSkin[w_usp][attacker]][w_damage]));
251 }
252 else
253 show_hudmessage(attacker, "(-%d HP)", floatround(damage));
254 }
255 else if(iWeapon == CSW_KNIFE)
256 {
257 if(g_iActiveSkin[w_knife][attacker] == 8)
258 {
259 SetHamParamFloat(4, damage * floatround(w_skins[g_iActiveSkin[w_knife][attacker]][w_damage]));
260 show_hudmessage(attacker, "(-%d HP)", floatround(damage * w_skins[g_iActiveSkin[w_knife][attacker]][w_damage]));
261 }
262 else
263 show_hudmessage(attacker, "(-%d HP)", floatround(damage));
264 }
265 else
266 show_hudmessage(attacker, "(-%d HP)", floatround(damage));
267
268
269 return HAM_IGNORED;
270}
271public p_player_killed(iVictim, iInflictor, iAttacker, Float:fDamage)
272{
273 if(iVictim != iAttacker)
274 {
275 g_ePlayer[eKills][iAttacker]++;
276 }
277}
278public p_mainmenu(id)
279{
280 if(!reg_get_user_loggedin(id))
281 {client_print_color(id, print_team_default, "^4Jum[P]* ^3~^1 Elsőnek be kell lépned!"); return;}
282 new iMenu;
283 iMenu = menu_create(fmt("\rJum[P]* \w~ \dDR Főmenü^n\dKillek:\w %d \r|\d Arany:\w %d", g_ePlayer[eKills][id], g_ePlayer[eGold][id]), "p_mainmenu_handler");
284
285 menu_additem(iMenu, fmt("USP skinek"), "0", 0);
286 menu_additem(iMenu, fmt("Kések"), "1", 0);
287 menu_additem(iMenu, fmt("Beállítások"), "2", 0);
288 menu_additem(iMenu, fmt("Zenekészlet"), "3", 0);
289
290 menu_setprop(iMenu, MPROP_EXITNAME, fmt("Kilépés"));
291 menu_display(id, iMenu);
292}
293public p_mainmenu_handler(id, iMenu, iMenuItem)
294{
295 if(iMenuItem == MENU_EXIT)
296 {
297 menu_destroy(iMenu);
298 return PLUGIN_HANDLED;
299 }
300
301 new sData[9], sName[MAX_NAME_LENGTH], iAccess, iCallback, iKey;
302 menu_item_getinfo(iMenu, iMenuItem, iAccess, sData, charsmax(sData), sName, charsmax(sName), iCallback);
303 iKey = str_to_num(sData);
304
305 switch(iKey)
306 {
307 case 0: p_skinmenu(id, 0);
308 case 1: p_skinmenu(id, 1);
309 case 2: client_cmd(id, "say /settings");
310 case 3: client_cmd(id, "say /zene");
311 }
312
313 return PLUGIN_HANDLED;
314}
315public p_skinmenu(id, iNum)
316{
317 new iMenu, iRow[7];
318 switch(iNum)
319 {
320 case 0:
321 {
322 iMenu = menu_create(fmt("\rJum[P]* \w~ \dUSP skinek"), "p_usp_handler");
323 for(new i = 0; i < 4; i++)
324 {
325 if(g_ePlayer[eKills][id] < w_skins[i][w_kills])
326 {
327 num_to_str(i, iRow, charsmax(iRow));
328 menu_additem(iMenu, fmt("\d%s \w| \d%d/%d ölés \w| \wSebzés:\d %.1fx", w_skins[i][w_name], w_skins[i][w_kills] - g_ePlayer[eKills][id], w_skins[i][w_kills], w_skins[i][w_damage]), iRow, 0);
329 }
330 else
331 {
332 num_to_str(i, iRow, charsmax(iRow));
333 menu_additem(iMenu, fmt("\w%s \d| \wSebzés: %.1fx", w_skins[i][w_name],w_skins[i][w_damage]), iRow, 0);
334 }
335 }
336 }
337 case 1:
338 {
339 iMenu = menu_create(fmt("\rJum[P]* \w~ \dKÉS skinek"), "p_knife_handler");
340 for(new i = 4; i < sizeof(w_skins); i++)
341 {
342 if(g_ePlayer[eKills][id] < w_skins[i][w_kills])
343 {
344 num_to_str(i, iRow, charsmax(iRow));
345 menu_additem(iMenu, fmt("\d%s \w| \d%d/%d ölés \w| \wSebzés:\d %.1fx", w_skins[i][w_name], w_skins[i][w_kills] - g_ePlayer[eKills][id], w_skins[i][w_kills], w_skins[i][w_damage]), iRow, 0);
346 }
347 else
348 {
349 num_to_str(i, iRow, charsmax(iRow));
350 menu_additem(iMenu, fmt("\w%s \d| \wSebzés: %.1fx", w_skins[i][w_name], w_skins[i][w_damage]), iRow, 0);
351 }
352 }
353 }
354 }
355 menu_setprop(iMenu, MPROP_NEXTNAME, fmt("Következő"));
356 menu_setprop(iMenu, MPROP_BACKNAME, fmt("Vissza"));
357 menu_setprop(iMenu, MPROP_EXITNAME, fmt("Kilépés"));
358 menu_display(id, iMenu);
359}
360public p_usp_handler(id, iMenu, iMenuItem)
361{
362 if(iMenuItem == MENU_EXIT)
363 {
364 menu_destroy(iMenu);
365 return PLUGIN_HANDLED;
366 }
367
368 new sData[9], sName[MAX_NAME_LENGTH], iAccess, iCallback, iKey;
369 menu_item_getinfo(iMenu, iMenuItem, iAccess, sData, charsmax(sData), sName, charsmax(sName), iCallback);
370 iKey = str_to_num(sData);
371
372 if(g_ePlayer[eKills][id] < w_skins[iKey][w_kills])
373 {
374 client_print_color(id, print_team_default, "^4Jum[P]* ^3~^1 Ez az usp skin még zárolva van!");
375 g_iActiveSkin[w_usp][id] = -1;
376 return PLUGIN_HANDLED;
377 }
378 else
379 {
380 g_iActiveSkin[w_usp][id] = iKey;
381 client_print_color(id, print_team_default, "^4Jum[P]* ^3~^1 Sikeresen kivalaszottad a(z) %s usp skint.", w_skins[iKey][w_name]);
382 p_SQLUpdate(id);
383 }
384 return PLUGIN_HANDLED;
385}
386public p_knife_handler(id, iMenu, iMenuItem)
387{
388 if(iMenuItem == MENU_EXIT)
389 {
390 menu_destroy(iMenu);
391 return PLUGIN_HANDLED;
392 }
393
394 new sData[9], sName[MAX_NAME_LENGTH], iAccess, iCallback, iKey;
395 menu_item_getinfo(iMenu, iMenuItem, iAccess, sData, charsmax(sData), sName, charsmax(sName), iCallback);
396 iKey = str_to_num(sData);
397
398 if(g_ePlayer[eKills][id] < w_skins[iKey][w_kills])
399 {
400 client_print_color(id, print_team_default, "^4Jum[P]* ^3~^1 Ez a kés skin még zárolva van!");
401 g_iActiveSkin[w_knife][id] = -1;
402 return PLUGIN_HANDLED;
403 }
404 else
405 {
406 g_iActiveSkin[w_knife][id] = iKey;
407 client_print_color(id, print_team_default, "^4Jum[P]* ^3~^1 Sikeresen kivalaszottad a(z) %s kés skint.", w_skins[iKey][w_name]);
408 p_SQLUpdate(id);
409 }
410 return PLUGIN_HANDLED;
411}
412public p_EvCurWeapon(id)
413{
414 new iWeapon;
415 iWeapon = get_user_weapon(id);
416
417 if(is_user_alive(id) && entity_get_float(id, EV_FL_maxspeed) != 1.0 && is_user_connected(id))
418 {
419 if(iWeapon == CSW_KNIFE)
420 {
421 if(g_iActiveSkin[w_knife][id] == 5)
422 {
423 entity_set_float(id, EV_FL_maxspeed, 700.0);
424 entity_set_float(id, EV_FL_gravity, 1.0);
425 }
426 else if(g_iActiveSkin[w_knife][id] == 6)
427 {
428 entity_set_float(id, EV_FL_gravity, 0.4);
429 entity_set_float(id, EV_FL_maxspeed, 250.0);
430 }
431 else if(g_iActiveSkin[w_knife][id] == 7)
432 {
433 entity_set_float(id, EV_FL_maxspeed, 700.0);
434 entity_set_float(id, EV_FL_gravity, 0.4);
435 }
436 else
437 {
438 entity_set_float(id, EV_FL_maxspeed, 250.0);
439 entity_set_float(id, EV_FL_gravity, 1.0);
440 }
441 }
442 else
443 {
444 entity_set_float(id, EV_FL_maxspeed, 250.0);
445 entity_set_float(id, EV_FL_gravity, 1.0);
446 }
447 }
448}
449public p_weapon_change(id)
450{
451 new iEnt = get_pdata_cbase(id, 41, 4);
452
453 if(!is_user_alive(iEnt) || !is_user_connected(iEnt))
454 return HAM_IGNORED;
455
456 new iWeapon = cs_get_user_weapon(iEnt);
457
458 switch(iWeapon)
459 {
460 case CSW_USP:
461 {
462 if(g_iActiveSkin[w_usp][iEnt] == -1)
463 return HAM_IGNORED;
464 else
465 entity_set_string(iEnt, EV_SZ_viewmodel, w_skins[g_iActiveSkin[w_usp][iEnt]][w_file]);
466 }
467 case CSW_KNIFE:
468 {
469 if(g_iActiveSkin[w_knife][iEnt] == -1)
470 return HAM_IGNORED;
471 else
472 entity_set_string(iEnt, EV_SZ_viewmodel, w_skins[g_iActiveSkin[w_knife][iEnt]][w_file]);
473 }
474 }
475 return HAM_HANDLED;
476}
477public p_player_say(id)
478{
479 static sMessage[1024], sDeath[16], sPrefix[64], iColor, sColor[16], sPrefixColor[16], sNameColor[16];
480 read_args(sMessage, charsmax(sMessage));
481 remove_quotes(sMessage);
482
483 if(strlen(sMessage) == 0 || sMessage[0] == '/')
484 return PLUGIN_CONTINUE;
485
486 new const sAdvert[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.', ':'};
487
488 new iNum, sName[MAX_NAME_LENGTH];
489
490 for(new i = 0; i < strlen(sMessage); i++)
491 {
492 for(new k = 0; k < sizeof(sAdvert); k++)
493 {
494 if(sMessage[i] == sAdvert[k])
495 iNum++;
496 }
497 }
498
499 get_user_name(id, sName, charsmax(sName));
500 formatex(sDeath, charsmax(sDeath), is_user_alive(id) ? "":"*Halott*");
501 formatex(sPrefix, charsmax(sPrefix), get_user_flags(id) & OWNER ? get_user_flags(id) & ADMIN ? get_user_flags(id) & VIP ? "Tulajdonos":"Admin":"VIP":"Játékos");
502
503 if(get_user_flags(id) & OWNER || get_user_flags(id) & ADMIN)
504 iColor = -1;
505 else if(get_user_flags(id) & VIP)
506 iColor = -3;
507 else
508 iColor = 0;
509
510 switch(iColor)
511 {
512 case 0: {sColor = "^1";sPrefixColor = "^1";sNameColor = "^3";}
513 case -3: {sColor = "^3";sPrefixColor = "^3";sNameColor = "^1";}
514 case -1: {sColor = "^3";sPrefixColor = "^3";sNameColor = "^1";}
515 }
516
517 for(new i = 1; i < get_maxplayers(); i++)
518 {
519 if(iNum > 8)
520 {
521 sMessage = "Nem hírdeted többet!";
522
523 client_print_color(id, print_team_default, "^4Jum[P]* ^3~^1 A szerveren TILOS a hírdetés!");
524 client_print_color(i, print_team_default, "%s: %s", sName, sMessage);
525
526 server_cmd("kick #%d ^"Kickelve lettél hírdetés miatt!^"", get_user_userid(id));
527 console_print(id, "********************************************");
528 console_print(id, "Kickelve lettél! Oka: Hírdetés!");
529 console_print(id, "********************************************");
530 iNum = 0;
531 return PLUGIN_HANDLED;
532 }
533 else
534 {
535 if(!reg_get_user_loggedin(id))
536 client_print_color(i, iColor, "^1%s^4[%sNincs bejelentkezve^4] %s%s:%s %s", sDeath, sPrefixColor, sNameColor, sName, sColor, sMessage);
537 else
538 client_print_color(i, iColor, "^1%s^4[%s%s - Ölések: %d^4] %s%s:%s %s", sDeath, sPrefixColor, sPrefix, g_ePlayer[eKills][id], sNameColor, sName, sColor, sMessage);
539 }
540 }
541 return PLUGIN_HANDLED;
542}
543public plugin_precache()
544{
545 for(new i = 0; i < sizeof(w_skins); i++)
546 precache_model(w_skins[i][w_file]);
547}
548public client_putinserver(id)
549{
550 g_iActiveSkin[w_usp][id] = -1;
551 g_iActiveSkin[w_knife][id] = -1;
552 g_ePlayer[eKills][id] = 0;
553 g_ePlayer[eGold][id] = 0;
554 g_iLoadAcc[id] = 1;
555}
556public client_disconnected(id)
557{
558 if(g_iLoadAcc[id] == 0)
559 {
560 p_SQLUpdate(id);
561 }
562}