HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include < amxmodx >
  2. #include < amxmisc>
  3. #include < engine >
  4. #include < cstrike >
  5. #include < hamsandwich >
  6. #include < fakemeta >
  7. #include < fakemeta_util >
  8. #include < ColorChat >
  9. #include < fun >
  10. #include < fcs >
  11.  
  12. #define PLUGIN "Furien Shop"
  13. #define VERSION "0.2"
  14. #define AUTHOR "Danon"
  15.  
  16. #define FL_WATERJUMP (1<<11)
  17. #define FL_ONGROUND (1<<9)
  18.  
  19. new bool:UserHaveBhop[33];
  20. new bool:super_knife [ 33 ];
  21.  
  22. new super_knife_v_model [ 66 ] = "models/v_super_cutit2.mdl";
  23.  
  24. public plugin_init() {
  25. register_plugin(PLUGIN, VERSION, AUTHOR);
  26.  
  27. register_clcmd("say /bolt", "FurienShop", 0);
  28. register_clcmd("say shop", "FurienShop", 0);
  29. register_clcmd("say_team /bolt", "FurienShop", 0);
  30. register_clcmd("say_team shop", "FurienShop", 0);
  31. register_event ( "CurWeapon", "CurrentWeapon", "be", "1=1" );
  32. RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" );
  33. RegisterHam ( Ham_Spawn, "player", "Spawn", 1 );
  34.  
  35. }
  36. public plugin_precache ( ) {
  37.  
  38. precache_model ( super_knife_v_model );
  39. }
  40. public Spawn ( id ) {
  41.  
  42. strip_user_weapons ( id );
  43. give_item ( id, "weapon_knife" );
  44. super_knife [ id ] = false;
  45. UserHaveBhop[id] = false;
  46.  
  47. }
  48. public CurrentWeapon ( id ) {
  49.  
  50. if ( super_knife [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
  51.  
  52. set_pev ( id, pev_viewmodel2, super_knife_v_model );
  53. }
  54. }
  55. public FurienShop ( id ) {
  56.  
  57. if (get_user_team(id) == 1 ) {
  58.  
  59. set_task( 0.1, "ShowFurien", id );
  60. }
  61.  
  62. if (get_user_team (id ) == 2 ) {
  63.  
  64. set_task( 0.1, "ShowAntiFurien", id );
  65. }
  66. }
  67. public ShowAntiFurien(id, level, cid) {
  68.  
  69. new menu = menu_create( "\r Furien\w Bolt", "antifurienhandler");
  70. menu_additem(menu, "HP + AP - \r6 \yPont", "1", 0);
  71. menu_additem(menu, "Defuse Kit - \r2 \yPont", "2", 0 );
  72. menu_additem(menu, "50 HP - \r2 \yPont", "3", 0);
  73. menu_additem(menu, "50 AP - \r2 \yPont", "4", 0);
  74. menu_additem(menu, "Autobhop - \r6 \yPont", "5", 0);
  75.  
  76. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  77. menu_display(id, menu, 0);
  78.  
  79. }
  80. public ShowFurien(id, level, cid) {
  81.  
  82. new menu = menu_create( "\r Furien\w Bolt", "furienhandler");
  83. menu_additem(menu, "SuperKnife - \r5 \yPont", "1", 0);
  84. menu_additem(menu, "HE Grenade - \r3 \yPont", "2", 0 );
  85. menu_additem(menu, "50 HP - \r2 \yPont", "3", 0);
  86. menu_additem(menu, "50 AP - \r2 \yPont", "4", 0);
  87. menu_additem(menu, "Autobhop - \r6 \yPont", "5", 0);
  88.  
  89. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  90. menu_display(id, menu, 0);
  91.  
  92. }
  93.  
  94. public furienhandler(id, menu, item, level, cid) {
  95. if( item == MENU_EXIT )
  96. {
  97. return 1;
  98. }
  99.  
  100. new data[6], szName[64];
  101. new access, callback;
  102. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  103. new key = str_to_num(data);
  104.  
  105. switch(key)
  106. {
  107.  
  108. case 1:
  109. {
  110. new iCredits = fcs_get_user_credits ( id ) - 5;
  111. if( iCredits < 0 )
  112. {
  113. ColorChat( id, GREEN, "[Furien]^x01 Nincs eleg pontod!");
  114. return 1;
  115.  
  116. }
  117. else
  118. {
  119. super_knife[ id ] = true;
  120. CurrentWeapon( id );
  121.  
  122. fcs_set_user_credits( id, iCredits );
  123. return 1;
  124. }
  125. }
  126.  
  127. case 2:
  128. {
  129. new iCredits = fcs_get_user_credits ( id ) - 3;
  130. if( iCredits < 0 )
  131. {
  132. ColorChat( id, GREEN, "[Furien]^x01 Nincs eleg pontod!");
  133. return 1;
  134.  
  135. }
  136. else
  137. {
  138. give_item( id, "weapon_hegrenade" );
  139. fcs_set_user_credits( id, iCredits );
  140. return 1;
  141. }
  142. }
  143.  
  144. case 3:
  145. {
  146. new iCredits = fcs_get_user_credits ( id ) - 2;
  147. if( iCredits < 0 )
  148. {
  149. ColorChat( id, GREEN, "[Furien]^x01 Nincs eleg pontod!");
  150. return 1;
  151.  
  152. }
  153. else
  154. {
  155. new Health = get_user_health ( id );
  156. if( Health <= 100 )
  157. {
  158. fm_set_user_health( id, get_user_health ( id ) + 50 );
  159. fcs_set_user_credits( id, iCredits );
  160. return 1;
  161. }
  162.  
  163. if( Health > 100 ) {
  164.  
  165. ColorChat( id, GREEN, "[Furien]^x01 Kevesebb HP-d kell legyen mint de^x03 100 HP^x01 ahhoz,hogy vasarolj meg 50 HP-t" );
  166. return 1;
  167. }
  168. }
  169. }
  170.  
  171. case 4:
  172. {
  173. new iCredits = fcs_get_user_credits ( id ) - 2;
  174. if( iCredits < 0 )
  175. {
  176. ColorChat( id, GREEN, "[Furien]^x01 Nincs eleg pontod!");
  177. return 1;
  178.  
  179. }
  180. else
  181. {
  182. new Armor = get_user_armor ( id );
  183. if ( Armor <= 100 ) {
  184. fm_set_user_armor( id, get_user_armor ( id ) + 50 );
  185. fcs_set_user_credits ( id, iCredits );
  186. return 1;
  187. }
  188.  
  189. if ( Armor > 100 ) {
  190.  
  191. ColorChat( id, GREEN, "[Furien]^x01 Kevesebb AP-d kell legyen mint^4 100 AP^x01 ahhoz,hogy vehess meg 50 AP-t" );
  192. return 1;
  193. }
  194. }
  195. }
  196.  
  197. case 5:
  198. {
  199. new iCredits = fcs_get_user_credits ( id ) - 6;
  200. if( iCredits < 0 )
  201. {
  202. ColorChat( id, GREEN, "[Furien]^x01 Nincs eleg pontod!");
  203. return 1;
  204.  
  205. }
  206. if(UserHaveBhop[id]) {
  207. ColorChat( id, GREEN, "[Furien]^x01 Neked mar van Bhop-od.");
  208. }
  209. else if(!UserHaveBhop[id]) {
  210. ColorChat( id, GREEN, "[Furien]^x01 Vettel Bhop-ot.");
  211. UserHaveBhop[id] = true;
  212. fcs_set_user_credits ( id, iCredits );
  213. return 1;
  214. }
  215. }
  216. }
  217. menu_destroy(menu);
  218. return 1;
  219. }
  220.  
  221. public antifurienhandler(id, menu, item, level, cid) {
  222. if( item == MENU_EXIT )
  223. {
  224. return 1;
  225. }
  226.  
  227. new data[6], szName[64];
  228. new access, callback;
  229. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  230. new key = str_to_num(data);
  231.  
  232. switch(key)
  233. {
  234. case 1:
  235. {
  236. new iCredits = fcs_get_user_credits ( id ) - 6;
  237. if( iCredits < 0 )
  238. {
  239. ColorChat( id, GREEN, "[Furien]^x01 Nincs eleg pontod!");
  240. return 1;
  241.  
  242. }
  243. else
  244. {
  245. new Health = get_user_health ( id );
  246.  
  247. if ( Health <= 100 )
  248. {
  249. fm_set_user_health ( id, get_user_health ( id ) + 80 );
  250. }
  251.  
  252. new Armor = get_user_armor ( id );
  253.  
  254. if ( Armor <= 100 )
  255. {
  256. fm_set_user_armor( id, get_user_armor ( id ) + 80 );
  257. }
  258.  
  259. fcs_set_user_credits ( id, iCredits );
  260. return 1;
  261. }
  262. }
  263.  
  264. case 2:
  265. {
  266. new iCredits = fcs_get_user_credits ( id ) - 2;
  267. if( iCredits < 0 )
  268. {
  269. ColorChat( id, GREEN, "[Furien]^x01 Nincs eleg pontod!");
  270. return 1;
  271.  
  272. }
  273. else
  274. {
  275. fm_give_item ( id, "item_thighpack" )
  276. fcs_set_user_credits ( id, iCredits );
  277. return 1;
  278. }
  279. }
  280.  
  281. case 3:
  282. {
  283. new iCredits = fcs_get_user_credits ( id ) - 2;
  284. if( iCredits < 0 )
  285. {
  286. ColorChat( id, GREEN, "[Furien]^x01 Nincs eleg pontod!");
  287. return 1;
  288.  
  289. }
  290. else
  291. {
  292. new Health = get_user_health ( id );
  293. if ( Health <= 100 ) {
  294. fm_set_user_health ( id, get_user_health ( id ) + 50 );
  295. fcs_set_user_credits ( id, iCredits );
  296. return 1;
  297. }
  298.  
  299. if ( Health > 100 ) {
  300.  
  301. ColorChat ( id, GREEN, "[Furien]^x01 Kevesebb HP-d mint^x03 100 HP^x01 ahhoz,hogy vehess meg 50 HP-t" );
  302. return 1;
  303. }
  304. }
  305. }
  306.  
  307. case 4:
  308. {
  309. new iCredits = fcs_get_user_credits ( id ) - 2;
  310. if( iCredits < 0 )
  311. {
  312. ColorChat( id, GREEN, "[Furien]^x01 Nincs eleg pontod!");
  313. return 1;
  314.  
  315. }
  316. else
  317. {
  318. new Armor = get_user_armor ( id );
  319. if ( Armor <= 100 ) {
  320. fm_set_user_armor( id, get_user_armor ( id ) + 50 );
  321. fcs_set_user_credits ( id, iCredits );
  322. return 1;
  323. }
  324.  
  325. if ( Armor > 100 ) {
  326.  
  327. ColorChat( id, GREEN, "[Furien]^x01 Kevesebb AP-d kell legyen mint ^4 100 AP^x01 ahhoz,hogy vehess meg 50 AP-t" );
  328. return 1;
  329. }
  330. }
  331. }
  332.  
  333. case 5:
  334. {
  335. new iCredits = fcs_get_user_credits ( id ) - 6;
  336. if( iCredits < 0 )
  337. {
  338. ColorChat( id, GREEN, "[Furien]^x01 Nincs eleg pontod!");
  339. return 1;
  340.  
  341. }
  342. if(UserHaveBhop[id]) {
  343. ColorChat( id, GREEN, "[Furien]^x01 Neked mar van Bhop-od");
  344. }
  345. else if(!UserHaveBhop[id]) {
  346. ColorChat( id, GREEN, "[Furien]^x01 Vettel Bhop-ot");
  347. UserHaveBhop[id] = true;
  348. fcs_set_user_credits ( id, iCredits );
  349. return 1;
  350. }
  351. }
  352.  
  353. }
  354. menu_destroy(menu);
  355. return 1;
  356. }
  357.  
  358. public client_PreThink(id) {
  359. if(!UserHaveBhop[id])
  360. return 0;
  361.  
  362. entity_set_float(id, EV_FL_fuser2, 0.0);
  363.  
  364. if(entity_get_int(id, EV_INT_button) & 2) {
  365. new flags = entity_get_int(id, EV_INT_flags);
  366.  
  367. if(flags & FL_WATERJUMP)
  368. return 0;
  369.  
  370. if(entity_get_int(id, EV_INT_waterlevel) >= 2)
  371. return 0;
  372.  
  373. if(!(flags & FL_ONGROUND))
  374. return 0;
  375.  
  376. new Float:velocity[3];
  377. entity_get_vector(id, EV_VEC_velocity, velocity);
  378. velocity[2] += 250.0;
  379. entity_set_vector(id, EV_VEC_velocity, velocity);
  380.  
  381. entity_set_int(id, EV_INT_gaitsequence, 6);
  382. }
  383.  
  384. return 0;
  385. }
  386. public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits )
  387. {
  388. if( iInflictor == iAttacker && super_knife [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
  389. {
  390. SetHamParamFloat( 4, fDamage * 2.0);
  391. return HAM_HANDLED;
  392. }
  393.  
  394. return HAM_IGNORED;
  395. }
  396.