HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <engine>
  4. #include <nvault>
  5. #include <cstrike>
  6. #include <fun>
  7. #include <fakemeta>
  8. #include <hamsandwich>
  9. #include <fakemeta_util>
  10. #include <colorchat>
  11.  
  12. new sebzok[33];
  13. new sebzesek[33];
  14. new sebzettek[33];
  15.  
  16. new oles[33], vault, KISGRAV, ALAPGRAV, skin_oles, skin_hsoles, skin_kesoles, SEBZES,kredit[33]
  17. new skin1[121], skin2[121], skin3[121], skin4[121],skin5[121],awps[33],mnegy[33],aks[33],desert[33],knifes[33]
  18.  
  19. new const Classnamesdoll[] = "oles_s";
  20.  
  21. #define MINSZ Float:{ -23.160000, -13.660000, -0.050000 }
  22. #define MAXSZ Float:{ 11.470000, 12.780000, 6.720000 }
  23. #define MODEL_OLES "models/fegyver_skin/olesek.mdl"
  24.  
  25. new const awp[] = "models/fegyver_skin/v_awp.mdl"
  26. new const awp1[] = "models/fegyver_skin/v_awp1.mdl"
  27. new const awp2[] = "models/fegyver_skin/v_awp2.mdl"
  28. new const awp3[] = "models/fegyver_skin/v_awp3.mdl"
  29. new const m4[] = "models/fegyver_skin/v_m4.mdl"
  30. new const m41[] = "models/fegyver_skin/v_m41.mdl"
  31. new const m42[] = "models/fegyver_skin/v_m42.mdl"
  32. new const m43[] = "models/fegyver_skin/v_m43.mdl"
  33. new const m44[] = "models/fegyver_skin/v_m44.mdl"
  34. new const ak[] = "models/fegyver_skin/v_ak.mdl"
  35. new const ak1[] = "models/fegyver_skin/v_ak1.mdl"
  36. new const ak2[] = "models/fegyver_skin/v_ak2.mdl"
  37. new const ak3[] = "models/fegyver_skin/v_ak3.mdl"
  38. new const desi[] = "models/fegyver_skin/v_desi.mdl"
  39. new const desi1[] = "models/fegyver_skin/v_desi1.mdl"
  40. new const desi2[] = "models/fegyver_skin/v_desi2.mdl"
  41. new const kes[] = "models/fegyver_skin/v_knife.mdl"
  42.  
  43. public plugin_precache()
  44. {
  45. precache_model(awp)
  46. precache_model(awp1)
  47. precache_model(awp2)
  48. precache_model(awp3)
  49. precache_model(m4)
  50. precache_model(m41)
  51. precache_model(m42)
  52. precache_model(m43)
  53. precache_model(m44)
  54. precache_model(ak)
  55. precache_model(ak1)
  56. precache_model(ak2)
  57. precache_model(ak3)
  58. precache_model(desi)
  59. precache_model(desi1)
  60. precache_model(desi2)
  61. precache_model(kes)
  62. precache_model("models/fegyver_skin/olesek.mdl")
  63. }
  64. public plugin_init()
  65. {
  66. //*Egyeb*//
  67. register_plugin("Fegyver Skinek", "1.0", "6almasok")
  68. set_task(45.0, "KorUzenet", 0, _, _, "b")
  69. set_task(85.0, "KorUzenettt", 0, _, _, "b")
  70. RegisterHam(Ham_Spawn, "player", "spawn_event", 1)
  71. register_logevent( "logevent_round_start", 2, "1=Round_Start" );
  72. register_forward( FM_Touch,"ForwardTouch" );
  73.  
  74. //*Eventek*//
  75. register_event("CurWeapon","fegyverek","be","1=1")
  76. register_event("DeathMsg", "halal", "a" );
  77. register_event("CurWeapon", "fegyverid", "be", "1=1")
  78. register_event("DeathMsg", "halal_event", "ae");
  79. register_event("Damage", "sebzes_event", "be", "2!0", "3=0", "4!0")
  80. register_event("Damage", "event_sebzes", "be" )
  81. register_event( "DeathMsg","drop","a" );
  82.  
  83. //*Parancsok*//
  84. register_clcmd("say /skin","fegymenu")
  85. register_clcmd("say /skinoles","pontmegtekint")
  86. register_clcmd("say /oles","pontmegtekint")
  87. register_clcmd("say /kredit","kredmegtek")
  88. register_clcmd("say /bevalt","bevaltas")
  89. register_clcmd("say /fegyverskin","fegymenu")
  90. register_clcmd("say /fegyverinfo","infok")
  91. register_clcmd("say /jatekosoles","OlesMenu")
  92.  
  93. //*Konzol Parancsok*//
  94. register_concmd("give_oles", "OlesAdas", ADMIN_CFG, "<nev, #userid, authid | @all> <oles>" )
  95. register_concmd("remove_oles", "OlesElveves", ADMIN_CFG, "<nev, #userid, authid | @all> <oles>" )
  96.  
  97. //*Cvarok*//
  98. register_cvar("sima_oles", "2");
  99. register_cvar("hs_oles", "4");
  100. register_cvar("kes_oles", "3");
  101.  
  102. skin_oles = get_cvar_num("sima_oles");
  103. skin_hsoles = get_cvar_num("hs_oles");
  104. skin_kesoles = get_cvar_num("kes_oles");
  105. KISGRAV = register_cvar("skin_kisgravity","375.0")
  106. SEBZES = register_cvar("skin_sebzes", "2")
  107. ALAPGRAV = get_cvar_pointer("sv_gravity")
  108.  
  109. //*Vault*//
  110. vault = nvault_open("fegyver_skin")
  111.  
  112. }
  113. public fegyverid(id)
  114. {
  115. new fegyver = get_user_weapon(id)
  116.  
  117. if(awps[id] == 1 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp)
  118. if(awps[id] == 2 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp1)
  119. if(awps[id] == 3 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp2)
  120. if(awps[id] == 4 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp3)
  121. if(mnegy[id] == 5 && fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, m4)
  122. if(mnegy[id] == 6 && fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, m41)
  123. if(mnegy[id] == 7 && fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, m42)
  124. if(mnegy[id] == 8 && fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, m43)
  125. if(aks[id] == 9 && fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ak)
  126. if(aks[id] == 10 && fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ak1)
  127. if(aks[id] == 11 && fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ak2)
  128. if(aks[id] == 12 && fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ak3)
  129. if(desert[id] == 13 && fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, desi)
  130. if(desert[id] == 14 && fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, desi1)
  131. if(desert[id] == 15 && fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, desi2)
  132. if(knifes[id] == 16 && fegyver == CSW_KNIFE)set_pev(id, pev_viewmodel2, kes)
  133. if(mnegy[id] == 17 && fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, m44)
  134.  
  135. }
  136. public spawn_event(id)
  137. {
  138. sebzok[id] = 0;
  139. sebzesek[id] = 0;
  140. sebzettek[id] = 0;
  141. }
  142. public sebzes_event(aldozat)
  143. {
  144. new tamado = get_user_attacker(aldozat);
  145. new sebzes = read_data(2);
  146. sebzesek[tamado] += sebzes;
  147.  
  148. if(sebzesek[tamado] >= 50)
  149. {
  150. sebzok[tamado] = aldozat;
  151. sebzettek[aldozat] = tamado;
  152. }
  153. }
  154. public halal_event(id)
  155. {
  156. new aldozat = read_data(2);
  157. new tamado = read_data(1);
  158. if(sebzettek[aldozat] && sebzettek[aldozat] != tamado)
  159. {
  160. new fragetkap = sebzettek[aldozat];
  161. new fragetkapneve[32];
  162. sebzok[fragetkap] = 0;
  163. sebzesek[fragetkap] = 0;
  164. sebzettek[aldozat] = 0;
  165. get_user_name(fragetkap, fragetkapneve, 31);
  166. oles[fragetkap]++
  167. ColorChat(0, GREEN, "^3[Fegyver Skin] ^4%s ^1kapott ^3+1 ^1olest ember lesebzesert.", fragetkapneve);
  168. }
  169. }
  170. public drop()
  171. {
  172. new victim = read_data( 2 );
  173.  
  174. static Float:origin[ 3 ];
  175. pev( victim, pev_origin, origin );
  176.  
  177. new ent = engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, "info_target" ) );
  178. origin[ 2 ] -= 36;
  179. engfunc( EngFunc_SetOrigin, ent, origin );
  180.  
  181. if( !pev_valid( ent ) )
  182. {
  183. return PLUGIN_HANDLED;
  184. }
  185.  
  186. set_pev( ent, pev_classname, Classnamesdoll );
  187. engfunc( EngFunc_SetModel, ent, MODEL_OLES );
  188. dllfunc( DLLFunc_Spawn, ent );
  189. set_pev( ent, pev_solid, SOLID_BBOX );
  190. set_pev( ent, pev_movetype, MOVETYPE_NONE );
  191. engfunc( EngFunc_SetSize, ent, MINSZ, MAXSZ );
  192. engfunc( EngFunc_DropToFloor, ent );
  193.  
  194. return PLUGIN_HANDLED;
  195. }
  196. public ForwardTouch( ent, id )
  197. {
  198. new classname[ 32 ];
  199. pev( ent, pev_classname, classname, charsmax( classname ) );
  200.  
  201. if( !equal( classname, Classnamesdoll ) )
  202. {
  203. return FMRES_IGNORED;
  204. }
  205. new olesrandom = random_num(0,1)
  206.  
  207. kredit[id] += olesrandom
  208.  
  209. ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Atnezted a holttestet es talaltal ^3%i ^4kreditet.",olesrandom);
  210.  
  211. engfunc( EngFunc_RemoveEntity, ent );
  212. return FMRES_IGNORED
  213. }
  214. public logevent_round_start()
  215. {
  216. new hkt = FM_NULLENT;
  217. while ( ( hkt = fm_find_ent_by_class( hkt, Classnamesdoll ) ) )
  218. {
  219. engfunc( EngFunc_RemoveEntity, hkt );
  220. }
  221. }
  222. public halal()
  223. {
  224. new gyilkos = read_data( 1 );
  225. new aldozat = read_data( 2 );
  226.  
  227. static Fegyver[26];
  228. read_data(4, Fegyver, sizeof(Fegyver) -1);
  229.  
  230. if( 1 <= gyilkos <= get_maxplayers() && cs_get_user_team( aldozat ) != cs_get_user_team( gyilkos )
  231. && is_user_connected( gyilkos ))
  232. {
  233. new nev[32]
  234. get_user_name(aldozat, nev, 31)
  235.  
  236. if(read_data( 3 ))
  237. {
  238. oles[ gyilkos ] += skin_hsoles
  239. ColorChat( gyilkos, GREEN, "^3[Fegyver Skin] ^4WOW! ^1Megolted ^3%s^1-t ^4FEJLOVESBE! ^1Ezert kaptal ^3+%i ^1olest.", nev, skin_hsoles)
  240. }
  241. else if(skin_oles != 0)
  242. {
  243. oles[ gyilkos ] += skin_oles
  244. ColorChat( gyilkos, GREEN, "^3[Fegyver Skin] ^1Megolted ^4%s^1-t es ezert kaptal ^3+%i ^1olest.", nev, skin_oles)
  245. }
  246. else if(equal(Fegyver,"knife"))
  247. {
  248. oles[ gyilkos ] += skin_kesoles;
  249. ColorChat( gyilkos, GREEN, "^3[Fegyver Skin] ^1Leszurtad ^4%s^1-t es ezert kaptal ^3+%i ^1olest. ^4Szep Munka!", nev, skin_kesoles)
  250. }
  251. }
  252. }
  253. public infok(id)
  254. {
  255. static motd[2501], len;
  256.  
  257. len = format(motd, 2500,"<body bgcolor=#000000><font color=#87cefa><pre>");
  258. len += format(motd[len], 2500-len,"<center><h4><font color=^"blue^"> Fegyver Skin Informaciok </font></h4></center>");
  259. len += format(motd[len], 2500-len,"<left><font color=^"blue^">Csomagok</color></left>^n");
  260. len += format(motd[len], 2500-len,"<left><font color=^"red^"><B>Bronz Csomag :</B> <font color=^"white^">1000 olest (Tartalom:Bronz AWP,M4A1,Ak47,Deagle) [Kepesseg: nincs]</color></left>^n");
  261. len += format(motd[len], 2500-len,"<left><font color=^"red^"><B>Ezust Csomag :</B> <font color=^"white^">3000 olest (Tartalom:Ezust AWP,M4A1,Ak47,Deagle) [Kepesseg: nincs]</color></left>^n");
  262. len += format(motd[len], 2500-len,"<left><font color=^"red^"><B>Arany Csomag :</B> <font color=^"white^">5000 olest (Tartalom:Arany AWP,M4A1,Ak47,Deagle) [Kepesseg: nincs]</color></left>^n");
  263. len += format(motd[len], 2500-len,"<left><font color=^"red^"><B>Specialis Csomag :</B> <font color=^"white^">10000 olest (Tartalom:AWP,M4A1,Ak47,Kes Skin) [Kepesseg: Dupla Sebzes(AK47),Felig Atlatszosag(Kes),Kis Gravitacio(M4),No Trapp(WP)]</color></left>^n");
  264. len += format(motd[len], 2500-len,"<left><font color=^"red^"><B>Kredit Csomag :</B> <font color=^"white^">300 kredit (Tartalom:Elet M4A1) [Kepesseg: Elet Regeneracio 1.5HP/MP]</color></left>^n");
  265. len += format(motd[len], 2500-len,"<left><font color=^"blue^">Parancsok</color></left>^n");
  266. len += format(motd[len], 2500-len,"<left><font color=^"red^">say:/jatekosoles <font color=^"white^">Mas jatekos oleseinek megtekintese</color></left>^n");
  267. len += format(motd[len], 2500-len,"<left><font color=^"red^">say:/skin <font color=^"white^">Skin Menu megnyitasa</color></left>^n");
  268. len += format(motd[len], 2500-len,"<left><font color=^"red^">say:/kredit <font color=^"white^">Krediteid megtekintese</color></left>^n");
  269. len += format(motd[len], 2500-len,"<left><font color=^"red^">say:/oles <font color=^"white^">Oleseid megtekintese</color></left>^n");
  270. len += format(motd[len], 2500-len,"<left><font color=^"red^">say:/bevalt <font color=^"white^">Kreditek bevaltasa olesre</color></left>^n");
  271.  
  272. show_motd(id, motd, "Infok");
  273.  
  274. return 0;
  275. }
  276. public fegymenu(id)
  277. {
  278. new cim[121]
  279. formatex(cim, charsmax(cim), "\wFegyver Skinek \yBy \r6almasok^n\yOlesek: \w%d \r| \yKreditek: \w%d^n",oles[id],kredit[id])
  280. new menu = menu_create(cim, "skin_menu");
  281.  
  282. formatex(skin1, charsmax(skin1),"%s", oles[id] >= 1000 ? "\wBronz Csomag \y[Tartalom:\dAK47,M4A1,AWP,DEAGLE\y]\w-\r[Megszerezve]" : "\dBronz Csomag \r[1000 Oles]\y-\w[LEZARVA]");
  283. formatex(skin2, charsmax(skin2),"%s", oles[id] >= 3000 ? "\wEzust Csomag \y[Tartalom:\dAK47,M4A1,AWP,DEAGLE\y]\w-\r[Megszerezve]" : "\dEzust Csomag \r[3000 Oles]\y-\w[LEZARVA]");
  284. formatex(skin3, charsmax(skin3),"%s", oles[id] >= 5000 ? "\wArany Csomag \y[Tartalom:\dAK47,M4A1,AWP,DEAGLE\y]\w-\r[Megszerezve]" : "\dArany Csomag \r[5000 Oles]\y-\w[LEZARVA]");
  285. formatex(skin4, charsmax(skin4),"%s", oles[id] >= 10000 ? "\yS\rP\wE\dC\yI\rA\wL\dI\yS \wCsomag \y[Tartalom:\wAK47,M4A1,AWP,KES\y]\w-\r[Megszerezve]" : "\yS\rP\wE\dC\yI\rA\wL\dI\yS \wCsomag \r[10000 Oles]\y-\w[LEZARVA]");
  286. formatex(skin5, charsmax(skin5),"%s", kredit[id] >= 300 ? "\rKre\ddit \wCsomag \y[Tartalom:\wElet M4A1\y]\r[\dMegszerezve\r]" : "\rKre\ddit \wCsomag \y[\r300 \yKredit]\d-\w[LEZARVA]");
  287.  
  288. menu_additem(menu, "\yAlap Csomag \r[\wMegszerezve\r]", "1", 0 );
  289. menu_additem(menu, skin1, "2", oles[id] >= 1000 ? 0 : 1);
  290. menu_additem(menu, skin2, "3", oles[id] >= 3000 ? 0 : 1);
  291. menu_additem(menu, skin3, "4", oles[id] >= 5000 ? 0 : 1);
  292. menu_additem(menu, skin4, "5", oles[id] >= 10000 ? 0 : 1);
  293. menu_additem(menu, skin5, "6", kredit[id] >= 300 ? 0 : 1);
  294.  
  295. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  296. menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  297. menu_setprop(menu, MPROP_NEXTNAME, "Elore");
  298. menu_setprop(menu, MPROP_EXITNAME, "Kilepes");
  299. menu_display(id, menu, 0);
  300. }
  301. public pontmegtekint(id)
  302. {
  303. set_hudmessage(0, 127, 255, -1.0, 0.3 , 2, 6.0, 9.0)
  304. show_hudmessage(id, "Jelenlegi Oleseid: %i",oles[id])
  305. ColorChat(id,GREEN, "^3[Fegyver Skin] ^4Neked osszesen ^3%d ^4olesed van.",oles[id])
  306. }
  307. public kredmegtek(id)
  308. {
  309. set_hudmessage(0, 127, 255, -1.0, 0.3 , 2, 6.0, 9.0)
  310. show_hudmessage(id, "Jelenlegi Krediteid: %i",kredit[id])
  311. ColorChat(id,GREEN, "^3[Fegyver Skin] ^4Neked osszesen ^3%d ^4kredited van.",kredit[id])
  312. }
  313. public OlesMenu(id)
  314. {
  315. new some[256], menu;
  316.  
  317. static players[32],szTemp[10],pnum;
  318. get_players(players,pnum,"ch");
  319.  
  320. formatex(some,255,"\r[\yFegyver Skinek\r] \wA jatekosok olesei es kreditjei:");
  321.  
  322. menu = menu_create(some,"Oles_Handler");
  323.  
  324. for (new i; i < pnum; i++)
  325. {
  326. formatex(some,256,"%s \r(\yOlesei: \w%i \d| \yKreditjei: \w%i\r)",get_player_name(players[i]), oles[players[i]],kredit[players[i]]);
  327. num_to_str(players[i],szTemp,charsmax(szTemp));
  328. menu_additem(menu, some, szTemp);
  329. }
  330.  
  331. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL );
  332. menu_display(id, menu);
  333.  
  334. return PLUGIN_HANDLED;
  335. }
  336. public Oles_Handler(id,menu, item)
  337. {
  338. if (item == MENU_EXIT)
  339. {
  340. menu_destroy(menu);
  341. return;
  342. }
  343.  
  344. new data[6] ,szName[64],access,callback;
  345. menu_item_getinfo(menu, item, access, data, charsmax(data), szName, charsmax(szName), callback);
  346. new player = str_to_num(data);
  347.  
  348. ColorChat(id, GREEN, "^3[Fegyver Skin] ^4%s ^1olesei: ^3%i ^1es kreditjei: ^3%i",get_player_name(player), oles[player], kredit[player]);
  349. OlesMenu(id);
  350. }
  351. public event_sebzes( id ) {
  352.  
  353. new aldozat_id = id;
  354. if( !is_user_connected( aldozat_id ) ) return PLUGIN_CONTINUE
  355. new dmg_adas = read_data( 2 );
  356. new dmgtype = read_data( 3 );
  357. new Float:szorzo = get_pcvar_float(SEBZES);
  358. new Float:sebzes = dmg_adas * szorzo;
  359. new elet = get_user_health( aldozat_id );
  360.  
  361. new FegyID, sebzo_id = get_user_attacker( aldozat_id, FegyID );
  362.  
  363. if( !is_user_connected( sebzo_id ) || !is_user_alive( aldozat_id ) ) {
  364. return PLUGIN_HANDLED
  365. }
  366.  
  367. if( FegyID == CSW_AK47 && aks[sebzo_id] == 12 ) {
  368.  
  369. if( floatround(sebzes) >= elet ) {
  370. if( aldozat_id == sebzo_id ) {
  371. return PLUGIN_CONTINUE
  372. }else{
  373. log_kill( sebzo_id, aldozat_id, "ak47", 0 );
  374. }
  375.  
  376. return PLUGIN_CONTINUE
  377. }else {
  378. if( aldozat_id == sebzo_id ) return PLUGIN_CONTINUE
  379.  
  380. fakedamage( aldozat_id, "weapon_ak47", sebzes, dmgtype );
  381. }
  382. }
  383. return PLUGIN_CONTINUE
  384. }
  385. stock log_kill(gyilkos, aldozat, fegyver[],fejloves) {
  386. user_silentkill( aldozat );
  387.  
  388. message_begin( MSG_ALL, get_user_msgid( "DeathMsg" ), {0,0,0}, 0 );
  389. write_byte( gyilkos );
  390. write_byte( aldozat );
  391. write_byte( fejloves );
  392. write_string( fegyver );
  393. message_end();
  394.  
  395. new oles = get_user_frags( gyilkos );
  396. set_user_frags( gyilkos, oles++ );
  397. new elvetel = get_user_frags( aldozat );
  398. set_user_frags( aldozat, elvetel++ );
  399.  
  400. return PLUGIN_CONTINUE
  401. }
  402. public OlesAdas( iPlayer, level, cid )
  403. {
  404. if( !cmd_access( iPlayer, level, cid, 3 ) ) return PLUGIN_HANDLED;
  405.  
  406. new arg [ 32 ]
  407. read_argv ( 1, arg, 31 )
  408.  
  409. new AddOles [ 32 ]
  410. read_argv ( 2, AddOles, charsmax ( AddOles ) )
  411.  
  412. new OlestoGive = str_to_num ( AddOles )
  413.  
  414. new AdminName [ 32 ]
  415. new TargetName [ 32 ]
  416. get_user_name ( iPlayer, AdminName, charsmax ( AdminName ) )
  417.  
  418. if( arg[0]=='@' )
  419. {
  420. if( equali(arg[1],"All") || equali(arg[1],"ALL") )
  421. {
  422. new players[32], totalplayers, All
  423. get_players( players, totalplayers )
  424.  
  425. for ( new i = 0; i < totalplayers; i++ )
  426. {
  427. All = players[ i ]
  428. oles[ All ] += OlestoGive
  429. }
  430. }
  431. else if( equali(arg[1],"T") || equali(arg[1],"t") )
  432. {
  433. new players[32], totalplayers, T
  434. get_players( players, totalplayers )
  435.  
  436. for ( new i = 0; i < totalplayers; i++ )
  437. {
  438. if ( get_user_team(players[ i ]) == 1 )
  439. {
  440. T = players[ i ]
  441. oles[ T ] += OlestoGive
  442. }
  443. }
  444. }
  445. else if( equali(arg[1],"CT") || equali(arg[1],"ct") )
  446. {
  447. new players[32], totalplayers, CT
  448. get_players( players, totalplayers )
  449.  
  450. for( new i = 0; i < totalplayers; i++ )
  451. {
  452. if( get_user_team(players[ i ] ) == 2 )
  453. {
  454. CT = players[ i ]
  455. oles[ CT ] += OlestoGive
  456. }
  457. }
  458. }
  459. }
  460. else
  461. {
  462. new iTarget = cmd_target( iPlayer, arg, 3 )
  463. get_user_name ( iTarget, TargetName, charsmax ( TargetName ) )
  464.  
  465. if( iTarget )
  466. {
  467. oles[ iTarget ] += OlestoGive
  468. }
  469. }
  470. return PLUGIN_HANDLED
  471. }
  472. public bevaltas(id)
  473. {
  474. new cim[121]
  475. formatex(cim, charsmax(cim), "\w[Fegyver Skinek] \yBevaltas:^n\rOles: \d%d \w| \rKredit: \d%d",oles[id],kredit[id])
  476. new menu = menu_create(cim, "bev_menu");
  477. new kred1[121]
  478.  
  479. menu_additem(menu, "\w1 Kredited \r--> \y20 Olesre", "1", 0 );
  480. menu_additem(menu, "\w30 Kredited \r--> \y600 Olesre", "2", 0 );
  481. menu_additem(menu, "\w80 Kredited \r--> \y1600 Olesre", "3", 0 );
  482. format(kred1, charsmax(kred1), "\yOsszes Kredited \d(\r%d\d) \ybavaltasa \d(\r%d\d) \yolesre",kredit[id],kredit[id] * 20)
  483. menu_additem(menu, kred1, "4", 0);
  484.  
  485. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  486. menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  487. menu_setprop(menu, MPROP_NEXTNAME, "Elore");
  488. menu_setprop(menu, MPROP_EXITNAME, "Kilepes");
  489. menu_display(id, menu, 0);
  490. }
  491. public bev_menu(id, menu, item)
  492. {
  493. if( item == MENU_EXIT )
  494. {
  495. menu_destroy(id);
  496. return PLUGIN_CONTINUE
  497. }
  498. new data[9]
  499. new key = str_to_num(data);
  500. new kredossz = kredit[id] * 20
  501. new kredmin = kredit[id]
  502.  
  503. switch(key)
  504. {
  505. case 1:{
  506. if(kredit[id] >= 1){
  507. kredit[id] -= 1
  508. oles[id] += 20
  509. ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Bevaltottal^3 1 ^4kreditet!")
  510. }
  511. else
  512. {
  513. ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Sajnos Nincs eleg kredited!")
  514. }
  515. }
  516. case 2:{
  517. if(kredit[id] >= 30)
  518. {
  519. kredit[id] -= 30
  520. oles[id] += 600
  521. ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Bevaltottal^3 30 ^4kreditet!")
  522. }
  523. else
  524. {
  525. ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Sajnos Nincs eleg kredited!")
  526. }
  527. }
  528. case 3:{
  529. if(kredit[id] >= 80){
  530. kredit[id] -= 80
  531. oles[id] += 1600
  532. ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Bevaltottal^3 80 ^4kreditet!")
  533. }
  534. else
  535. {
  536. ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Sajnos Nincs eleg kredited!")
  537. }
  538. }
  539. case 4:{
  540. if(kredit[id] >= 1){
  541. ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Bevaltottal^3 %i ^4kreditet ^3%i ^4olesre!",kredit[id],kredit[id] * 20)
  542. oles[id] += kredossz
  543. kredit[id] -= kredmin
  544. }
  545. else
  546. {
  547. ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Sajnos Nincs eleg kredited!")
  548. }
  549. }
  550. }
  551. menu_destroy(menu)
  552. return PLUGIN_HANDLED
  553. }
  554. public OlesElveves( iPlayer, level, cid )
  555. {
  556. if( !cmd_access(iPlayer, level, cid, 3) ) return PLUGIN_HANDLED;
  557.  
  558. new arg [ 32 ]
  559. read_argv ( 1, arg, 31 )
  560.  
  561. new RemoveOles [ 32 ]
  562. read_argv ( 2, RemoveOles, charsmax ( RemoveOles ) )
  563.  
  564. new OlestoRemove = str_to_num ( RemoveOles )
  565.  
  566. new AdminName [ 32 ]
  567. new TargetName [ 32 ]
  568. get_user_name ( iPlayer, AdminName, charsmax ( AdminName ) )
  569.  
  570. if( arg[0]=='@' )
  571. {
  572. if( equali(arg[1],"All") || equali(arg[1],"ALL") )
  573. {
  574. new players[32], totalplayers, All
  575. get_players( players, totalplayers )
  576.  
  577. for ( new i = 0; i < totalplayers; i++ )
  578. {
  579. All = players[ i ]
  580. oles[ All ] -= OlestoRemove
  581. }
  582. }
  583. else if( equali(arg[1],"T") || equali(arg[1],"t") )
  584. {
  585. new players[32], totalplayers, T
  586. get_players( players, totalplayers )
  587.  
  588. for ( new i = 0; i < totalplayers; i++ )
  589. {
  590. if ( get_user_team(players[ i ]) == 1 )
  591. {
  592. T = players[ i ]
  593.  
  594. oles[ T ] -= OlestoRemove
  595. }
  596. }
  597. }
  598. else if( equali(arg[1],"CT") || equali(arg[1],"ct") )
  599. {
  600. new players[32], totalplayers, CT
  601. get_players( players, totalplayers )
  602.  
  603. for( new i = 0; i < totalplayers; i++ )
  604. {
  605. if( get_user_team(players[ i ] ) == 2 )
  606. {
  607. CT = players[ i ]
  608. oles[ CT ] -= OlestoRemove
  609. }
  610. }
  611. }
  612. }
  613. else
  614. {
  615. new iTarget = cmd_target( iPlayer, arg, 3 )
  616. get_user_name ( iTarget, TargetName, charsmax ( TargetName ) )
  617.  
  618. if( !iTarget )
  619. return PLUGIN_HANDLED
  620.  
  621. oles[ iTarget ] -= OlestoRemove
  622. }
  623. return PLUGIN_HANDLED
  624. }
  625. public fegyverek(id)
  626. {
  627. new fegyver = get_user_weapon(id)
  628.  
  629. set_user_footsteps(id , ( (awps[id] == 4 && fegyver == CSW_AWP) ? 1 : 0) )
  630.  
  631. if(mnegy[id] == 17 && fegyver == CSW_M4A1)
  632. {
  633. set_task(1.5 ,"toltes",id)
  634. }
  635.  
  636. new Float:Gravitacio = ((mnegy[id] == 8 && fegyver == CSW_M4A1)? get_pcvar_float(KISGRAV) : get_pcvar_float(ALAPGRAV)) / 800.0
  637. set_user_gravity(id, Gravitacio)
  638.  
  639. if(knifes[id] == 16 && fegyver == CSW_KNIFE )
  640. {
  641. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 80)
  642. }
  643.  
  644. return PLUGIN_HANDLED
  645. }
  646. public toltes(id)
  647. {
  648. if(get_user_health(id) < 110)
  649. {
  650. set_task(1.5,"toltes", id)
  651. set_user_health(id, get_user_health(id) + 1)
  652. }
  653. else
  654. {
  655. set_hudmessage(0, 85, 255, -1.0, 0.25, 2, 6.0, 6.0)
  656. show_hudmessage(id, "Az eleted elerte a maximumot!")
  657. return PLUGIN_HANDLED;
  658. }
  659.  
  660. return PLUGIN_CONTINUE;
  661. }
  662. public BajnokFel(id)
  663. {
  664. new nev[32]
  665. get_user_name(id, nev, sizeof(nev) -1)
  666.  
  667. set_hudmessage(0, 255, 0, 0.07, 0.69, 0, 6.0, 7.0)
  668. show_hudmessage(id, "A ^"Killer^" %s Csatlakozott!^nNeki megvan az osszes csomag %i olessel es %i kredittel!", nev,oles[id],kredit[id])
  669. }
  670.  
  671. public BajnokLe(id)
  672. {
  673. new nev[32]
  674. get_user_name(id, nev, sizeof(nev) -1)
  675.  
  676. set_hudmessage(255, 0, 0, 0.07, 0.69, 0, 6.0, 7.0)
  677. show_hudmessage(id, "A ^"Killer^" %s Lelepett!^nNeki megvan az osszes csomag %i olessel es %i kredittel!", nev, oles[id],kredit[id])
  678. }
  679. public KorUzenet()
  680. {
  681. ColorChat(0, GREEN, "^3[Fegyver Skin] ^4Ird be ^3/skin ^4hogy megnyisd a ^1Fegyver Skin ^4menut.");
  682. return PLUGIN_HANDLED;
  683. }
  684. public KorUzenettt()
  685. {
  686. ColorChat(0, GREEN, "^3[Fegyver Skin] ^4Ha reszletesebb infokat szeretnel ird be ^3/fegyverinfo.");
  687. return PLUGIN_HANDLED;
  688. }
  689. stock get_player_name(id)
  690. {
  691. static szName[32];
  692. get_user_name(id,szName,31);
  693. return szName;
  694. }
  695. public skin_menu(id, menu, item)
  696. {
  697. if( item == MENU_EXIT )
  698. {
  699. menu_destroy(id);
  700. return PLUGIN_CONTINUE;
  701. }
  702. new data[9]
  703. new key = str_to_num(data);
  704.  
  705. switch(key)
  706.  
  707. {
  708. case 1:{
  709. awps[id] = false
  710. mnegy[id] = false
  711. aks[id] = false
  712. desert[id] = false
  713. knifes[id] = false
  714. ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Kivalasztottad az ^3Alap csomagot!")
  715. fegymenu(id)
  716. }
  717. case 2:{
  718. if(oles[id] >= 1000){
  719. awps[id] = 1
  720. mnegy[id] = 5
  721. aks[id] = 9
  722. desert[id] = 13
  723. knifes[id] = false
  724. ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Kivalasztottad a ^3Bronz Csomagot!")
  725. fegymenu(id)
  726. }
  727. else
  728. {
  729. ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Sajnos Nincs eleg olesed!")
  730. fegymenu(id)
  731. }
  732. }
  733. case 3:{
  734. if(oles[id] >= 3000){
  735. awps[id] = 2
  736. mnegy[id] = 6
  737. aks[id] = 10
  738. desert[id] = 14
  739. knifes[id] = false
  740. ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Kivalasztottad az ^3Ezust Csomagot!")
  741. fegymenu(id)
  742. }
  743. else
  744. {
  745. ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Sajnos Nincs eleg olesed!")
  746. fegymenu(id)
  747. }
  748. }
  749. case 4:{
  750. if(oles[id] >= 5000){
  751. awps[id] = 3
  752. mnegy[id] = 7
  753. aks[id] = 11
  754. desert[id] = 15
  755. knifes[id] = false
  756. ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Kivalasztottad az ^3Arany Csomagot!")
  757. fegymenu(id)
  758. }
  759. else
  760. {
  761. ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Sajnos Nincs eleg olesed!")
  762. fegymenu(id)
  763. }
  764. }
  765. case 5:{
  766. if(oles[id] >= 10000){
  767. awps[id] = 4
  768. mnegy[id] = 8
  769. aks[id] = 12
  770. knifes[id] = 16
  771. desert[id] = false
  772. ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Kivalasztottad a ^3Specialis Csomagot!")
  773. fegymenu(id)
  774. }
  775. else
  776. {
  777. ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Sajnos Nincs eleg olesed!")
  778. fegymenu(id)
  779. }
  780. }
  781. case 6:{
  782. if(kredit[id] >= 300){
  783. mnegy[id] = 17
  784. awps[id] = false
  785. aks[id] = false
  786. desert[id] = false
  787. knifes[id] = false
  788. ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Kivalasztottad a ^3Kredit Csomagot!")
  789. fegymenu(id)
  790. }
  791. else
  792. {
  793. ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Sajnos Nincs eleg kredited!")
  794. fegymenu(id)
  795. }
  796. }
  797. }
  798. menu_destroy(menu)
  799. return PLUGIN_HANDLED
  800. }
  801. public mentes(id)
  802. {
  803. new vaultkey[64],vaultdata[256], authid[32]
  804. get_user_authid(id, authid, 31)
  805. format(vaultkey,63,"%s-SKIN", authid)
  806. format(vaultdata,255,"%i#%i#", oles[id],kredit[id])
  807. nvault_set(vault,vaultkey,vaultdata)
  808. return PLUGIN_CONTINUE
  809. }
  810. public betoltes(id)
  811. {
  812. new vaultkey[64],vaultdata[256], authid[32]
  813. get_user_authid(id, authid, 31)
  814. format(vaultkey,63,"%s-SKIN", authid)
  815. format(vaultdata,255,"%i#%i#",oles[id],kredit[id])
  816. nvault_get(vault,vaultkey,vaultdata,255)
  817. replace_all(vaultdata, 255, "#", " ")
  818. new str_num[32], kred_num[32]
  819. parse(vaultdata, str_num, 31, kred_num, 31)
  820. oles[id] = str_to_num(str_num)
  821. kredit[id] = str_to_num(kred_num)
  822. return PLUGIN_CONTINUE
  823. }
  824. public client_disconnect(id)
  825. {
  826. mentes(id)
  827.  
  828. if(oles[id] >= 10000 && kredit[id] >= 300)
  829. {
  830. set_task(3.0, "BajnokLe", id)
  831. }
  832. }
  833. public client_connect(id)
  834. {
  835. betoltes(id)
  836.  
  837. if(oles[id] >= 10000 && kredit[id] >= 300)
  838. {
  839. set_task(3.0, "BajnokFel", id)
  840. }
  841. }
  842.