Resolved Skin Menu with VIP

Coding Help/Re-API Supported
User avatar
Mark
Senior Member
Senior Member
United States of America
Posts: 258
Joined: 3 Months Ago
Location: Des Moines/USA
Donation: 1x donated in total €10.00
Has thanked: 6 times
Been thanked: 19 times
Age: 33
Contact:

Re: Skin Menu with VIP

#21

Post by Mark » 3 Months Ago

Raheem wrote:
3 Months Ago
Will work if placed in zombie infection event.
Raheem

I tryed to add speed for the knifes the only issue im having is on freeze time if they select the knife they can freely move but if they put back the gun they are frozen again how can i fix this?
  1. public fw_PlayerPreThink(id)
  2. {
  3.         if(!is_user_alive(id))
  4.                 return FMRES_IGNORED
  5.  
  6.         new weapon = get_user_weapon(id)
  7.  
  8.         if (weapon == CSW_KNIFE && g_bCompat[id])
  9.         {              
  10.                 if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))
  11.                 {
  12.                     new flags = pev(id, pev_flags)
  13.                     new waterlvl = pev(id, pev_waterlevel)
  14.                    
  15.                     if (!(flags & FL_ONGROUND))
  16.                             return FMRES_IGNORED
  17.  
  18.                     if (flags & FL_WATERJUMP)
  19.                             return FMRES_IGNORED
  20.  
  21.                     if (waterlvl > 1)
  22.                             return FMRES_IGNORED
  23.  
  24.                     new Float:fVelocity[ 3 ]
  25.                     pev( id , pev_velocity , fVelocity )
  26.    
  27.                     fVelocity[ 2 ] += 325
  28.  
  29.                     set_pev( id , pev_velocity , fVelocity )
  30.  
  31.                     set_pev(id, pev_gaitsequence, 6)
  32.                 }
  33.                 set_user_maxspeed(id,get_pcvar_float(cvar_speed_combat))
  34.         }
  35.        
  36.         if(weapon == CSW_KNIFE && g_bStrong[id])
  37.         {    
  38.                 if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))
  39.                 {
  40.                     new flags = pev(id, pev_flags)
  41.                     new waterlvl = pev(id, pev_waterlevel)
  42.                    
  43.                     if (!(flags & FL_ONGROUND))
  44.                             return FMRES_IGNORED
  45.  
  46.                     if (flags & FL_WATERJUMP)
  47.                             return FMRES_IGNORED
  48.  
  49.                     if (waterlvl > 1)
  50.                             return FMRES_IGNORED
  51.  
  52.                     new Float:fVelocity[ 3 ]
  53.                     pev( id , pev_velocity , fVelocity )
  54.    
  55.                     fVelocity[ 2 ] += 320
  56.  
  57.                     set_pev( id , pev_velocity , fVelocity )
  58.                    
  59.                     set_pev(id, pev_gaitsequence, 6)
  60.                 }
  61.                 set_user_maxspeed(id,get_pcvar_float(cvar_speed_strong))                                
  62.         }
  63.  
  64.         if(weapon == CSW_KNIFE && g_bKatana[id])  
  65.         {    
  66.                 if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))
  67.                 {
  68.                     new flags = pev(id, pev_flags)
  69.                     new waterlvl = pev(id, pev_waterlevel)
  70.                    
  71.                     if (!(flags & FL_ONGROUND))
  72.                             return FMRES_IGNORED
  73.  
  74.                     if (flags & FL_WATERJUMP)
  75.                             return FMRES_IGNORED
  76.  
  77.                     if (waterlvl > 1)
  78.                             return FMRES_IGNORED
  79.  
  80.                     new Float:fVelocity[ 3 ]
  81.                     pev( id , pev_velocity , fVelocity )
  82.    
  83.                     fVelocity[ 2 ] += 320
  84.  
  85.                     set_pev( id , pev_velocity , fVelocity )
  86.                    
  87.                     set_pev(id, pev_gaitsequence, 6)
  88.                 }
  89.                
  90.                 set_user_maxspeed(id,get_pcvar_float(cvar_speed_katana))  
  91.         }
  92.         if (weapon == CSW_KNIFE && g_bHammer[id])
  93.         {
  94.                 if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))
  95.                 {
  96.                     new flags = pev(id, pev_flags)
  97.                     new waterlvl = pev(id, pev_waterlevel)
  98.                    
  99.                     if (!(flags & FL_ONGROUND))
  100.                             return FMRES_IGNORED
  101.  
  102.                     if (flags & FL_WATERJUMP)
  103.                             return FMRES_IGNORED
  104.  
  105.                     if (waterlvl > 1)
  106.                             return FMRES_IGNORED
  107.  
  108.                     new Float:fVelocity[ 3 ]
  109.                     pev( id , pev_velocity , fVelocity )
  110.    
  111.                     fVelocity[ 2 ] += 345
  112.  
  113.                     set_pev( id , pev_velocity , fVelocity )
  114.                    
  115.                     set_pev(id, pev_gaitsequence, 6)
  116.                 }
  117.                
  118.                 set_user_maxspeed(id, get_pcvar_float(cvar_speed_hammer))
  119.         }
  120.         if (weapon == CSW_KNIFE && g_bTurbulent9[id])
  121.         {
  122.                 if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))
  123.                 {
  124.                     new flags = pev(id, pev_flags)
  125.                     new waterlvl = pev(id, pev_waterlevel)
  126.                    
  127.                     if (!(flags & FL_ONGROUND))
  128.                             return FMRES_IGNORED
  129.  
  130.                     if (flags & FL_WATERJUMP)
  131.                             return FMRES_IGNORED
  132.  
  133.                     if (waterlvl > 1)
  134.                             return FMRES_IGNORED
  135.  
  136.                     new Float:fVelocity[ 3 ]
  137.                     pev( id , pev_velocity , fVelocity )
  138.    
  139.                     fVelocity[ 2 ] += 345
  140.  
  141.                     set_pev( id , pev_velocity , fVelocity )
  142.                    
  143.                     set_pev(id, pev_gaitsequence, 6)
  144.                 }
  145.                
  146.                 set_user_maxspeed(id, get_pcvar_float(cvar_speed_turb))
  147.         }
  148.         if (weapon == CSW_KNIFE && g_bBio[id])
  149.         {
  150.                 if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))
  151.                 {
  152.                     new flags = pev(id, pev_flags)
  153.                     new waterlvl = pev(id, pev_waterlevel)
  154.                    
  155.                     if (!(flags & FL_ONGROUND))
  156.                             return FMRES_IGNORED
  157.  
  158.                     if (flags & FL_WATERJUMP)
  159.                             return FMRES_IGNORED
  160.  
  161.                     if (waterlvl > 1)
  162.                             return FMRES_IGNORED
  163.  
  164.                     new Float:fVelocity[ 3 ]
  165.                     pev( id , pev_velocity , fVelocity )
  166.    
  167.                     fVelocity[ 2 ] += 345
  168.  
  169.                     set_pev( id , pev_velocity , fVelocity )
  170.                    
  171.                     set_pev(id, pev_gaitsequence, 6)
  172.                 }
  173.                
  174.                 set_user_maxspeed(id, get_pcvar_float(cvar_speed_bio))
  175.         }
  176.         if (weapon == CSW_KNIFE && g_bSabers[id])
  177.         {
  178.                 if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))
  179.                 {
  180.                     new flags = pev(id, pev_flags)
  181.                     new waterlvl = pev(id, pev_waterlevel)
  182.                    
  183.                     if (!(flags & FL_ONGROUND))
  184.                             return FMRES_IGNORED
  185.  
  186.                     if (flags & FL_WATERJUMP)
  187.                             return FMRES_IGNORED
  188.  
  189.                     if (waterlvl > 1)
  190.                             return FMRES_IGNORED
  191.  
  192.                     new Float:fVelocity[ 3 ]
  193.                     pev( id , pev_velocity , fVelocity )
  194.    
  195.                     fVelocity[ 2 ] += 345
  196.  
  197.                     set_pev( id , pev_velocity , fVelocity )
  198.                    
  199.                     set_pev(id, pev_gaitsequence, 6)
  200.                 }
  201.                
  202.                 set_user_maxspeed(id, get_pcvar_float(cvar_speed_sabers))
  203.         }
  204.         if (weapon == CSW_KNIFE && g_bPlasma[id])
  205.         {
  206.                 if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))
  207.                 {
  208.                     new flags = pev(id, pev_flags)
  209.                     new waterlvl = pev(id, pev_waterlevel)
  210.                    
  211.                     if (!(flags & FL_ONGROUND))
  212.                             return FMRES_IGNORED
  213.  
  214.                     if (flags & FL_WATERJUMP)
  215.                             return FMRES_IGNORED
  216.  
  217.                     if (waterlvl > 1)
  218.                             return FMRES_IGNORED
  219.  
  220.                     new Float:fVelocity[ 3 ]
  221.                     pev( id , pev_velocity , fVelocity )
  222.    
  223.                     fVelocity[ 2 ] += 357
  224.  
  225.                     set_pev( id , pev_velocity , fVelocity )
  226.                    
  227.                     set_pev(id, pev_gaitsequence, 6)
  228.                 }
  229.                 set_user_maxspeed(id, get_pcvar_float(cvar_speed_plasma))
  230.         }
  231.         if (weapon == CSW_KNIFE && g_bStorm[id])
  232.         {
  233.                 if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))
  234.                 {
  235.                     new flags = pev(id, pev_flags)
  236.                     new waterlvl = pev(id, pev_waterlevel)
  237.                    
  238.                     if (!(flags & FL_ONGROUND))
  239.                             return FMRES_IGNORED
  240.  
  241.                     if (flags & FL_WATERJUMP)
  242.                             return FMRES_IGNORED
  243.  
  244.                     if (waterlvl > 1)
  245.                             return FMRES_IGNORED
  246.  
  247.                     new Float:fVelocity[ 3 ]
  248.                     pev( id , pev_velocity , fVelocity )
  249.    
  250.                     fVelocity[ 2 ] += 357
  251.  
  252.                     set_pev( id , pev_velocity , fVelocity )
  253.                    
  254.                     set_pev(id, pev_gaitsequence, 6)
  255.                 }
  256.                 set_user_maxspeed(id, get_pcvar_float(cvar_speed_storm))
  257.         }
  258.         if (weapon == CSW_KNIFE && g_bLaevateinn[id])
  259.         {
  260.                 if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))
  261.                 {
  262.                     new flags = pev(id, pev_flags)
  263.                     new waterlvl = pev(id, pev_waterlevel)
  264.                    
  265.                     if (!(flags & FL_ONGROUND))
  266.                             return FMRES_IGNORED
  267.  
  268.                     if (flags & FL_WATERJUMP)
  269.                             return FMRES_IGNORED
  270.  
  271.                     if (waterlvl > 1)
  272.                             return FMRES_IGNORED
  273.  
  274.                     new Float:fVelocity[ 3 ]
  275.                     pev( id , pev_velocity , fVelocity )
  276.    
  277.                     fVelocity[ 2 ] += 357
  278.  
  279.                     set_pev( id , pev_velocity , fVelocity )
  280.                    
  281.                     set_pev(id, pev_gaitsequence, 6)
  282.                 }
  283.                 set_user_maxspeed(id, get_pcvar_float(cvar_speed_laevat))
  284.         }
  285.         if (weapon == CSW_KNIFE && g_bWarHammer_Dark_Knight[id])
  286.         {
  287.                 if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))
  288.                 {
  289.                     new flags = pev(id, pev_flags)
  290.                     new waterlvl = pev(id, pev_waterlevel)
  291.                    
  292.                     if (!(flags & FL_ONGROUND))
  293.                             return FMRES_IGNORED
  294.  
  295.                     if (flags & FL_WATERJUMP)
  296.                             return FMRES_IGNORED
  297.  
  298.                     if (waterlvl > 1)
  299.                             return FMRES_IGNORED
  300.  
  301.                     new Float:fVelocity[ 3 ]
  302.                     pev( id , pev_velocity , fVelocity )
  303.    
  304.                     fVelocity[ 2 ] += 357
  305.  
  306.                     set_pev( id , pev_velocity , fVelocity )
  307.                    
  308.                     set_pev(id, pev_gaitsequence, 6)
  309.                 }
  310.                 set_user_maxspeed(id, get_pcvar_float(cvar_speed_darknight))
  311.         }
  312.         if (weapon == CSW_KNIFE && g_bBalrog_Kosa[id])
  313.         {
  314.                 if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))
  315.                 {
  316.                     new flags = pev(id, pev_flags)
  317.                     new waterlvl = pev(id, pev_waterlevel)
  318.                    
  319.                     if (!(flags & FL_ONGROUND))
  320.                             return FMRES_IGNORED
  321.  
  322.                     if (flags & FL_WATERJUMP)
  323.                             return FMRES_IGNORED
  324.  
  325.                     if (waterlvl > 1)
  326.                             return FMRES_IGNORED
  327.  
  328.                     new Float:fVelocity[ 3 ]
  329.                     pev( id , pev_velocity , fVelocity )
  330.    
  331.                     fVelocity[ 2 ] += 357
  332.  
  333.                     set_pev( id , pev_velocity , fVelocity )
  334.                    
  335.                     set_pev(id, pev_gaitsequence, 6)
  336.                 }
  337.                 set_user_maxspeed(id, get_pcvar_float(cvar_speed_kosa))
  338.         }
  339.        
  340.     return FMRES_IGNORED
  341. }  

