hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.06.16. 08:13



Jelenlévő felhasználók

Jelenleg 492 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 491 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: Bing [Bot] az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 1 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Fegyver menü kivétel
HozzászólásElküldve: 2015.04.16. 16:34 
Offline
Beavatott
Avatar

Csatlakozott: 2015.03.17. 18:34
Hozzászólások: 88
Megköszönt másnak: 9 alkalommal
Megköszönték neki: 2 alkalommal
Sziasztok valaki ki tudna venni a fegyo menut kör elejen ki dobja a menüt és nem tudom ki törölni belöle elöre is köszi..
SMA Forráskód: [ Mindet kijelol ]
  1. /* Plugin generated by AMXX-Studio */
  2.  
  3. #include <amxmodx>
  4. #include <amxmisc>
  5. #include <cstrike>
  6. #include <fun>
  7. #include <fakemeta>
  8. #include <hamsandwich>
  9. #include <engine>
  10.  
  11. #define PLUGIN "Furien Mod"
  12. #define VERSION "64.2.6b"
  13. #define AUTHOR "Kia"
  14.  
  15. // ===============================================================================
  16. // Variables
  17. // ===============================================================================
  18.  
  19. /* Defines */
  20.  
  21. // Sets maximum of items for Furien Shop
  22. #define FURIEN_SHOP_MAX 8
  23.  
  24. // Sets maximum of items for CT Shop
  25. #define CT_SHOP_MAX 9
  26.  
  27. // Sets maximum of items for CT Gun Meun
  28. #define CT_WEAPON_MAX 5
  29.  
  30. // Delay after spawn to give stuff
  31. #define EQUIP_DELAY 0.1
  32.  
  33. // Maximum Health
  34. #define MAX_HP 200
  35.  
  36. #define TASK_ID_SWAPTEAMS 2000
  37. #define XO_WEAPON 4
  38. #define m_pPlayer 41
  39. #define XO_PLAYER 5
  40. #define m_pActiveItem 373
  41. #define DO_NOT_CHANGE 2
  42.  
  43. /* Enums */
  44.  
  45. enum _:ShopItems
  46. {
  47. ItemName[64], ItemCost[ 64 ], ItemPlugin[64], ItemFunction[ 64 ], ItemMax[64], ItemReset[64]
  48. }
  49.  
  50. enum _:GunItems
  51. {
  52. ItemName[64], ItemPri[64], ItemPriConst[64], ItemSec[64], ItemSecConst[64]
  53. }
  54.  
  55. /* Entitys */
  56.  
  57. new TaskEnt
  58.  
  59. /* Hamsandwich */
  60.  
  61. new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame
  62.  
  63. /* Booleans */
  64.  
  65. new bool:g_bHasAcceptedSettings[33]
  66. new bool:g_bHasWeapon[33]
  67. new bool:g_bWantsLowGrav[33]
  68. new bool:g_bHasSuperKnife[33]
  69. new bool:g_bHasNoFlash[33]
  70.  
  71. /* Integer */
  72.  
  73. new g_iMaxPlayers
  74.  
  75. new g_iItemIndex_T[33][FURIEN_SHOP_MAX]
  76. new g_iItemIndex_CT[33][CT_SHOP_MAX]
  77.  
  78. new g_iHP[33]
  79.  
  80. /* CVars */
  81.  
  82. new cvar_gm, cvar_hpsave
  83.  
  84. /* CVars - Furien */
  85.  
  86. new cvar_t_starthe, cvar_t_startflash, cvar_t_startsmoke
  87. new cvar_t_grav, cvar_t_speed, cvar_t_fs
  88. new cvar_t_psf
  89.  
  90. /* CVars - CTs */
  91.  
  92. new cvar_ct_starthe, cvar_ct_startflash, cvar_ct_startsmoke
  93. new cvar_ct_grav, cvar_ct_fs
  94. new cvar_ct_ammo_pri, cvar_ct_ammo_sec
  95.  
  96. /* Constants - Shop */
  97.  
  98. new const g_mFurienItems[FURIEN_SHOP_MAX][ShopItems] = {
  99. {"Superknife", 16000, "CORE", "shop_t_givesk", 1, DO_NOT_CHANGE}, // "Itemname", COST, "CORE / Pluginname", "Function", "Maximum", "Reset
  100. {"Deagle (14 Gojoval)", 10000, "CORE", "shop_t_givedgl", 1, 2}, // 0 : No Reset ; 1 : Round Reset ; 2 : Death Reset
  101. {"50 HP", 4000, "CORE", "shop_t_givehp", 2, 1},
  102. {"75 AP", 2000, "CORE", "shop_t_giveap", 2, 1},
  103. {"1 HE Granat", 1000, "CORE", "shop_givehe", 2, 1},
  104. {"1 Vakito Granat", 1000, "CORE", "shop_giveflash", 2, 1},
  105. {"1 Fust Granat", 1000, "CORE", "shop_givesmoke", 1, 1},
  106. {"Nincs vakulas", 500, "CORE", "shop_givenf", 1, DO_NOT_CHANGE}
  107. }
  108.  
  109. new const g_mCTItems[CT_SHOP_MAX][ShopItems] = {
  110. {"Defuse Kit", 300, "CORE", "shop_ct_givedefkit", 1, 2},
  111. {"Para (200 Gojoval)", 16000, "CORE", "shop_ct_givepara", 1, 1},
  112. {"50 HP", 4000, "CORE", "shop_ct_givehp", 2, 1},
  113. {"75 AP", 3500, "CORE", "shop_ct_giveap", 1, 1},
  114. {"1 HE Granat", 2000, "CORE", "shop_givehe", 1, 1},
  115. {"1 Vakito Granat", 1000, "CORE", "shop_giveflash", 1, 1},
  116. {"1 Fust Granat", 1000, "CORE", "shop_givesmoke", 1, 1},
  117. {"Nincs vakulas", 4000, "CORE", "shop_givenf", 1, DO_NOT_CHANGE},
  118. {"Superdeagle", 16000, "kfm_extra_sdgl.amxx", "zp_extra_item_selected", 1, 1}
  119. }
  120.  
  121. /* Constants - Weapons */
  122.  
  123. new const g_mCTWeapons[CT_WEAPON_MAX][GunItems] = {
  124. {"AK47 + Deagle", "weapon_ak47", CSW_AK47, "weapon_deagle", CSW_DEAGLE},
  125. {"M4A1 + Deagle", "weapon_m4a1", CSW_M4A1, "weapon_deagle", CSW_DEAGLE},
  126. {"Famas + Deagle", "weapon_famas", CSW_FAMAS, "weapon_deagle", CSW_DEAGLE},
  127. {"MP5 + Deagle", "weapon_mp5navy", CSW_MP5NAVY, "weapon_deagle", CSW_DEAGLE},
  128. {"XM1014 + Deagle", "weapon_xm1014", CSW_XM1014, "weapon_deagle", CSW_DEAGLE}
  129. }
  130.  
  131.  
  132. /* Constants */
  133.  
  134. const SWAP_PER_INTERVAL = 5
  135. const Float:SWAP_INTERVAL = 0.5
  136.  
  137. const fPainShock = 108
  138.  
  139. new const models[][] =
  140. {
  141. "models/w_backpack.mdl",
  142. "models/w_flashbang.mdl",
  143. "models/w_hegrenade.mdl",
  144. "models/w_smokegrenade.mdl"
  145. }
  146.  
  147. /* Misc */
  148.  
  149. new g_msgScreenFade
  150.  
  151. /* PreCache */
  152.  
  153. new const sz_SuperKnife_V_Model[] = "models/kfm/v_superknife.mdl"
  154.  
  155. // ===============================================================================
  156. // plugin_precache - Files that will be downloaded
  157. // ===============================================================================
  158.  
  159. public plugin_precache()
  160. {
  161. precache_model(sz_SuperKnife_V_Model)
  162. }
  163. // ===============================================================================
  164. // plugin_init - Do not modify this unless you know what you're doing
  165. // ===============================================================================
  166.  
  167. public plugin_init()
  168. {
  169. register_plugin(PLUGIN, VERSION, AUTHOR)
  170.  
  171. /* CVars */
  172.  
  173. register_cvar("kias_furien", VERSION, FCVAR_SERVER | FCVAR_SPONLY | FCVAR_EXTDLL)
  174. cvar_gm = register_cvar("kfm_godend", "1")
  175. cvar_hpsave = register_cvar("kfm_savehp", "1")
  176.  
  177. /* CVars - Furien */
  178.  
  179. cvar_t_starthe = register_cvar("kfm_t_starthe", "1")
  180. cvar_t_startflash = register_cvar("kfm_t_startflash", "2")
  181. cvar_t_startsmoke = register_cvar("kfm_t_startsmoke", "1")
  182.  
  183. cvar_t_grav = register_cvar("kfm_t_grav", "0.39")
  184. cvar_t_speed = register_cvar("kfm_t_speed", "565")
  185. cvar_t_fs = register_cvar("kfm_t_fs", "1")
  186.  
  187. cvar_t_psf = register_cvar("kfm_t_psf", "1")
  188.  
  189. /* CVars - CTs */
  190.  
  191. cvar_ct_starthe = register_cvar("kfm_ct_starthe", "0")
  192. cvar_ct_startflash = register_cvar("kfm_ct_startflash", "0")
  193. cvar_ct_startsmoke = register_cvar("kfm_ct_startsmoke", "1")
  194.  
  195. cvar_ct_grav = register_cvar("kfm_ct_grav", "1.0")
  196. cvar_ct_fs = register_cvar("kfm_ct_fs", "0")
  197.  
  198. cvar_ct_ammo_pri = register_cvar("kfm_ct_ammo_primary", "200")
  199. cvar_ct_ammo_sec = register_cvar("kfm_ct_ammo_secondary", "150")
  200.  
  201. /* Commands */
  202.  
  203. register_clcmd("say /guns", "cmd_Guns")
  204. register_clcmd("say_team /guns", "cmd_Guns")
  205. register_clcmd("say guns", "cmd_Guns")
  206. register_clcmd("say_team guns", "cmd_Guns")
  207. register_clcmd("guns", "cmd_Guns")
  208.  
  209. register_clcmd("say /gravity", "cmd_Gravity")
  210. register_clcmd("say_team /gravity", "cmd_Gravity")
  211. register_clcmd("say gravity", "cmd_Gravity")
  212. register_clcmd("say_team gravity", "cmd_Gravity")
  213. register_clcmd("gravity", "cmd_Gravity")
  214.  
  215. register_clcmd("say /shop", "cmd_Shop")
  216. register_clcmd("say_team /shop", "cmd_Shop")
  217. register_clcmd("say shop", "cmd_Shop")
  218. register_clcmd("say_team shop", "cmd_Shop")
  219. register_clcmd("shop", "cmd_Shop")
  220.  
  221. /* Events */
  222.  
  223. register_event("SendAudio", "Event_CTWin", "a", "2&%!MRAD_ctwin" )
  224. register_event("CurWeapon", "Event_CurWeapon", "be", "1=1")
  225. register_event("ScreenFade", "Event_Flashed", "be", "4=255", "5=255", "6=255", "7>199")
  226. register_event("DeathMsg", "Event_DeathMsg", "a")
  227. register_event("WeapPickup", "Event_WeaponPickup", "b")
  228.  
  229. /* Logevents */
  230.  
  231. register_logevent("LogEvent_RoundEnd", 2, "1=Round_End")
  232.  
  233. /* Hamsandwich */
  234.  
  235. RegisterHam(Ham_Spawn, "player", "func_HamSpawn", 1)
  236. RegisterHam(Ham_TakeDamage, "player", "func_TakeDamage")
  237. RegisterHam(Ham_Item_Deploy, "weapon_knife", "func_HamTookKnife", true)
  238.  
  239. /* Forwards */
  240.  
  241. register_forward(FM_Think, "fw_Think")
  242. register_forward(FM_Touch, "fw_Touch")
  243.  
  244. /* Misc */
  245.  
  246. TaskEnt = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
  247. set_pev(TaskEnt, pev_classname, "speedometer_think")
  248. set_pev(TaskEnt, pev_nextthink, get_gametime() + 1.01)
  249.  
  250. g_msgScreenFade = get_user_msgid("ScreenFade")
  251. g_iMaxPlayers = get_maxplayers()
  252. }
  253.  
  254. // ===============================================================================
  255. // Client Connect
  256. // ===============================================================================
  257.  
  258. public client_putinserver(id)
  259. {
  260. g_bHasAcceptedSettings[id] = false
  261. g_bHasWeapon[id] = false
  262. g_bHasSuperKnife[id] = false
  263. g_bHasNoFlash[id] = false
  264. g_bWantsLowGrav[id] = true
  265.  
  266. g_iItemIndex_CT[id][0] = false
  267. g_iItemIndex_T[id][0] = false
  268. g_iHP[id] = 100
  269. }
  270.  
  271. // ===============================================================================
  272. // Client Disconnect
  273. // ===============================================================================
  274.  
  275. public client_disconnect(id)
  276. {
  277. g_bHasAcceptedSettings[id] = false
  278. g_bHasWeapon[id] = false
  279. g_bHasSuperKnife[id] = false
  280. g_bHasNoFlash[id] = false
  281. g_bWantsLowGrav[id] = true
  282.  
  283. g_iItemIndex_CT[id][0] = false
  284. g_iItemIndex_T[id][0] = false
  285. g_iHP[id] = 100
  286. }
  287.  
  288. // ===============================================================================
  289. // say /guns
  290. // ===============================================================================
  291.  
  292. public cmd_Guns(id)
  293. {
  294. if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT && !g_bHasWeapon[id])
  295. func_OpenGunMenu(id)
  296. }
  297.  
  298. // ===============================================================================
  299. // say /gravity
  300. // ===============================================================================
  301.  
  302. public cmd_Gravity(id)
  303. {
  304. g_bWantsLowGrav[id] = g_bWantsLowGrav[id] ? false : true
  305. client_print(id, print_chat, "[%s] Low-Gravity is now %s.", PLUGIN, g_bWantsLowGrav[id] == true ? "enabled" : "disabled")
  306.  
  307. if(cs_get_user_team(id) == CS_TEAM_T)
  308. set_user_gravity(id, g_bWantsLowGrav[id] ? get_pcvar_float(cvar_t_grav) : 1.0)
  309. }
  310.  
  311. // ===============================================================================
  312. // say /shop
  313. // ===============================================================================
  314.  
  315. public cmd_Shop(id)
  316. {
  317. if(!is_user_alive(id))
  318. return PLUGIN_HANDLED
  319.  
  320. switch(cs_get_user_team(id))
  321. {
  322. case CS_TEAM_T : func_OpenTShop(id)
  323. case CS_TEAM_CT : func_OpenCTShop(id)
  324. }
  325.  
  326. return PLUGIN_HANDLED
  327. }
  328.  
  329. // ===============================================================================
  330. // func_OpenTShop - Shop for Ts
  331. // ===============================================================================
  332.  
  333. public func_OpenTShop(id)
  334. {
  335.  
  336. static szMenuTitle[128]
  337. new szItemTitle[128]
  338. new iAccess
  339.  
  340. formatex(szMenuTitle, charsmax(szMenuTitle), "Furien V64 - Furien Bolt")
  341.  
  342. new menu = menu_create(szMenuTitle, "func_OpenTShop_handler")
  343.  
  344. for( new i = 0; i < sizeof(g_mFurienItems); i++ )
  345. {
  346. formatex(szItemTitle, charsmax(szItemTitle), "%s - \y$%i", g_mFurienItems[i][ItemName], g_mFurienItems[i][ItemCost])
  347.  
  348. if(cs_get_user_money(id) >= g_mFurienItems[i][ItemCost] && g_iItemIndex_T[id][i] < g_mFurienItems[i][ItemMax] )
  349. iAccess = 0
  350. else
  351. iAccess = 1<<31
  352.  
  353. menu_additem(menu, szItemTitle, _, iAccess)
  354. }
  355.  
  356. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
  357. menu_display( id, menu, 0 );
  358. return PLUGIN_HANDLED;
  359. }
  360.  
  361. public func_OpenTShop_handler(id, menu, item)
  362. {
  363. if( item == MENU_EXIT || cs_get_user_team(id) != CS_TEAM_T || !is_user_alive(id))
  364. {
  365. menu_destroy(menu)
  366. return PLUGIN_HANDLED
  367. }
  368.  
  369. new szPlugin[64]
  370.  
  371. if(equali(g_mFurienItems[item][ItemPlugin], "CORE"))
  372. formatex(szPlugin, charsmax(szPlugin), "")
  373. else
  374. formatex(szPlugin, charsmax(szPlugin), g_mFurienItems[item][ItemPlugin])
  375.  
  376. if( callfunc_begin(g_mFurienItems[item][ItemFunction], szPlugin) == 1 )
  377. {
  378. callfunc_push_int(id)
  379. callfunc_end()
  380.  
  381. Reduce(id, g_mFurienItems[item][ItemCost])
  382. g_iItemIndex_T[id][item]++
  383. }
  384.  
  385.  
  386. return PLUGIN_HANDLED
  387. }
  388.  
  389. // ===============================================================================
  390. // Item Handlers for Furien Shop
  391. // ===============================================================================
  392.  
  393. public shop_t_givesk(id)
  394. {
  395. g_bHasSuperKnife[id] = true
  396. engclient_cmd(id, "weapon_knife")
  397. ExecuteHamB(Ham_Item_Deploy, get_pdata_cbase(id, m_pActiveItem, XO_PLAYER))
  398. }
  399.  
  400. public shop_t_givedgl(id)
  401. {
  402. give_item(id, "weapon_deagle")
  403. cs_set_user_bpammo(id, CSW_DEAGLE, 7)
  404. engclient_cmd(id, "weapon_deagle")
  405. }
  406.  
  407. public shop_t_givehp(id)
  408. {
  409. set_user_health(id, min(get_user_health(id) + 50, MAX_HP))
  410. }
  411.  
  412. public shop_t_giveap(id)
  413. set_user_armor(id, get_user_armor(id) + 75)
  414.  
  415. // ===============================================================================
  416. // General Item Handlers
  417. // ===============================================================================
  418.  
  419.  
  420. public shop_givehe(id)
  421. {
  422. if(cs_get_user_bpammo(id, CSW_HEGRENADE) < 1)
  423. {
  424. give_item(id, "weapon_hegrenade")
  425. return PLUGIN_HANDLED
  426. }
  427.  
  428. cs_set_user_bpammo(id,CSW_HEGRENADE, cs_get_user_bpammo(id, CSW_HEGRENADE) + 1)
  429. return PLUGIN_HANDLED
  430. }
  431.  
  432. public shop_giveflash(id)
  433. {
  434. if(cs_get_user_bpammo(id, CSW_FLASHBANG) < 1)
  435. {
  436. give_item(id, "weapon_flashbang")
  437. return PLUGIN_HANDLED
  438. }
  439.  
  440. cs_set_user_bpammo(id,CSW_FLASHBANG, cs_get_user_bpammo(id, CSW_FLASHBANG) + 1)
  441. return PLUGIN_HANDLED
  442. }
  443.  
  444. public shop_givesmoke(id)
  445. {
  446. if(cs_get_user_bpammo(id, CSW_SMOKEGRENADE) < 1)
  447. {
  448. give_item(id, "weapon_smokegrenade")
  449. return PLUGIN_HANDLED
  450. }
  451.  
  452. cs_set_user_bpammo(id,CSW_SMOKEGRENADE, cs_get_user_bpammo(id, CSW_SMOKEGRENADE) + 1)
  453. return PLUGIN_HANDLED
  454. }
  455.  
  456. public shop_givenf(id)
  457. g_bHasNoFlash[id] = true
  458.  
  459. // ===============================================================================
  460. // func_OpenCTShop - Shop for CTs
  461. // ===============================================================================
  462.  
  463. public func_OpenCTShop(id)
  464. {
  465. if(!is_user_alive(id))
  466. return PLUGIN_HANDLED
  467.  
  468. static szMenuTitle[64]
  469. new szItemTitle[64]
  470. new iAccess
  471.  
  472. formatex(szMenuTitle, charsmax(szMenuTitle), "Furien V64 - Anti-Furien Bolt")
  473.  
  474. new menu = menu_create(szMenuTitle, "func_OpenCTShop_handler")
  475.  
  476. for( new i = 0; i < sizeof(g_mCTItems); i++ )
  477. {
  478. formatex(szItemTitle, charsmax(szItemTitle), "%s - \y$%i", g_mCTItems[i][ItemName], g_mCTItems[i][ItemCost])
  479.  
  480. if(cs_get_user_money(id) >= g_mCTItems[i][ItemCost] && g_iItemIndex_CT[id][i] < g_mCTItems[i][ItemMax] )
  481. iAccess = 0
  482. else
  483. iAccess = 1<<31
  484.  
  485. menu_additem(menu, szItemTitle, _, iAccess)
  486. }
  487.  
  488. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
  489. menu_display( id, menu, 0 );
  490. return PLUGIN_HANDLED;
  491. }
  492.  
  493. public func_OpenCTShop_handler(id, menu, item)
  494. {
  495. if( item == MENU_EXIT || cs_get_user_team(id) != CS_TEAM_CT || !is_user_alive(id) )
  496. {
  497. menu_destroy(menu)
  498. return PLUGIN_HANDLED
  499. }
  500.  
  501. new szPlugin[64]
  502.  
  503. if(equali(g_mCTItems[item][ItemPlugin], "CORE"))
  504. formatex(szPlugin, charsmax(szPlugin), "")
  505. else
  506. formatex(szPlugin, charsmax(szPlugin), g_mCTItems[item][ItemPlugin])
  507.  
  508. if( callfunc_begin(g_mCTItems[item][ItemFunction], szPlugin) == 1 )
  509. {
  510. callfunc_push_int(id)
  511. callfunc_end()
  512.  
  513. Reduce(id, g_mCTItems[item][ItemCost])
  514. g_iItemIndex_CT[id][item]++
  515. }
  516.  
  517. return PLUGIN_HANDLED
  518. }
  519.  
  520. // ===============================================================================
  521. // Item Handlers for CT Shop
  522. // ===============================================================================
  523.  
  524. public shop_ct_givedefkit(id)
  525. cs_set_user_defuse(id, 1)
  526.  
  527. public shop_ct_givepara(id)
  528. {
  529. give_item(id, "weapon_m249")
  530. cs_set_user_bpammo(id, CSW_M249, 100)
  531. }
  532.  
  533. public shop_ct_givehp(id)
  534. set_user_health(id, min(get_user_health(id) + 50, MAX_HP))
  535.  
  536. public shop_ct_giveap(id)
  537. set_user_armor(id, get_user_armor(id) + 75)
  538.  
  539.  
  540. // ===============================================================================
  541. // func_OpenGunMenu - Gun Menu for CTs
  542. // ===============================================================================
  543.  
  544. public func_OpenGunMenu(id)
  545. {
  546. if(!is_user_alive(id))
  547. return PLUGIN_HANDLED
  548.  
  549. static szMenuTitle[128]
  550. new szItemTitle[128]
  551.  
  552. formatex(szMenuTitle, charsmax(szMenuTitle), "Furien V64 - Gun Menu")
  553.  
  554. new menu = menu_create(szMenuTitle, "func_OpenGunMenu_handler")
  555.  
  556. for( new i = 0; i < sizeof(g_mCTWeapons); i++ )
  557. {
  558. formatex(szItemTitle, charsmax(szItemTitle), "%s", g_mCTWeapons[i][ItemName])
  559.  
  560. menu_additem(menu, szItemTitle, _, 0)
  561. }
  562.  
  563. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
  564. menu_display( id, menu, 0 );
  565. return PLUGIN_HANDLED;
  566. }
  567.  
  568. public func_OpenGunMenu_handler(id, menu, item)
  569. {
  570. if(cs_get_user_team(id) != CS_TEAM_CT || !is_user_alive(id))
  571. {
  572. menu_destroy(menu)
  573. return PLUGIN_HANDLED
  574. }
  575.  
  576. give_item(id, g_mCTWeapons[item][ItemPri])
  577. cs_set_user_bpammo(id, g_mCTWeapons[item][ItemPriConst], get_pcvar_num(cvar_ct_ammo_pri))
  578.  
  579. give_item(id, g_mCTWeapons[item][ItemSec])
  580. cs_set_user_bpammo(id, g_mCTWeapons[item][ItemSecConst], get_pcvar_num(cvar_ct_ammo_sec))
  581.  
  582. g_bHasWeapon[id] = true
  583. return PLUGIN_HANDLED
  584. }
  585.  
  586. // ===============================================================================
  587. // Event - @ CT Win - Credits go to Exolent
  588. // ===============================================================================
  589.  
  590. public Event_CTWin()
  591. {
  592. static iCount, client;
  593.  
  594. iCount = 0;
  595.  
  596. for( client = 0; client <= g_iMaxPlayers; client++ )
  597. {
  598. if( is_user_connected( client ) )
  599. {
  600. if( iCount >= SWAP_PER_INTERVAL )
  601. {
  602. set_task( SWAP_INTERVAL, "Event_CTWin", TASK_ID_SWAPTEAMS );
  603. }
  604.  
  605. switch( cs_get_user_team( client ) )
  606. {
  607. case CS_TEAM_T:
  608. {
  609. cs_set_user_team( client, CS_TEAM_CT, CS_CT_GIGN );
  610.  
  611. iCount++;
  612. }
  613. case CS_TEAM_CT:
  614. {
  615. cs_set_user_team( client, CS_TEAM_T, CS_T_LEET );
  616.  
  617. iCount++;
  618. }
  619. }
  620. }
  621. }
  622.  
  623. remove_task(TASK_ID_SWAPTEAMS)
  624. }
  625.  
  626. // ===============================================================================
  627. // Event - CurWeapon
  628. // ===============================================================================
  629.  
  630. public Event_CurWeapon(id)
  631. {
  632. if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_T)
  633. set_user_maxspeed(id, get_pcvar_float(cvar_t_speed))
  634. }
  635.  
  636. // ===============================================================================
  637. // Event - Flashed
  638. // ===============================================================================
  639.  
  640. public Event_Flashed(id)
  641. {
  642. if(g_bHasNoFlash[id])
  643. {
  644. message_begin(MSG_ONE, g_msgScreenFade, {0,0,0},id)
  645. write_short(1)
  646. write_short(1)
  647. write_short(1)
  648. write_byte(0)
  649. write_byte(0)
  650. write_byte(0)
  651. write_byte(255)
  652. message_end()
  653. }
  654.  
  655. }
  656.  
  657. // ===============================================================================
  658. // Event - DeathMsg
  659. // ===============================================================================
  660.  
  661. public Event_DeathMsg(id)
  662. {
  663. new iVictim = read_data(2)
  664.  
  665. for( new i = 0; i < sizeof(g_mCTItems); i++ )
  666. {
  667. if(g_mCTItems[i][ItemReset] == 2)
  668. g_iItemIndex_CT[iVictim][i] = 0
  669. }
  670.  
  671. for( new i = 0; i < sizeof(g_mFurienItems); i++ )
  672. {
  673. if(g_mFurienItems[i][ItemReset] == 2)
  674. {
  675. g_iItemIndex_T[iVictim][i] = 0
  676. }
  677. }
  678.  
  679. g_bHasSuperKnife[iVictim] = false
  680. g_bHasNoFlash[iVictim] = false
  681. }
  682.  
  683. // ===============================================================================
  684. // Event - Weapon Pickup
  685. // ===============================================================================
  686.  
  687. public Event_WeaponPickup(id, weapon)
  688. {
  689. if(cs_get_user_team(id) == CS_TEAM_T && get_user_weapon(id) == CSW_C4)
  690. {
  691. return PLUGIN_HANDLED
  692. }
  693. return PLUGIN_CONTINUE
  694. }
  695.  
  696. // ===============================================================================
  697. // LogEvent - Round End
  698. // ===============================================================================
  699.  
  700. public LogEvent_RoundEnd()
  701. {
  702. new players[32], pnum, tempid
  703. get_players(players, pnum, "a")
  704.  
  705. for( new i; i<pnum; i++ )
  706. {
  707. tempid = players[i]
  708.  
  709. if(get_pcvar_num(cvar_hpsave) && get_user_health(tempid) > 100)
  710. g_iHP[tempid] = get_user_health(tempid)
  711.  
  712. strip_user_weapons(tempid)
  713. give_item(tempid, "weapon_knife")
  714.  
  715. if(get_pcvar_num(cvar_gm))
  716. set_user_godmode(tempid, 1)
  717. }
  718. }
  719.  
  720. // ===============================================================================
  721. // Hamsandwich - Ham_Spawn
  722. // ===============================================================================
  723.  
  724. public func_HamSpawn(id)
  725. {
  726. if(is_user_alive(id))
  727. {
  728. for( new i = 0; i < sizeof(g_mCTItems); i++ )
  729. {
  730. if(g_mCTItems[i][ItemReset] == 1)
  731. {
  732. g_iItemIndex_CT[id][i] = 0
  733. }
  734. }
  735.  
  736. for( new i = 0; i < sizeof(g_mFurienItems); i++ )
  737. {
  738. if(g_mFurienItems[i][ItemReset] == 1)
  739. {
  740. g_iItemIndex_T[id][i] = 0
  741. }
  742. }
  743.  
  744. if(get_pcvar_num(cvar_hpsave))
  745. {
  746. if(g_iHP[id] < 100)
  747. g_iHP[id] = 100
  748.  
  749. set_user_health(id, g_iHP[id])
  750. g_iHP[id] = 100
  751. }
  752.  
  753. set_user_godmode(id, 0)
  754. strip_user_weapons(id)
  755. give_item(id, "weapon_knife")
  756.  
  757. if(g_bHasAcceptedSettings[id])
  758. {
  759. func_ApplyGameplay(id)
  760. }
  761. else
  762. {
  763. func_AskForPermission(id)
  764. }
  765. }
  766. }
  767.  
  768. // ===============================================================================
  769. // Hamsandwich - Take_Damage - Credits go to ConnorMcLeod
  770. // ===============================================================================
  771.  
  772. public func_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type)
  773. {
  774. if (inflictor == attacker && is_user_alive(attacker) && get_user_weapon(attacker) == CSW_KNIFE && g_bHasSuperKnife[attacker])
  775. {
  776. SetHamParamFloat(4, damage * 3)
  777. }
  778.  
  779. if(get_pcvar_num(cvar_t_psf) && cs_get_user_team(victim) == CS_TEAM_T)
  780. set_pdata_float(victim, fPainShock, 1.0, 5)
  781. }
  782.  
  783. // ===============================================================================
  784. // Hamsandiwch - Item_Deploy - Credits go to ConnorMcLeod
  785. // ===============================================================================
  786.  
  787. public func_HamTookKnife(iKnife)
  788. {
  789. new id = get_pdata_cbase(iKnife, m_pPlayer, XO_WEAPON)
  790.  
  791. if(g_bHasSuperKnife[id])
  792. {
  793. entity_set_string( id, EV_SZ_viewmodel, sz_SuperKnife_V_Model)
  794. }
  795. }
  796.  
  797. // ===============================================================================
  798. // Forwards - FM_Think - Credits go to ConnorMcLeod
  799. // ===============================================================================
  800.  
  801. public fw_Think(ent)
  802. {
  803. if(ent == TaskEnt)
  804. {
  805. SpeedTask()
  806. set_pev(ent, pev_nextthink, get_gametime() + 0.1)
  807. }
  808. }
  809.  
  810. public SpeedTask()
  811. {
  812. static i, target
  813. static Float:velocity[3]
  814. static Float:speed
  815.  
  816. for(i = 1; i <= g_iMaxPlayers ; i++)
  817. {
  818. if(!is_user_connected(i)) continue
  819.  
  820. target = pev(i, pev_iuser1) == 4 ? pev(i, pev_iuser2) : i
  821. pev(target, pev_velocity, velocity)
  822.  
  823. speed = vector_length(velocity)
  824. if(speed < 5 && get_user_weapon(i) == CSW_KNIFE && get_user_team(i) == 1)
  825. {
  826. set_user_rendering(i,kRenderFxNone,0,0,0,kRenderTransAlpha,0)
  827. }
  828. else if(speed > 5)
  829. {
  830. set_user_rendering(i,kRenderFxNone,0,0,0,kRenderTransAlpha,255)
  831. }
  832. }
  833. }
  834.  
  835. // ===============================================================================
  836. // Forwards - FM_Touch
  837. // ===============================================================================
  838.  
  839. public fw_Touch( ent , id )
  840. {
  841. if (!(1 <= id <= g_iMaxPlayers) || get_user_team(id) == 2 || !pev_valid(ent) || !(pev(ent , pev_flags) & FL_ONGROUND))
  842. return FMRES_IGNORED;
  843.  
  844. static szEntModel[32];
  845. pev(ent , pev_model , szEntModel , 31);
  846.  
  847. return equal(szEntModel , models[random(sizeof(models))]) ? FMRES_IGNORED : FMRES_SUPERCEDE;
  848. }
  849.  
  850. // ===============================================================================
  851. // func_ApplyGameplay - Getting Players Team and selecting function
  852. // ===============================================================================
  853.  
  854. public func_ApplyGameplay(id)
  855. {
  856. switch(cs_get_user_team(id))
  857. {
  858. case CS_TEAM_CT : set_task(EQUIP_DELAY, "func_CTEquip", id)
  859. case CS_TEAM_T : set_task(EQUIP_DELAY, "func_TEquip", id)
  860. }
  861. }
  862.  
  863. // ===============================================================================
  864. // func_CTEquip - Giving Equipment for CTs
  865. // ===============================================================================
  866.  
  867. public func_CTEquip(id)
  868. {
  869. if(get_pcvar_num(cvar_ct_starthe) > 0)
  870. {
  871. give_item(id, "weapon_hegrenade")
  872. if(get_pcvar_num(cvar_ct_starthe) > 1)
  873. {
  874. cs_set_user_bpammo(id, CSW_HEGRENADE, get_pcvar_num(cvar_ct_starthe))
  875. }
  876. }
  877.  
  878. if(get_pcvar_num(cvar_ct_startflash) > 0)
  879. {
  880. give_item(id, "weapon_flashbang")
  881. if(get_pcvar_num(cvar_ct_startflash) > 1)
  882. {
  883. cs_set_user_bpammo(id, CSW_FLASHBANG, get_pcvar_num(cvar_ct_startflash))
  884. }
  885. }
  886.  
  887. if(get_pcvar_num(cvar_ct_startsmoke) > 0)
  888. {
  889. give_item(id, "weapon_smokegrenade")
  890. if(get_pcvar_num(cvar_ct_startsmoke) > 1)
  891. {
  892. cs_set_user_bpammo(id, CSW_SMOKEGRENADE, get_pcvar_num(cvar_ct_startsmoke))
  893. }
  894. }
  895.  
  896. set_user_gravity(id, get_pcvar_float(cvar_ct_grav))
  897. set_user_footsteps(id, get_pcvar_num(cvar_ct_fs))
  898. ExecuteHamB(Ham_Player_ResetMaxSpeed, id)
  899. func_OpenGunMenu(id)
  900. }
  901.  
  902. // ===============================================================================
  903. // func_TEquip - Giving Equipment for Ts
  904. // ===============================================================================
  905.  
  906. public func_TEquip(id)
  907. {
  908. if(get_pcvar_num(cvar_t_starthe) > 0)
  909. {
  910. give_item(id, "weapon_hegrenade")
  911. if(get_pcvar_num(cvar_t_starthe) > 1)
  912. {
  913. cs_set_user_bpammo(id, CSW_HEGRENADE, get_pcvar_num(cvar_t_starthe))
  914. }
  915. }
  916.  
  917. if(get_pcvar_num(cvar_t_startflash) > 0)
  918. {
  919. give_item(id, "weapon_flashbang")
  920. if(get_pcvar_num(cvar_t_startflash) > 1)
  921. {
  922. cs_set_user_bpammo(id, CSW_FLASHBANG, get_pcvar_num(cvar_t_startflash))
  923. }
  924. }
  925.  
  926. if(get_pcvar_num(cvar_t_startsmoke) > 0)
  927. {
  928. give_item(id, "weapon_smokegrenade")
  929. if(get_pcvar_num(cvar_t_startsmoke) > 1)
  930. {
  931. cs_set_user_bpammo(id, CSW_SMOKEGRENADE, get_pcvar_num(cvar_t_startsmoke))
  932. }
  933. }
  934.  
  935. if(g_bWantsLowGrav[id])
  936. set_user_gravity(id, get_pcvar_float(cvar_t_grav))
  937.  
  938. set_user_footsteps(id, get_pcvar_num(cvar_t_fs))
  939. set_user_maxspeed(id, get_pcvar_float(cvar_t_speed))
  940. }
  941.  
  942. // ===============================================================================
  943. // func_AskForPermission - Asking player to set cl_ values.
  944. // ===============================================================================
  945.  
  946. public func_AskForPermission(id)
  947. {
  948. new szMenuTitle[128]
  949. formatex(szMenuTitle, charsmax(szMenuTitle), "\wSzukseges a modhoz az elore es hatra sebesseged megvaltoztatasa engedelyezed?")
  950. new menu = menu_create(szMenuTitle, "func_AskForPermission_handler")
  951.  
  952. menu_additem(menu, "\wIgen","1",0);
  953. menu_additem(menu, "\rNem (Lassabban futsz mint a tobbiek)","2",0);
  954.  
  955. menu_display(id, menu, 0);
  956. return PLUGIN_HANDLED
  957. }
  958.  
  959. public func_AskForPermission_handler(id, menu, item)
  960. {
  961. new data[6], szName[64];
  962. new access, callback;
  963. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  964. new key = str_to_num(data);
  965.  
  966. switch(key)
  967. {
  968. case 1:
  969. {
  970. g_bHasAcceptedSettings[id] = true
  971.  
  972. client_cmd(id, "cl_forwardspeed %i",get_pcvar_num(cvar_t_speed))
  973. client_cmd(id, "cl_sidespeed %i",get_pcvar_num(cvar_t_speed))
  974. client_cmd(id, "cl_backspeed %i",get_pcvar_num(cvar_t_speed))
  975.  
  976. if(is_user_alive(id))
  977. func_ApplyGameplay(id)
  978. }
  979. case 2:
  980. {
  981. g_bHasAcceptedSettings[id] = false
  982. }
  983. }
  984. }
  985.  
  986. // ===============================================================================
  987. // Stocks
  988. // ===============================================================================
  989.  
  990. stock Reduce(id, amount)
  991. cs_set_user_money(id, cs_get_user_money(id) - amount)
  992.  

_________________
>Ha segítettem ne felejtsd megköszönni :)<


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 1 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 154 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole