Knife Menu With Lvl
Posted: 26 Nov 2020, 14:43
Any one can make this knife level in menu not auto ??
- #include <zombie_escape>
- #include <ze_levels>
- // Models
- new const g_szKnife1[][] =
- {
- "models/dg/v_knife_griff.mdl",
- "models/dg/p_knife_griff1.mdl"
- }
- new const g_szKnife2[][] =
- {
- "models/dg/v_flip_t.mdl",
- "models/dg/p_flip_t.mdl"
- }
- new const g_szKnife3[][] =
- {
- "models/dg/v_butterfly_knife.mdl",
- "models/dg/p_butterfly_knife.mdl"
- }
- new const g_szKnife4[][] =
- {
- "models/dg/v_bayonet.mdl",
- "models/dg/p_bayonet.mdl"
- }
- new const g_szKnife5[][] =
- {
- "models/dg/v_knife_karambit.mdl",
- "models/dg/p_knife_karambit.mdl"
- }
- new const g_szKnife6[][] =
- {
- "models/dg/v_knife_karambit.mdl",
- "models/dg/p_knife_karambit.mdl"
- }
- new const g_szKnife7[][] =
- {
- "models/dg/v_knifew.mdl",
- "models/dg/p_knifew.mdl"
- }
- new const g_szKnife8[][] =
- {
- "models/dg/v_knifew.mdl",
- "models/dg/p_knifew.mdl"
- }
- // Sounds
- new const g_szKnife1Sounds[][] =
- {
- "weapons/knife_deploy1.wav",
- "weapons/knife_hit1.wav",
- "weapons/knife_hit2.wav",
- "weapons/knife_hit3.wav",
- "weapons/knife_hit4.wav",
- "weapons/knife_hitwall1.wav",
- "weapons/knife_slash1.wav",
- "weapons/knife_slash2.wav",
- "weapons/knife_stab.wav"
- }
- new const g_szKnife2Sounds[][] =
- {
- "weapons/knife_deploy1.wav",
- "weapons/knife_hit1.wav",
- "weapons/knife_hit2.wav",
- "weapons/knife_hit3.wav",
- "weapons/knife_hit4.wav",
- "weapons/knife_hitwall1.wav",
- "weapons/knife_slash1.wav",
- "weapons/knife_slash2.wav",
- "weapons/knife_stab.wav"
- }
- new const g_szKnife3Sounds[][] =
- {
- "weapons/knife_deploy1.wav",
- "weapons/knife_hit1.wav",
- "weapons/knife_hit2.wav",
- "weapons/knife_hit3.wav",
- "weapons/knife_hit4.wav",
- "weapons/knife_hitwall1.wav",
- "weapons/knife_slash1.wav",
- "weapons/knife_slash2.wav",
- "weapons/knife_stab.wav"
- }
- new const g_szKnife4Sounds[][] =
- {
- "weapons/knife_deploy1.wav",
- "weapons/knife_hit1.wav",
- "weapons/knife_hit2.wav",
- "weapons/knife_hit3.wav",
- "weapons/knife_hit4.wav",
- "weapons/knife_hitwall1.wav",
- "weapons/knife_slash1.wav",
- "weapons/knife_slash2.wav",
- "weapons/knife_stab.wav"
- }
- new const g_szKnife5Sounds[][] =
- {
- "weapons/knife_deploy1.wav",
- "weapons/knife_hit1.wav",
- "weapons/knife_hit2.wav",
- "weapons/knife_hit3.wav",
- "weapons/knife_hit4.wav",
- "weapons/knife_hitwall1.wav",
- "weapons/knife_slash1.wav",
- "weapons/knife_slash2.wav",
- "weapons/knife_stab.wav"
- }
- new const g_szKnife6Sounds[][] =
- {
- "weapons/knife_deploy1.wav",
- "weapons/knife_hit1.wav",
- "weapons/knife_hit2.wav",
- "weapons/knife_hit3.wav",
- "weapons/knife_hit4.wav",
- "weapons/knife_hitwall1.wav",
- "weapons/knife_slash1.wav",
- "weapons/knife_slash2.wav",
- "weapons/knife_stab.wav"
- }
- new const g_szKnife7Sounds[][] =
- {
- "weapons/knife_deploy1.wav",
- "weapons/knife_hit1.wav",
- "weapons/knife_hit2.wav",
- "weapons/knife_hit3.wav",
- "weapons/knife_hit4.wav",
- "weapons/knife_hitwall1.wav",
- "weapons/knife_slash1.wav",
- "weapons/knife_slash2.wav",
- "weapons/knife_stab.wav"
- }
- new const g_szKnife8Sounds[][] =
- {
- "weapons/knife_deploy1.wav",
- "weapons/knife_hit1.wav",
- "weapons/knife_hit2.wav",
- "weapons/knife_hit3.wav",
- "weapons/knife_hit4.wav",
- "weapons/knife_hitwall1.wav",
- "weapons/knife_slash1.wav",
- "weapons/knife_slash2.wav",
- "weapons/knife_stab.wav"
- }
- new const g_szDefaultSounds[][] =
- {
- "weapons/knife_deploy1.wav",
- "weapons/knife_hit1.wav",
- "weapons/knife_hit2.wav",
- "weapons/knife_hit3.wav",
- "weapons/knife_hit4.wav",
- "weapons/knife_hitwall1.wav",
- "weapons/knife_slash1.wav",
- "weapons/knife_slash2.wav",
- "weapons/knife_stab.wav"
- }
- // Models indexes
- enum
- {
- V_Model = 0,
- P_Model
- }
- public plugin_init()
- {
- register_plugin("Knife Levels", "1.0", "lux")
- // Fakemeta
- register_forward(FM_EmitSound, "Fw_EmitSound")
- }
- public plugin_precache()
- {
- new iIndex;
- // Prechace models
- for(iIndex = 0; iIndex <= charsmax(g_szKnife1); iIndex++)
- precache_model(g_szKnife1[iIndex])
- for(iIndex = 0; iIndex <= charsmax(g_szKnife2); iIndex++)
- precache_model(g_szKnife2[iIndex])
- for(iIndex = 0; iIndex <= charsmax(g_szKnife3); iIndex++)
- precache_model(g_szKnife3[iIndex])
- for(iIndex = 0; iIndex <= charsmax(g_szKnife4); iIndex++)
- precache_model(g_szKnife4[iIndex])
- for(iIndex = 0; iIndex <= charsmax(g_szKnife5); iIndex++)
- precache_model(g_szKnife5[iIndex])
- for(iIndex = 0; iIndex <= charsmax(g_szKnife6); iIndex++)
- precache_model(g_szKnife6[iIndex])
- for(iIndex = 0; iIndex <= charsmax(g_szKnife7); iIndex++)
- precache_model(g_szKnife7[iIndex])
- for(iIndex = 0; iIndex <= charsmax(g_szKnife8); iIndex++)
- precache_model(g_szKnife8[iIndex])
- // Prechace sounds
- for(iIndex = 0; iIndex <= charsmax(g_szKnife1Sounds); iIndex++)
- precache_sound(g_szKnife1Sounds[iIndex])
- for(iIndex = 0; iIndex <= charsmax(g_szKnife1Sounds); iIndex++)
- precache_sound(g_szKnife1Sounds[iIndex])
- }
- public ze_user_humanized(id)
- {
- if (ze_get_user_level(id) >= 0 && ze_get_user_level(id) < 4)
- {
- // Player level from 1 to 5 set him this knife
- cs_set_player_view_model(id, CSW_KNIFE, g_szKnife1[V_Model])
- cs_set_player_weap_model(id, CSW_KNIFE, g_szKnife1[P_Model])
- ResetKnife(id)
- }
- else if (ze_get_user_level(id) >= 5 && ze_get_user_level(id) < 9)
- {
- // Player level from 5 to 8 set him this knife
- cs_set_player_view_model(id, CSW_KNIFE, g_szKnife2[V_Model])
- cs_set_player_weap_model(id, CSW_KNIFE, g_szKnife2[P_Model])
- ResetKnife(id)
- }
- else if (ze_get_user_level(id) >= 10 && ze_get_user_level(id) < 14)
- {
- // Player level from 5 to 8 set him this knife
- cs_set_player_view_model(id, CSW_KNIFE, g_szKnife3[V_Model])
- cs_set_player_weap_model(id, CSW_KNIFE, g_szKnife3[P_Model])
- ResetKnife(id)
- }
- else if (ze_get_user_level(id) >= 15 && ze_get_user_level(id) < 19)
- {
- // Player level from 5 to 8 set him this knife
- cs_set_player_view_model(id, CSW_KNIFE, g_szKnife4[V_Model])
- cs_set_player_weap_model(id, CSW_KNIFE, g_szKnife4[P_Model])
- ResetKnife(id)
- }
- else if (ze_get_user_level(id) >= 20 && ze_get_user_level(id) < 24)
- {
- // Player level from 26 to 30 set him this knife
- cs_set_player_view_model(id, CSW_KNIFE, g_szKnife5[V_Model])
- cs_set_player_weap_model(id, CSW_KNIFE, g_szKnife5[P_Model])
- ResetKnife(id)
- }
- else if (ze_get_user_level(id) >= 25 && ze_get_user_level(id) < 29)
- {
- // Player level from 26 to 30 set him this knife
- cs_set_player_view_model(id, CSW_KNIFE, g_szKnife6[V_Model])
- cs_set_player_weap_model(id, CSW_KNIFE, g_szKnife6[P_Model])
- ResetKnife(id)
- }
- else if (ze_get_user_level(id) >= 30 && ze_get_user_level(id) < 50)
- {
- // Player level from 26 to 30 set him this knife
- cs_set_player_view_model(id, CSW_KNIFE, g_szKnife7[V_Model])
- cs_set_player_weap_model(id, CSW_KNIFE, g_szKnife7[P_Model])
- ResetKnife(id)
- }
- }
- public ResetKnife(id)
- {
- rg_remove_item(id, "weapon_knife")
- rg_give_item(id, "weapon_knife", GT_APPEND)
- engclient_cmd(id, "weapon_knife")
- emit_sound(id, CHAN_BODY, "items/gunpickup2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
- }
- public Fw_EmitSound(id, iChannel, const szSound[])
- {
- if(!is_user_alive(id) || ze_is_user_zombie(id))
- return FMRES_IGNORED
- if (ze_get_user_level(id) >= 0 && ze_get_user_level(id) < 0)
- {
- for(new iIndex = 0; iIndex <= charsmax(g_szDefaultSounds); iIndex++)
- {
- if (equal(g_szDefaultSounds[iIndex], szSound))
- {
- emit_sound(id, iChannel, g_szKnife1Sounds[iIndex], 1.0, ATTN_NORM, 0, PITCH_NORM)
- return FMRES_SUPERCEDE
- }
- }
- }
- else if (ze_get_user_level(id) >= 0 && ze_get_user_level(id) < 5)
- {
- for(new iIndex = 0; iIndex <= charsmax(g_szDefaultSounds); iIndex++)
- {
- if (equal(g_szDefaultSounds[iIndex], szSound))
- {
- emit_sound(id, iChannel, g_szKnife2Sounds[iIndex], 1.0, ATTN_NORM, 0, PITCH_NORM)
- return FMRES_SUPERCEDE
- }
- }
- }
- else if (ze_get_user_level(id) >= 5 && ze_get_user_level(id) < 9)
- {
- for(new iIndex = 0; iIndex <= charsmax(g_szDefaultSounds); iIndex++)
- {
- if (equal(g_szDefaultSounds[iIndex], szSound))
- {
- emit_sound(id, iChannel, g_szKnife3Sounds[iIndex], 1.0, ATTN_NORM, 0, PITCH_NORM)
- return FMRES_SUPERCEDE
- }
- }
- }
- else if (ze_get_user_level(id) >= 10 && ze_get_user_level(id) < 14)
- {
- for(new iIndex = 0; iIndex <= charsmax(g_szDefaultSounds); iIndex++)
- {
- if (equal(g_szDefaultSounds[iIndex], szSound))
- {
- emit_sound(id, iChannel, g_szKnife4Sounds[iIndex], 1.0, ATTN_NORM, 0, PITCH_NORM)
- return FMRES_SUPERCEDE
- }
- }
- }
- else if (ze_get_user_level(id) >= 15 && ze_get_user_level(id) < 20)
- {
- for(new iIndex = 0; iIndex <= charsmax(g_szDefaultSounds); iIndex++)
- {
- if (equal(g_szDefaultSounds[iIndex], szSound))
- {
- emit_sound(id, iChannel, g_szKnife5Sounds[iIndex], 1.0, ATTN_NORM, 0, PITCH_NORM)
- return FMRES_SUPERCEDE
- }
- }
- }
- else if (ze_get_user_level(id) >= 21 && ze_get_user_level(id) < 30)
- {
- for(new iIndex = 0; iIndex <= charsmax(g_szDefaultSounds); iIndex++)
- {
- if (equal(g_szDefaultSounds[iIndex], szSound))
- {
- emit_sound(id, iChannel, g_szKnife6Sounds[iIndex], 1.0, ATTN_NORM, 0, PITCH_NORM)
- return FMRES_SUPERCEDE
- }
- }
- }
- else if (ze_get_user_level(id) >= 31 && ze_get_user_level(id) < 40)
- {
- for(new iIndex = 0; iIndex <= charsmax(g_szDefaultSounds); iIndex++)
- {
- if (equal(g_szDefaultSounds[iIndex], szSound))
- {
- emit_sound(id, iChannel, g_szKnife7Sounds[iIndex], 1.0, ATTN_NORM, 0, PITCH_NORM)
- return FMRES_SUPERCEDE
- }
- }
- }
- else if (ze_get_user_level(id) >= 49 && ze_get_user_level(id) < 50)
- {
- for(new iIndex = 0; iIndex <= charsmax(g_szDefaultSounds); iIndex++)
- {
- if (equal(g_szDefaultSounds[iIndex], szSound))
- {
- emit_sound(id, iChannel, g_szKnife8Sounds[iIndex], 1.0, ATTN_NORM, 0, PITCH_NORM)
- return FMRES_SUPERCEDE
- }
- }
- }
- return FMRES_IGNORED
- }