Approved Frost M4A1

Zombies/Humans Extra-Items
Post Reply
User avatar
Raheem
Mod Developer
Mod Developer
Posts: 2214
Joined: 7 years ago
Contact:

Frost M4A1

#1

Post by Raheem » 6 years ago

Frost M4A1

Description:
  • Extra-Item for Humans. I made this for ZP and i converted it to work with our Zombie Escape Mod. The zombie will get freeze after X damage you make with this gun. The code now is optimized and using ReAPI.
Cvars:
  • ze_freezing_m4a1_damage 2000 Damage required then zombie get freeze?
  • ze_multiplier_m4a1_damage 2 Multiple the Frost M4A1 Damage by? [Integer Factor, 1 or 2 and so on]
Installation & Instructions:
  • Simply install it like any plugin nothing new but don't forget to copy models and sprites.
  • Make sure to update your ze_frost.amxx plugin to final version posted in our releases section.
Screenshots:
  • ImageImageImageImageImage
Downloads:
Last edited by Raheem 6 years ago, edited 3 times in total.
Reason: Fixed flood error.
He who fails to plan is planning to fail

User avatar
Raheem
Mod Developer
Mod Developer
Posts: 2214
Joined: 7 years ago
Contact:

#2

Post by Raheem » 6 years ago

Fixed flood error as i was changing damage in take damage pre and it should be done in take damage post.
He who fails to plan is planning to fail

User avatar
Null
Member
Member
Saudi Arabia
Posts: 28
Joined: 3 years ago
Location: Saudi Arabia, Riyadh
Contact:

#3

Post by Null » 3 years ago

HI raheem add me on discord i want plugin from u
https://discord.gg/qVc4rhpsqT

User avatar
z0h1r-LK
Mod Developer
Mod Developer
Morocco
Posts: 473
Joined: 5 years ago
Location: The Red City ❤
Contact:

#4

Post by z0h1r-LK » 3 years ago

Null wrote: 3 years ago HI raheem add me on discord i want plugin from u
https://discord.gg/qVc4rhpsqT
What do you want ?

User avatar
z0h1r-LK
Mod Developer
Mod Developer
Morocco
Posts: 473
Joined: 5 years ago
Location: The Red City ❤
Contact:

#5

Post by z0h1r-LK » 3 years ago

Null wrote: 3 years ago HI raheem add me on discord i want plugin from u
https://discord.gg/qVc4rhpsqT
What do you want ?

User avatar
z0h1r-LK
Mod Developer
Mod Developer
Morocco
Posts: 473
Joined: 5 years ago
Location: The Red City ❤
Contact:

#6

Post by z0h1r-LK » 3 years ago

I'm convert something in this lines to ReAPI and Fakemeta, I'm remove some natives Engine
  1. public Fw_SetModel(entity, model[])
  2. {
  3.    
  4.     if(!pev_valid(entity))
  5.         return FMRES_IGNORED
  6.  
  7.     if(!equali(model, W_OLD_M4A1_MODEL))
  8.         return FMRES_IGNORED
  9.  
  10.     new className[33]
  11.     get_entvar(entity, var_classname, className, charsmax(className))
  12.  
  13.     static iOwner, iStoredM4A1ID
  14.  
  15.     // Frost M4A1 Owner
  16.     iOwner = get_entvar(entity, var_owner)
  17.  
  18.     // Get drop weapon index (Frost M4A1) to use in fw_FrostM4A1AddToPlayer forward
  19.     iStoredM4A1ID = rg_find_ent_by_owner(NULLENT, "weapon_m4a1", entity)
  20.  
  21.     // If Player Has Frost M4A1 and It's weapon_m4a1
  22.     if(g_bHasFrostM4A1[iOwner] && pev_valid(iStoredM4A1ID))
  23.     {
  24.         // Setting weapon options
  25.         set_entvar(iStoredM4A1ID, var_impulse, 1997)
  26.  
  27.         // Rest Var
  28.         g_bHasFrostM4A1[iOwner] = false
  29.        
  30.         // Set weaponbox new model
  31.         engfunc(EngFunc_SetModel, entity, W_M4A1_MODEL)
  32.         return FMRES_SUPERCEDE
  33.     }
  34.     return FMRES_IGNORED
  35. }
  36.  
  37. public Fw_AddFrostM4A1ToPlayer(FrostM4A1, id)
  38. {
  39.     // Make sure that this is M4A1
  40.     if(pev_valid(FrostM4A1) && is_user_connected(id) && get_entvar(FrostM4A1, var_impulse) == 1997)
  41.     {
  42.         // Update Var
  43.         g_bHasFrostM4A1[id] = true
  44.  
  45.         // Reset weapon options
  46.         set_entvar(FrostM4A1, var_impulse, 0)
  47.         return HAM_HANDLED
  48.     }
  49.     return HAM_IGNORED
  50. }

User avatar
Null
Member
Member
Saudi Arabia
Posts: 28
Joined: 3 years ago
Location: Saudi Arabia, Riyadh
Contact:

#7

Post by Null » 3 years ago

I want a help plugins for ZE

User avatar
Null
Member
Member
Saudi Arabia
Posts: 28
Joined: 3 years ago
Location: Saudi Arabia, Riyadh
Contact:

#8

Post by Null » 3 years ago

I want a help plugins for ZE

User avatar
Null
Member
Member
Saudi Arabia
Posts: 28
Joined: 3 years ago
Location: Saudi Arabia, Riyadh
Contact:

#9

Post by Null » 3 years ago

Morocco nta ??

User avatar
z0h1r-LK
Mod Developer
Mod Developer
Morocco
Posts: 473
Joined: 5 years ago
Location: The Red City ❤
Contact:

#10

Post by z0h1r-LK » 2 years ago

Update this hook in plugin.
  1. public Fw_SetModel(entity, model[])
  2. {
  3.    
  4.     if(!is_entity(entity))
  5.         return FMRES_IGNORED
  6.  
  7.     if(!equali(model, W_OLD_M4A1_MODEL))
  8.         return FMRES_IGNORED
  9.  
  10.     static iOwner, iStoredM4A1ID
  11.  
  12.     // Frost M4A1 Owner
  13.     iOwner = get_entvar(entity, var_owner)
  14.  
  15.     // Get drop weapon index (Frost M4A1) to use in fw_FrostM4A1AddToPlayer forward
  16.     rg_find_ent_by_owner(NULLENT, "weapon_m4a1", iStoredM4A1ID)
  17.  
  18.     // If Player Has Frost M4A1 and It's weapon_m4a1
  19.     if(g_bHasFrostM4A1[iOwner] && is_entity(iStoredM4A1ID))
  20.     {
  21.         // Setting weapon options
  22.         set_entvar(iStoredM4A1ID, var_impulse, 1997)
  23.  
  24.         // Rest Var
  25.         g_bHasFrostM4A1[iOwner] = false
  26.        
  27.         // Set weaponbox new model
  28.         set_entvar(entity, var_flags, FL_KILLME)
  29.         return FMRES_SUPERCEDE
  30.     }
  31.     return FMRES_IGNORED
  32. }
  33.  
  34. public Fw_AddFrostM4A1ToPlayer(FrostM4A1, id)
  35. {
  36.     // Make sure that this is M4A1
  37.     if(is_entity(FrostM4A1) && is_user_connected(id) && get_entvar(FrostM4A1, var_impulse) == 1997)
  38.     {
  39.         // Update Var
  40.         g_bHasFrostM4A1[id] = true
  41.  
  42.         // Reset weapon options
  43.         set_entvar(FrostM4A1, var_impulse, 0)
  44.         return HAM_HANDLED
  45.     }
  46.     return HAM_IGNORED
  47. }

