hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2025.07.10. 11:19



Jelenlévő felhasználók

Jelenleg 321 felhasználó van jelen :: 2 regisztrált, 0 rejtett és 319 vendég

A legtöbb felhasználó (2761 fő) 2025.01.09. 20:06-kor tartózkodott itt.

Regisztrált felhasználók: Bing [Bot], Google [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: Furien shop!
HozzászólásElküldve:2014.08.24. 09:45 
Offline
Fanatikus
Avatar

Csatlakozott:2014.04.18. 21:10
Hozzászólások:186
Megköszönt másnak: 27 alkalommal
Megköszönték neki: 1 alkalommal
Valaki megtudna csinálni, hogy legyen bent a Terroroknak wallhang és a dolgokat pontokal keljen venni?(A pontszámot betudom énis állitani csak átirni nemtudom!)



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


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 26 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