User avatar
Raheem
Mod Developer
Mod Developer
Egypt
Posts: 1717
Joined: 1 Year Ago
Location: Egypt
Has thanked: 28 times
Been thanked: 78 times
Age: 21
Contact:

#22

Post by Raheem » 3 Months Ago

Using forwards we will block it in specific time, you will add:

  1. new bool:g_bNoSpeed
  2.  
  3. public ze_game_started()
  4. {
  5.     g_bNoSpeed = true
  6. }
  7.  
  8. public ze_zombie_release()
  9. {
  10.     g_bNoSpeed = false
  11. }

Then edit in your code this check: TO:
    1.         if(!is_user_alive(id) || g_bNoSpeed)
    2.                 return FMRES_IGNORED
You don't know? Learn and you will know.

User avatar
Mark
Senior Member
Senior Member
United States of America
Posts: 258
Joined: 3 Months Ago
Location: Des Moines/USA
Donation: 1x donated in total €10.00
Has thanked: 6 times
Been thanked: 19 times
Age: 33
Contact:

#23

Post by Mark » 3 Months Ago

Raheem wrote:
3 Months Ago
Using forwards we will block it in specific time, you will add:

  1. new bool:g_bNoSpeed
  2.  
  3. public ze_game_started()
  4. {
  5.     g_bNoSpeed = true
  6. }
  7.  
  8. public ze_zombie_release()
  9. {
  10.     g_bNoSpeed = false
  11. }

Then edit in your code this check: TO:
    1.         if(!is_user_alive(id) || g_bNoSpeed)
    2.                 return FMRES_IGNORED
Heres the issue im facing now look in image for different weapons.

When have nade 300 speed
20180908081935_1.jpg
when have knife 300 speed
20180908081929_1.jpg
when have deagle 270 speed
20180908081923_1.jpg
when have primary 250 speed
20180908081912_1.jpg
I understand with primary weapon you run slower by default how can i change the nade to 270
if happens when i switch from knife to nade or knife to deagle speed stays at 300

User avatar
Raheem
Mod Developer
Mod Developer
Egypt
Posts: 1717
Joined: 1 Year Ago
Location: Egypt
Has thanked: 28 times
Been thanked: 78 times
Age: 21
Contact:

#24

Post by Raheem » 3 Months Ago

EDIT: I misunderstand you, one thing to know is that speed of knife = grenades = pistols.

Optimization for you:

You can better hook the ResetMaxSpeed event via reapi and set their the speed in case of some cases. If user changed weapon, it will back to normal i think.

Here an optimized code example, i used reapi over it's all (Recommended to do in all ur cases):

  1. RegisterHookChain(RG_CBasePlayer_ResetMaxSpeed, "Fw_RestMaxSpeed_Post", 1)
  2.  
  3. public Fw_RestMaxSpeed_Post(id)
  4. {
  5.     new iWpnId = get_user_weapon(id)
  6.    
  7.     if (iWpnId == CSW_KNIFE && g_bCompat[id])
  8.     {
  9.         if ((get_entvar(id, var_button) & IN_JUMP) && !(get_entvar(id, var_oldbuttons) & IN_JUMP))
  10.         {
  11.             new iFlags = get_entvar(id, var_flags);
  12.             new iWaterlvl = get_entvar(id, var_waterlevel)
  13.            
  14.             if (!(iFlags & FL_ONGROUND))
  15.                 return HAM_IGNORED
  16.  
  17.             if (iFlags & FL_WATERJUMP)
  18.                 return HAM_IGNORED
  19.  
  20.             if (iWaterlvl > 1)
  21.                 return HAM_IGNORED
  22.            
  23.             new Float:flVelocity[3]
  24.             get_entvar(id , var_velocity , flVelocity)
  25.  
  26.             flVelocity[2] += 325
  27.  
  28.             set_entvar(id , var_velocity , flVelocity)
  29.  
  30.             set_entvar(id, var_gaitsequence, 6)
  31.         }
  32.        
  33.         set_entvar(id, var_maxspeed, get_pcvar_float(cvar_speed_combat))
  34.     }
  35.    
  36.     return HAM_IGNORED
  37. }
Last edited by Raheem on 08 Sep 2018, 17:01, edited 1 time in total.
Reason: Misunderstanding
You don't know? Learn and you will know.

User avatar
Mark
Senior Member
Senior Member
United States of America
Posts: 258
Joined: 3 Months Ago
Location: Des Moines/USA
Donation: 1x donated in total €10.00
Has thanked: 6 times
Been thanked: 19 times
Age: 33
Contact:

#25

Post by Mark » 3 Months Ago

let me check
Last edited by Mark on 08 Sep 2018, 17:46, edited 1 time in total.

User avatar
Raheem
Mod Developer
Mod Developer
Egypt
Posts: 1717
Joined: 1 Year Ago
Location: Egypt
Has thanked: 28 times
Been thanked: 78 times
Age: 21
Contact:

#26

Post by Raheem » 3 Months Ago

If you got the knife, you will get it's speed? And what if you changed to ak47? your speed now?
You don't know? Learn and you will know.

User avatar
Mark
Senior Member
Senior Member
United States of America
Posts: 258
Joined: 3 Months Ago
Location: Des Moines/USA
Donation: 1x donated in total €10.00
Has thanked: 6 times
Been thanked: 19 times
Age: 33
Contact:

#27

Post by Mark » 3 Months Ago