karan
Mod Tester
Mod Tester
India
Posts: 122
Joined: 6 years ago
Location: India
Contact:

#11

Post by karan » 2 years ago

  1. #include <zombie_escape>
  2. #include <cstrike>
  3. #include <engine>
  4.  
  5. new const V_M4A1_MODEL[] = "models/zombie_escape/v_frost_m4a1.mdl"
  6. new const P_M4A1_MODEL[] = "models/zombie_escape/p_frost_m4a1.mdl"
  7. new const W_M4A1_MODEL[] = "models/zombie_escape/w_frost_m4a1.mdl"
  8. new const W_OLD_M4A1_MODEL[] = "models/w_m4a1.mdl"
  9.  
  10. new g_iItemID, g_iHudSync, g_iSpriteLaser, g_iFreezeDmg, g_iDmgMultiplier
  11. new bool:g_bHasFrostM4A1[33]
  12. new g_iDmg[33]
  13.  
  14. public plugin_init()
  15. {
  16.     register_plugin("[ZE] Extra Item: Frost M4A1", "1.0", "Raheem")
  17.    
  18.     // Cvars
  19.     g_iFreezeDmg = register_cvar("ze_freezing_m4a1_damage", "2000") // Damage Requried So Zombie got Frozen
  20.     g_iDmgMultiplier = register_cvar("ze_multiplier_m4a1_damage", "2") // Multiplie Weapon Damage
  21.  
  22.     // Message IDS
  23.     g_iHudSync = CreateHudSyncObj()
  24.    
  25.     // ITEM NAME & COST
  26.     g_iItemID = ze_register_item("Frost M4A1", 30, 0) // It's cost 30 Ammo Pack
  27.    
  28.     // Events
  29.     register_event("WeapPickup", "CheckModel", "b", "1=19")
  30.     register_event("CurWeapon", "CurrentWeapon", "be", "1=1")
  31.    
  32.     // Forwards
  33.     register_forward(FM_SetModel, "Fw_SetModel")
  34.    
  35.     // HookChains
  36.     RegisterHookChain(RG_CBasePlayer_TakeDamage, "Fw_TakeDamage_Post", 1)
  37.    
  38.     // Hams
  39.     RegisterHam(Ham_TraceAttack, "player", "Fw_TraceAttack_Post", 1)
  40.     RegisterHam(Ham_TraceAttack, "worldspawn", "Fw_TraceAttack_Post", 1)
  41.     RegisterHam(Ham_Item_AddToPlayer, "weapon_m4a1", "Fw_AddFrostM4A1ToPlayer")
  42. }
  43.  
  44. public plugin_precache()
  45. {
  46.     // Models
  47.     precache_model(V_M4A1_MODEL)
  48.     precache_model(P_M4A1_MODEL)
  49.     precache_model(W_M4A1_MODEL)
  50.    
  51.     // Sprites
  52.     g_iSpriteLaser = precache_model( "sprites/Newlightning.spr")
  53. }
  54.  
  55. public client_disconnected(id)
  56. {
  57.     g_bHasFrostM4A1[id] = false
  58. }
  59.  
  60. public ze_select_item_pre(id, itemid)
  61. {
  62.     // Return Available and we will block it in Post, So it dosen't affect other plugins
  63.     if (itemid != g_iItemID)
  64.         return ZE_ITEM_AVAILABLE
  65.    
  66.     // Available for Humans only, So don't show it for zombies
  67.     if (ze_is_user_zombie(id))
  68.         return ZE_ITEM_DONT_SHOW
  69.    
  70.     return ZE_ITEM_AVAILABLE
  71. }
  72.  
  73. public ze_select_item_post(player, itemid)
  74. {
  75.     if (itemid != g_iItemID)
  76.         return
  77.  
  78.     g_bHasFrostM4A1[player] = true
  79.  
  80.     rg_remove_item(player, "weapon_m4a1")
  81.     rg_give_item(player, "weapon_m4a1", GT_APPEND)
  82.     rg_set_user_bpammo(player, WeaponIdType:get_weaponid("weapon_m4a1"), 90)
  83.    
  84.     new szName[32]
  85.     get_user_name(player, szName, charsmax(szName))
  86.    
  87.     set_hudmessage(random(255), random(255), random(255), -1.0, 0.17, 1, 0.0, 5.0, 1.0, 1.0, -1)
  88.     show_hudmessage(0, "%s Has bought Frost M4A1!", szName)
  89.    
  90.     ze_colored_print(player, "!tYou Have bought Frost M4A1!y!")
  91. }
  92.  
  93. public Fw_TraceAttack_Post(iEnt, iAttacker, Float:flDamage, Float:fDir[3], ptr, iDamageType)
  94. {
  95.     if(!is_user_alive(iAttacker) && ze_is_user_zombie(iEnt))
  96.         return
  97.    
  98.     if(get_user_weapon(iAttacker) != CSW_M4A1 || !g_bHasFrostM4A1[iAttacker])
  99.         return
  100.    
  101.     set_hudmessage(34, 138, 255, -1.0, 0.17, 1, 0.0, 2.0, 1.0, 1.0, -1)
  102.     ShowSyncHudMsg(iAttacker, g_iHudSync, "Freeze Damage^n%d/%d", g_iDmg[iAttacker], get_pcvar_num(g_iFreezeDmg))
  103.    
  104.     new vec1[3], vec2[3]
  105.     get_user_origin(iAttacker, vec1, 1)
  106.     get_user_origin(iAttacker, vec2, 4)
  107.  
  108.     make_beam(vec1, vec2, g_iSpriteLaser, 0, 50, 200, 200)
  109. }
  110.  
  111. public ze_user_infected(infected)
  112. {
  113.     if (g_bHasFrostM4A1[infected])
  114.     {
  115.         g_bHasFrostM4A1[infected] = false
  116.     }
  117. }
  118.  
  119. public ze_user_humanized(id)
  120. {
  121.     g_bHasFrostM4A1[id] = false
  122.     g_iDmg[id] = 0
  123. }
  124.  
  125. public Fw_TakeDamage_Post(iVictim, iInflictor, iAttacker, Float:fDamage, bitsDamageType)
  126. {
  127.     // Not Vaild Victim or Attacker
  128.     if (!ze_is_user_zombie(iVictim) || !is_user_connected(iAttacker))
  129.         return HC_CONTINUE
  130.    
  131.     if (g_bHasFrostM4A1[iAttacker] && (get_user_weapon(iAttacker) == CSW_M4A1))
  132.     {
  133.         SetHookChainArg(4 , ATYPE_FLOAT, fDamage * get_pcvar_num(g_iDmgMultiplier))
  134.     }
  135.    
  136.     if((get_user_weapon(iAttacker) == CSW_M4A1) && g_bHasFrostM4A1[iAttacker])
  137.     {
  138.         g_iDmg[iAttacker] += (floatround(fDamage) * get_pcvar_num(g_iDmgMultiplier))
  139.     }
  140.    
  141.     if((g_iDmg[iAttacker] >= get_pcvar_num(g_iFreezeDmg)) && (get_user_weapon(iAttacker) == CSW_M4A1) && g_bHasFrostM4A1[iAttacker])
  142.     {
  143.         new szName[32]
  144.         get_user_name(iVictim, szName, charsmax(szName))
  145.        
  146.         ze_set_frost_grenade(iVictim, true)
  147.        
  148.         g_iDmg[iAttacker] = 0
  149.        
  150.         set_dhudmessage(34, 138, 255, -1.0, 0.25, 2, 6.0, 3.0, 0.1, 1.5)
  151.         show_dhudmessage(iAttacker, "%s Has been Freezed!", szName)
  152.     }
  153.     return HC_CONTINUE
  154. }
  155.  
  156. public CheckModel(id)
  157. {
  158.     if (is_user_alive(id))
  159.     {
  160.         set_pev(id, pev_viewmodel2, V_M4A1_MODEL)
  161.         set_pev(id, pev_weaponmodel2, P_M4A1_MODEL)
  162.     }
  163.     return PLUGIN_CONTINUE
  164. }
  165.  
  166. public CurrentWeapon(id)
  167. {
  168.     if ((get_user_weapon(id) == CSW_M4A1) && g_bHasFrostM4A1[id] == true)
  169.     {
  170.         CheckModel(id)
  171.     }
  172.     else
  173.     {
  174.         ClearSyncHud(id, g_iHudSync)
  175.     }
  176.     return PLUGIN_CONTINUE
  177. }
  178.  
  179. make_beam(const origin2[3], const origin[3], sprite, red, green, blue, alpha)
  180. {
  181.     //BEAMENTPOINTS
  182.     message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
  183.     write_byte (0) //TE_BEAMENTPOINTS 0
  184.     write_coord(origin2[0])
  185.     write_coord(origin2[1])
  186.     write_coord(origin2[2])
  187.     write_coord(origin[0])
  188.     write_coord(origin[1])
  189.     write_coord(origin[2])
  190.     write_short(sprite) // sprite
  191.     write_byte(1) // framestart
  192.     write_byte(5) // framerate
  193.     write_byte(2) // life
  194.     write_byte(20) // width
  195.     write_byte(0) // noise
  196.     write_byte(red) // r, g, b
  197.     write_byte(green) // r, g, b
  198.     write_byte(blue) // r, g, b
  199.     write_byte(alpha) // brightness
  200.     write_byte(150) // speed
  201.     message_end()
  202. }
  203.  
  204. public Fw_SetModel(entity, model[])
  205. {
  206.    
  207.     if(!is_valid_ent(entity))
  208.         return FMRES_IGNORED
  209.  
  210.     if(!equali(model, W_OLD_M4A1_MODEL))
  211.         return FMRES_IGNORED
  212.  
  213.     new className[33]
  214.     entity_get_string(entity, EV_SZ_classname, className, 32)
  215.  
  216.     static iOwner, iStoredM4A1ID
  217.  
  218.     // Frost M4A1 Owner
  219.     iOwner = entity_get_edict(entity, EV_ENT_owner)
  220.  
  221.     // Get drop weapon index (Frost M4A1) to use in fw_FrostM4A1AddToPlayer forward
  222.     iStoredM4A1ID = find_ent_by_owner(-1, "weapon_m4a1", entity)
  223.  
  224.     // If Player Has Frost M4A1 and It's weapon_m4a1
  225.     if(g_bHasFrostM4A1[iOwner] && is_valid_ent(iStoredM4A1ID))
  226.     {
  227.         // Setting weapon options
  228.         entity_set_int(iStoredM4A1ID, EV_INT_impulse, 1997)
  229.  
  230.         // Rest Var
  231.         g_bHasFrostM4A1[iOwner] = false
  232.        
  233.         // Set weaponbox new model
  234.         entity_set_model(entity, W_M4A1_MODEL)
  235.         return FMRES_SUPERCEDE
  236.     }
  237.     return FMRES_IGNORED
  238. }
  239.  
  240. public Fw_AddFrostM4A1ToPlayer(FrostM4A1, id)
  241. {
  242.     // Make sure that this is M4A1
  243.     if(is_valid_ent(FrostM4A1) && is_user_connected(id) && entity_get_int(FrostM4A1, EV_INT_impulse) == 1997)
  244.     {
  245.         // Update Var
  246.         g_bHasFrostM4A1[id] = true
  247.  
  248.         // Reset weapon options
  249.         entity_set_int(FrostM4A1, EV_INT_impulse, 0)
  250.         return HAM_HANDLED
  251.     }
  252.     return HAM_IGNORED
  253. }
