hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.05.14. 10:38



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: nincs regisztrált felhasználó 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  [ 2 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Gitár fegyver
HozzászólásElküldve: 2014.05.17. 20:44 
Offline
Félisten

Csatlakozott: 2012.06.19. 15:12
Hozzászólások: 926
Megköszönt másnak: 109 alkalommal
Megköszönték neki: 31 alkalommal
Valaki javítaná ezt a plugint
debug log:
L 05/17/2014 - 16:28:37: [AMXX] Displaying debug trace (plugin "zp_extra_guitar.amxx")
L 05/17/2014 - 16:28:37: [AMXX] Run time error 4: index out of bounds
L 05/17/2014 - 16:28:37: [AMXX] [0] zp_vip_extra_guitar.sma::fw_Aug_PrimaryAttack (line 290)
L 05/17/2014 - 16:28:37: [AMXX] Displaying debug trace (plugin "zp_extra_guitar.amxx")
L 05/17/2014 - 16:28:37: [AMXX] Run time error 4: index out of bounds
L 05/17/2014 - 16:28:37: [AMXX] [0] zp_vip_extra_guitar.sma::fw_Aug_PrimaryAttack_Post (line 315)

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

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Gitár fegyver
HozzászólásElküldve: 2014.05.17. 21:01 
Offline
Veterán
Avatar

Csatlakozott: 2011.11.17. 15:48
Hozzászólások: 1904
Megköszönt másnak: 17 alkalommal
Megköszönték neki: 54 alkalommal
Próbálld ki ezt:
http://zombie-mod.ru/counter-strike/zom ... scope.html


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  [ 2 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 4 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