hlmod.hu
https://hlmod.hu/

Extra item miért van ez?
https://hlmod.hu/viewtopic.php?f=9&t=8930
Oldal: 1 / 2

Szerző:  ltscavo [ 2013.06.12. 22:32 ]
Hozzászólás témája:  Extra item miért van ez?

Az miért van hogy utolsónak rakom be és fölötte ott a többi extra .amxx-e és mégis 1. helyre rakja be?..

Szerző:  ChaspeR [ 2013.06.12. 22:49 ]
Hozzászólás témája:  Re: Extra item miért van ez?

Mit?! Pontosabban kérlek!

Szerző:  ltscavo [ 2013.06.12. 23:10 ]
Hozzászólás témája:  Re: Extra item miért van ez?

eddig nem csinálta ezt.. most némelyiket ha utolsónak rakom be extra cuccok közé

tehát van fölötte. pl

jetpack.amxx
raketa.amxx
valami.amxx
és akkor ide berakom pl hogy gun.amxx

nos és a gun.amxx kerül játékban első helyre.. a többi pedig követi a normális sorrendet..

Szerző:  ChaspeR [ 2013.06.13. 09:32 ]
Hozzászólás témája:  Re: Extra item miért van ez?

Mindig úgy tölti be , Amilyen sorrendbe van ini-be , Zombinál ne a plugins.ini-be írd! :) Tuti jólesz csak elnézhettél valamit , de az extraitem.ini - be is átírható minden...

Szerző:  Nandee [ 2013.06.13. 15:34 ]
Hozzászólás témája:  Re: Extra item miért van ez?

Valószínűleg azért rakja első helyre mert az extra item a preceche-ban van regisztrálva, írd át initbe azt a részt és jó lesz

Szerző:  ltscavo [ 2013.06.13. 16:44 ]
Hozzászólás témája:  Re: Extra item miért van ez?

Nandee írta:
Valószínűleg azért rakja első helyre mert az extra item a preceche-ban van regisztrálva, írd át initbe azt a részt és jó lesz