this code is freezing humans too also counting breakables dmg so here's the fix
Image

User avatar
z0h1r-LK
Mod Developer
Mod Developer
Morocco
Posts: 473
Joined: 5 years ago
Location: The Red City ❤
Contact:

#12

Post by z0h1r-LK » 2 years ago

Check Now:
  1. #include <zombie_escape>
  2. #include <cstrike>
  3. #include <engine>
  4.  
  5. new const V_M4A1_MODEL[] = "models/zombie_escape/v_frost_m4a1.mdl"
  6. new const P_M4A1_MODEL[] = "models/zombie_escape/p_frost_m4a1.mdl"
  7. new const W_M4A1_MODEL[] = "models/zombie_escape/w_frost_m4a1.mdl"
  8. new const W_OLD_M4A1_MODEL[] = "models/w_m4a1.mdl"
  9.  
  10. new g_iItemID, g_iHudSync, g_iSpriteLaser, g_iFreezeDmg, g_iDmgMultiplier
  11. new bool:g_bHasFrostM4A1[33]
  12. new g_iDmg[33]
  13.  
  14. public plugin_init()
  15. {
  16.     register_plugin("[ZE] Extra Item: Frost M4A1", "1.0", "Raheem")
  17.    
  18.     // Cvars
  19.     g_iFreezeDmg = register_cvar("ze_freezing_m4a1_damage", "2000") // Damage Requried So Zombie got Frozen
  20.     g_iDmgMultiplier = register_cvar("ze_multiplier_m4a1_damage", "2") // Multiplie Weapon Damage
  21.  
  22.     // Message IDS
  23.     g_iHudSync = CreateHudSyncObj()
  24.    
  25.     // ITEM NAME & COST
  26.     g_iItemID = ze_register_item("Frost M4A1", 30, 0) // It's cost 30 Ammo Pack
  27.    
  28.     // Events
  29.     register_event("WeapPickup", "CheckModel", "b", "1=19")
  30.     register_event("CurWeapon", "CurrentWeapon", "be", "1=1")
  31.    
  32.     // Forwards
  33.     register_forward(FM_SetModel, "Fw_SetModel")
  34.    
  35.     // HookChains
  36.     RegisterHookChain(RG_CBasePlayer_TakeDamage, "Fw_TakeDamage_Post", 1)
  37.    
  38.     // Hams
  39.     RegisterHam(Ham_TraceAttack, "player", "Fw_TraceAttack_Post", 1)
  40.     RegisterHam(Ham_TraceAttack, "worldspawn", "Fw_TraceAttack_Post", 1)
  41.     RegisterHam(Ham_Item_AddToPlayer, "weapon_m4a1", "Fw_AddFrostM4A1ToPlayer")
  42. }
  43.  
  44. public plugin_precache()
  45. {
  46.     // Models
  47.     precache_model(V_M4A1_MODEL)
  48.     precache_model(P_M4A1_MODEL)
  49.     precache_model(W_M4A1_MODEL)
  50.    
  51.     // Sprites
  52.     g_iSpriteLaser = precache_model( "sprites/Newlightning.spr")
  53. }
  54.  
  55. public client_disconnected(id)
  56. {
  57.     g_bHasFrostM4A1[id] = false
  58. }
  59.  
  60. public ze_select_item_pre(id, itemid)
  61. {
  62.     // Return Available and we will block it in Post, So it dosen't affect other plugins
  63.     if (itemid != g_iItemID)
  64.         return ZE_ITEM_AVAILABLE
  65.    
  66.     // Available for Humans only, So don't show it for zombies
  67.     if (ze_is_user_zombie(id))
  68.         return ZE_ITEM_DONT_SHOW
  69.    
  70.     return ZE_ITEM_AVAILABLE
  71. }
  72.  
  73. public ze_select_item_post(player, itemid)
  74. {
  75.     if (itemid != g_iItemID)
  76.         return
  77.  
  78.     g_bHasFrostM4A1[player] = true
  79.  
  80.     rg_remove_item(player, "weapon_m4a1")
  81.     rg_give_item(player, "weapon_m4a1", GT_APPEND)
  82.     rg_set_user_bpammo(player, WeaponIdType:get_weaponid("weapon_m4a1"), 90)
  83.    
  84.     new szName[32]
  85.     get_user_name(player, szName, charsmax(szName))
  86.    
  87.     set_hudmessage(random(255), random(255), random(255), -1.0, 0.17, 1, 0.0, 5.0, 1.0, 1.0, -1)
  88.     show_hudmessage(0, "%s Has bought Frost M4A1!", szName)
  89.    
  90.     ze_colored_print(player, "!tYou Have bought Frost M4A1!y!")
  91. }
  92.  
  93. public Fw_TraceAttack_Post(iEnt, iAttacker, Float:flDamage, Float:fDir[3], ptr, iDamageType)
  94. {
  95.     if(!is_user_alive(iAttacker) && ze_is_user_zombie(iEnt))
  96.         return
  97.    
  98.     if(get_user_weapon(iAttacker) != CSW_M4A1 || !g_bHasFrostM4A1[iAttacker])
  99.         return
  100.    
  101.     set_hudmessage(34, 138, 255, -1.0, 0.17, 1, 0.0, 2.0, 1.0, 1.0, -1)
  102.     ShowSyncHudMsg(iAttacker, g_iHudSync, "Freeze Damage^n%d/%d", g_iDmg[iAttacker], get_pcvar_num(g_iFreezeDmg))
  103.    
  104.     new vec1[3], vec2[3]
  105.     get_user_origin(iAttacker, vec1, 1)
  106.     get_user_origin(iAttacker, vec2, 4)
  107.  
  108.     make_beam(vec1, vec2, g_iSpriteLaser, 0, 50, 200, 200)
  109. }
  110.  
  111. public ze_user_infected(infected)
  112. {
  113.     if (g_bHasFrostM4A1[infected])
  114.     {
  115.         g_bHasFrostM4A1[infected] = false
  116.     }
  117. }
  118.  
  119. public ze_user_humanized(id)
  120. {
  121.     g_bHasFrostM4A1[id] = false
  122.     g_iDmg[id] = 0
  123. }
  124.  
  125. public Fw_TakeDamage_Post(iVictim, iInflictor, iAttacker, Float:fDamage, bitsDamageType)
  126. {
  127.     // Not Vaild Victim or Attacker
  128.     if (!is_user_connected(iVictim) || !is_user_connected(iAttacker))
  129.         return HC_CONTINUE
  130.    
  131.     // Victim is not a Zombie.
  132.     if (!ze_is_user_zombie(iVictim))
  133.         return HC_CONTINUE
  134.  
  135.     if (g_bHasFrostM4A1[iAttacker] && (get_user_weapon(iAttacker) == CSW_M4A1))
  136.     {
  137.         SetHookChainArg(4 , ATYPE_FLOAT, fDamage * get_pcvar_num(g_iDmgMultiplier))
  138.     }
  139.    
  140.     if((get_user_weapon(iAttacker) == CSW_M4A1) && g_bHasFrostM4A1[iAttacker])
  141.     {
  142.         g_iDmg[iAttacker] += (floatround(fDamage) * get_pcvar_num(g_iDmgMultiplier))
  143.     }
  144.    
  145.     if((g_iDmg[iAttacker] >= get_pcvar_num(g_iFreezeDmg)) && (get_user_weapon(iAttacker) == CSW_M4A1) && g_bHasFrostM4A1[iAttacker])
  146.     {
  147.         new szName[32]
  148.         get_user_name(iVictim, szName, charsmax(szName))
  149.        
  150.         ze_set_frost_grenade(iVictim, true)
  151.        
  152.         g_iDmg[iAttacker] = 0
  153.        
  154.         set_dhudmessage(34, 138, 255, -1.0, 0.25, 2, 6.0, 3.0, 0.1, 1.5)
  155.         show_dhudmessage(iAttacker, "%s Has been Freezed!", szName)
  156.     }
  157.     return HC_CONTINUE
  158. }
  159.  
  160. public CheckModel(id)
  161. {
  162.     if (is_user_alive(id))
  163.     {
  164.         set_pev(id, pev_viewmodel2, V_M4A1_MODEL)
  165.         set_pev(id, pev_weaponmodel2, P_M4A1_MODEL)
  166.     }
  167.     return PLUGIN_CONTINUE
  168. }
  169.  
  170. public CurrentWeapon(id)
  171. {
  172.     if ((get_user_weapon(id) == CSW_M4A1) && g_bHasFrostM4A1[id] == true)
  173.     {
  174.         CheckModel(id)
  175.     }
  176.     else
  177.     {
  178.         ClearSyncHud(id, g_iHudSync)
  179.     }
  180.     return PLUGIN_CONTINUE
  181. }
  182.  
  183. make_beam(const origin2[3], const origin[3], sprite, red, green, blue, alpha)
  184. {
  185.     //BEAMENTPOINTS
  186.     message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
  187.     write_byte (0) //TE_BEAMENTPOINTS 0
  188.     write_coord(origin2[0])
  189.     write_coord(origin2[1])
  190.     write_coord(origin2[2])
  191.     write_coord(origin[0])
  192.     write_coord(origin[1])
  193.     write_coord(origin[2])
  194.     write_short(sprite) // sprite
  195.     write_byte(1) // framestart
  196.     write_byte(5) // framerate
  197.     write_byte(2) // life
  198.     write_byte(20) // width
  199.     write_byte(0) // noise
  200.     write_byte(red) // r, g, b
  201.     write_byte(green) // r, g, b
  202.     write_byte(blue) // r, g, b
  203.     write_byte(alpha) // brightness
  204.     write_byte(150) // speed
  205.     message_end()
  206. }
  207.  
  208. public Fw_SetModel(entity, model[])
  209. {
  210.    
  211.     if(!is_valid_ent(entity))
  212.         return FMRES_IGNORED
  213.  
  214.     if(!equali(model, W_OLD_M4A1_MODEL))
  215.         return FMRES_IGNORED
  216.  
  217.     new className[33]
  218.     entity_get_string(entity, EV_SZ_classname, className, 32)
  219.  
  220.     static iOwner, iStoredM4A1ID
  221.  
  222.     // Frost M4A1 Owner
  223.     iOwner = entity_get_edict(entity, EV_ENT_owner)
  224.  
  225.     // Get drop weapon index (Frost M4A1) to use in fw_FrostM4A1AddToPlayer forward
  226.     iStoredM4A1ID = find_ent_by_owner(-1, "weapon_m4a1", entity)
  227.  
  228.     // If Player Has Frost M4A1 and It's weapon_m4a1
  229.     if(g_bHasFrostM4A1[iOwner] && is_valid_ent(iStoredM4A1ID))
  230.     {
  231.         // Setting weapon options
  232.         entity_set_int(iStoredM4A1ID, EV_INT_impulse, 1997)
  233.  
  234.         // Rest Var
  235.         g_bHasFrostM4A1[iOwner] = false
  236.        
  237.         // Set weaponbox new model
  238.         entity_set_model(entity, W_M4A1_MODEL)
  239.         return FMRES_SUPERCEDE
  240.     }
  241.     return FMRES_IGNORED
  242. }
  243.  
  244. public Fw_AddFrostM4A1ToPlayer(FrostM4A1, id)
  245. {
  246.     // Make sure that this is M4A1
  247.     if(is_valid_ent(FrostM4A1) && is_user_connected(id) && entity_get_int(FrostM4A1, EV_INT_impulse) == 1997)
  248.     {
  249.         // Update Var
  250.         g_bHasFrostM4A1[id] = true
  251.  
  252.         // Reset weapon options
  253.         entity_set_int(FrostM4A1, EV_INT_impulse, 0)
  254.         return HAM_HANDLED
  255.     }
  256.     return HAM_IGNORED
  257. }

