hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.27. 23:37



Jelenlévő felhasználók

Jelenleg 529 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 529 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  [ 1 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Barlog I ZP
HozzászólásElküldve: 2016.02.04. 21:05 
Offline
Senior Tag

Csatlakozott: 2016.01.17. 07:11
Hozzászólások: 296
Megköszönt másnak: 60 alkalommal
Megköszönték neki: 11 alkalommal
Hali!

Azt valaki le írja hogyan oldjam meg hogy ne ZM-modon lehessen használni? Miket kéne le törölnöm?

  1. #include <amxmodx>
  2. #include <engine>
  3. #include <fakemeta_util>
  4. #include <hamsandwich>
  5. #include <xs>
  6. #include <cstrike>
  7. #include <zombieplague>
  8.  
  9. #define ENG_NULLENT         -1
  10. #define EV_INT_WEAPONKEY    EV_INT_impulse
  11. #define b1_WEAPONKEY    621
  12. #define MAX_PLAYERS         32
  13. #define IsValidUser(%1) (1 <= %1 <= g_MaxPlayers)
  14.  
  15. const OFFSET_ACTIVE_ITEM = 373
  16. const OFFSET_WEAPONOWNER = 41
  17. const OFFSET_LINUX = 5
  18. const OFFSET_LINUX_WEAPONS = 4
  19.  
  20. #define WEAP_LINUX_XTRA_OFF     4
  21. #define m_fKnown                    44
  22. #define m_flNextPrimaryAttack       46
  23. #define m_flTimeWeaponIdle          48
  24. #define m_iClip                 51
  25. #define m_fInReload             54
  26. #define PLAYER_LINUX_XTRA_OFF   5
  27. #define m_flNextAttack              83
  28.  
  29. #define b1_SHOOT1           2
  30. #define b1_SHOOT2           3
  31. #define b1_SHOOT_EMPTY          3
  32. #define b1_RELOAD           4
  33. #define b1_DRAW             5
  34. #define b1_RELOAD_TIME 3.0
  35. #define write_coord_f(%1)   engfunc(EngFunc_WriteCoord,%1)
  36.  
  37. new const Fire_Sounds[][] = { "weapons/balrog1-1.wav", "weapons/balrog1-2.wav" }
  38.  
  39. new b1_V_MODEL[64] = "models/v_balrog1.mdl"
  40. new b1_P_MODEL[64] = "models/p_balrog1.mdl"
  41. new b1_W_MODEL[64] = "models/w_balrog1.mdl"
  42.  
  43. new const GUNSHOT_DECALS[] = { 41, 42, 43, 44, 45 }
  44.  
  45. new cvar_dmg_b1, cvar_recoil_b1, g_itemid_b1, cvar_clip_b1, cvar_spd_b1, cvar_b1_ammo, cvar_dmg_exp
  46. new g_MaxPlayers, g_orig_event_b1, g_IsInPrimaryAttack, g_iClip
  47. new Float:cl_pushangle[MAX_PLAYERS + 1][3], m_iBlood[2]
  48. new g_has_b1[33], g_clip_ammo[33], oldweap[33],g_b1_TmpClip[33]
  49. new gmsgWeaponList, gMode[33], sExplo
  50.  
  51. const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)
  52. new const WEAPONENTNAMES[][] = { "", "weapon_p228", "", "weapon_scout", "weapon_hegrenade", "weapon_xm1014", "weapon_c4", "weapon_mac10", "weapon_aug", "weapon_smokegrenade", "weapon_elite", "weapon_fiveseven", "weapon_ump45", "weapon_sg550", "weapon_deagle", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249",
  53. "weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_g3sg1", "weapon_flashbang", "weapon_deagle", "weapon_sg552",
  54. "weapon_ak47", "weapon_knife", "weapon_p90" }
  55.  
  56. public plugin_init()
  57. {
  58.     register_plugin("[ZP] Extra: Balrog-I", "1.0", "Barney")
  59.     register_event("CurWeapon","CurrentWeapon","be","1=1")
  60.     RegisterHam(Ham_Item_AddToPlayer, "weapon_deagle", "fw_b1_AddToPlayer")
  61.     for (new i = 1; i < sizeof WEAPONENTNAMES; i++)
  62.     if (WEAPONENTNAMES[i][0]) RegisterHam(Ham_Item_Deploy, WEAPONENTNAMES[i], "fw_Item_Deploy_Post", 1)
  63.     RegisterHam(Ham_Item_PostFrame, "weapon_deagle", "b1_ItemPostFrame")
  64.     RegisterHam(Ham_Weapon_Reload, "weapon_deagle", "b1_Reload")
  65.     RegisterHam(Ham_Weapon_Reload, "weapon_deagle", "b1_Reload_Post", 1)
  66.     RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_deagle", "fw_b1_PrimaryAttack")
  67.     RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_deagle", "fw_b1_PrimaryAttack_Post", 1)
  68.     RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
  69.     register_forward(FM_SetModel, "fw_SetModel")
  70.     register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1)
  71.     register_forward(FM_PlaybackEvent, "fwPlaybackEvent")
  72.    
  73.     RegisterHam(Ham_TraceAttack, "worldspawn", "fw_TraceAttack", 1)
  74.     RegisterHam(Ham_TraceAttack, "func_breakable", "fw_TraceAttack", 1)
  75.     RegisterHam(Ham_TraceAttack, "func_wall", "fw_TraceAttack", 1)
  76.     RegisterHam(Ham_TraceAttack, "func_door", "fw_TraceAttack", 1)
  77.     RegisterHam(Ham_TraceAttack, "func_door_rotating", "fw_TraceAttack", 1)
  78.     RegisterHam(Ham_TraceAttack, "func_plat", "fw_TraceAttack", 1)
  79.     RegisterHam(Ham_TraceAttack, "func_rotating", "fw_TraceAttack", 1)
  80.  
  81.     cvar_dmg_b1 = register_cvar("zp_b1_dmg", "2.5")
  82.     cvar_dmg_exp = register_cvar("zp_b1_dmg_exp", "300.")
  83.     cvar_recoil_b1 = register_cvar("zp_b1_recoil", "1.0")
  84.     cvar_clip_b1 = register_cvar("zp_b1_clip", "10")
  85.     cvar_spd_b1 = register_cvar("zp_b1_spd", "0.7")
  86.     cvar_b1_ammo = register_cvar("zp_b1_ammo", "100")
  87.  
  88.     g_itemid_b1 = zp_register_extra_item("Balrog-I", 0, ZP_TEAM_HUMAN)
  89.     g_MaxPlayers = get_maxplayers()
  90.     gmsgWeaponList = get_user_msgid("WeaponList")
  91. }
  92.  
  93. public plugin_precache()
  94. {
  95.     precache_model(b1_V_MODEL)
  96.     precache_model(b1_P_MODEL)
  97.     precache_model(b1_W_MODEL)
  98.     for(new i = 0; i < sizeof Fire_Sounds; i++)
  99.     precache_sound(Fire_Sounds[i]) 
  100.     precache_sound("weapons/balrog1_changea.wav")
  101.     precache_sound("weapons/balrog1_changeb.wav")
  102.     precache_sound("weapons/balrog1_draw.wav")
  103.     precache_sound("weapons/balrog1_reload.wav")
  104.     precache_sound("weapons/balrog1_reloadb.wav")
  105.     m_iBlood[0] = precache_model("sprites/blood.spr")
  106.     m_iBlood[1] = precache_model("sprites/bloodspray.spr")
  107.     precache_generic("sprites/weapon_balrog1.txt")
  108.     precache_generic("sprites/640hud83.spr")
  109.         precache_generic("sprites/640hud4.spr")
  110.     sExplo = precache_model("sprites/balrogcritical.spr")
  111.     register_clcmd("weapon_balrog1", "weapon_hook")
  112.  
  113.     register_forward(FM_PrecacheEvent, "fwPrecacheEvent_Post", 1)
  114. }
  115.  
  116. public weapon_hook(id)
  117. {
  118.     engclient_cmd(id, "weapon_deagle")
  119.     return PLUGIN_HANDLED
  120. }
  121.  
  122. public fw_TraceAttack(iEnt, iAttacker, Float:flDamage, Float:fDir[3], ptr, iDamageType)
  123. {
  124.     if(!is_user_alive(iAttacker))
  125.         return
  126.  
  127.     new g_currentweapon = get_user_weapon(iAttacker)
  128.  
  129.     if(g_currentweapon != CSW_DEAGLE) return
  130.    
  131.     if(!g_has_b1[iAttacker]) return
  132.  
  133.     static Float:flEnd[3]
  134.     get_tr2(ptr, TR_vecEndPos, flEnd)
  135.    
  136.     if(iEnt)
  137.     {
  138.         message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  139.         write_byte(TE_DECAL)
  140.         write_coord_f(flEnd[0])
  141.         write_coord_f(flEnd[1])
  142.         write_coord_f(flEnd[2])
  143.         write_byte(GUNSHOT_DECALS[random_num (0, sizeof GUNSHOT_DECALS -1)])
  144.         write_short(iEnt)
  145.         message_end()
  146.     }
  147.     else
  148.     {
  149.         message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  150.         write_byte(TE_WORLDDECAL)
  151.         write_coord_f(flEnd[0])
  152.         write_coord_f(flEnd[1])
  153.         write_coord_f(flEnd[2])
  154.         write_byte(GUNSHOT_DECALS[random_num (0, sizeof GUNSHOT_DECALS -1)])
  155.         message_end()
  156.     }
  157.     message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  158.     write_byte(TE_GUNSHOTDECAL)
  159.     write_coord_f(flEnd[0])
  160.     write_coord_f(flEnd[1])
  161.     write_coord_f(flEnd[2])
  162.     write_short(iAttacker)
  163.     write_byte(GUNSHOT_DECALS[random_num (0, sizeof GUNSHOT_DECALS -1)])
  164.     message_end()
  165. }
  166.  
  167. public zp_user_humanized_post(id)
  168. {
  169.     g_has_b1[id] = false
  170. }
  171.  
  172. public plugin_natives ()
  173. {
  174.     register_native("give_b1", "native_give_weapon_add", 1)
  175. }
  176. public native_give_weapon_add(id)
  177. {
  178.     give_b1(id)
  179. }
  180.  
  181. public fwPrecacheEvent_Post(type, const name[])
  182. {
  183.     if (equal("events/deagle.sc", name))
  184.     {
  185.         g_orig_event_b1 = get_orig_retval()
  186.         return FMRES_HANDLED
  187.     }
  188.     return FMRES_IGNORED
  189. }
  190.  
  191. public client_connect(id)
  192. {
  193.     g_has_b1[id] = false
  194. }
  195.  
  196. public client_disconnect(id)
  197. {
  198.     g_has_b1[id] = false
  199. }
  200.  
  201. public zp_user_infected_post(id)
  202. {
  203.     if (zp_get_user_zombie(id))
  204.     {
  205.         g_has_b1[id] = false
  206.     }
  207. }
  208.  
  209. public fw_SetModel(entity, model[])
  210. {
  211.     if(!is_valid_ent(entity))
  212.         return FMRES_IGNORED
  213.    
  214.     static szClassName[33]
  215.     entity_get_string(entity, EV_SZ_classname, szClassName, charsmax(szClassName))
  216.        
  217.     if(!equal(szClassName, "weaponbox"))
  218.         return FMRES_IGNORED
  219.    
  220.     static iOwner
  221.    
  222.     iOwner = entity_get_edict(entity, EV_ENT_owner)
  223.    
  224.     if(equal(model, "models/w_deagle.mdl"))
  225.     {
  226.         static iStoredAugID
  227.        
  228.         iStoredAugID = find_ent_by_owner(ENG_NULLENT, "weapon_deagle", entity)
  229.    
  230.         if(!is_valid_ent(iStoredAugID))
  231.             return FMRES_IGNORED
  232.    
  233.         if(g_has_b1[iOwner])
  234.         {
  235.             entity_set_int(iStoredAugID, EV_INT_WEAPONKEY, b1_WEAPONKEY)
  236.            
  237.             g_has_b1[iOwner] = false
  238.            
  239.             entity_set_model(entity, b1_W_MODEL)
  240.            
  241.             return FMRES_SUPERCEDE
  242.         }
  243.     }
  244.     return FMRES_IGNORED
  245. }
  246.  
  247. public give_b1(id)
  248. {
  249.     drop_weapons(id, 2)
  250.     new iWep2 = fm_give_item(id,"weapon_deagle")
  251.     if( iWep2 > 0 )
  252.     {
  253.         cs_set_weapon_ammo(iWep2, get_pcvar_num(cvar_clip_b1))
  254.         cs_set_user_bpammo (id, CSW_DEAGLE, get_pcvar_num(cvar_b1_ammo))   
  255.         UTIL_PlayWeaponAnimation(id, b1_DRAW)
  256.         set_pdata_float(id, m_flNextAttack, 1.0, PLAYER_LINUX_XTRA_OFF)
  257.  
  258.         message_begin(MSG_ONE, gmsgWeaponList, _, id)
  259.         write_string("weapon_balrog1")
  260.         write_byte(8)
  261.         write_byte(35)
  262.         write_byte(-1)
  263.         write_byte(-1)
  264.         write_byte(1)
  265.         write_byte(1)
  266.         write_byte(CSW_DEAGLE)
  267.         message_end()
  268.     }
  269.     g_has_b1[id] = true
  270. }
  271.  
  272. public zp_extra_item_selected(id, itemid)
  273. {
  274.     if(itemid != g_itemid_b1)
  275.         return
  276.  
  277.     give_b1(id)
  278. }
  279.  
  280. public fw_b1_AddToPlayer(b1, id)
  281. {
  282.     if(!is_valid_ent(b1) || !is_user_connected(id))
  283.         return HAM_IGNORED
  284.    
  285.     if(entity_get_int(b1, EV_INT_WEAPONKEY) == b1_WEAPONKEY)
  286.     {
  287.         g_has_b1[id] = true
  288.        
  289.         entity_set_int(b1, EV_INT_WEAPONKEY, 0)
  290.  
  291.         message_begin(MSG_ONE, gmsgWeaponList, {0,0,0}, id)
  292.         write_string("weapon_balrog1")
  293.         write_byte(8)
  294.         write_byte(35)
  295.         write_byte(-1)
  296.         write_byte(-1)
  297.         write_byte(1)  
  298.         write_byte(1)
  299.         write_byte(CSW_DEAGLE)
  300.         message_end()
  301.        
  302.         return HAM_HANDLED
  303.     }
  304.     else
  305.     {
  306.         message_begin(MSG_ONE, gmsgWeaponList, {0,0,0}, id)
  307.         write_string("weapon_deagle")
  308.         write_byte(8)
  309.         write_byte(35)
  310.         write_byte(-1)
  311.         write_byte(-1)
  312.         write_byte(1)
  313.         write_byte(1)
  314.         write_byte(CSW_DEAGLE)
  315.         message_end()
  316.     }
  317.     return HAM_IGNORED
  318. }
  319.  
  320. public fw_Item_Deploy_Post(weapon_ent)
  321. {
  322.     static owner
  323.     owner = fm_cs_get_weapon_ent_owner(weapon_ent)
  324.    
  325.     static weaponid
  326.     weaponid = cs_get_weapon_id(weapon_ent)
  327.     replace_weapon_models(owner, weaponid)
  328. }
  329.  
  330. public CurrentWeapon(id)
  331. {
  332.      replace_weapon_models(id, read_data(2))
  333.  
  334.      if(read_data(2) != CSW_DEAGLE || !g_has_b1[id])
  335.           return
  336.      
  337.      static Float:iSpeed
  338.      if(g_has_b1[id])
  339.           iSpeed = get_pcvar_float(cvar_spd_b1)
  340.      
  341.      static weapon[32],Ent
  342.      get_weaponname(read_data(2),weapon,31)
  343.      Ent = find_ent_by_owner(-1,weapon,id)
  344.      if(Ent)
  345.      {
  346.           static Float:Delay
  347.           Delay = get_pdata_float( Ent, 46, 4) * iSpeed
  348.           if (Delay > 0.0)
  349.           {
  350.                set_pdata_float(Ent, 46, Delay, 4)
  351.           }
  352.      }
  353. }
  354.  
  355. replace_weapon_models(id, weaponid)
  356. {
  357.     switch (weaponid)
  358.     {
  359.         case CSW_DEAGLE:
  360.         {
  361.             if (zp_get_user_zombie(id) || zp_get_user_survivor(id))
  362.                 return
  363.            
  364.             if(g_has_b1[id])
  365.             {
  366.                 set_pev(id, pev_viewmodel2, b1_V_MODEL)
  367.                 set_pev(id, pev_weaponmodel2, b1_P_MODEL)
  368.                 if(oldweap[id] != CSW_DEAGLE)
  369.                 {
  370.                     UTIL_PlayWeaponAnimation(id, b1_DRAW)
  371.                     set_pdata_float(id, m_flNextAttack, 1.0, PLAYER_LINUX_XTRA_OFF)
  372.                     gMode[id] = 0
  373.                     message_begin(MSG_ONE, gmsgWeaponList, _, id)
  374.                     write_string("weapon_balrog1")
  375.                     write_byte(8)
  376.                     write_byte(35)
  377.                     write_byte(-1)
  378.                     write_byte(-1)
  379.                     write_byte(1)
  380.                     write_byte(1)
  381.                     write_byte(CSW_DEAGLE)
  382.                     message_end()
  383.                 }
  384.             }
  385.         }
  386.     }
  387.     oldweap[id] = weaponid
  388. }
  389.  
  390. public fw_UpdateClientData_Post(Player, SendWeapons, CD_Handle)
  391. {
  392.     if(!is_user_alive(Player) || (get_user_weapon(Player) != CSW_DEAGLE || !g_has_b1[Player]))
  393.         return FMRES_IGNORED
  394.    
  395.     set_cd(CD_Handle, CD_flNextAttack, halflife_time () + 0.001)
  396.     return FMRES_HANDLED
  397. }
  398.  
  399. public fw_b1_PrimaryAttack(Weapon)
  400. {
  401.     new Player = get_pdata_cbase(Weapon, 41, 4)
  402.    
  403.     if (!g_has_b1[Player])
  404.         return
  405.    
  406.     g_IsInPrimaryAttack = 1
  407.     pev(Player,pev_punchangle,cl_pushangle[Player])
  408.    
  409.     g_clip_ammo[Player] = cs_get_weapon_ammo(Weapon)
  410.     g_iClip = cs_get_weapon_ammo(Weapon)
  411. }
  412.  
  413. public explode(id)
  414. {
  415.     if(is_user_alive(id))
  416.     {
  417.             new Float:originF[3]
  418.             fm_get_aim_origin(id,originF)
  419.             message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  420.             write_byte(TE_EXPLOSION)
  421.             engfunc(EngFunc_WriteCoord, originF[0])
  422.             engfunc(EngFunc_WriteCoord, originF[1])
  423.             engfunc(EngFunc_WriteCoord, originF[2])
  424.             write_short(sExplo)
  425.             write_byte(20)
  426.             write_byte(50)
  427.             write_byte(0)
  428.             message_end()
  429.             new a = FM_NULLENT
  430.             while((a = find_ent_in_sphere(a,originF,200.0)) != 0)
  431.             {
  432.             if(pev(a,pev_takedamage)!=DAMAGE_NO)
  433.             {
  434.             ExecuteHamB( Ham_TakeDamage, a ,id ,id, get_pcvar_float(cvar_dmg_exp), DMG_BULLET )
  435.             }
  436.             }
  437.     }
  438. }
  439.  
  440. public fwPlaybackEvent(flags, invoker, eventid, Float:delay, Float:origin[3], Float:angles[3], Float:fparam1, Float:fparam2, iParam1, iParam2, bParam1, bParam2)
  441. {
  442.     if ((eventid != g_orig_event_b1) || !g_IsInPrimaryAttack)
  443.         return FMRES_IGNORED
  444.     if (!(1 <= invoker <= g_MaxPlayers))
  445.     return FMRES_IGNORED
  446.  
  447.     playback_event(flags | FEV_HOSTONLY, invoker, eventid, delay, origin, angles, fparam1, fparam2, iParam1, iParam2, bParam1, bParam2)
  448.     return FMRES_SUPERCEDE
  449. }
  450.  
  451. public fw_b1_PrimaryAttack_Post(Weapon)
  452. {
  453.     g_IsInPrimaryAttack = 0
  454.     new Player = get_pdata_cbase(Weapon, 41, 4)
  455.    
  456.     new szClip, szAmmo
  457.     get_user_weapon(Player, szClip, szAmmo)
  458.    
  459.     if(!is_user_alive(Player))
  460.         return
  461.  
  462.     if (g_iClip <= cs_get_weapon_ammo(Weapon))
  463.         return
  464.  
  465.     if(g_has_b1[Player])
  466.     {
  467.         if (!g_clip_ammo[Player])
  468.             return
  469.  
  470.         new Float:push[3]
  471.         pev(Player,pev_punchangle,push)
  472.         xs_vec_sub(push,cl_pushangle[Player],push)
  473.        
  474.         xs_vec_mul_scalar(push,get_pcvar_float(cvar_recoil_b1),push)
  475.         xs_vec_add(push,cl_pushangle[Player],push)
  476.         set_pev(Player,pev_punchangle,push)
  477.         if( gMode[Player] ) {
  478.             explode(Player)
  479.             set_pdata_float( Player, 83, 2.0 )
  480.         }
  481.         emit_sound(Player, CHAN_WEAPON, Fire_Sounds[gMode[Player]], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
  482.         UTIL_PlayWeaponAnimation(Player, gMode[Player]?b1_SHOOT2:b1_SHOOT1)
  483.         if( gMode[Player] ) gMode[Player] = 0
  484.     }
  485. }
  486.  
  487. public fw_TakeDamage(victim, inflictor, attacker, Float:damage)
  488. {
  489.     if (victim != attacker && is_user_connected(attacker))
  490.     {
  491.         if(get_user_weapon(attacker) == CSW_DEAGLE)
  492.         {
  493.             if(g_has_b1[attacker])
  494.                 SetHamParamFloat(4, damage * get_pcvar_float(cvar_dmg_b1))
  495.         }
  496.     }
  497. }
  498.  
  499. stock fm_cs_get_current_weapon_ent(id)
  500. {
  501.     return get_pdata_cbase(id, OFFSET_ACTIVE_ITEM, OFFSET_LINUX)
  502. }
  503.  
  504. stock fm_cs_get_weapon_ent_owner(ent)
  505. {
  506.     return get_pdata_cbase(ent, OFFSET_WEAPONOWNER, OFFSET_LINUX_WEAPONS)
  507. }
  508.  
  509. stock UTIL_PlayWeaponAnimation(const Player, const Sequence)
  510. {
  511.     set_pev(Player, pev_weaponanim, Sequence)
  512.    
  513.     message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, .player = Player)
  514.     write_byte(Sequence)
  515.     write_byte(pev(Player, pev_body))
  516.     message_end()
  517. }
  518.  
  519. public b1_ItemPostFrame(weapon_entity)
  520. {
  521.      new id = pev(weapon_entity, pev_owner)
  522.      if (!is_user_connected(id))
  523.           return HAM_IGNORED
  524.  
  525.      if (!g_has_b1[id])
  526.           return HAM_IGNORED
  527.  
  528.      static iClipExtra
  529.      
  530.      iClipExtra = get_pcvar_num(cvar_clip_b1)
  531.      new Float:flNextAttack = get_pdata_float(id, m_flNextAttack, PLAYER_LINUX_XTRA_OFF)
  532.  
  533.      new iBpAmmo = cs_get_user_bpammo(id, CSW_DEAGLE);
  534.      new iClip = get_pdata_int(weapon_entity, m_iClip, WEAP_LINUX_XTRA_OFF)
  535.  
  536.      new fInReload = get_pdata_int(weapon_entity, m_fInReload, WEAP_LINUX_XTRA_OFF)
  537.      if( pev( id, pev_button ) & IN_ATTACK2 && flNextAttack <= 0.0) {
  538.         UTIL_PlayWeaponAnimation(id, !gMode[id]?6:7 )
  539.         gMode[id] = (gMode[id]?0:1)
  540.         set_pdata_float( id, 83, 2.0 )
  541.      }
  542.      if( fInReload && flNextAttack <= 0.0 )
  543.      {
  544.          new j = min(iClipExtra - iClip, iBpAmmo)
  545.    
  546.          set_pdata_int(weapon_entity, m_iClip, iClip + j, WEAP_LINUX_XTRA_OFF)
  547.          cs_set_user_bpammo(id, CSW_DEAGLE, iBpAmmo-j)
  548.        
  549.          set_pdata_int(weapon_entity, m_fInReload, 0, WEAP_LINUX_XTRA_OFF)
  550.          fInReload = 0
  551.      }
  552.      return HAM_IGNORED
  553. }
  554.  
  555. public b1_Reload(weapon_entity)
  556. {
  557.      new id = pev(weapon_entity, pev_owner)
  558.      if (!is_user_connected(id))
  559.           return HAM_IGNORED
  560.  
  561.      if (!g_has_b1[id])
  562.           return HAM_IGNORED
  563.  
  564.      static iClipExtra
  565.  
  566.      if(g_has_b1[id])
  567.           iClipExtra = get_pcvar_num(cvar_clip_b1)
  568.  
  569.      g_b1_TmpClip[id] = -1
  570.  
  571.      new iBpAmmo = cs_get_user_bpammo(id, CSW_DEAGLE)
  572.      new iClip = get_pdata_int(weapon_entity, m_iClip, WEAP_LINUX_XTRA_OFF)
  573.  
  574.      if (iBpAmmo <= 0)
  575.           return HAM_SUPERCEDE
  576.  
  577.      if (iClip >= iClipExtra)
  578.           return HAM_SUPERCEDE
  579.  
  580.      g_b1_TmpClip[id] = iClip
  581.  
  582.      return HAM_IGNORED
  583. }
  584.  
  585. public b1_Reload_Post(weapon_entity)
  586. {
  587.     new id = pev(weapon_entity, pev_owner)
  588.     if (!is_user_connected(id))
  589.         return HAM_IGNORED
  590.  
  591.     if (!g_has_b1[id])
  592.         return HAM_IGNORED
  593.  
  594.     if (g_b1_TmpClip[id] == -1)
  595.         return HAM_IGNORED
  596.  
  597.     set_pdata_int(weapon_entity, m_iClip, g_b1_TmpClip[id], WEAP_LINUX_XTRA_OFF)
  598.  
  599.     set_pdata_float(weapon_entity, m_flTimeWeaponIdle, b1_RELOAD_TIME, WEAP_LINUX_XTRA_OFF)
  600.  
  601.     set_pdata_float(id, m_flNextAttack, b1_RELOAD_TIME, PLAYER_LINUX_XTRA_OFF)
  602.  
  603.     set_pdata_int(weapon_entity, m_fInReload, 1, WEAP_LINUX_XTRA_OFF)
  604.  
  605.     UTIL_PlayWeaponAnimation(id, gMode[id]?8:b1_RELOAD)
  606.     gMode[id] = 0
  607.  
  608.     return HAM_IGNORED
  609. }
  610.  
  611. stock drop_weapons(id, dropwhat)
  612. {
  613.      static weapons[32], num, i, weaponid
  614.      num = 0
  615.      get_user_weapons(id, weapons, num)
  616.      
  617.      for (i = 0; i < num; i++)
  618.      {
  619.           weaponid = weapons[i]
  620.          
  621.           if (dropwhat == 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM))
  622.           {
  623.                static wname[32]
  624.                get_weaponname(weaponid, wname, sizeof wname - 1)
  625.                engclient_cmd(id, "drop", wname)
  626.           }
  627.      }
  628. }
  629. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  630. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
  631. */
  632. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  633. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
  634. */

_________________
Global Offensive: (50%)


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