Hey,
is it possible to make VIP Extra items menu ?? , i need help how to make it and add items in it for free.
VIP Extra Items Menu
Hello,
Here is an example:
Here is an example:
- #include <zombie_escape>
- native OpenVIPExtraItemsMenu(id)
- native GiveThanatos7(id)
- public plugin_natives()
- {
- register_native("OpenVIPExtraItemsMenu", "_OpenVIPExtraItemsMenu", 1)
- }
- public plugin_init()
- {
- register_plugin("VIP Extra Item", "1.0", "Raheem")
- register_clcmd("say /test", "test")
- }
- public test(id)
- {
- OpenVIPExtraItemsMenu(id)
- }
- public _OpenVIPExtraItemsMenu(id)
- {
- new iVIPExtraItemsMenu = menu_create("VIP Extra-Items Menu", "VIPExtraItemsMenuHandler")
- // Add any extra item name
- menu_additem(iVIPExtraItemsMenu, "Thanatos-7", "", 0)
- // Show the menu
- menu_display(id, DonateMenu, 0)
- return PLUGIN_HANDLED
- }
- public VIPExtraItemsMenuHandler(id, menu, item)
- {
- switch (item)
- {
- case 0:
- {
- if (ze_get_vip_flags(id) & VIP_A)
- {
- GiveThanatos7(id)
- }
- else
- {
- client_print_color(id, print_team_default, "^1[^4VIP Extra-Items Menu^1] ^3Sorry you don't have access^1!")
- }
- }
- }
- menu_destroy(menu)
- return PLUGIN_HANDLED
- }
He who fails to plan is planning to fail
Ty, but how do i create natives for extra items plugins u guys have here ? so i can add it to this menu
For example Frost M4A1, first remove code that make it extra item so it will be like:
- #include <zombie_escape>
- new const V_M4A1_MODEL[] = "models/zombie_escape/v_frost_m4a1.mdl"
- new const P_M4A1_MODEL[] = "models/zombie_escape/p_frost_m4a1.mdl"
- new const W_M4A1_MODEL[] = "models/zombie_escape/w_frost_m4a1.mdl"
- new const W_OLD_M4A1_MODEL[] = "models/w_m4a1.mdl"
- new /*g_iItemID,*/ g_iHudSync, g_iSpriteLaser, g_iFreezeDmg, g_iDmgMultiplier
- new bool:g_bHasFrostM4A1[33]
- new g_iDmg[33]
- public plugin_init()
- {
- register_plugin("[ZE] Extra Item: Frost M4A1", "1.0", "Raheem")
- // Cvars
- g_iFreezeDmg = register_cvar("ze_freezing_m4a1_damage", "2000") // Damage Requried So Zombie got Frozen
- g_iDmgMultiplier = register_cvar("ze_multiplier_m4a1_damage", "2") // Multiplie Weapon Damage
- // Message IDS
- g_iHudSync = CreateHudSyncObj()
- // ITEM NAME & COST
- // g_iItemID = ze_register_item("Frost M4A1", 30, 0) // It's cost 30 Ammo Pack
- // Events
- register_event("WeapPickup", "CheckModel", "b", "1=19")
- register_event("CurWeapon", "CurrentWeapon", "be", "1=1")
- // Forwards
- register_forward(FM_SetModel, "Fw_SetModel")
- // HookChains
- RegisterHookChain(RG_CBasePlayer_TakeDamage, "Fw_TakeDamage_Post", 1)
- // Hams
- RegisterHam(Ham_TraceAttack, "player", "Fw_TraceAttack_Post", 1)
- RegisterHam(Ham_TraceAttack, "worldspawn", "Fw_TraceAttack_Post", 1)
- RegisterHam(Ham_Item_AddToPlayer, "weapon_m4a1", "Fw_AddFrostM4A1ToPlayer")
- }
- public plugin_precache()
- {
- // Models
- precache_model(V_M4A1_MODEL)
- precache_model(P_M4A1_MODEL)
- precache_model(W_M4A1_MODEL)
- // Sprites
- g_iSpriteLaser = precache_model( "sprites/Newlightning.spr")
- }
- public client_disconnected(id)
- {
- g_bHasFrostM4A1[id] = false
- }
- /*public ze_select_item_pre(id, itemid)
- {
- // Return Available and we will block it in Post, So it dosen't affect other plugins
- if (itemid != g_iItemID)
- return ZE_ITEM_AVAILABLE
- // Available for Humans only, So don't show it for zombies
- if (ze_is_user_zombie(id))
- return ZE_ITEM_DONT_SHOW
- return ZE_ITEM_AVAILABLE
- }
- public ze_select_item_post(player, itemid)
- {
- if (itemid != g_iItemID)
- return
- g_bHasFrostM4A1[player] = true
- rg_remove_item(player, "weapon_m4a1")
- rg_give_item(player, "weapon_m4a1", GT_APPEND)
- rg_set_user_bpammo(player, WeaponIdType:get_weaponid("weapon_m4a1"), 90)
- new szName[32]
- get_user_name(player, szName, charsmax(szName))
- set_hudmessage(random(255), random(255), random(255), -1.0, 0.17, 1, 0.0, 5.0, 1.0, 1.0, -1)
- show_hudmessage(0, "%s Has bought Frost M4A1!", szName)
- ze_colored_print(player, "!tYou Have bought Frost M4A1!y!")
- }*/
- public Fw_TraceAttack_Post(iEnt, iAttacker, Float:flDamage, Float:fDir[3], ptr, iDamageType)
- {
- if(!is_user_alive(iAttacker))
- return
- if(get_user_weapon(iAttacker) != CSW_M4A1 || !g_bHasFrostM4A1[iAttacker])
- return
- set_hudmessage(34, 138, 255, -1.0, 0.17, 1, 0.0, 2.0, 1.0, 1.0, -1)
- ShowSyncHudMsg(iAttacker, g_iHudSync, "Freeze Damage^n%d/%d", g_iDmg[iAttacker], get_pcvar_num(g_iFreezeDmg))
- new vec1[3], vec2[3]
- get_user_origin(iAttacker, vec1, 1)
- get_user_origin(iAttacker, vec2, 4)
- make_beam(vec1, vec2, g_iSpriteLaser, 0, 50, 200, 200)
- }
- public ze_user_infected(infected)
- {
- if (g_bHasFrostM4A1[infected])
- {
- g_bHasFrostM4A1[infected] = false
- }
- }
- public ze_user_humanized(id)
- {
- g_bHasFrostM4A1[id] = false
- g_iDmg[id] = 0
- }
- public Fw_TakeDamage_Post(iVictim, iInflictor, iAttacker, Float:fDamage, bitsDamageType)
- {
- // Not Vaild Victim or Attacker
- if (!is_user_connected(iVictim) || !is_user_connected(iAttacker))
- return HC_CONTINUE
- if (g_bHasFrostM4A1[iAttacker] && (get_user_weapon(iAttacker) == CSW_M4A1))
- {
- SetHookChainArg(4 , ATYPE_FLOAT, fDamage * get_pcvar_num(g_iDmgMultiplier))
- }
- if((get_user_weapon(iAttacker) == CSW_M4A1) && g_bHasFrostM4A1[iAttacker])
- {
- g_iDmg[iAttacker] += (floatround(fDamage) * get_pcvar_num(g_iDmgMultiplier))
- }
- if((g_iDmg[iAttacker] >= get_pcvar_num(g_iFreezeDmg)) && (get_user_weapon(iAttacker) == CSW_M4A1) && g_bHasFrostM4A1[iAttacker])
- {
- new szName[32]
- get_user_name(iVictim, szName, charsmax(szName))
- ze_set_frost_grenade(iVictim, true)
- g_iDmg[iAttacker] = 0
- set_dhudmessage(34, 138, 255, -1.0, 0.25, 2, 6.0, 3.0, 0.1, 1.5)
- show_dhudmessage(iAttacker, "%s Has been Freezed!", szName)
- }
- return HC_CONTINUE
- }
- public CheckModel(id)
- {
- if (is_user_alive(id))
- {
- set_pev(id, pev_viewmodel2, V_M4A1_MODEL)
- set_pev(id, pev_weaponmodel2, P_M4A1_MODEL)
- }
- return PLUGIN_CONTINUE
- }
- public CurrentWeapon(id)
- {
- if ((get_user_weapon(id) == CSW_M4A1) && g_bHasFrostM4A1[id] == true)
- {
- CheckModel(id)
- }
- else
- {
- ClearSyncHud(id, g_iHudSync)
- }
- return PLUGIN_CONTINUE
- }
- make_beam(const origin2[3], const origin[3], sprite, red, green, blue, alpha)
- {
- //BEAMENTPOINTS
- message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
- write_byte (0) //TE_BEAMENTPOINTS 0
- write_coord(origin2[0])
- write_coord(origin2[1])
- write_coord(origin2[2])
- write_coord(origin[0])
- write_coord(origin[1])
- write_coord(origin[2])
- write_short(sprite) // sprite
- write_byte(1) // framestart
- write_byte(5) // framerate
- write_byte(2) // life
- write_byte(20) // width
- write_byte(0) // noise
- write_byte(red) // r, g, b
- write_byte(green) // r, g, b
- write_byte(blue) // r, g, b
- write_byte(alpha) // brightness
- write_byte(150) // speed
- message_end()
- }
- public Fw_SetModel(entity, model[])
- {
- if(!is_valid_ent(entity))
- return FMRES_IGNORED
- if(!equali(model, W_OLD_M4A1_MODEL))
- return FMRES_IGNORED
- new className[33]
- entity_get_string(entity, EV_SZ_classname, className, 32)
- static iOwner, iStoredM4A1ID
- // Frost M4A1 Owner
- iOwner = entity_get_edict(entity, EV_ENT_owner)
- // Get drop weapon index (Frost M4A1) to use in fw_FrostM4A1AddToPlayer forward
- iStoredM4A1ID = find_ent_by_owner(-1, "weapon_m4a1", entity)
- // If Player Has Frost M4A1 and It's weapon_m4a1
- if(g_bHasFrostM4A1[iOwner] && is_valid_ent(iStoredM4A1ID))
- {
- // Setting weapon options
- entity_set_int(iStoredM4A1ID, EV_INT_impulse, 1997)
- // Rest Var
- g_bHasFrostM4A1[iOwner] = false
- // Set weaponbox new model
- entity_set_model(entity, W_M4A1_MODEL)
- return FMRES_SUPERCEDE
- }
- return FMRES_IGNORED
- }
- public Fw_AddFrostM4A1ToPlayer(FrostM4A1, id)
- {
- // Make sure that this is M4A1
- if(is_valid_ent(FrostM4A1) && is_user_connected(id) && entity_get_int(FrostM4A1, EV_INT_impulse) == 1997)
- {
- // Update Var
- g_bHasFrostM4A1[id] = true
- // Reset weapon options
- entity_set_int(FrostM4A1, EV_INT_impulse, 0)
- return HAM_HANDLED
- }
- return HAM_IGNORED
- }
- public plugin_natives()
- {
- register_native("GiveFrostM4A1", "_GiveFrostM4A1", 1)
- }
- #include <zombie_escape>
- new const V_M4A1_MODEL[] = "models/zombie_escape/v_frost_m4a1.mdl"
- new const P_M4A1_MODEL[] = "models/zombie_escape/p_frost_m4a1.mdl"
- new const W_M4A1_MODEL[] = "models/zombie_escape/w_frost_m4a1.mdl"
- new const W_OLD_M4A1_MODEL[] = "models/w_m4a1.mdl"
- new /*g_iItemID,*/ g_iHudSync, g_iSpriteLaser, g_iFreezeDmg, g_iDmgMultiplier
- new bool:g_bHasFrostM4A1[33]
- new g_iDmg[33]
- public plugin_natives()
- {
- register_native("GiveFrostM4A1", "_GiveFrostM4A1", 1)
- }
- public plugin_init()
- {
- register_plugin("[ZE] Extra Item: Frost M4A1", "1.0", "Raheem")
- // Cvars
- g_iFreezeDmg = register_cvar("ze_freezing_m4a1_damage", "2000") // Damage Requried So Zombie got Frozen
- g_iDmgMultiplier = register_cvar("ze_multiplier_m4a1_damage", "2") // Multiplie Weapon Damage
- // Message IDS
- g_iHudSync = CreateHudSyncObj()
- // ITEM NAME & COST
- // g_iItemID = ze_register_item("Frost M4A1", 30, 0) // It's cost 30 Ammo Pack
- // Events
- register_event("WeapPickup", "CheckModel", "b", "1=19")
- register_event("CurWeapon", "CurrentWeapon", "be", "1=1")
- // Forwards
- register_forward(FM_SetModel, "Fw_SetModel")
- // HookChains
- RegisterHookChain(RG_CBasePlayer_TakeDamage, "Fw_TakeDamage_Post", 1)
- // Hams
- RegisterHam(Ham_TraceAttack, "player", "Fw_TraceAttack_Post", 1)
- RegisterHam(Ham_TraceAttack, "worldspawn", "Fw_TraceAttack_Post", 1)
- RegisterHam(Ham_Item_AddToPlayer, "weapon_m4a1", "Fw_AddFrostM4A1ToPlayer")
- }
- public plugin_precache()
- {
- // Models
- precache_model(V_M4A1_MODEL)
- precache_model(P_M4A1_MODEL)
- precache_model(W_M4A1_MODEL)
- // Sprites
- g_iSpriteLaser = precache_model( "sprites/Newlightning.spr")
- }
- public client_disconnected(id)
- {
- g_bHasFrostM4A1[id] = false
- }
- /*public ze_select_item_pre(id, itemid)
- {
- // Return Available and we will block it in Post, So it dosen't affect other plugins
- if (itemid != g_iItemID)
- return ZE_ITEM_AVAILABLE
- // Available for Humans only, So don't show it for zombies
- if (ze_is_user_zombie(id))
- return ZE_ITEM_DONT_SHOW
- return ZE_ITEM_AVAILABLE
- }
- public ze_select_item_post(player, itemid)
- {
- if (itemid != g_iItemID)
- return
- g_bHasFrostM4A1[player] = true
- rg_remove_item(player, "weapon_m4a1")
- rg_give_item(player, "weapon_m4a1", GT_APPEND)
- rg_set_user_bpammo(player, WeaponIdType:get_weaponid("weapon_m4a1"), 90)
- new szName[32]
- get_user_name(player, szName, charsmax(szName))
- set_hudmessage(random(255), random(255), random(255), -1.0, 0.17, 1, 0.0, 5.0, 1.0, 1.0, -1)
- show_hudmessage(0, "%s Has bought Frost M4A1!", szName)
- ze_colored_print(player, "!tYou Have bought Frost M4A1!y!")
- }*/
- public Fw_TraceAttack_Post(iEnt, iAttacker, Float:flDamage, Float:fDir[3], ptr, iDamageType)
- {
- if(!is_user_alive(iAttacker))
- return
- if(get_user_weapon(iAttacker) != CSW_M4A1 || !g_bHasFrostM4A1[iAttacker])
- return
- set_hudmessage(34, 138, 255, -1.0, 0.17, 1, 0.0, 2.0, 1.0, 1.0, -1)
- ShowSyncHudMsg(iAttacker, g_iHudSync, "Freeze Damage^n%d/%d", g_iDmg[iAttacker], get_pcvar_num(g_iFreezeDmg))
- new vec1[3], vec2[3]
- get_user_origin(iAttacker, vec1, 1)
- get_user_origin(iAttacker, vec2, 4)
- make_beam(vec1, vec2, g_iSpriteLaser, 0, 50, 200, 200)
- }
- public ze_user_infected(infected)
- {
- if (g_bHasFrostM4A1[infected])
- {
- g_bHasFrostM4A1[infected] = false
- }
- }
- public ze_user_humanized(id)
- {
- g_bHasFrostM4A1[id] = false
- g_iDmg[id] = 0
- }
- public Fw_TakeDamage_Post(iVictim, iInflictor, iAttacker, Float:fDamage, bitsDamageType)
- {
- // Not Vaild Victim or Attacker
- if (!is_user_connected(iVictim) || !is_user_connected(iAttacker))
- return HC_CONTINUE
- if (g_bHasFrostM4A1[iAttacker] && (get_user_weapon(iAttacker) == CSW_M4A1))
- {
- SetHookChainArg(4 , ATYPE_FLOAT, fDamage * get_pcvar_num(g_iDmgMultiplier))
- }
- if((get_user_weapon(iAttacker) == CSW_M4A1) && g_bHasFrostM4A1[iAttacker])
- {
- g_iDmg[iAttacker] += (floatround(fDamage) * get_pcvar_num(g_iDmgMultiplier))
- }
- if((g_iDmg[iAttacker] >= get_pcvar_num(g_iFreezeDmg)) && (get_user_weapon(iAttacker) == CSW_M4A1) && g_bHasFrostM4A1[iAttacker])
- {
- new szName[32]
- get_user_name(iVictim, szName, charsmax(szName))
- ze_set_frost_grenade(iVictim, true)
- g_iDmg[iAttacker] = 0
- set_dhudmessage(34, 138, 255, -1.0, 0.25, 2, 6.0, 3.0, 0.1, 1.5)
- show_dhudmessage(iAttacker, "%s Has been Freezed!", szName)
- }
- return HC_CONTINUE
- }
- public CheckModel(id)
- {
- if (is_user_alive(id))
- {
- set_pev(id, pev_viewmodel2, V_M4A1_MODEL)
- set_pev(id, pev_weaponmodel2, P_M4A1_MODEL)
- }
- return PLUGIN_CONTINUE
- }
- public CurrentWeapon(id)
- {
- if ((get_user_weapon(id) == CSW_M4A1) && g_bHasFrostM4A1[id] == true)
- {
- CheckModel(id)
- }
- else
- {
- ClearSyncHud(id, g_iHudSync)
- }
- return PLUGIN_CONTINUE
- }
- make_beam(const origin2[3], const origin[3], sprite, red, green, blue, alpha)
- {
- //BEAMENTPOINTS
- message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
- write_byte (0) //TE_BEAMENTPOINTS 0
- write_coord(origin2[0])
- write_coord(origin2[1])
- write_coord(origin2[2])
- write_coord(origin[0])
- write_coord(origin[1])
- write_coord(origin[2])
- write_short(sprite) // sprite
- write_byte(1) // framestart
- write_byte(5) // framerate
- write_byte(2) // life
- write_byte(20) // width
- write_byte(0) // noise
- write_byte(red) // r, g, b
- write_byte(green) // r, g, b
- write_byte(blue) // r, g, b
- write_byte(alpha) // brightness
- write_byte(150) // speed
- message_end()
- }
- public Fw_SetModel(entity, model[])
- {
- if(!is_valid_ent(entity))
- return FMRES_IGNORED
- if(!equali(model, W_OLD_M4A1_MODEL))
- return FMRES_IGNORED
- new className[33]
- entity_get_string(entity, EV_SZ_classname, className, 32)
- static iOwner, iStoredM4A1ID
- // Frost M4A1 Owner
- iOwner = entity_get_edict(entity, EV_ENT_owner)
- // Get drop weapon index (Frost M4A1) to use in fw_FrostM4A1AddToPlayer forward
- iStoredM4A1ID = find_ent_by_owner(-1, "weapon_m4a1", entity)
- // If Player Has Frost M4A1 and It's weapon_m4a1
- if(g_bHasFrostM4A1[iOwner] && is_valid_ent(iStoredM4A1ID))
- {
- // Setting weapon options
- entity_set_int(iStoredM4A1ID, EV_INT_impulse, 1997)
- // Rest Var
- g_bHasFrostM4A1[iOwner] = false
- // Set weaponbox new model
- entity_set_model(entity, W_M4A1_MODEL)
- return FMRES_SUPERCEDE
- }
- return FMRES_IGNORED
- }
- public Fw_AddFrostM4A1ToPlayer(FrostM4A1, id)
- {
- // Make sure that this is M4A1
- if(is_valid_ent(FrostM4A1) && is_user_connected(id) && entity_get_int(FrostM4A1, EV_INT_impulse) == 1997)
- {
- // Update Var
- g_bHasFrostM4A1[id] = true
- // Reset weapon options
- entity_set_int(FrostM4A1, EV_INT_impulse, 0)
- return HAM_HANDLED
- }
- return HAM_IGNORED
- }
- public _GiveFrostM4A1(id)
- {
- g_bHasFrostM4A1[player] = true
- rg_remove_item(player, "weapon_m4a1")
- rg_give_item(player, "weapon_m4a1", GT_APPEND)
- rg_set_user_bpammo(player, WeaponIdType:get_weaponid("weapon_m4a1"), 90)
- new szName[32]
- get_user_name(player, szName, charsmax(szName))
- set_hudmessage(random(255), random(255), random(255), -1.0, 0.17, 1, 0.0, 5.0, 1.0, 1.0, -1)
- show_hudmessage(0, "%s Has bought Frost M4A1!", szName)
- ze_colored_print(player, "!tYou Have bought Frost M4A1!y!")
- }
- #include <zombie_escape>
- new const V_M4A1_MODEL[] = "models/zombie_escape/v_frost_m4a1.mdl"
- new const P_M4A1_MODEL[] = "models/zombie_escape/p_frost_m4a1.mdl"
- new const W_M4A1_MODEL[] = "models/zombie_escape/w_frost_m4a1.mdl"
- new const W_OLD_M4A1_MODEL[] = "models/w_m4a1.mdl"
- new /*g_iItemID,*/ g_iHudSync, g_iSpriteLaser, g_iFreezeDmg, g_iDmgMultiplier
- new bool:g_bHasFrostM4A1[33]
- new g_iDmg[33]
- public plugin_natives()
- {
- register_native("GiveFrostM4A1", "_GiveFrostM4A1", 1)
- }
- public plugin_init()
- {
- register_plugin("[ZE] Extra Item: Frost M4A1", "1.0", "Raheem")
- // Cvars
- g_iFreezeDmg = register_cvar("ze_freezing_m4a1_damage", "2000") // Damage Requried So Zombie got Frozen
- g_iDmgMultiplier = register_cvar("ze_multiplier_m4a1_damage", "2") // Multiplie Weapon Damage
- // Message IDS
- g_iHudSync = CreateHudSyncObj()
- // ITEM NAME & COST
- // g_iItemID = ze_register_item("Frost M4A1", 30, 0) // It's cost 30 Ammo Pack
- // Events
- register_event("WeapPickup", "CheckModel", "b", "1=19")
- register_event("CurWeapon", "CurrentWeapon", "be", "1=1")
- // Forwards
- register_forward(FM_SetModel, "Fw_SetModel")
- // HookChains
- RegisterHookChain(RG_CBasePlayer_TakeDamage, "Fw_TakeDamage_Post", 1)
- // Hams
- RegisterHam(Ham_TraceAttack, "player", "Fw_TraceAttack_Post", 1)
- RegisterHam(Ham_TraceAttack, "worldspawn", "Fw_TraceAttack_Post", 1)
- RegisterHam(Ham_Item_AddToPlayer, "weapon_m4a1", "Fw_AddFrostM4A1ToPlayer")
- }
- public plugin_precache()
- {
- // Models
- precache_model(V_M4A1_MODEL)
- precache_model(P_M4A1_MODEL)
- precache_model(W_M4A1_MODEL)
- // Sprites
- g_iSpriteLaser = precache_model( "sprites/Newlightning.spr")
- }
- public client_disconnected(id)
- {
- g_bHasFrostM4A1[id] = false
- }
- /*public ze_select_item_pre(id, itemid)
- {
- // Return Available and we will block it in Post, So it dosen't affect other plugins
- if (itemid != g_iItemID)
- return ZE_ITEM_AVAILABLE
- // Available for Humans only, So don't show it for zombies
- if (ze_is_user_zombie(id))
- return ZE_ITEM_DONT_SHOW
- return ZE_ITEM_AVAILABLE
- }
- public ze_select_item_post(player, itemid)
- {
- if (itemid != g_iItemID)
- return
- g_bHasFrostM4A1[player] = true
- rg_remove_item(player, "weapon_m4a1")
- rg_give_item(player, "weapon_m4a1", GT_APPEND)
- rg_set_user_bpammo(player, WeaponIdType:get_weaponid("weapon_m4a1"), 90)
- new szName[32]
- get_user_name(player, szName, charsmax(szName))
- set_hudmessage(random(255), random(255), random(255), -1.0, 0.17, 1, 0.0, 5.0, 1.0, 1.0, -1)
- show_hudmessage(0, "%s Has bought Frost M4A1!", szName)
- ze_colored_print(player, "!tYou Have bought Frost M4A1!y!")
- }*/
- public _GiveFrostM4A1(id)
- {
- g_bHasFrostM4A1[player] = true
- rg_remove_item(player, "weapon_m4a1")
- rg_give_item(player, "weapon_m4a1", GT_APPEND)
- rg_set_user_bpammo(player, WeaponIdType:get_weaponid("weapon_m4a1"), 90)
- new szName[32]
- get_user_name(player, szName, charsmax(szName))
- set_hudmessage(random(255), random(255), random(255), -1.0, 0.17, 1, 0.0, 5.0, 1.0, 1.0, -1)
- show_hudmessage(0, "%s Has bought Frost M4A1!", szName)
- ze_colored_print(player, "!tYou Have bought Frost M4A1!y!")
- }
- public Fw_TraceAttack_Post(iEnt, iAttacker, Float:flDamage, Float:fDir[3], ptr, iDamageType)
- {
- if(!is_user_alive(iAttacker))
- return
- if(get_user_weapon(iAttacker) != CSW_M4A1 || !g_bHasFrostM4A1[iAttacker])
- return
- set_hudmessage(34, 138, 255, -1.0, 0.17, 1, 0.0, 2.0, 1.0, 1.0, -1)
- ShowSyncHudMsg(iAttacker, g_iHudSync, "Freeze Damage^n%d/%d", g_iDmg[iAttacker], get_pcvar_num(g_iFreezeDmg))
- new vec1[3], vec2[3]
- get_user_origin(iAttacker, vec1, 1)
- get_user_origin(iAttacker, vec2, 4)
- make_beam(vec1, vec2, g_iSpriteLaser, 0, 50, 200, 200)
- }
- public ze_user_infected(infected)
- {
- if (g_bHasFrostM4A1[infected])
- {
- g_bHasFrostM4A1[infected] = false
- }
- }
- public ze_user_humanized(id)
- {
- g_bHasFrostM4A1[id] = false
- g_iDmg[id] = 0
- }
- public Fw_TakeDamage_Post(iVictim, iInflictor, iAttacker, Float:fDamage, bitsDamageType)
- {
- // Not Vaild Victim or Attacker
- if (!is_user_connected(iVictim) || !is_user_connected(iAttacker))
- return HC_CONTINUE
- if (g_bHasFrostM4A1[iAttacker] && (get_user_weapon(iAttacker) == CSW_M4A1))
- {
- SetHookChainArg(4 , ATYPE_FLOAT, fDamage * get_pcvar_num(g_iDmgMultiplier))
- }
- if((get_user_weapon(iAttacker) == CSW_M4A1) && g_bHasFrostM4A1[iAttacker])
- {
- g_iDmg[iAttacker] += (floatround(fDamage) * get_pcvar_num(g_iDmgMultiplier))
- }
- if((g_iDmg[iAttacker] >= get_pcvar_num(g_iFreezeDmg)) && (get_user_weapon(iAttacker) == CSW_M4A1) && g_bHasFrostM4A1[iAttacker])
- {
- new szName[32]
- get_user_name(iVictim, szName, charsmax(szName))
- ze_set_frost_grenade(iVictim, true)
- g_iDmg[iAttacker] = 0
- set_dhudmessage(34, 138, 255, -1.0, 0.25, 2, 6.0, 3.0, 0.1, 1.5)
- show_dhudmessage(iAttacker, "%s Has been Freezed!", szName)
- }
- return HC_CONTINUE
- }
- public CheckModel(id)
- {
- if (is_user_alive(id))
- {
- set_pev(id, pev_viewmodel2, V_M4A1_MODEL)
- set_pev(id, pev_weaponmodel2, P_M4A1_MODEL)
- }
- return PLUGIN_CONTINUE
- }
- public CurrentWeapon(id)
- {
- if ((get_user_weapon(id) == CSW_M4A1) && g_bHasFrostM4A1[id] == true)
- {
- CheckModel(id)
- }
- else
- {
- ClearSyncHud(id, g_iHudSync)
- }
- return PLUGIN_CONTINUE
- }
- make_beam(const origin2[3], const origin[3], sprite, red, green, blue, alpha)
- {
- //BEAMENTPOINTS
- message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
- write_byte (0) //TE_BEAMENTPOINTS 0
- write_coord(origin2[0])
- write_coord(origin2[1])
- write_coord(origin2[2])
- write_coord(origin[0])
- write_coord(origin[1])
- write_coord(origin[2])
- write_short(sprite) // sprite
- write_byte(1) // framestart
- write_byte(5) // framerate
- write_byte(2) // life
- write_byte(20) // width
- write_byte(0) // noise
- write_byte(red) // r, g, b
- write_byte(green) // r, g, b
- write_byte(blue) // r, g, b
- write_byte(alpha) // brightness
- write_byte(150) // speed
- message_end()
- }
- public Fw_SetModel(entity, model[])
- {
- if(!is_valid_ent(entity))
- return FMRES_IGNORED
- if(!equali(model, W_OLD_M4A1_MODEL))
- return FMRES_IGNORED
- new className[33]
- entity_get_string(entity, EV_SZ_classname, className, 32)
- static iOwner, iStoredM4A1ID
- // Frost M4A1 Owner
- iOwner = entity_get_edict(entity, EV_ENT_owner)
- // Get drop weapon index (Frost M4A1) to use in fw_FrostM4A1AddToPlayer forward
- iStoredM4A1ID = find_ent_by_owner(-1, "weapon_m4a1", entity)
- // If Player Has Frost M4A1 and It's weapon_m4a1
- if(g_bHasFrostM4A1[iOwner] && is_valid_ent(iStoredM4A1ID))
- {
- // Setting weapon options
- entity_set_int(iStoredM4A1ID, EV_INT_impulse, 1997)
- // Rest Var
- g_bHasFrostM4A1[iOwner] = false
- // Set weaponbox new model
- entity_set_model(entity, W_M4A1_MODEL)
- return FMRES_SUPERCEDE
- }
- return FMRES_IGNORED
- }
- public Fw_AddFrostM4A1ToPlayer(FrostM4A1, id)
- {
- // Make sure that this is M4A1
- if(is_valid_ent(FrostM4A1) && is_user_connected(id) && entity_get_int(FrostM4A1, EV_INT_impulse) == 1997)
- {
- // Update Var
- g_bHasFrostM4A1[id] = true
- // Reset weapon options
- entity_set_int(FrostM4A1, EV_INT_impulse, 0)
- return HAM_HANDLED
- }
- return HAM_IGNORED
- }
- native GiveFrostM4A1(id)
He who fails to plan is planning to fail
Thx bro , now i can start working on it )
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
Sign in
Who is online
Users browsing this forum: No registered users and 4 guests