karan
Mod Tester
Mod Tester
India
Posts: 122
Joined: 6 years ago
Location: India
Contact:

#13

Post by karan » 2 years ago

Z0uha1r_LK wrote: 2 years ago Check Now:
  1. #include <zombie_escape>
  2. #include <cstrike>
  3. #include <engine>
  4.  
  5. new const V_M4A1_MODEL[] = "models/zombie_escape/v_frost_m4a1.mdl"
  6. new const P_M4A1_MODEL[] = "models/zombie_escape/p_frost_m4a1.mdl"
  7. new const W_M4A1_MODEL[] = "models/zombie_escape/w_frost_m4a1.mdl"
  8. new const W_OLD_M4A1_MODEL[] = "models/w_m4a1.mdl"
  9.  
  10. new g_iItemID, g_iHudSync, g_iSpriteLaser, g_iFreezeDmg, g_iDmgMultiplier
  11. new bool:g_bHasFrostM4A1[33]
  12. new g_iDmg[33]
  13.  
  14. public plugin_init()
  15. {
  16.     register_plugin("[ZE] Extra Item: Frost M4A1", "1.0", "Raheem")
  17.    
  18.     // Cvars
  19.     g_iFreezeDmg = register_cvar("ze_freezing_m4a1_damage", "2000") // Damage Requried So Zombie got Frozen
  20.     g_iDmgMultiplier = register_cvar("ze_multiplier_m4a1_damage", "2") // Multiplie Weapon Damage
  21.  
  22.     // Message IDS
  23.     g_iHudSync = CreateHudSyncObj()
  24.    
  25.     // ITEM NAME & COST
  26.     g_iItemID = ze_register_item("Frost M4A1", 30, 0) // It's cost 30 Ammo Pack
  27.    
  28.     // Events
  29.     register_event("WeapPickup", "CheckModel", "b", "1=19")
  30.     register_event("CurWeapon", "CurrentWeapon", "be", "1=1")
  31.    
  32.     // Forwards
  33.     register_forward(FM_SetModel, "Fw_SetModel")
  34.    
  35.     // HookChains
  36.     RegisterHookChain(RG_CBasePlayer_TakeDamage, "Fw_TakeDamage_Post", 1)
  37.    
  38.     // Hams
  39.     RegisterHam(Ham_TraceAttack, "player", "Fw_TraceAttack_Post", 1)
  40.     RegisterHam(Ham_TraceAttack, "worldspawn", "Fw_TraceAttack_Post", 1)
  41.     RegisterHam(Ham_Item_AddToPlayer, "weapon_m4a1", "Fw_AddFrostM4A1ToPlayer")
  42. }
  43.  
  44. public plugin_precache()
  45. {
  46.     // Models
  47.     precache_model(V_M4A1_MODEL)
  48.     precache_model(P_M4A1_MODEL)
  49.     precache_model(W_M4A1_MODEL)
  50.    
  51.     // Sprites
  52.     g_iSpriteLaser = precache_model( "sprites/Newlightning.spr")
  53. }
  54.  
  55. public client_disconnected(id)
  56. {
  57.     g_bHasFrostM4A1[id] = false
  58. }
  59.  
  60. public ze_select_item_pre(id, itemid)
  61. {
  62.     // Return Available and we will block it in Post, So it dosen't affect other plugins
  63.     if (itemid != g_iItemID)
  64.         return ZE_ITEM_AVAILABLE
  65.    
  66.     // Available for Humans only, So don't show it for zombies
  67.     if (ze_is_user_zombie(id))
  68.         return ZE_ITEM_DONT_SHOW
  69.    
  70.     return ZE_ITEM_AVAILABLE
  71. }
  72.  
  73. public ze_select_item_post(player, itemid)
  74. {
  75.     if (itemid != g_iItemID)
  76.         return
  77.  
  78.     g_bHasFrostM4A1[player] = true
  79.  
  80.     rg_remove_item(player, "weapon_m4a1")
  81.     rg_give_item(player, "weapon_m4a1", GT_APPEND)
  82.     rg_set_user_bpammo(player, WeaponIdType:get_weaponid("weapon_m4a1"), 90)
  83.    
  84.     new szName[32]
  85.     get_user_name(player, szName, charsmax(szName))
  86.    
  87.     set_hudmessage(random(255), random(255), random(255), -1.0, 0.17, 1, 0.0, 5.0, 1.0, 1.0, -1)
  88.     show_hudmessage(0, "%s Has bought Frost M4A1!", szName)
  89.    
  90.     ze_colored_print(player, "!tYou Have bought Frost M4A1!y!")
  91. }
  92.  
  93. public Fw_TraceAttack_Post(iEnt, iAttacker, Float:flDamage, Float:fDir[3], ptr, iDamageType)
  94. {
  95.     if(!is_user_alive(iAttacker) && ze_is_user_zombie(iEnt))
  96.         return
  97.    
  98.     if(get_user_weapon(iAttacker) != CSW_M4A1 || !g_bHasFrostM4A1[iAttacker])
  99.         return
  100.    
  101.     set_hudmessage(34, 138, 255, -1.0, 0.17, 1, 0.0, 2.0, 1.0, 1.0, -1)
  102.     ShowSyncHudMsg(iAttacker, g_iHudSync, "Freeze Damage^n%d/%d", g_iDmg[iAttacker], get_pcvar_num(g_iFreezeDmg))
  103.    
  104.     new vec1[3], vec2[3]
  105.     get_user_origin(iAttacker, vec1, 1)
  106.     get_user_origin(iAttacker, vec2, 4)
  107.  
  108.     make_beam(vec1, vec2, g_iSpriteLaser, 0, 50, 200, 200)
  109. }
  110.  
  111. public ze_user_infected(infected)
  112. {
  113.     if (g_bHasFrostM4A1[infected])
  114.     {
  115.         g_bHasFrostM4A1[infected] = false
  116.     }
  117. }
  118.  
  119. public ze_user_humanized(id)
  120. {
  121.     g_bHasFrostM4A1[id] = false
  122.     g_iDmg[id] = 0
  123. }
  124.  
  125. public Fw_TakeDamage_Post(iVictim, iInflictor, iAttacker, Float:fDamage, bitsDamageType)
  126. {
  127.     // Not Vaild Victim or Attacker
  128.     if (!is_user_connected(iVictim) || !is_user_connected(iAttacker))
  129.         return HC_CONTINUE
  130.    
  131.     // Victim is not a Zombie.
  132.     if (!ze_is_user_zombie(iVictim))
  133.         return HC_CONTINUE
  134.  
  135.     if (g_bHasFrostM4A1[iAttacker] && (get_user_weapon(iAttacker) == CSW_M4A1))
  136.     {
  137.         SetHookChainArg(4 , ATYPE_FLOAT, fDamage * get_pcvar_num(g_iDmgMultiplier))
  138.     }
  139.    
  140.     if((get_user_weapon(iAttacker) == CSW_M4A1) && g_bHasFrostM4A1[iAttacker])
  141.     {
  142.         g_iDmg[iAttacker] += (floatround(fDamage) * get_pcvar_num(g_iDmgMultiplier))
  143.     }
  144.    
  145.     if((g_iDmg[iAttacker] >= get_pcvar_num(g_iFreezeDmg)) && (get_user_weapon(iAttacker) == CSW_M4A1) && g_bHasFrostM4A1[iAttacker])
  146.     {
  147.         new szName[32]
  148.         get_user_name(iVictim, szName, charsmax(szName))
  149.        
  150.         ze_set_frost_grenade(iVictim, true)
  151.        
  152.         g_iDmg[iAttacker] = 0
  153.        
  154.         set_dhudmessage(34, 138, 255, -1.0, 0.25, 2, 6.0, 3.0, 0.1, 1.5)
  155.         show_dhudmessage(iAttacker, "%s Has been Freezed!", szName)
  156.     }
  157.     return HC_CONTINUE
  158. }
  159.  
  160. public CheckModel(id)
  161. {
  162.     if (is_user_alive(id))
  163.     {
  164.         set_pev(id, pev_viewmodel2, V_M4A1_MODEL)
  165.         set_pev(id, pev_weaponmodel2, P_M4A1_MODEL)
  166.     }
  167.     return PLUGIN_CONTINUE
  168. }
  169.  
  170. public CurrentWeapon(id)
  171. {
  172.     if ((get_user_weapon(id) == CSW_M4A1) && g_bHasFrostM4A1[id] == true)
  173.     {
  174.         CheckModel(id)
  175.     }
  176.     else
  177.     {
  178.         ClearSyncHud(id, g_iHudSync)
  179.     }
  180.     return PLUGIN_CONTINUE
  181. }
  182.  
  183. make_beam(const origin2[3], const origin[3], sprite, red, green, blue, alpha)
  184. {
  185.     //BEAMENTPOINTS
  186.     message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
  187.     write_byte (0) //TE_BEAMENTPOINTS 0
  188.     write_coord(origin2[0])
  189.     write_coord(origin2[1])
  190.     write_coord(origin2[2])
  191.     write_coord(origin[0])
  192.     write_coord(origin[1])
  193.     write_coord(origin[2])
  194.     write_short(sprite) // sprite
  195.     write_byte(1) // framestart
  196.     write_byte(5) // framerate
  197.     write_byte(2) // life
  198.     write_byte(20) // width
  199.     write_byte(0) // noise
  200.     write_byte(red) // r, g, b
  201.     write_byte(green) // r, g, b
  202.     write_byte(blue) // r, g, b
  203.     write_byte(alpha) // brightness
  204.     write_byte(150) // speed
  205.     message_end()
  206. }
  207.  
  208. public Fw_SetModel(entity, model[])
  209. {
  210.    
  211.     if(!is_valid_ent(entity))
  212.         return FMRES_IGNORED
  213.  
  214.     if(!equali(model, W_OLD_M4A1_MODEL))
  215.         return FMRES_IGNORED
  216.  
  217.     new className[33]
  218.     entity_get_string(entity, EV_SZ_classname, className, 32)
  219.  
  220.     static iOwner, iStoredM4A1ID
  221.  
  222.     // Frost M4A1 Owner
  223.     iOwner = entity_get_edict(entity, EV_ENT_owner)
  224.  
  225.     // Get drop weapon index (Frost M4A1) to use in fw_FrostM4A1AddToPlayer forward
  226.     iStoredM4A1ID = find_ent_by_owner(-1, "weapon_m4a1", entity)
  227.  
  228.     // If Player Has Frost M4A1 and It's weapon_m4a1
  229.     if(g_bHasFrostM4A1[iOwner] && is_valid_ent(iStoredM4A1ID))
  230.     {
  231.         // Setting weapon options
  232.         entity_set_int(iStoredM4A1ID, EV_INT_impulse, 1997)
  233.  
  234.         // Rest Var
  235.         g_bHasFrostM4A1[iOwner] = false
  236.        
  237.         // Set weaponbox new model
  238.         entity_set_model(entity, W_M4A1_MODEL)
  239.         return FMRES_SUPERCEDE
  240.     }
  241.     return FMRES_IGNORED
  242. }
  243.  
  244. public Fw_AddFrostM4A1ToPlayer(FrostM4A1, id)
  245. {
  246.     // Make sure that this is M4A1
  247.     if(is_valid_ent(FrostM4A1) && is_user_connected(id) && entity_get_int(FrostM4A1, EV_INT_impulse) == 1997)
  248.     {
  249.         // Update Var
  250.         g_bHasFrostM4A1[id] = true
  251.  
  252.         // Reset weapon options
  253.         entity_set_int(FrostM4A1, EV_INT_impulse, 0)
  254.         return HAM_HANDLED
  255.     }
  256.     return HAM_IGNORED
  257. }
i posted the fix xD
Image

karan
Mod Tester
Mod Tester
India
Posts: 122
Joined: 6 years ago
Location: India
Contact:

#14

Post by karan » 2 years ago

karan wrote: 2 years ago
  1. #include <zombie_escape>
  2. #include <cstrike>
  3. #include <engine>
  4.  
  5. new const V_M4A1_MODEL[] = "models/zombie_escape/v_frost_m4a1.mdl"
  6. new const P_M4A1_MODEL[] = "models/zombie_escape/p_frost_m4a1.mdl"
  7. new const W_M4A1_MODEL[] = "models/zombie_escape/w_frost_m4a1.mdl"
  8. new const W_OLD_M4A1_MODEL[] = "models/w_m4a1.mdl"
  9.  
  10. new g_iItemID, g_iHudSync, g_iSpriteLaser, g_iFreezeDmg, g_iDmgMultiplier
  11. new bool:g_bHasFrostM4A1[33]
  12. new g_iDmg[33]
  13.  
  14. public plugin_init()
  15. {
  16.     register_plugin("[ZE] Extra Item: Frost M4A1", "1.0", "Raheem")
  17.    
  18.     // Cvars
  19.     g_iFreezeDmg = register_cvar("ze_freezing_m4a1_damage", "2000") // Damage Requried So Zombie got Frozen
  20.     g_iDmgMultiplier = register_cvar("ze_multiplier_m4a1_damage", "2") // Multiplie Weapon Damage
  21.  
  22.     // Message IDS
  23.     g_iHudSync = CreateHudSyncObj()
  24.    
  25.     // ITEM NAME & COST
  26.     g_iItemID = ze_register_item("Frost M4A1", 30, 0) // It's cost 30 Ammo Pack
  27.    
  28.     // Events
  29.     register_event("WeapPickup", "CheckModel", "b", "1=19")
  30.     register_event("CurWeapon", "CurrentWeapon", "be", "1=1")
  31.    
  32.     // Forwards
  33.     register_forward(FM_SetModel, "Fw_SetModel")
  34.    
  35.     // HookChains
  36.     RegisterHookChain(RG_CBasePlayer_TakeDamage, "Fw_TakeDamage_Post", 1)
  37.    
  38.     // Hams
  39.     RegisterHam(Ham_TraceAttack, "player", "Fw_TraceAttack_Post", 1)
  40.     RegisterHam(Ham_TraceAttack, "worldspawn", "Fw_TraceAttack_Post", 1)
  41.     RegisterHam(Ham_Item_AddToPlayer, "weapon_m4a1", "Fw_AddFrostM4A1ToPlayer")
  42. }
  43.  
  44. public plugin_precache()
  45. {
  46.     // Models
  47.     precache_model(V_M4A1_MODEL)
  48.     precache_model(P_M4A1_MODEL)
  49.     precache_model(W_M4A1_MODEL)
  50.    
  51.     // Sprites
  52.     g_iSpriteLaser = precache_model( "sprites/Newlightning.spr")
  53. }
  54.  
  55. public client_disconnected(id)
  56. {
  57.     g_bHasFrostM4A1[id] = false
  58. }
  59.  
  60. public ze_select_item_pre(id, itemid)
  61. {
  62.     // Return Available and we will block it in Post, So it dosen't affect other plugins
  63.     if (itemid != g_iItemID)
  64.         return ZE_ITEM_AVAILABLE
  65.    
  66.     // Available for Humans only, So don't show it for zombies
  67.     if (ze_is_user_zombie(id))
  68.         return ZE_ITEM_DONT_SHOW
  69.    
  70.     return ZE_ITEM_AVAILABLE
  71. }
  72.  
  73. public ze_select_item_post(player, itemid)
  74. {
  75.     if (itemid != g_iItemID)
  76.         return
  77.  
  78.     g_bHasFrostM4A1[player] = true
  79.  
  80.     rg_remove_item(player, "weapon_m4a1")
  81.     rg_give_item(player, "weapon_m4a1", GT_APPEND)
  82.     rg_set_user_bpammo(player, WeaponIdType:get_weaponid("weapon_m4a1"), 90)
  83.    
  84.     new szName[32]
  85.     get_user_name(player, szName, charsmax(szName))
  86.    
  87.     set_hudmessage(random(255), random(255), random(255), -1.0, 0.17, 1, 0.0, 5.0, 1.0, 1.0, -1)
  88.     show_hudmessage(0, "%s Has bought Frost M4A1!", szName)
  89.    
  90.     ze_colored_print(player, "!tYou Have bought Frost M4A1!y!")
  91. }
  92.  
  93. public Fw_TraceAttack_Post(iEnt, iAttacker, Float:flDamage, Float:fDir[3], ptr, iDamageType)
  94. {
  95.     if(!is_user_alive(iAttacker) && ze_is_user_zombie(iEnt))
  96.         return
  97.    
  98.     if(get_user_weapon(iAttacker) != CSW_M4A1 || !g_bHasFrostM4A1[iAttacker])
  99.         return
  100.    
  101.     set_hudmessage(34, 138, 255, -1.0, 0.17, 1, 0.0, 2.0, 1.0, 1.0, -1)
  102.     ShowSyncHudMsg(iAttacker, g_iHudSync, "Freeze Damage^n%d/%d", g_iDmg[iAttacker], get_pcvar_num(g_iFreezeDmg))
  103.    
  104.     new vec1[3], vec2[3]
  105.     get_user_origin(iAttacker, vec1, 1)
  106.     get_user_origin(iAttacker, vec2, 4)
  107.  
  108.     make_beam(vec1, vec2, g_iSpriteLaser, 0, 50, 200, 200)
  109. }
  110.  
  111. public ze_user_infected(infected)
  112. {
  113.     if (g_bHasFrostM4A1[infected])
  114.     {
  115.         g_bHasFrostM4A1[infected] = false
  116.     }
  117. }
  118.  
  119. public ze_user_humanized(id)
  120. {
  121.     g_bHasFrostM4A1[id] = false
  122.     g_iDmg[id] = 0
  123. }
  124.  
  125. public Fw_TakeDamage_Post(iVictim, iInflictor, iAttacker, Float:fDamage, bitsDamageType)
  126. {
  127.     // Not Vaild Victim or Attacker
  128.     if (!ze_is_user_zombie(iVictim) || !is_user_connected(iAttacker))
  129.         return HC_CONTINUE
  130.    
  131.     if (g_bHasFrostM4A1[iAttacker] && (get_user_weapon(iAttacker) == CSW_M4A1))
  132.     {
  133.         SetHookChainArg(4 , ATYPE_FLOAT, fDamage * get_pcvar_num(g_iDmgMultiplier))
  134.     }
  135.    
  136.     if((get_user_weapon(iAttacker) == CSW_M4A1) && g_bHasFrostM4A1[iAttacker])
  137.     {
  138.         g_iDmg[iAttacker] += (floatround(fDamage) * get_pcvar_num(g_iDmgMultiplier))
  139.     }
  140.    
  141.     if((g_iDmg[iAttacker] >= get_pcvar_num(g_iFreezeDmg)) && (get_user_weapon(iAttacker) == CSW_M4A1) && g_bHasFrostM4A1[iAttacker])
  142.     {
  143.         new szName[32]
  144.         get_user_name(iVictim, szName, charsmax(szName))
  145.        
  146.         ze_set_frost_grenade(iVictim, true)
  147.        
  148.         g_iDmg[iAttacker] = 0
  149.        
  150.         set_dhudmessage(34, 138, 255, -1.0, 0.25, 2, 6.0, 3.0, 0.1, 1.5)
  151.         show_dhudmessage(iAttacker, "%s Has been Freezed!", szName)
  152.     }
  153.     return HC_CONTINUE
  154. }
  155.  
  156. public CheckModel(id)
  157. {
  158.     if (is_user_alive(id))
  159.     {
  160.         set_pev(id, pev_viewmodel2, V_M4A1_MODEL)
  161.         set_pev(id, pev_weaponmodel2, P_M4A1_MODEL)
  162.     }
  163.     return PLUGIN_CONTINUE
  164. }
  165.  
  166. public CurrentWeapon(id)
  167. {
  168.     if ((get_user_weapon(id) == CSW_M4A1) && g_bHasFrostM4A1[id] == true)
  169.     {
  170.         CheckModel(id)
  171.     }
  172.     else
  173.     {
  174.         ClearSyncHud(id, g_iHudSync)
  175.     }
  176.     return PLUGIN_CONTINUE
  177. }
  178.  
  179. make_beam(const origin2[3], const origin[3], sprite, red, green, blue, alpha)
  180. {
  181.     //BEAMENTPOINTS
  182.     message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
  183.     write_byte (0) //TE_BEAMENTPOINTS 0
  184.     write_coord(origin2[0])
  185.     write_coord(origin2[1])
  186.     write_coord(origin2[2])
  187.     write_coord(origin[0])
  188.     write_coord(origin[1])
  189.     write_coord(origin[2])
  190.     write_short(sprite) // sprite
  191.     write_byte(1) // framestart
  192.     write_byte(5) // framerate
  193.     write_byte(2) // life
  194.     write_byte(20) // width
  195.     write_byte(0) // noise
  196.     write_byte(red) // r, g, b
  197.     write_byte(green) // r, g, b
  198.     write_byte(blue) // r, g, b
  199.     write_byte(alpha) // brightness
  200.     write_byte(150) // speed
  201.     message_end()
  202. }
  203.  
  204. public Fw_SetModel(entity, model[])
  205. {
  206.    
  207.     if(!is_valid_ent(entity))
  208.         return FMRES_IGNORED
  209.  
  210.     if(!equali(model, W_OLD_M4A1_MODEL))
  211.         return FMRES_IGNORED
  212.  
  213.     new className[33]
  214.     entity_get_string(entity, EV_SZ_classname, className, 32)
  215.  
  216.     static iOwner, iStoredM4A1ID
  217.  
  218.     // Frost M4A1 Owner
  219.     iOwner = entity_get_edict(entity, EV_ENT_owner)
  220.  
  221.     // Get drop weapon index (Frost M4A1) to use in fw_FrostM4A1AddToPlayer forward
  222.     iStoredM4A1ID = find_ent_by_owner(-1, "weapon_m4a1", entity)
  223.  
  224.     // If Player Has Frost M4A1 and It's weapon_m4a1
  225.     if(g_bHasFrostM4A1[iOwner] && is_valid_ent(iStoredM4A1ID))
  226.     {
  227.         // Setting weapon options
  228.         entity_set_int(iStoredM4A1ID, EV_INT_impulse, 1997)
  229.  
  230.         // Rest Var
  231.         g_bHasFrostM4A1[iOwner] = false
  232.        
  233.         // Set weaponbox new model
  234.         entity_set_model(entity, W_M4A1_MODEL)
  235.         return FMRES_SUPERCEDE
  236.     }
  237.     return FMRES_IGNORED
  238. }
  239.  
  240. public Fw_AddFrostM4A1ToPlayer(FrostM4A1, id)
  241. {
  242.     // Make sure that this is M4A1
  243.     if(is_valid_ent(FrostM4A1) && is_user_connected(id) && entity_get_int(FrostM4A1, EV_INT_impulse) == 1997)
  244.     {
  245.         // Update Var
  246.         g_bHasFrostM4A1[id] = true
  247.  
  248.         // Reset weapon options
  249.         entity_set_int(FrostM4A1, EV_INT_impulse, 0)
  250.         return HAM_HANDLED
  251.     }
  252.     return HAM_IGNORED
  253. }
this code is freezing humans too also counting breakables dmg so here's the fix
this one hh
Image

Post Reply

Create an account or sign in to join the discussion

You need to be a member in order to post a reply

Create an account

Not a member? register to join our community
Members can start their own topics & subscribe to topics
It’s free and only takes a minute

Register

Sign in

Who is online

Users browsing this forum: No registered users and 3 guests