precheche? azaz? az smaba az van beírva hogy 1. helyre rakja? azt írjam át vagymi? nem értem :(

ja és amúgy ha a .inibe átírom vagy átrakom az semmit se fog változtatni.. ott utolsó helyen mutatja mégis 1. tehát

Szerző:  Nandee [ 2013.06.13. 16:54 ]
Hozzászólás témája:  Re: Extra item miért van ez?

ltscavo írta:
Nandee írta:
Valószínűleg azért rakja első helyre mert az extra item a preceche-ban van regisztrálva, írd át initbe azt a részt és jó lesz



precheche? azaz? az smaba az van beírva hogy 1. helyre rakja? azt írjam át vagymi? nem értem :(

ja és amúgy ha a .inibe átírom vagy átrakom az semmit se fog változtatni.. ott utolsó helyen mutatja mégis 1. tehát

Add meg a problémás sma-t megmutatom mire gondolok

Szerző:  ltscavo [ 2013.06.13. 17:08 ]
Hozzászólás témája:  Re: Extra item miért van ez?

register_forward(FM_PrecacheEvent, "fw_PrecacheEvent_Post", 1)

ez volna az igaz? mire kellene átírnom?

Szerző:  ultraibolya [ 2013.06.13. 17:42 ]
Hozzászólás témája:  Re: Extra item miért van ez?

nem,nem ez az.
Az extra item-nek kellne az sma-ja

Szerző:  ltscavo [ 2013.06.13. 17:53 ]
Hozzászólás témája:  Re: Extra item miért van ez?

ez az smajabaol valo, de akkor tessek az egeszet küldöm.

SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <engine>
  3. #include <fakemeta>
  4. #include <fun>
  5. #include <hamsandwich>
  6. #include <xs>
  7. #include <cstrike>
  8. #include <zombieplague>
  9.  
  10. #define ENG_NULLENT -1
  11. #define EV_INT_WEAPONKEY EV_INT_impulse
  12. #define apache_WEAPONKEY 46573
  13. #define MAX_PLAYERS 32
  14. const USE_STOPPED = 0
  15. const OFFSET_ACTIVE_ITEM = 373
  16. const OFFSET_WEAPONOWNER = 41
  17. const OFFSET_LINUX = 5
  18. const OFFSET_LINUX_WEAPONS = 4
  19. #define WEAP_LINUX_XTRA_OFF 4
  20. #define m_fKnown 44
  21. #define m_flNextPrimaryAttack 46
  22. #define m_flTimeWeaponIdle 48
  23. #define m_iClip 51
  24. #define m_fInReload 54
  25. #define PLAYER_LINUX_XTRA_OFF 5
  26. #define m_flNextAttack 83
  27. #define apache_RELOAD_TIME 3.7
  28. const PRIMARY_WEAPONS_BIT_SUM =
  29. (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<
  30. CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
  31. new const WEAPONENTNAMES[][] = { "", "weapon_p228", "", "weapon_scout", "weapon_hegrenade", "weapon_xm1014", "weapon_c4", "weapon_mac10",
  32. "weapon_aug", "weapon_smokegrenade", "weapon_elite", "weapon_fiveseven", "weapon_ump45", "weapon_sg550",
  33. "weapon_ump45", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249",
  34. "weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_g3sg1", "weapon_flashbang", "weapon_deagle", "weapon_sg552",
  35. "weapon_ak47", "weapon_knife", "weapon_p90" }
  36.  
  37. new const Sound_Fire[][] = { "weapons/apache-1.wav" }
  38. new const GUNSHOT_DECALS[] = { 41, 42, 43, 44, 45 }
  39. new apache_V_MODEL[64] = "models/v_apache.mdl"
  40. new apache_P_MODEL[64] = "models/p_apache.mdl"
  41. new apache_W_MODEL[64] = "models/w_apache.mdl"
  42. new cvar_dmg_apache, cvar_recoil_apache, g_itemid_apache, cvar_clip_apache, cvar_spd_apache, cvar_apache_ammo
  43. new g_has_apache[33], g_MaxPlayers, Float:cl_pushangle[MAX_PLAYERS + 1][3], m_iBlood[2],
  44. g_orig_event_apache, g_IsInPrimaryAttack, g_clip_ammo[33], g_apache_TmpClip[33]
  45.  
  46. public plugin_init()
  47. {
  48. register_plugin("[ZP] Extra: Apache", "1.0", "TeRKe")
  49. register_message(get_user_msgid("DeathMsg"), "message_DeathMsg")
  50. register_event("CurWeapon","CurrentWeapon","be","1=1")
  51. RegisterHam(Ham_Item_AddToPlayer, "weapon_ump45", "fw_Aug_AddToPlayer")
  52. RegisterHam(Ham_Use, "func_tank", "fw_UseStationary_Post", 1)
  53. RegisterHam(Ham_Use, "func_tankmortar", "fw_UseStationary_Post", 1)
  54. RegisterHam(Ham_Use, "func_tankrocket", "fw_UseStationary_Post", 1)
  55. RegisterHam(Ham_Use, "func_tanklaser", "fw_UseStationary_Post", 1)
  56. for (new i = 1; i < sizeof WEAPONENTNAMES; i++)
  57. if (WEAPONENTNAMES[i][0]) RegisterHam(Ham_Item_Deploy, WEAPONENTNAMES[i], "fw_Item_Deploy_Post", 1)
  58. RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_ump45", "fw_Aug_PrimaryAttack")
  59. RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_ump45", "fw_Aug_PrimaryAttack_Post", 1)
  60. RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
  61. RegisterHam(Ham_Item_PostFrame, "weapon_ump45", "apache__ItemPostFrame");
  62. RegisterHam(Ham_Weapon_Reload, "weapon_ump45", "apache__Reload");
  63. RegisterHam(Ham_Weapon_Reload, "weapon_ump45", "apache__Reload_Post", 1);
  64. register_forward(FM_SetModel, "fw_SetModel")
  65. register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1)
  66. register_forward(FM_PlaybackEvent, "fwPlaybackEvent")
  67. register_forward(FM_CmdStart, "fw_CmdStart")
  68.  
  69. cvar_dmg_apache = register_cvar("zp_apache_dmg", "1.13")
  70. cvar_recoil_apache = register_cvar("zp_apache_recoil", "0.6")
  71. cvar_clip_apache = register_cvar("zp_apache_clip", "30")
  72. cvar_spd_apache = register_cvar("zp_apache_spd", "0.4")
  73. cvar_apache_ammo = register_cvar("zp_apache_ammo", "240")
  74.  
  75. g_itemid_apache = zp_register_extra_item("Ŕâňîěŕň \yApache", 5, ZP_TEAM_HUMAN)
  76. g_MaxPlayers = get_maxplayers()
  77. }
  78.  
  79. public plugin_precache()
  80. {
  81. precache_model(apache_V_MODEL)
  82. precache_model(apache_P_MODEL)
  83. precache_model(apache_W_MODEL)
  84. for(new i = 0; i < sizeof Sound_Fire; i++)
  85. precache_sound(Sound_Fire[i])
  86. precache_sound("weapons/apache_draw.wav")
  87. precache_sound("weapons/apache_clipin.wav")
  88. precache_sound("weapons/apache_clipout.wav")
  89. precache_sound("weapons/apache_clipon.wav")
  90. m_iBlood[0] = precache_model("sprites/blood.spr")
  91. m_iBlood[1] = precache_model("sprites/bloodspray.spr")
  92.  
  93. register_forward(FM_PrecacheEvent, "fwPrecacheEvent_Post", 1)
  94. }
  95.  
  96. public zp_user_humanized_post(id)
  97. {
  98. g_has_apache[id] = false
  99. }
  100.  
  101. public fwPrecacheEvent_Post(type, const name[])
  102. {
  103. if (equal("events/ump45.sc", name))
  104. {
  105. g_orig_event_apache = get_orig_retval()
  106. return FMRES_HANDLED
  107. }
  108.  
  109. return FMRES_IGNORED
  110. }
  111.  
  112. public client_connect(id)
  113. {
  114. g_has_apache[id] = false
  115. }
  116.  
  117. public client_disconnect(id)
  118. {
  119. g_has_apache[id] = false
  120. }
  121.  
  122. public zp_user_infected_post(id)
  123. {
  124. if (zp_get_user_zombie(id))
  125. {
  126. g_has_apache[id] = false
  127. }
  128. }
  129.  
  130. public fw_SetModel(entity, model[])
  131. {
  132. if(!is_valid_ent(entity))
  133. return FMRES_IGNORED;
  134.  
  135. static szClassName[33]
  136. entity_get_string(entity, EV_SZ_classname, szClassName, charsmax(szClassName))
  137.  
  138. if(!equal(szClassName, "weaponbox"))
  139. return FMRES_IGNORED;
  140.  
  141. static iOwner
  142.  
  143. iOwner = entity_get_edict(entity, EV_ENT_owner)
  144.  
  145. if(equal(model, "models/w_ump45.mdl"))
  146. {
  147. static iStoredAugID
  148.  
  149. iStoredAugID = find_ent_by_owner(ENG_NULLENT, "weapon_ump45", entity)
  150.  
  151. if(!is_valid_ent(iStoredAugID))
  152. return FMRES_IGNORED;
  153.  
  154. if(g_has_apache[iOwner])
  155. {
  156. entity_set_int(iStoredAugID, EV_INT_WEAPONKEY, apache_WEAPONKEY)
  157.  
  158. g_has_apache[iOwner] = false
  159.  
  160. entity_set_model(entity, apache_W_MODEL)
  161.  
  162. return FMRES_SUPERCEDE;
  163. }
  164. }
  165.  
  166. return FMRES_IGNORED;
  167. }
  168.  
  169. public zp_extra_item_selected(id, itemid)
  170. {
  171. if(itemid == g_itemid_apache)
  172. {
  173. drop_weapons(id, 1);
  174. new iWep2 = give_item(id,"weapon_ump45")
  175. if( iWep2 > 0 )
  176. {
  177. cs_set_weapon_ammo( iWep2, get_pcvar_num(cvar_clip_apache) )
  178. cs_set_user_bpammo (id, CSW_UMP45, get_pcvar_num(cvar_apache_ammo))
  179. UTIL_PlayWeaponAnimation(id, 2)
  180. }
  181. g_has_apache[id] = true;
  182. }
  183. }
  184.  
  185. public fw_Aug_AddToPlayer(Aug, id)
  186. {
  187. if(!is_valid_ent(Aug) || !is_user_connected(id))
  188. return HAM_IGNORED;
  189.  
  190. if(entity_get_int(Aug, EV_INT_WEAPONKEY) == apache_WEAPONKEY)
  191. {
  192. g_has_apache[id] = true
  193.  
  194. entity_set_int(Aug, EV_INT_WEAPONKEY, 0)
  195.  
  196. return HAM_HANDLED;
  197. }
  198.  
  199. return HAM_IGNORED;
  200. }
  201.  
  202. public fw_UseStationary_Post(entity, caller, activator, use_type)
  203. {
  204. if (use_type == USE_STOPPED && is_user_connected(caller))
  205. replace_weapon_models(caller, get_user_weapon(caller))
  206. }
  207.  
  208. public fw_Item_Deploy_Post(weapon_ent)
  209. {
  210. static owner
  211. owner = fm_cs_get_weapon_ent_owner(weapon_ent)
  212.  
  213. static weaponid
  214. weaponid = cs_get_weapon_id(weapon_ent)
  215.  
  216. replace_weapon_models(owner, weaponid)
  217. }
  218.  
  219. public CurrentWeapon(id)
  220. {
  221. replace_weapon_models(id, read_data(2))
  222.  
  223. if(read_data(2) != CSW_UMP45 || !g_has_apache[id])
  224. return
  225.  
  226. static Float:iSpeed
  227. if(g_has_apache[id])
  228. iSpeed = get_pcvar_float(cvar_spd_apache)
  229.  
  230. static weapon[32],Ent
  231. get_weaponname(read_data(2),weapon,31)
  232. Ent = find_ent_by_owner(-1,weapon,id)
  233. if(Ent)
  234. {
  235. static Float:Delay
  236. Delay = get_pdata_float( Ent, 46, 4) * iSpeed
  237. if (Delay > 0.0)
  238. {
  239. set_pdata_float(Ent, 46, Delay, 4)
  240. }
  241. }
  242. }
  243.  
  244. replace_weapon_models(id, weaponid)
  245. {
  246. switch (weaponid)
  247. {
  248. case CSW_UMP45:
  249. {
  250. if (zp_get_user_zombie(id) || zp_get_user_survivor(id))
  251. return;
  252.  
  253. if(g_has_apache[id])
  254. {
  255. set_pev(id, pev_viewmodel2, apache_V_MODEL)
  256. set_pev(id, pev_weaponmodel2, apache_P_MODEL)
  257. }
  258. }
  259. }
  260. }
  261.  
  262. public fw_UpdateClientData_Post(Player, SendWeapons, CD_Handle)
  263. {
  264. if(!is_user_alive(Player) || (get_user_weapon(Player) != CSW_UMP45 || !g_has_apache[Player]))
  265.  
  266. return FMRES_IGNORED
  267.  
  268. set_cd(CD_Handle, CD_flNextAttack, halflife_time () + 0.001)
  269. return FMRES_HANDLED
  270. }
  271.  
  272. public fw_Aug_PrimaryAttack(Weapon)
  273. {
  274. new Player = get_pdata_cbase(Weapon, 41, 4)
  275.  
  276. if (!g_has_apache[Player])
  277. return;
  278.  
  279. g_IsInPrimaryAttack = 1
  280. pev(Player,pev_punchangle,cl_pushangle[Player])
  281.  
  282. g_clip_ammo[Player] = cs_get_weapon_ammo(Weapon)
  283. }
  284.  
  285. public fwPlaybackEvent(flags, invoker, eventid, Float:delay, Float:origin[3], Float:angles[3], Float:fparam1, Float:fparam2, iParam1, iParam2, bParam1, bParam2)
  286. {
  287. if ((eventid != g_orig_event_apache) || !g_IsInPrimaryAttack)
  288. return FMRES_IGNORED
  289. if (!(1 <= invoker <= g_MaxPlayers))
  290. return FMRES_IGNORED
  291.  
  292. playback_event(flags | FEV_HOSTONLY, invoker, eventid, delay, origin, angles, fparam1, fparam2, iParam1, iParam2, bParam1, bParam2)
  293. return FMRES_SUPERCEDE
  294. }
  295.  
  296. public fw_Aug_PrimaryAttack_Post(Weapon)
  297. {
  298. g_IsInPrimaryAttack = 0
  299. new Player = get_pdata_cbase(Weapon, 41, 4)
  300.  
  301. if(g_has_apache[Player])
  302. {
  303. new Float:push[3]
  304. pev(Player,pev_punchangle,push)
  305. xs_vec_sub(push,cl_pushangle[Player],push)
  306.  
  307. xs_vec_mul_scalar(push,get_pcvar_float(cvar_recoil_apache),push)
  308. xs_vec_add(push,cl_pushangle[Player],push)
  309. set_pev(Player,pev_punchangle,push)
  310.  
  311. if (!g_clip_ammo[Player])
  312. return
  313.  
  314. emit_sound(Player, CHAN_WEAPON, Sound_Fire[0], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
  315. UTIL_PlayWeaponAnimation(Player, random_num(3, 4))
  316.  
  317. make_blood_and_bulletholes(Player)
  318. }
  319. }
  320.  
  321. public fw_TakeDamage(victim, inflictor, attacker, Float:damage)
  322. {
  323. if (victim != attacker && is_user_connected(attacker))
  324. {
  325. if(get_user_weapon(attacker) == CSW_UMP45)
  326. {
  327. if(g_has_apache[attacker])
  328. SetHamParamFloat(4, damage * get_pcvar_float(cvar_dmg_apache))
  329. }
  330. }
  331. }
  332.  
  333. public message_DeathMsg(msg_id, msg_dest, id)
  334. {
  335. static szTruncatedWeapon[33], iAttacker, iVictim
  336.  
  337. get_msg_arg_string(4, szTruncatedWeapon, charsmax(szTruncatedWeapon))
  338.  
  339. iAttacker = get_msg_arg_int(1)
  340. iVictim = get_msg_arg_int(2)
  341.  
  342. if(!is_user_connected(iAttacker) || iAttacker == iVictim)
  343. return PLUGIN_CONTINUE
  344.  
  345. if(equal(szTruncatedWeapon, "ump45") && get_user_weapon(iAttacker) == CSW_UMP45)
  346. {
  347. if(g_has_apache[iAttacker])
  348. set_msg_arg_string(4, "apache")
  349. }
  350.  
  351. return PLUGIN_CONTINUE
  352. }
  353.  
  354. stock fm_cs_get_current_weapon_ent(id)
  355. {
  356. return get_pdata_cbase(id, OFFSET_ACTIVE_ITEM, OFFSET_LINUX);
  357. }
  358.  
  359. stock fm_cs_get_weapon_ent_owner(ent)
  360. {
  361. return get_pdata_cbase(ent, OFFSET_WEAPONOWNER, OFFSET_LINUX_WEAPONS);
  362. }
  363.  
  364. stock UTIL_PlayWeaponAnimation(const Player, const Sequence)
  365. {
  366. set_pev(Player, pev_weaponanim, Sequence)
  367.  
  368. message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, .player = Player)
  369. write_byte(Sequence)
  370. write_byte(pev(Player, pev_body))
  371. message_end()
  372. }
  373.  
  374. stock make_blood_and_bulletholes(id)
  375. {
  376. new aimOrigin[3], target, body
  377. get_user_origin(id, aimOrigin, 3)
  378. get_user_aiming(id, target, body)
  379.  
  380. if(target > 0 && target <= g_MaxPlayers && zp_get_user_zombie(target))
  381. {
  382. new Float:fStart[3], Float:fEnd[3], Float:fRes[3], Float:fVel[3]
  383. pev(id, pev_origin, fStart)
  384.  
  385. velocity_by_aim(id, 64, fVel)
  386.  
  387. fStart[0] = float(aimOrigin[0])
  388. fStart[1] = float(aimOrigin[1])
  389. fStart[2] = float(aimOrigin[2])
  390. fEnd[0] = fStart[0]+fVel[0]
  391. fEnd[1] = fStart[1]+fVel[1]
  392. fEnd[2] = fStart[2]+fVel[2]
  393.  
  394. new res
  395. engfunc(EngFunc_TraceLine, fStart, fEnd, 0, target, res)
  396. get_tr2(res, TR_vecEndPos, fRes)
  397.  
  398. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  399. write_byte(TE_BLOODSPRITE)
  400. write_coord(floatround(fStart[0]))
  401. write_coord(floatround(fStart[1]))
  402. write_coord(floatround(fStart[2]))
  403. write_short( m_iBlood [ 1 ])
  404. write_short( m_iBlood [ 0 ] )
  405. write_byte(70)
  406. write_byte(random_num(1,2))
  407. message_end()
  408.  
  409.  
  410. }
  411. else if(!is_user_connected(target))
  412. {
  413. if(target)
  414. {
  415. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  416. write_byte(TE_DECAL)
  417. write_coord(aimOrigin[0])
  418. write_coord(aimOrigin[1])
  419. write_coord(aimOrigin[2])
  420. write_byte(GUNSHOT_DECALS[random_num ( 0, sizeof GUNSHOT_DECALS -1 ) ] )
  421. write_short(target)
  422. message_end()
  423. }
  424. else
  425. {
  426. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  427. write_byte(TE_WORLDDECAL)
  428. write_coord(aimOrigin[0])
  429. write_coord(aimOrigin[1])
  430. write_coord(aimOrigin[2])
  431. write_byte(GUNSHOT_DECALS[random_num ( 0, sizeof GUNSHOT_DECALS -1 ) ] )
  432. message_end()
  433. }
  434.  
  435. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  436. write_byte(TE_GUNSHOTDECAL)
  437. write_coord(aimOrigin[0])
  438. write_coord(aimOrigin[1])
  439. write_coord(aimOrigin[2])
  440. write_short(id)
  441. write_byte(GUNSHOT_DECALS[random_num ( 0, sizeof GUNSHOT_DECALS -1 ) ] )
  442. message_end()
  443. }
  444. }
  445.  
  446. public apache__ItemPostFrame(weapon_entity)
  447. {
  448. new id = pev(weapon_entity, pev_owner)
  449. if (!is_user_connected(id))
  450. return HAM_IGNORED;
  451.  
  452. if (!g_has_apache[id])
  453. return HAM_IGNORED;
  454.  
  455. static iClipExtra
  456.  
  457. if(g_has_apache[id])
  458. iClipExtra = get_pcvar_num(cvar_clip_apache)
  459.  
  460. new Float:flNextAttack = get_pdata_float(id, m_flNextAttack, PLAYER_LINUX_XTRA_OFF)
  461.  
  462. new iBpAmmo = cs_get_user_bpammo(id, CSW_UMP45);
  463. new iClip = get_pdata_int(weapon_entity, m_iClip, WEAP_LINUX_XTRA_OFF)
  464.  
  465. new fInReload = get_pdata_int(weapon_entity, m_fInReload, WEAP_LINUX_XTRA_OFF)
  466.  
  467. if( fInReload && flNextAttack <= 0.0 )
  468. {
  469. new j = min(iClipExtra - iClip, iBpAmmo)
  470.  
  471. set_pdata_int(weapon_entity, m_iClip, iClip + j, WEAP_LINUX_XTRA_OFF)
  472. cs_set_user_bpammo(id, CSW_UMP45, iBpAmmo-j);
  473.  
  474. set_pdata_int(weapon_entity, m_fInReload, 0, WEAP_LINUX_XTRA_OFF)
  475. fInReload = 0
  476. }
  477.  
  478. return HAM_IGNORED;
  479. }
  480.  
  481. public apache__Reload(weapon_entity)
  482. {
  483. new id = pev(weapon_entity, pev_owner)
  484. if (!is_user_connected(id))
  485. return HAM_IGNORED;
  486.  
  487. if (!g_has_apache[id])
  488. return HAM_IGNORED;
  489.  
  490. static iClipExtra
  491.  
  492. if(g_has_apache[id])
  493. iClipExtra = get_pcvar_num(cvar_clip_apache)
  494.  
  495. g_apache_TmpClip[id] = -1;
  496.  
  497. new iBpAmmo = cs_get_user_bpammo(id, CSW_UMP45);
  498. new iClip = get_pdata_int(weapon_entity, m_iClip, WEAP_LINUX_XTRA_OFF)
  499.  
  500. if (iBpAmmo <= 0)
  501. return HAM_SUPERCEDE;
  502.  
  503. if (iClip >= iClipExtra)
  504. return HAM_SUPERCEDE;
  505.  
  506.  
  507. g_apache_TmpClip[id] = iClip;
  508.  
  509. return HAM_IGNORED;
  510. }
  511.  
  512. public apache__Reload_Post(weapon_entity)
  513. {
  514. new id = pev(weapon_entity, pev_owner)
  515. if (!is_user_connected(id))
  516. return HAM_IGNORED;
  517.  
  518. if (!g_has_apache[id])
  519. return HAM_IGNORED;
  520.  
  521. if (g_apache_TmpClip[id] == -1)
  522. return HAM_IGNORED;
  523.  
  524. static Float:iReloadTime
  525. if(g_has_apache[id])
  526. iReloadTime = apache_RELOAD_TIME
  527.  
  528. set_pdata_int(weapon_entity, m_iClip, g_apache_TmpClip[id], WEAP_LINUX_XTRA_OFF)
  529.  
  530. set_pdata_float(weapon_entity, m_flTimeWeaponIdle, iReloadTime, WEAP_LINUX_XTRA_OFF)
  531.  
  532. set_pdata_float(id, m_flNextAttack, iReloadTime, PLAYER_LINUX_XTRA_OFF)
  533.  
  534. set_pdata_int(weapon_entity, m_fInReload, 1, WEAP_LINUX_XTRA_OFF)
  535.  
  536. UTIL_PlayWeaponAnimation(id, 1)
  537.  
  538. return HAM_IGNORED;
  539.  
  540. }
  541.  
  542. stock drop_weapons(id, dropwhat)
  543. {
  544. static weapons[32], num, i, weaponid
  545. num = 0
  546. get_user_weapons(id, weapons, num)
  547.  
  548. for (i = 0; i < num; i++)
  549. {
  550. weaponid = weapons[i]
  551.  
  552. if (dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM))
  553. {
  554. static wname[32]
  555. get_weaponname(weaponid, wname, sizeof wname - 1)
  556. engclient_cmd(id, "drop", wname)
  557. }
  558. }
  559. }
  560. //// Ыᤨ롧妫᩠misna 嬿 ňˇŞ˛ížąíż°ower-cs.ru
  561. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  562. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
  563. */
  564.  

Oldal: 1 / 2 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/