Raheem wrote:
3 Months Ago
If you got the knife, you will get it's speed? And what if you changed to ak47? your speed now?
20180908124953_1.jpg
20180908125001_1.jpg
20180908125013_1.jpg
20180908125019_1.jpg
  1. #include <zombie_escape>
  2. #include <engine>
  3. #include <fun>
  4. #include <ze_vip>
  5.  
  6. // Models
  7. new const Compat_Models[][] =
  8. {
  9.     "models/zombie_escape/v_combat_knife.mdl",
  10.     "models/zombie_escape/p_combat_knife.mdl"
  11. }
  12.  
  13. new const Strong_Models[][] =
  14. {
  15.     "models/zombie_escape/v_strong_knife.mdl",
  16.     "models/zombie_escape/p_strong_knife.mdl"
  17. }
  18.  
  19. new const Katana_Models[][] =
  20. {
  21.     "models/zombie_escape/v_katana_knife.mdl",
  22.     "models/zombie_escape/p_katana_knife.mdl"
  23. }
  24.  
  25. new const Hammer_Models[][] =
  26. {
  27.     "models/zombie_escape/v_hammer_knife.mdl",
  28.     "models/zombie_escape/p_hammer_knife.mdl"
  29. }
  30.  
  31. new const Turbulent9_Models[][] =
  32. {
  33.     "models/zombie_escape/v_turbulent9_knife.mdl",
  34.     "models/zombie_escape/p_turbulent9_knife.mdl"
  35. }
  36.  
  37. new const Bio_Models[][] =
  38. {
  39.     "models/zombie_escape/v_bio_knife.mdl",
  40.     "models/zombie_escape/p_bio_knife.mdl"
  41. }
  42.  
  43. new const Sabers_Models[][] =
  44. {
  45.     "models/zombie_escape/v_laser_knife.mdl",
  46.     "models/zombie_escape/p_laser_knife.mdl"
  47. }
  48.  
  49. new const Plasma_Models[][] =
  50. {
  51.     "models/zombie_escape/v_plasma_knife.mdl",
  52.     "models/zombie_escape/p_plasma_knife.mdl"
  53. }
  54.  
  55. new const Storm_Models[][] =
  56. {
  57.     "models/zombie_escape/v_storm_sword_knife.mdl",
  58.     "models/zombie_escape/p_storm_sword_knife.mdl"
  59. }
  60.  
  61. new const Laevateinn_Models[][] =
  62. {
  63.     "models/zombie_escape/v_laevateinn_knife.mdl",
  64.     "models/zombie_escape/p_laevateinn_knife.mdl"
  65. }
  66.  
  67. new const WarHammer_Dark_Knight_Models[][] =
  68. {
  69.     "models/zombie_escape/v_WarHammer_dark_knight_knife.mdl",
  70.     "models/zombie_escape/p_WarHammer_dark_knight_knife.mdl"
  71. }
  72.  
  73. new const Balrog_Kosa_Models[][] =
  74. {
  75.     "models/zombie_escape/v_balrog_kosa_knife.mdl",
  76.     "models/zombie_escape/p_balrog_kosa_knife.mdl"
  77. }
  78.  
  79. // Sounds
  80. new const g_sound_knife[] = "items/gunpickup2.wav"
  81.  
  82. new const combat_sounds[][] =
  83. {
  84.     "zombie_escape/knife_menu/combat_deploy.wav",
  85.     "zombie_escape/knife_menu/combat_hit.wav",
  86.     "zombie_escape/knife_menu/combat_hit.wav",
  87.     "zombie_escape/knife_menu/combat_hit.wav",
  88.     "zombie_escape/knife_menu/combat_hit.wav",
  89.     "zombie_escape/knife_menu/combat_hitwall.wav",
  90.     "zombie_escape/knife_menu/combat_slash.wav",
  91.     "zombie_escape/knife_menu/combat_slash.wav",
  92.     "zombie_escape/knife_menu/combat_stab.wav"
  93. }
  94.  
  95. new const strong_sounds[][] =
  96. {
  97.     "zombie_escape/knife_menu/strong_deploy.wav",
  98.     "zombie_escape/knife_menu/strong_hit.wav",
  99.     "zombie_escape/knife_menu/strong_hit.wav",
  100.     "zombie_escape/knife_menu/strong_hit.wav",
  101.     "zombie_escape/knife_menu/strong_hit.wav",
  102.     "zombie_escape/knife_menu/strong_hitwall.wav",
  103.     "zombie_escape/knife_menu/strong_slash.wav",
  104.     "zombie_escape/knife_menu/strong_slash.wav",
  105.     "zombie_escape/knife_menu/strong_stab.wav"
  106. }
  107.  
  108. new const katana_sounds[][] =
  109. {
  110.     "zombie_escape/knife_menu/katana_deploy.wav",
  111.     "zombie_escape/knife_menu/katana_hit.wav",
  112.     "zombie_escape/knife_menu/katana_hit.wav",
  113.     "zombie_escape/knife_menu/katana_hit.wav",
  114.     "zombie_escape/knife_menu/katana_hit.wav",
  115.     "zombie_escape/knife_menu/katana_hitwall.wav",
  116.     "zombie_escape/knife_menu/katana_slash.wav",
  117.     "zombie_escape/knife_menu/katana_slash.wav",
  118.     "zombie_escape/knife_menu/katana_stab.wav"
  119. }
  120.  
  121. new const hammer_sounds[][] =
  122. {
  123.     "zombie_escape/knife_menu/hammer_deploy.wav",
  124.     "zombie_escape/knife_menu/hammer_hit.wav",
  125.     "zombie_escape/knife_menu/hammer_hit.wav",
  126.     "zombie_escape/knife_menu/hammer_hit.wav",
  127.     "zombie_escape/knife_menu/hammer_hit.wav",
  128.     "zombie_escape/knife_menu/hammer_hitwall.wav",
  129.     "zombie_escape/knife_menu/hammer_slash.wav",
  130.     "zombie_escape/knife_menu/hammer_slash.wav",
  131.     "zombie_escape/knife_menu/hammer_stab.wav"
  132. }
  133.  
  134. new const turbulent9_sounds[][] =
  135. {
  136.     "zombie_escape/knife_menu/turbulent9_deploy.wav",
  137.     "zombie_escape/knife_menu/turbulent9_hit.wav",
  138.     "zombie_escape/knife_menu/turbulent9_hit.wav",
  139.     "zombie_escape/knife_menu/turbulent9_hit.wav",
  140.     "zombie_escape/knife_menu/turbulent9_hit.wav",
  141.     "zombie_escape/knife_menu/turbulent9_hitwall.wav",
  142.     "zombie_escape/knife_menu/turbulent9_slash.wav",
  143.     "zombie_escape/knife_menu/turbulent9_slash.wav",
  144.     "zombie_escape/knife_menu/turbulent9_stab.wav"
  145. }
  146.  
  147. new const bio_sounds[][] =
  148. {
  149.     "zombie_escape/knife_menu/bio_deploy.wav",
  150.     "zombie_escape/knife_menu/bio_hit.wav",
  151.     "zombie_escape/knife_menu/bio_hit.wav",
  152.     "zombie_escape/knife_menu/bio_hit.wav",
  153.     "zombie_escape/knife_menu/bio_hit.wav",
  154.     "zombie_escape/knife_menu/bio_hitwall.wav",
  155.     "zombie_escape/knife_menu/bio_slash.wav",
  156.     "zombie_escape/knife_menu/bio_slash.wav",
  157.     "zombie_escape/knife_menu/bio_stab.wav"
  158. }
  159.  
  160. new const sabers_sounds[][] =
  161. {
  162.     "zombie_escape/knife_menu/laser_deploy.wav",
  163.     "zombie_escape/knife_menu/laser_hit.wav",
  164.     "zombie_escape/knife_menu/laser_hit.wav",
  165.     "zombie_escape/knife_menu/laser_hit.wav",
  166.     "zombie_escape/knife_menu/laser_hit.wav",
  167.     "zombie_escape/knife_menu/laser_hitwall.wav",
  168.     "zombie_escape/knife_menu/laser_slash1.wav",
  169.     "zombie_escape/knife_menu/laser_slash2.wav",
  170.     "zombie_escape/knife_menu/laser_stab.wav"
  171. }
  172.  
  173. new const plasma_sounds[][] =
  174. {
  175.     "zombie_escape/knife_menu/plasma_deploy.wav",
  176.     "zombie_escape/knife_menu/plasma_hit.wav",
  177.     "zombie_escape/knife_menu/plasma_hit.wav",
  178.     "zombie_escape/knife_menu/plasma_hit.wav",
  179.     "zombie_escape/knife_menu/plasma_hit.wav",
  180.     "zombie_escape/knife_menu/plasma_hitwall.wav",
  181.     "zombie_escape/knife_menu/plasma_slash.wav",
  182.     "zombie_escape/knife_menu/plasma_slash.wav",
  183.     "zombie_escape/knife_menu/plasma_stab.wav"
  184. }
  185.  
  186. new const storm_sounds[][] =
  187. {
  188.     "zombie_escape/knife_menu/storm_sword_deploy.wav",
  189.     "zombie_escape/knife_menu/storm_sword_hit.wav",
  190.     "zombie_escape/knife_menu/storm_sword_hit.wav",
  191.     "zombie_escape/knife_menu/storm_sword_hit.wav",
  192.     "zombie_escape/knife_menu/storm_sword_hit.wav",
  193.     "zombie_escape/knife_menu/storm_sword_hitwall.wav",
  194.     "zombie_escape/knife_menu/storm_sword_slash.wav",
  195.     "zombie_escape/knife_menu/storm_sword_slash.wav",
  196.     "zombie_escape/knife_menu/storm_sword_stab.wav"
  197. }
  198.  
  199. new const laevateinn_sounds[][] =
  200. {
  201.     "zombie_escape/knife_menu/laevateinn_deploy.wav",
  202.     "zombie_escape/knife_menu/laevateinn_hit.wav",
  203.     "zombie_escape/knife_menu/laevateinn_hit.wav",
  204.     "zombie_escape/knife_menu/laevateinn_hit.wav",
  205.     "zombie_escape/knife_menu/laevateinn_hit.wav",
  206.     "zombie_escape/knife_menu/laevateinn_hitwall.wav",
  207.     "zombie_escape/knife_menu/laevateinn_slash.wav",
  208.     "zombie_escape/knife_menu/laevateinn_slash.wav",
  209.     "zombie_escape/knife_menu/laevateinn_stab.wav"
  210. }
  211.  
  212. new const warhammer_dark_knight_sounds[][] =
  213. {
  214.     "zombie_escape/knife_menu/WarHammer_dark_knight_deploy.wav",
  215.     "zombie_escape/knife_menu/WarHammer_dark_knight_hit.wav",
  216.     "zombie_escape/knife_menu/WarHammer_dark_knight_hit.wav",
  217.     "zombie_escape/knife_menu/WarHammer_dark_knight_hit.wav",
  218.     "zombie_escape/knife_menu/WarHammer_dark_knight_hit.wav",
  219.     "zombie_escape/knife_menu/WarHammer_dark_knight_hitwall.wav",
  220.     "zombie_escape/knife_menu/WarHammer_dark_knight_slash.wav",
  221.     "zombie_escape/knife_menu/WarHammer_dark_knight_slash.wav",
  222.     "zombie_escape/knife_menu/WarHammer_dark_knight_stab.wav"
  223. }
  224.  
  225. new const balrog_kosa_sounds[][] =
  226. {
  227.     "zombie_escape/knife_menu/balrog_kosa_deploy.wav",
  228.     "zombie_escape/knife_menu/balrog_kosa_hit.wav",
  229.     "zombie_escape/knife_menu/balrog_kosa_hit.wav",
  230.     "zombie_escape/knife_menu/balrog_kosa_hit.wav",
  231.     "zombie_escape/knife_menu/balrog_kosa_hit.wav",
  232.     "zombie_escape/knife_menu/balrog_kosa_hitwall.wav",
  233.     "zombie_escape/knife_menu/balrog_kosa_slash.wav",
  234.     "zombie_escape/knife_menu/balrog_kosa_slash.wav",
  235.     "zombie_escape/knife_menu/balrog_kosa_stab.wav"
  236. }
  237.  
  238. new const oldknife_sounds[][] =
  239. {
  240.     "weapons/knife_deploy1.wav",
  241.     "weapons/knife_hit1.wav",
  242.     "weapons/knife_hit2.wav",
  243.     "weapons/knife_hit3.wav",
  244.     "weapons/knife_hit4.wav",
  245.     "weapons/knife_hitwall1.wav",
  246.     "weapons/knife_slash1.wav",
  247.     "weapons/knife_slash2.wav",
  248.     "weapons/knife_stab.wav"
  249. }
  250.  
  251. new bool:g_bCompat[33], bool:g_bStrong[33], bool:g_bKatana[33], bool:g_bHammer[33], bool:g_bTurbulent9[33], bool:g_bBio[33], bool:g_bSabers[33], bool:g_bPlasma[33],
  252. bool:g_bStorm[33], bool:g_bLaevateinn[33], bool:g_bWarHammer_Dark_Knight[33], bool:g_bBalrog_Kosa[33], bool:g_bNoSpeed, g_iUsedTimes[33], g_pCvarUseTimes
  253.  
  254. new cvar_speed_compat
  255. new cvar_speed_strong
  256. new cvar_speed_katana
  257. new cvar_speed_hammer
  258. new cvar_speed_turb
  259. new cvar_speed_bio
  260. new cvar_speed_sabers
  261. new cvar_speed_plasma
  262. new cvar_speed_storm
  263. new cvar_speed_laevat
  264. new cvar_speed_darknight
  265. new cvar_speed_kosa
  266.  
  267. public plugin_precache()
  268. {
  269.     new i
  270.  
  271.     for (i = 0; i <= charsmax(Compat_Models); i++)
  272.         precache_model(Compat_Models[i])
  273.  
  274.     for (i = 0; i <= charsmax(Hammer_Models); i++)
  275.         precache_model(Hammer_Models[i])
  276.  
  277.     for (i = 0; i <= charsmax(Katana_Models); i++)
  278.         precache_model(Katana_Models[i])
  279.  
  280.     for (i = 0; i <= charsmax(Strong_Models); i++)
  281.         precache_model(Strong_Models[i])
  282.  
  283.     for (i = 0; i <= charsmax(Turbulent9_Models); i++)
  284.         precache_model(Turbulent9_Models[i])
  285.  
  286.     for (i = 0; i <= charsmax(Bio_Models); i++)
  287.         precache_model(Bio_Models[i])
  288.  
  289.     for (i = 0; i <= charsmax(Sabers_Models); i++)
  290.         precache_model(Sabers_Models[i])
  291.  
  292.     for (i = 0; i <= charsmax(Plasma_Models); i++)
  293.         precache_model(Plasma_Models[i])
  294.  
  295.     for (i = 0; i <= charsmax(Storm_Models); i++)
  296.         precache_model(Storm_Models[i])
  297.  
  298.     for (i = 0; i <= charsmax(Laevateinn_Models); i++)
  299.         precache_model(Laevateinn_Models[i])
  300.  
  301.     for (i = 0; i <= charsmax(WarHammer_Dark_Knight_Models); i++)
  302.         precache_model(WarHammer_Dark_Knight_Models[i])
  303.  
  304.     for (i = 0; i <= charsmax(Balrog_Kosa_Models); i++)
  305.         precache_model(Balrog_Kosa_Models[i])
  306.  
  307.     for (i = 0; i <= charsmax(combat_sounds); i++)
  308.         precache_sound(combat_sounds[i])
  309.  
  310.     for (i = 0; i <= charsmax(strong_sounds); i++)
  311.         precache_sound(strong_sounds[i])
  312.  
  313.     for (i = 0; i <= charsmax(katana_sounds); i++)
  314.         precache_sound(katana_sounds[i])
  315.  
  316.     for (i = 0; i <= charsmax(hammer_sounds); i++)
  317.         precache_sound(hammer_sounds[i])
  318.  
  319.     for (i = 0; i <= charsmax(turbulent9_sounds); i++)
  320.         precache_sound(turbulent9_sounds[i])
  321.  
  322.     for (i = 0; i <= charsmax(bio_sounds); i++)
  323.         precache_sound(bio_sounds[i])
  324.  
  325.     for (i = 0; i <= charsmax(sabers_sounds); i++)
  326.         precache_sound(sabers_sounds[i])
  327.  
  328.     for (i = 0; i <= charsmax(plasma_sounds); i++)
  329.         precache_sound(plasma_sounds[i])
  330.  
  331.     for (i = 0; i <= charsmax(storm_sounds); i++)
  332.         precache_sound(storm_sounds[i])
  333.  
  334.     for (i = 0; i <= charsmax(laevateinn_sounds); i++)
  335.         precache_sound(laevateinn_sounds[i])
  336.  
  337.     for (i = 0; i <= charsmax(warhammer_dark_knight_sounds); i++)
  338.         precache_sound(warhammer_dark_knight_sounds[i])
  339.  
  340.     for (i = 0; i <= charsmax(balrog_kosa_sounds); i++)
  341.         precache_sound(balrog_kosa_sounds[i])
  342.  
  343.     precache_sound(g_sound_knife)
  344. }
  345.  
  346. public plugin_natives()
  347. {
  348.     register_native("ze_open_knife_menu", "native_ze_open_knife_menu", 1)
  349. }
  350.  
  351. public plugin_init()
  352. {
  353.     register_plugin("[ZE] Addon: Knife Menu", "1.2", "Jack GamePlay")
  354.  
  355.     register_forward(FM_EmitSound, "fw_EmitSound")
  356.     register_forward(FM_PlayerPreThink, "fw_PlayerPreThink");
  357.  
  358.     register_event("CurWeapon", "CurrentWeapon", "be", "1=1")
  359.     RegisterHookChain(RG_CBasePlayer_ResetMaxSpeed, "Fw_RestMaxSpeed_Post", 1)
  360.    
  361.     g_pCvarUseTimes = register_cvar("ze_knife_menu_use_times", "1")
  362.  
  363.     register_message(get_user_msgid("DeathMsg"), "DeathMsg")
  364.  
  365.     register_clcmd("say /k", "Show_Knife_Menu")
  366.    
  367.     cvar_speed_compat = register_cvar("ze_compat_speed", "400.0")
  368.     cvar_speed_strong = register_cvar("ze_strong_speed", "270.0")
  369.     cvar_speed_katana = register_cvar("ze_katana_speed", "270.0")
  370.     cvar_speed_hammer = register_cvar("ze_hammer_speed", "270.0")
  371.     cvar_speed_turb = register_cvar("ze_turb_speed", "275.0")    
  372.     cvar_speed_bio = register_cvar("ze_bio_speed", "275.0")
  373.     cvar_speed_sabers = register_cvar("ze_sabers_speed", "275.0")
  374.     cvar_speed_plasma = register_cvar("ze_plasma_speed", "275.0")
  375.     cvar_speed_storm = register_cvar("ze_storm_speed", "280.0")    
  376.     cvar_speed_laevat = register_cvar("ze_laevat_speed", "280.0")  
  377.     cvar_speed_darknight = register_cvar("ze_darknight_speed", "280.0")
  378.     cvar_speed_kosa = register_cvar("ze_kosa_speed", "280.0")
  379. }
  380.  
  381. public ze_user_humanized(id)
  382. {
  383.     g_iUsedTimes[id] = 0
  384. }
  385.  
  386. public ze_user_infected(Victim)
  387. {
  388.     g_bCompat[Victim] = false
  389.     g_bStrong[Victim] = false
  390.     g_bKatana[Victim] = false
  391.     g_bHammer[Victim] = false
  392.     g_bTurbulent9[Victim] = false
  393.     g_bBio[Victim] = false
  394.     g_bSabers[Victim] = false
  395.     g_bPlasma[Victim] = false
  396.     g_bStorm[Victim] = false
  397.     g_bLaevateinn[Victim] = false
  398.     g_bWarHammer_Dark_Knight[Victim] = false
  399.     g_bBalrog_Kosa[Victim] = false
  400.     g_iUsedTimes[Victim] = 0
  401. }
  402.  
  403. public client_putinserver(id)
  404. {
  405.     g_bCompat[id] = false
  406.     g_bStrong[id] = false
  407.     g_bKatana[id] = false
  408.     g_bHammer[id] = false
  409.     g_bTurbulent9[id] = false
  410.     g_bBio[id] = false
  411.     g_bSabers[id] = false
  412.     g_bPlasma[id] = false
  413.     g_bStorm[id] = false
  414.     g_bLaevateinn[id] = false
  415.     g_bWarHammer_Dark_Knight[id] = false
  416.     g_bBalrog_Kosa[id] = false
  417.     g_iUsedTimes[id] = 0
  418. }
  419.  
  420. public client_disconnected(id)
  421. {
  422.     g_bCompat[id] = false
  423.     g_bStrong[id] = false
  424.     g_bKatana[id] = false
  425.     g_bHammer[id] = false
  426.     g_bTurbulent9[id] = false
  427.     g_bBio[id] = false
  428.     g_bSabers[id] = false
  429.     g_bPlasma[id] = false
  430.     g_bStorm[id] = false
  431.     g_bLaevateinn[id] = false
  432.     g_bWarHammer_Dark_Knight[id] = false
  433.     g_bBalrog_Kosa[id] = false
  434.     g_iUsedTimes[id] = 0
  435. }
  436.  
  437. public Show_Knife_Menu(id)
  438. {
  439.     if (!is_user_connected(id))
  440.         return PLUGIN_CONTINUE
  441.  
  442.     if (ze_is_user_zombie(id))
  443.     {
  444.         ze_colored_print(id, "!tZombies can't open knife menu!y.")
  445.         return PLUGIN_HANDLED
  446.     }
  447.  
  448.     if (g_iUsedTimes[id] >= get_pcvar_num(g_pCvarUseTimes))
  449.     {
  450.         ze_colored_print(id, "!tYou can only open knife menu !y[!g%dx!y] per round!", get_pcvar_num(g_pCvarUseTimes))
  451.         return PLUGIN_HANDLED
  452.     }
  453.  
  454.     if (!is_user_alive(id))
  455.     {
  456.         ze_colored_print(id, "!tDead can't open knife menu!y.")
  457.         return PLUGIN_HANDLED
  458.     }
  459.  
  460.     Knife_Menu(id)
  461.     return PLUGIN_CONTINUE
  462. }
  463.  
  464. public Knife_Menu(id)
  465. {
  466.     new iMenu = menu_create("\rChoose Your Knife\w:", "Menu_Handler")
  467.     menu_additem(iMenu, "\yCombat", "", 0)
  468.     menu_additem(iMenu, "\yStrong", "", 0)
  469.     menu_additem(iMenu, "\yKatana", "", 0)
  470.     menu_additem(iMenu, "\yHammer", "", 0)
  471.  
  472.     if (ze_get_vip_flags(id) & VIP_A)
  473.     {
  474.         menu_additem(iMenu, "\yTurbulent9 \r[VIP]", "", 0)
  475.         menu_additem(iMenu, "\yBio Hazard \r[VIP]", "", 0)
  476.     }
  477.    
  478.     if (ze_get_vip_flags(id) & VIP_B)
  479.     {
  480.         menu_additem(iMenu, "\ySabers \r[VIP+]", "", 0)
  481.         menu_additem(iMenu, "\yPlasma \r[VIP+]", "", 0)
  482.     }
  483.  
  484.     if (ze_get_vip_flags(id) & VIP_C)
  485.     {
  486.         menu_additem(iMenu, "\yStorm \r[VIP++]", "", 0)
  487.         menu_additem(iMenu, "\yLaevateinn \r[VIP++]", "", 0)
  488.         menu_additem(iMenu, "\yWarHammer Dark Night \r[VIP++]", "", 0)
  489.         menu_additem(iMenu, "\yBalrog Kosa \r[VIP++]", "", 0)
  490.     }
  491.  
  492.     menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL)
  493.     menu_display(id, iMenu, 0)
  494. }
  495.  
  496. public Menu_Handler(id, iMenu, iKey)
  497. {
  498.     if(!is_user_alive(id) || ze_is_user_zombie(id))
  499.         return PLUGIN_HANDLED
  500.        
  501.     switch(iKey)
  502.     {
  503.         case 0: // Compat
  504.         {
  505.             g_bCompat[id] = true
  506.             g_bStrong[id] = false
  507.             g_bKatana[id] = false
  508.             g_bHammer[id] = false
  509.             g_bTurbulent9[id] = false
  510.             g_bBio[id] = false
  511.             g_bSabers[id] = false
  512.             g_bPlasma[id] = false
  513.             g_bStorm[id] = false
  514.             g_bLaevateinn[id] = false
  515.             g_bWarHammer_Dark_Knight[id] = false
  516.             g_bBalrog_Kosa[id] = false
  517.             g_iUsedTimes[id]++
  518.             /*rg_remove_item(id, "weapon_knife")
  519.             rg_give_item(id, "weapon_knife", GT_APPEND)
  520.             engclient_cmd(id, "weapon_knife")
  521.             g_iUsedTimes[id]++
  522.             emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)*/
  523.         }
  524.         case 1: // Strong
  525.         {
  526.             g_bCompat[id] = false
  527.             g_bStrong[id] = true
  528.             g_bKatana[id] = false
  529.             g_bHammer[id] = false
  530.             g_bTurbulent9[id] = false
  531.             g_bBio[id] = false
  532.             g_bSabers[id] = false
  533.             g_bPlasma[id] = false
  534.             g_bStorm[id] = false
  535.             g_bLaevateinn[id] = false
  536.             g_bWarHammer_Dark_Knight[id] = false
  537.             g_bBalrog_Kosa[id] = false
  538.             g_iUsedTimes[id]++
  539.             /*rg_remove_item(id, "weapon_knife")
  540.             rg_give_item(id, "weapon_knife", GT_APPEND)
  541.             engclient_cmd(id, "weapon_knife")
  542.             g_iUsedTimes[id]++
  543.             emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)*/
  544.         }
  545.         case 2: // Katana
  546.         {
  547.             g_bCompat[id] = false
  548.             g_bStrong[id] = false
  549.             g_bKatana[id] = true
  550.             g_bHammer[id] = false
  551.             g_bTurbulent9[id] = false
  552.             g_bBio[id] = false
  553.             g_bSabers[id] = false
  554.             g_bPlasma[id] = false
  555.             g_bStorm[id] = false
  556.             g_bLaevateinn[id] = false
  557.             g_bWarHammer_Dark_Knight[id] = false
  558.             g_bBalrog_Kosa[id] = false
  559.             g_iUsedTimes[id]++
  560.             /*rg_remove_item(id, "weapon_knife")
  561.             rg_give_item(id, "weapon_knife", GT_APPEND)
  562.             engclient_cmd(id, "weapon_knife")
  563.             g_iUsedTimes[id]++
  564.             emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)*/
  565.         }
  566.         case 3: // Hammer
  567.         {
  568.             g_bCompat[id] = false
  569.             g_bStrong[id] = false
  570.             g_bKatana[id] = false
  571.             g_bHammer[id] = true
  572.             g_bTurbulent9[id] = false
  573.             g_bBio[id] = false
  574.             g_bSabers[id] = false
  575.             g_bPlasma[id] = false
  576.             g_bStorm[id] = false
  577.             g_bLaevateinn[id] = false
  578.             g_bWarHammer_Dark_Knight[id] = false
  579.             g_bBalrog_Kosa[id] = false
  580.             g_iUsedTimes[id]++
  581.             /*rg_remove_item(id, "weapon_knife")
  582.             rg_give_item(id, "weapon_knife", GT_APPEND)
  583.             engclient_cmd(id, "weapon_knife")
  584.             g_iUsedTimes[id]++
  585.             emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)*/
  586.         }
  587.         case 4: // Turbulent
  588.         {
  589.             if (ze_get_vip_flags(id) & VIP_A)
  590.             {
  591.                 g_bCompat[id] = false
  592.                 g_bStrong[id] = false
  593.                 g_bKatana[id] = false
  594.                 g_bHammer[id] = false
  595.                 g_bTurbulent9[id] = true
  596.                 g_bBio[id] = false
  597.                 g_bSabers[id] = false
  598.                 g_bPlasma[id] = false
  599.                 g_bStorm[id] = false
  600.                 g_bLaevateinn[id] = false
  601.                 g_bWarHammer_Dark_Knight[id] = false
  602.                 g_bBalrog_Kosa[id] = false
  603.                 g_iUsedTimes[id]++
  604.                 /*rg_remove_item(id, "weapon_knife")
  605.                 rg_give_item(id, "weapon_knife", GT_APPEND)
  606.                 engclient_cmd(id, "weapon_knife")
  607.                 g_iUsedTimes[id]++
  608.                 emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)*/
  609.             }
  610.         }
  611.         case 5: // Bio
  612.         {
  613.             if (ze_get_vip_flags(id) & VIP_A)
  614.             {
  615.                 g_bCompat[id] = false
  616.                 g_bStrong[id] = false
  617.                 g_bKatana[id] = false
  618.                 g_bHammer[id] = false
  619.                 g_bTurbulent9[id] = false
  620.                 g_bBio[id] = true
  621.                 g_bSabers[id] = false
  622.                 g_bPlasma[id] = false
  623.                 g_bStorm[id] = false
  624.                 g_bLaevateinn[id] = false
  625.                 g_bWarHammer_Dark_Knight[id] = false
  626.                 g_bBalrog_Kosa[id] = false
  627.                 g_iUsedTimes[id]++
  628.                 /*rg_remove_item(id, "weapon_knife")
  629.                 rg_give_item(id, "weapon_knife", GT_APPEND)
  630.                 engclient_cmd(id, "weapon_knife")
  631.                 g_iUsedTimes[id]++
  632.                 emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)*/
  633.             }
  634.         }
  635.         case 6: // Sabers
  636.         {
  637.             if (ze_get_vip_flags(id) & VIP_B)
  638.             {
  639.                 g_bCompat[id] = false
  640.                 g_bStrong[id] = false
  641.                 g_bKatana[id] = false
  642.                 g_bHammer[id] = false
  643.                 g_bTurbulent9[id] = false
  644.                 g_bBio[id] = false
  645.                 g_bSabers[id] = true
  646.                 g_bPlasma[id] = false
  647.                 g_bStorm[id] = false
  648.                 g_bLaevateinn[id] = false
  649.                 g_bWarHammer_Dark_Knight[id] = false
  650.                 g_bBalrog_Kosa[id] = false
  651.                 g_iUsedTimes[id]++
  652.                 /*rg_remove_item(id, "weapon_knife")
  653.                 rg_give_item(id, "weapon_knife", GT_APPEND)
  654.                 engclient_cmd(id, "weapon_knife")
  655.                 g_iUsedTimes[id]++
  656.                 emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)*/
  657.             }
  658.         }
  659.         case 7: // Plasma
  660.         {
  661.             if (ze_get_vip_flags(id) & VIP_B)
  662.             {
  663.                 g_bCompat[id] = false
  664.                 g_bStrong[id] = false
  665.                 g_bKatana[id] = false
  666.                 g_bHammer[id] = false
  667.                 g_bTurbulent9[id] = false
  668.                 g_bBio[id] = false
  669.                 g_bSabers[id] = false
  670.                 g_bPlasma[id] = true
  671.                 g_bStorm[id] = false
  672.                 g_bLaevateinn[id] = false
  673.                 g_bWarHammer_Dark_Knight[id] = false
  674.                 g_bBalrog_Kosa[id] = false
  675.                 g_iUsedTimes[id]++
  676.                 /*rg_remove_item(id, "weapon_knife")
  677.                 rg_give_item(id, "weapon_knife", GT_APPEND)
  678.                 engclient_cmd(id, "weapon_knife")
  679.                 g_iUsedTimes[id]++
  680.                 emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)*/
  681.             }
  682.         }
  683.         case 8: // Storm
  684.         {
  685.             if (ze_get_vip_flags(id) & VIP_C)
  686.             {
  687.                 g_bCompat[id] = false
  688.                 g_bStrong[id] = false
  689.                 g_bKatana[id] = false
  690.                 g_bHammer[id] = false
  691.                 g_bTurbulent9[id] = false
  692.                 g_bBio[id] = false
  693.                 g_bSabers[id] = false
  694.                 g_bPlasma[id] = false
  695.                 g_bStorm[id] = true
  696.                 g_bLaevateinn[id] = false
  697.                 g_bWarHammer_Dark_Knight[id] = false
  698.                 g_bBalrog_Kosa[id] = false
  699.                 g_iUsedTimes[id]++
  700.                 /*rg_remove_item(id, "weapon_knife")
  701.                 rg_give_item(id, "weapon_knife", GT_APPEND)
  702.                 engclient_cmd(id, "weapon_knife")
  703.                 g_iUsedTimes[id]++
  704.                 emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)*/
  705.             }
  706.         }
  707.         case 9: // Laevateinn
  708.         {
  709.             if (ze_get_vip_flags(id) & VIP_C)
  710.             {
  711.                 g_bCompat[id] = false
  712.                 g_bStrong[id] = false
  713.                 g_bKatana[id] = false
  714.                 g_bHammer[id] = false
  715.                 g_bTurbulent9[id] = false
  716.                 g_bBio[id] = false
  717.                 g_bSabers[id] = false
  718.                 g_bPlasma[id] = false
  719.                 g_bStorm[id] = false
  720.                 g_bLaevateinn[id] = true
  721.                 g_bWarHammer_Dark_Knight[id] = false
  722.                 g_bBalrog_Kosa[id] = false
  723.                 g_iUsedTimes[id]++
  724.                 /*rg_remove_item(id, "weapon_knife")
  725.                 rg_give_item(id, "weapon_knife", GT_APPEND)
  726.                 engclient_cmd(id, "weapon_knife")
  727.                 g_iUsedTimes[id]++
  728.                 emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)*/
  729.             }
  730.         }
  731.         case 10: // Warhammer Dark Night
  732.         {
  733.             if (ze_get_vip_flags(id) & VIP_C)
  734.             {
  735.                 g_bCompat[id] = false
  736.                 g_bStrong[id] = false
  737.                 g_bKatana[id] = false
  738.                 g_bHammer[id] = false
  739.                 g_bTurbulent9[id] = false
  740.                 g_bBio[id] = false
  741.                 g_bSabers[id] = false
  742.                 g_bPlasma[id] = false
  743.                 g_bStorm[id] = false
  744.                 g_bLaevateinn[id] = false
  745.                 g_bWarHammer_Dark_Knight[id] = true
  746.                 g_bBalrog_Kosa[id] = false
  747.                 g_iUsedTimes[id]++
  748.                 /*rg_remove_item(id, "weapon_knife")
  749.                 rg_give_item(id, "weapon_knife", GT_APPEND)
  750.                 engclient_cmd(id, "weapon_knife")
  751.                 g_iUsedTimes[id]++
  752.                 emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)*/
  753.             }
  754.         }
  755.         case 11: // Balrog Kosa
  756.         {
  757.             if (ze_get_vip_flags(id) & VIP_C)
  758.             {
  759.                 g_bCompat[id] = false
  760.                 g_bStrong[id] = false
  761.                 g_bKatana[id] = false
  762.                 g_bHammer[id] = false
  763.                 g_bTurbulent9[id] = false
  764.                 g_bBio[id] = false
  765.                 g_bSabers[id] = false
  766.                 g_bPlasma[id] = false
  767.                 g_bStorm[id] = false
  768.                 g_bLaevateinn[id] = false
  769.                 g_bWarHammer_Dark_Knight[id] = false
  770.                 g_bBalrog_Kosa[id] = true
  771.                 g_iUsedTimes[id]++
  772.                 /*rg_remove_item(id, "weapon_knife")
  773.                 rg_give_item(id, "weapon_knife", GT_APPEND)
  774.                 engclient_cmd(id, "weapon_knife")
  775.                 g_iUsedTimes[id]++
  776.                 emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)*/
  777.             }
  778.         }
  779.     }
  780.  
  781.     rg_remove_item(id, "weapon_knife")
  782.     rg_give_item(id, "weapon_knife", GT_APPEND)
  783.     engclient_cmd(id, "weapon_knife")
  784.     emit_sound(id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)
  785.     menu_destroy(iMenu)
  786.     return PLUGIN_HANDLED
  787. }
  788.  
  789. public fw_EmitSound(id, channel, const sound[])
  790. {
  791.     if(!is_user_alive(id) || ze_is_user_zombie(id))
  792.         return FMRES_IGNORED
  793.        
  794.     new i
  795.     for (i = 0; i <= charsmax(combat_sounds); i++)
  796.     for (i = 0; i <= charsmax(strong_sounds); i++)
  797.     for (i = 0; i <= charsmax(katana_sounds); i++)
  798.     for (i = 0; i <= charsmax(hammer_sounds); i++)
  799.     for (i = 0; i <= charsmax(turbulent9_sounds); i++)
  800.     for (i = 0; i <= charsmax(bio_sounds); i++)
  801.     for (i = 0; i <= charsmax(sabers_sounds); i++)
  802.     for (i = 0; i <= charsmax(plasma_sounds); i++)
  803.     for (i = 0; i <= charsmax(storm_sounds); i++)
  804.     for (i = 0; i <= charsmax(laevateinn_sounds); i++)
  805.     for (i = 0; i <= charsmax(warhammer_dark_knight_sounds); i++)
  806.     for (i = 0; i <= charsmax(balrog_kosa_sounds); i++)
  807.     {
  808.         if(equal(sound, oldknife_sounds[i]))
  809.         {
  810.             if (g_bCompat[id])
  811.             {
  812.                 emit_sound(id, channel, combat_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
  813.                 return FMRES_SUPERCEDE
  814.             }
  815.             else if (g_bStrong[id])
  816.             {
  817.                 emit_sound(id, channel, strong_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
  818.                 return FMRES_SUPERCEDE
  819.             }
  820.             else if (g_bKatana[id])
  821.             {
  822.                 emit_sound(id, channel, katana_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
  823.                 return FMRES_SUPERCEDE
  824.             }
  825.             else if (g_bHammer[id])
  826.             {
  827.                 emit_sound(id, channel, hammer_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
  828.                 return FMRES_SUPERCEDE
  829.             }
  830.             else if ((g_bTurbulent9[id]) && (ze_get_vip_flags(id) & VIP_A))
  831.             {
  832.                 emit_sound(id, channel, turbulent9_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
  833.                 return FMRES_SUPERCEDE
  834.             }
  835.             else if ((g_bBio[id]) && (ze_get_vip_flags(id) & VIP_A))
  836.             {
  837.                 emit_sound(id, channel, bio_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
  838.                 return FMRES_SUPERCEDE
  839.             }
  840.             else if ((g_bSabers[id]) && (ze_get_vip_flags(id) & VIP_B))
  841.             {
  842.                 emit_sound(id, channel, sabers_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
  843.                 return FMRES_SUPERCEDE
  844.             }
  845.             else if ((g_bPlasma[id]) && (ze_get_vip_flags(id) & VIP_B))
  846.             {
  847.                 emit_sound(id, channel, plasma_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
  848.                 return FMRES_SUPERCEDE
  849.             }
  850.             else if ((g_bStorm[id]) && (ze_get_vip_flags(id) & VIP_C))
  851.             {
  852.                 emit_sound(id, channel, storm_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
  853.                 return FMRES_SUPERCEDE
  854.             }
  855.             else if ((g_bLaevateinn[id]) && (ze_get_vip_flags(id) & VIP_C))
  856.             {
  857.                 emit_sound(id, channel, laevateinn_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
  858.                 return FMRES_SUPERCEDE
  859.             }
  860.             else if ((g_bWarHammer_Dark_Knight[id]) && (ze_get_vip_flags(id) & VIP_C))
  861.             {
  862.                 emit_sound(id, channel, warhammer_dark_knight_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
  863.                 return FMRES_SUPERCEDE
  864.             }
  865.             else if ((g_bBalrog_Kosa[id]) && (ze_get_vip_flags(id) & VIP_C))
  866.             {
  867.                 emit_sound(id, channel, balrog_kosa_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
  868.                 return FMRES_SUPERCEDE
  869.             }
  870.             else if (!g_bCompat[id] || !g_bStrong[id] || !g_bKatana[id] || !g_bHammer[id] || !g_bTurbulent9[id] || !g_bBio[id] || !g_bSabers[id] || !g_bPlasma[id] || !g_bStorm[id] || !g_bLaevateinn[id] || !g_bWarHammer_Dark_Knight[id] || !g_bBalrog_Kosa[id])
  871.             {
  872.                 emit_sound(id, channel, oldknife_sounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
  873.                 return FMRES_SUPERCEDE
  874.             }
  875.         }
  876.     }
  877.     return FMRES_IGNORED
  878. }
  879.  
  880. public CurrentWeapon(id)
  881. {
  882.     if(!is_user_alive(id) || ze_is_user_zombie(id))
  883.         return
  884.        
  885.     if(get_user_weapon(id) & CSW_KNIFE)
  886.     {
  887.         if(g_bCompat[id])
  888.         {
  889.             cs_set_player_view_model(id, CSW_KNIFE, Compat_Models[0])
  890.             cs_set_player_weap_model(id, CSW_KNIFE, Compat_Models[1])
  891.         }
  892.         else if(g_bStrong[id])
  893.         {
  894.             cs_set_player_view_model(id, CSW_KNIFE, Strong_Models[0])
  895.             cs_set_player_weap_model(id, CSW_KNIFE, Strong_Models[1])
  896.         }
  897.         else if(g_bKatana[id])
  898.         {
  899.             cs_set_player_view_model(id, CSW_KNIFE, Katana_Models[0])
  900.             cs_set_player_weap_model(id, CSW_KNIFE, Katana_Models[1])
  901.         }
  902.         else if(g_bHammer[id])
  903.         {
  904.             cs_set_player_view_model(id, CSW_KNIFE, Hammer_Models[0])
  905.             cs_set_player_weap_model(id, CSW_KNIFE, Hammer_Models[1])
  906.         }
  907.         else if((g_bTurbulent9[id]) && (ze_get_vip_flags(id) & VIP_A))
  908.         {
  909.             cs_set_player_view_model(id, CSW_KNIFE, Turbulent9_Models[0])
  910.             cs_set_player_weap_model(id, CSW_KNIFE, Turbulent9_Models[1])
  911.         }
  912.         else if((g_bBio[id]) && (ze_get_vip_flags(id) & VIP_A))
  913.         {
  914.             cs_set_player_view_model(id, CSW_KNIFE, Bio_Models[0])
  915.             cs_set_player_weap_model(id, CSW_KNIFE, Bio_Models[1])
  916.         }
  917.         else if((g_bSabers[id]) && (ze_get_vip_flags(id) & VIP_B))
  918.         {
  919.             cs_set_player_view_model(id, CSW_KNIFE, Sabers_Models[0])
  920.             cs_set_player_weap_model(id, CSW_KNIFE, Sabers_Models[1])
  921.         }
  922.         else if((g_bPlasma[id]) && (ze_get_vip_flags(id) & VIP_B))
  923.         {
  924.             cs_set_player_view_model(id, CSW_KNIFE, Plasma_Models[0])
  925.             cs_set_player_weap_model(id, CSW_KNIFE, Plasma_Models[1])
  926.         }
  927.         else if((g_bStorm[id]) && (ze_get_vip_flags(id) & VIP_C))
  928.         {
  929.             cs_set_player_view_model(id, CSW_KNIFE, Storm_Models[0])
  930.             cs_set_player_weap_model(id, CSW_KNIFE, Storm_Models[1])
  931.         }
  932.         else if((g_bLaevateinn[id]) && (ze_get_vip_flags(id) & VIP_C))
  933.         {
  934.             cs_set_player_view_model(id, CSW_KNIFE, Laevateinn_Models[0])
  935.             cs_set_player_weap_model(id, CSW_KNIFE, Laevateinn_Models[1])
  936.         }
  937.         else if((g_bWarHammer_Dark_Knight[id]) && (ze_get_vip_flags(id) & VIP_C))
  938.         {
  939.             cs_set_player_view_model(id, CSW_KNIFE, WarHammer_Dark_Knight_Models[0])
  940.             cs_set_player_weap_model(id, CSW_KNIFE, WarHammer_Dark_Knight_Models[1])
  941.         }
  942.         else if((g_bBalrog_Kosa[id]) && (ze_get_vip_flags(id) & VIP_C))
  943.         {
  944.             cs_set_player_view_model(id, CSW_KNIFE, Balrog_Kosa_Models[0])
  945.             cs_set_player_weap_model(id, CSW_KNIFE, Balrog_Kosa_Models[1])
  946.         }
  947.         else
  948.         {
  949.             cs_reset_player_view_model(id, CSW_KNIFE)
  950.             cs_reset_player_weap_model(id, CSW_KNIFE)
  951.         }
  952.     }
  953. }
  954.  
  955. public Fw_RestMaxSpeed_Post(id)
  956. {
  957.     new iWpnId = get_user_weapon(id)
  958.    
  959.     if (iWpnId == CSW_KNIFE && g_bCompat[id])
  960.     {
  961.         if ((get_entvar(id, var_button) & IN_JUMP) && !(get_entvar(id, var_oldbuttons) & IN_JUMP))
  962.         {
  963.             new iFlags = get_entvar(id, var_flags);
  964.             new iWaterlvl = get_entvar(id, var_waterlevel)
  965.            
  966.             if (!(iFlags & FL_ONGROUND))
  967.                 return HAM_IGNORED
  968.  
  969.             if (iFlags & FL_WATERJUMP)
  970.                 return HAM_IGNORED
  971.  
  972.             if (iWaterlvl > 1)
  973.                 return HAM_IGNORED
  974.            
  975.             new Float:flVelocity[3]
  976.             get_entvar(id , var_velocity , flVelocity)
  977.  
  978.             flVelocity[2] += 325
  979.  
  980.             set_entvar(id , var_velocity , flVelocity)
  981.  
  982.             set_entvar(id, var_gaitsequence, 6)
  983.         }
  984.        
  985.         set_entvar(id, var_maxspeed, get_pcvar_float(cvar_speed_compat))
  986.     }
  987.     else if (iWpnId == CSW_KNIFE && g_bStrong[id])
  988.     {
  989.         if ((get_entvar(id, var_button) & IN_JUMP) && !(get_entvar(id, var_oldbuttons) & IN_JUMP))
  990.         {
  991.             new iFlags = get_entvar(id, var_flags);
  992.             new iWaterlvl = get_entvar(id, var_waterlevel)
  993.            
  994.             if (!(iFlags & FL_ONGROUND))
  995.                 return HAM_IGNORED
  996.  
  997.             if (iFlags & FL_WATERJUMP)
  998.                 return HAM_IGNORED
  999.  
  1000.             if (iWaterlvl > 1)
  1001.                 return HAM_IGNORED
  1002.            
  1003.             new Float:flVelocity[3]
  1004.             get_entvar(id , var_velocity , flVelocity)
  1005.  
  1006.             flVelocity[2] += 325
  1007.  
  1008.             set_entvar(id , var_velocity , flVelocity)
  1009.  
  1010.             set_entvar(id, var_gaitsequence, 6)
  1011.         }
  1012.        
  1013.         set_entvar(id, var_maxspeed, get_pcvar_float(cvar_speed_strong))
  1014.     }
  1015.     else if (iWpnId == CSW_KNIFE && g_bKatana[id])
  1016.     {
  1017.         if ((get_entvar(id, var_button) & IN_JUMP) && !(get_entvar(id, var_oldbuttons) & IN_JUMP))
  1018.         {
  1019.             new iFlags = get_entvar(id, var_flags);
  1020.             new iWaterlvl = get_entvar(id, var_waterlevel)
  1021.            
  1022.             if (!(iFlags & FL_ONGROUND))
  1023.                 return HAM_IGNORED
  1024.  
  1025.             if (iFlags & FL_WATERJUMP)
  1026.                 return HAM_IGNORED
  1027.  
  1028.             if (iWaterlvl > 1)
  1029.                 return HAM_IGNORED
  1030.            
  1031.             new Float:flVelocity[3]
  1032.             get_entvar(id , var_velocity , flVelocity)
  1033.  
  1034.             flVelocity[2] += 325
  1035.  
  1036.             set_entvar(id , var_velocity , flVelocity)
  1037.  
  1038.             set_entvar(id, var_gaitsequence, 6)
  1039.         }
  1040.        
  1041.         set_entvar(id, var_maxspeed, get_pcvar_float(cvar_speed_katana))
  1042.     }
  1043.     else if (iWpnId == CSW_KNIFE && g_bHammer[id])
  1044.     {
  1045.         if ((get_entvar(id, var_button) & IN_JUMP) && !(get_entvar(id, var_oldbuttons) & IN_JUMP))
  1046.         {
  1047.             new iFlags = get_entvar(id, var_flags);
  1048.             new iWaterlvl = get_entvar(id, var_waterlevel)
  1049.            
  1050.             if (!(iFlags & FL_ONGROUND))
  1051.                 return HAM_IGNORED
  1052.  
  1053.             if (iFlags & FL_WATERJUMP)
  1054.                 return HAM_IGNORED
  1055.  
  1056.             if (iWaterlvl > 1)
  1057.                 return HAM_IGNORED
  1058.            
  1059.             new Float:flVelocity[3]
  1060.             get_entvar(id , var_velocity , flVelocity)
  1061.  
  1062.             flVelocity[2] += 325
  1063.  
  1064.             set_entvar(id , var_velocity , flVelocity)
  1065.  
  1066.             set_entvar(id, var_gaitsequence, 6)
  1067.         }
  1068.        
  1069.         set_entvar(id, var_maxspeed, get_pcvar_float(cvar_speed_hammer))
  1070.     }
  1071.     else if (iWpnId == CSW_KNIFE && g_bTurbulent9[id])
  1072.     {
  1073.         if ((get_entvar(id, var_button) & IN_JUMP) && !(get_entvar(id, var_oldbuttons) & IN_JUMP))
  1074.         {
  1075.             new iFlags = get_entvar(id, var_flags);
  1076.             new iWaterlvl = get_entvar(id, var_waterlevel)
  1077.            
  1078.             if (!(iFlags & FL_ONGROUND))
  1079.                 return HAM_IGNORED
  1080.  
  1081.             if (iFlags & FL_WATERJUMP)
  1082.                 return HAM_IGNORED
  1083.  
  1084.             if (iWaterlvl > 1)
  1085.                 return HAM_IGNORED
  1086.            
  1087.             new Float:flVelocity[3]
  1088.             get_entvar(id , var_velocity , flVelocity)
  1089.  
  1090.             flVelocity[2] += 325
  1091.  
  1092.             set_entvar(id , var_velocity , flVelocity)
  1093.  
  1094.             set_entvar(id, var_gaitsequence, 6)
  1095.         }
  1096.        
  1097.         set_entvar(id, var_maxspeed, get_pcvar_float(cvar_speed_turb))
  1098.     }
  1099.     else if (iWpnId == CSW_KNIFE && g_bBio[id])
  1100.     {
  1101.         if ((get_entvar(id, var_button) & IN_JUMP) && !(get_entvar(id, var_oldbuttons) & IN_JUMP))
  1102.         {
  1103.             new iFlags = get_entvar(id, var_flags);
  1104.             new iWaterlvl = get_entvar(id, var_waterlevel)
  1105.            
  1106.             if (!(iFlags & FL_ONGROUND))
  1107.                 return HAM_IGNORED
  1108.  
  1109.             if (iFlags & FL_WATERJUMP)
  1110.                 return HAM_IGNORED
  1111.  
  1112.             if (iWaterlvl > 1)
  1113.                 return HAM_IGNORED
  1114.            
  1115.             new Float:flVelocity[3]
  1116.             get_entvar(id , var_velocity , flVelocity)
  1117.  
  1118.             flVelocity[2] += 325
  1119.  
  1120.             set_entvar(id , var_velocity , flVelocity)
  1121.  
  1122.             set_entvar(id, var_gaitsequence, 6)
  1123.         }
  1124.        
  1125.         set_entvar(id, var_maxspeed, get_pcvar_float(cvar_speed_bio))
  1126.     }
  1127.     else if (iWpnId == CSW_KNIFE && g_bSabers[id])
  1128.     {
  1129.         if ((get_entvar(id, var_button) & IN_JUMP) && !(get_entvar(id, var_oldbuttons) & IN_JUMP))
  1130.         {
  1131.             new iFlags = get_entvar(id, var_flags);
  1132.             new iWaterlvl = get_entvar(id, var_waterlevel)
  1133.            
  1134.             if (!(iFlags & FL_ONGROUND))
  1135.                 return HAM_IGNORED
  1136.  
  1137.             if (iFlags & FL_WATERJUMP)
  1138.                 return HAM_IGNORED
  1139.  
  1140.             if (iWaterlvl > 1)
  1141.                 return HAM_IGNORED
  1142.            
  1143.             new Float:flVelocity[3]
  1144.             get_entvar(id , var_velocity , flVelocity)
  1145.  
  1146.             flVelocity[2] += 325
  1147.  
  1148.             set_entvar(id , var_velocity , flVelocity)
  1149.  
  1150.             set_entvar(id, var_gaitsequence, 6)
  1151.         }
  1152.        
  1153.         set_entvar(id, var_maxspeed, get_pcvar_float(cvar_speed_sabers))
  1154.     }
  1155.     else if (iWpnId == CSW_KNIFE && g_bPlasma[id])
  1156.     {
  1157.         if ((get_entvar(id, var_button) & IN_JUMP) && !(get_entvar(id, var_oldbuttons) & IN_JUMP))
  1158.         {
  1159.             new iFlags = get_entvar(id, var_flags);
  1160.             new iWaterlvl = get_entvar(id, var_waterlevel)
  1161.            
  1162.             if (!(iFlags & FL_ONGROUND))
  1163.                 return HAM_IGNORED
  1164.  
  1165.             if (iFlags & FL_WATERJUMP)
  1166.                 return HAM_IGNORED
  1167.  
  1168.             if (iWaterlvl > 1)
  1169.                 return HAM_IGNORED
  1170.            
  1171.             new Float:flVelocity[3]
  1172.             get_entvar(id , var_velocity , flVelocity)
  1173.  
  1174.             flVelocity[2] += 325
  1175.  
  1176.             set_entvar(id , var_velocity , flVelocity)
  1177.  
  1178.             set_entvar(id, var_gaitsequence, 6)
  1179.         }
  1180.        
  1181.         set_entvar(id, var_maxspeed, get_pcvar_float(cvar_speed_plasma))
  1182.     }
  1183.     else if (iWpnId == CSW_KNIFE && g_bStorm[id])
  1184.     {
  1185.         if ((get_entvar(id, var_button) & IN_JUMP) && !(get_entvar(id, var_oldbuttons) & IN_JUMP))
  1186.         {
  1187.             new iFlags = get_entvar(id, var_flags);
  1188.             new iWaterlvl = get_entvar(id, var_waterlevel)
  1189.            
  1190.             if (!(iFlags & FL_ONGROUND))
  1191.                 return HAM_IGNORED
  1192.  
  1193.             if (iFlags & FL_WATERJUMP)
  1194.                 return HAM_IGNORED
  1195.  
  1196.             if (iWaterlvl > 1)
  1197.                 return HAM_IGNORED
  1198.            
  1199.             new Float:flVelocity[3]
  1200.             get_entvar(id , var_velocity , flVelocity)
  1201.  
  1202.             flVelocity[2] += 325
  1203.  
  1204.             set_entvar(id , var_velocity , flVelocity)
  1205.  
  1206.             set_entvar(id, var_gaitsequence, 6)
  1207.         }
  1208.        
  1209.         set_entvar(id, var_maxspeed, get_pcvar_float(cvar_speed_storm))
  1210.     }
  1211.     else if (iWpnId == CSW_KNIFE && g_bLaevateinn[id])
  1212.     {
  1213.         if ((get_entvar(id, var_button) & IN_JUMP) && !(get_entvar(id, var_oldbuttons) & IN_JUMP))
  1214.         {
  1215.             new iFlags = get_entvar(id, var_flags);
  1216.             new iWaterlvl = get_entvar(id, var_waterlevel)
  1217.            
  1218.             if (!(iFlags & FL_ONGROUND))
  1219.                 return HAM_IGNORED
  1220.  
  1221.             if (iFlags & FL_WATERJUMP)
  1222.                 return HAM_IGNORED
  1223.  
  1224.             if (iWaterlvl > 1)
  1225.                 return HAM_IGNORED
  1226.            
  1227.             new Float:flVelocity[3]
  1228.             get_entvar(id , var_velocity , flVelocity)
  1229.  
  1230.             flVelocity[2] += 325
  1231.  
  1232.             set_entvar(id , var_velocity , flVelocity)
  1233.  
  1234.             set_entvar(id, var_gaitsequence, 6)
  1235.         }
  1236.        
  1237.         set_entvar(id, var_maxspeed, get_pcvar_float(cvar_speed_laevat))
  1238.     }
  1239.     else if (iWpnId == CSW_KNIFE && g_bWarHammer_Dark_Knight[id])
  1240.     {
  1241.         if ((get_entvar(id, var_button) & IN_JUMP) && !(get_entvar(id, var_oldbuttons) & IN_JUMP))
  1242.         {
  1243.             new iFlags = get_entvar(id, var_flags);
  1244.             new iWaterlvl = get_entvar(id, var_waterlevel)
  1245.            
  1246.             if (!(iFlags & FL_ONGROUND))
  1247.                 return HAM_IGNORED
  1248.  
  1249.             if (iFlags & FL_WATERJUMP)
  1250.                 return HAM_IGNORED
  1251.  
  1252.             if (iWaterlvl > 1)
  1253.                 return HAM_IGNORED
  1254.            
  1255.             new Float:flVelocity[3]
  1256.             get_entvar(id , var_velocity , flVelocity)
  1257.  
  1258.             flVelocity[2] += 325
  1259.  
  1260.             set_entvar(id , var_velocity , flVelocity)
  1261.  
  1262.             set_entvar(id, var_gaitsequence, 6)
  1263.         }
  1264.        
  1265.         set_entvar(id, var_maxspeed, get_pcvar_float(cvar_speed_darknight))
  1266.     }
  1267.     else if (iWpnId == CSW_KNIFE && g_bBalrog_Kosa[id])
  1268.     {
  1269.         if ((get_entvar(id, var_button) & IN_JUMP) && !(get_entvar(id, var_oldbuttons) & IN_JUMP))
  1270.         {
  1271.             new iFlags = get_entvar(id, var_flags);
  1272.             new iWaterlvl = get_entvar(id, var_waterlevel)
  1273.            
  1274.             if (!(iFlags & FL_ONGROUND))
  1275.                 return HAM_IGNORED
  1276.  
  1277.             if (iFlags & FL_WATERJUMP)
  1278.                 return HAM_IGNORED
  1279.  
  1280.             if (iWaterlvl > 1)
  1281.                 return HAM_IGNORED
  1282.            
  1283.             new Float:flVelocity[3]
  1284.             get_entvar(id , var_velocity , flVelocity)
  1285.  
  1286.             flVelocity[2] += 325
  1287.  
  1288.             set_entvar(id , var_velocity , flVelocity)
  1289.  
  1290.             set_entvar(id, var_gaitsequence, 6)
  1291.         }
  1292.        
  1293.         set_entvar(id, var_maxspeed, get_pcvar_float(cvar_speed_kosa))
  1294.     }
  1295.     return HAM_IGNORED
  1296. }
  1297.  
  1298.  
  1299. public DeathMsg(msg_id, msg_dest, id)
  1300. {
  1301.     static szTruncatedWeapon[33], iAttacker
  1302.     get_msg_arg_string(4, szTruncatedWeapon, charsmax(szTruncatedWeapon))
  1303.     iAttacker = get_msg_arg_int(1)
  1304.    
  1305.     if(!is_user_alive(iAttacker) || iAttacker == get_msg_arg_int(2) || !is_user_alive(get_msg_arg_int(2))) // get_msg_arg_int(2) = iVictim
  1306.         return
  1307.    
  1308.     if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iAttacker) & CSW_KNIFE)
  1309.     {
  1310.         if(g_bCompat[id])
  1311.         {
  1312.             set_msg_arg_string(4, "Combat knife")
  1313.         }
  1314.         else if(g_bStrong[id])
  1315.         {
  1316.             set_msg_arg_string(4, "Strong knife")
  1317.         }
  1318.         else if(g_bKatana[id])
  1319.         {
  1320.             set_msg_arg_string(4, "Katana knife")
  1321.         }
  1322.         else if(g_bHammer[id])
  1323.         {
  1324.             set_msg_arg_string(4, "Ice knife")
  1325.         }
  1326.         else if(g_bTurbulent9[id])
  1327.         {
  1328.             set_msg_arg_string(4, "Turbulent9 knife")
  1329.         }
  1330.         else if(g_bBio[id])
  1331.         {
  1332.             set_msg_arg_string(4, "Biohazard knife")
  1333.         }
  1334.         else if(g_bSabers[id])
  1335.         {
  1336.             set_msg_arg_string(4, "Sabers knife")
  1337.         }
  1338.         else if(g_bPlasma[id])
  1339.         {
  1340.             set_msg_arg_string(4, "Plasma knife")
  1341.         }
  1342.         else if(g_bStorm[id])
  1343.         {
  1344.             set_msg_arg_string(4, "Storm knife")
  1345.         }
  1346.         else if(g_bLaevateinn[id])
  1347.         {
  1348.             set_msg_arg_string(4, "Laevateinn knife")
  1349.         }
  1350.         else if(g_bWarHammer_Dark_Knight[id])
  1351.         {
  1352.             set_msg_arg_string(4, "WarHammer Dark Knight knife")
  1353.         }
  1354.         else if(g_bBalrog_Kosa[id])
  1355.         {
  1356.             set_msg_arg_string(4, "Balrog Kosa Knife")
  1357.         }
  1358.     }
  1359. }
  1360.  
  1361. stock fm_set_user_maxspeed(index, Float:speed = -1.0)
  1362. {
  1363.         engfunc(EngFunc_SetClientMaxspeed, index, speed);
  1364.         set_pev(index, pev_maxspeed, speed);
  1365.  
  1366.         return 1;
  1367. }  
  1368.  
  1369. public native_ze_open_knife_menu(id)
  1370. {
  1371.     Show_Knife_Menu(id)
  1372. }

User avatar
Raheem
Mod Developer
Mod Developer
Egypt
Posts: 1717
Joined: 1 Year Ago
Location: Egypt
Has thanked: 28 times
Been thanked: 78 times
Age: 21
Contact:

#28

Post by Raheem » 3 Months Ago

Grenade 290 and knife 270, What should it be?
You don't know? Learn and you will know.

User avatar
Mark
Senior Member
Senior Member
United States of America
Posts: 258
Joined: 3 Months Ago
Location: Des Moines/USA
Donation: 1x donated in total €10.00
Has thanked: 6 times
Been thanked: 19 times
Age: 33
Contact:

#29

Post by Mark » 3 Months Ago

Raheem wrote:
3 Months Ago
Grenade 290 and knife 270, What should it be?
That Knife should be set to 400 as speak for testing this.

It will be 280 once its working.

User avatar
Raheem
Mod Developer
Mod Developer
Egypt
Posts: 1717
Joined: 1 Year Ago
Location: Egypt
Has thanked: 28 times
Been thanked: 78 times
Age: 21
Contact:

#30

Post by Raheem » 3 Months Ago

Let me test code myself.
You don't know? Learn and you will know.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest