AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   [solved] Models crashing mode? (https://forums.alliedmods.net/showthread.php?t=298223)

Mostafa abukhalaf 06-05-2017 08:38

[solved] Models crashing mode?
 
hey guys , im having a proplem with "v_combat_knife" model in this knife menu its crashing server when i add a completly diffrent plugins for example jump bomb, and a message pop up telling "SV_modelindex : model models/zb/v_combat_knife.mdl,not prechaced" i didnt change the name of this knife but i changed the model but it keep crashing help please !

PHP Code:

#include <amxmodx>
#include <fakemeta>
#include <fun> 
#include <engine> 
#include <hamsandwich>
#include <zombieplague>

#define PLUGIN    "Choose knifes"
#define VERSION    "1.0"
#define AUTHOR    "CHyC/4e/l"

#define VIP ADMIN_LEVEL_H
#define MAXPLAYERS 32

new combat_v_model[] = "models/zb/v_combat_knife.mdl"
new combat_p_model[] = "models/zb/p_combat_knife.mdl"

new strong_v_model[] = "models/zb/v_strong_knife.mdl"
new strong_p_model[] = "models/zb/p_strong_knife.mdl"

new axe_v_model[] = "models/zb/v_axe.mdl"    
new axe_p_model[] = "models/zb/p_axe.mdl"    

new katana_v_model[] = "models/zb/v_katanad.mdl"    
new katana_p_model[] = "models/zb/p_katanad.mdl"

new dragonsword_v_model[] = "models/zb/v_storm_sword.mdl"    
new dragonsword_p_model[] = "models/zb/p_storm_sword.mdl"    

const m_pPlayer 41 
const m_flNextPrimaryAttack 46 
const m_flNextSecondaryAttack 47 
const m_flTimeWeaponIdle 48 

new g_hasSpeed[33], SayText
new bool:g_WasShowed[MAXPLAYERS 1]
new 
g_knife_combat[33], cvar_knife_combat_jumpcvar_knife_combat_spdcvar_knife_combat_dmgcvar_knife_combat_knockcvar_knife_combat_spd_attack2
new g_knife_strong[33], cvar_knife_strong_jumpcvar_knife_strong_spdcvar_knife_strong_dmgcvar_knife_strong_knockcvar_knife_strong_spd_attack2
new g_knife_axe[33], cvar_knife_axe_jumpcvar_knife_axe_spdcvar_knife_axe_dmgcvar_knife_axe_knockcvar_knife_axe_spd_attack2
new g_knife_katana[33], cvar_knife_katana_jumpcvar_knife_katana_spdcvar_knife_katana_dmgcvar_knife_katana_knockcvar_knife_katana_spd_attack2
new g_knife_dragonsword[33], cvar_knife_dragonsword_jumpcvar_knife_dragonsword_spdcvar_knife_dragonsword_dmgcvar_knife_dragonsword_knockcvar_dragonsword_spd_attack2

new const g_sound_knife[] = { "items/gunpickup2.wav" }

new const 
combat_sounds[][] =
{
    
"zmwpn/zb_knife/combat_deploy.wav",
    
"zmwpn/zb_knife/combat_hit.wav"    ,
    
"zmwpn/zb_knife/combat_hit.wav"    ,
    
"zmwpn/zb_knife/combat_hit.wav"    ,
    
"zmwpn/zb_knife/combat_hit.wav"    ,
    
"zmwpn/zb_knife/combat_hitwall.wav",
    
"zmwpn/zb_knife/combat_slash.wav",
    
"zmwpn/zb_knife/combat_slash.wav",
    
"zmwpn/zb_knife/combat_stab.wav"
}

new const 
strong_sounds[][] =
{
    
"zmwpn/zb_knife/strong_deploy.wav",
    
"zmwpn/zb_knife/strong_hit.wav",
    
"zmwpn/zb_knife/strong_hit.wav",
    
"zmwpn/zb_knife/strong_hit.wav",
    
"zmwpn/zb_knife/strong_hit.wav",
    
"zmwpn/zb_knife/strong_hitwall.wav",
    
"zmwpn/zb_knife/strong_slash.wav",
    
"zmwpn/zb_knife/strong_slash.wav",
    
"zmwpn/zb_knife/strong_stab.wav"
}

new const 
axe_sounds[][] =
{
    
"zmwpn/zb_knife/axe_deploy.wav",
    
"zmwpn/zb_knife/axe_hit.wav",
    
"zmwpn/zb_knife/axe_hit.wav",
    
"zmwpn/zb_knife/axe_hit.wav",
    
"zmwpn/zb_knife/axe_hit.wav",
    
"zmwpn/zb_knife/axe_hitwall.wav",
    
"zmwpn/zb_knife/axe_slash.wav",
    
"zmwpn/zb_knife/axe_slash.wav",
    
"zmwpn/zb_knife/axe_stab.wav"
}

new const 
katana_sounds[][] =
{
    
"zmwpn/zb_knife/katana_deploy.wav",
    
"zmwpn/zb_knife/katana_hit.wav",
    
"zmwpn/zb_knife/katana_hit.wav",
    
"zmwpn/zb_knife/katana_hit.wav",
    
"zmwpn/zb_knife/katana_hit.wav",
    
"zmwpn/zb_knife/katana_hitwall.wav",
    
"zmwpn/zb_knife/katana_slash.wav",
    
"zmwpn/zb_knife/katana_slash.wav",
    
"zmwpn/zb_knife/katana_stab.wav"
}

new const 
dragonsword_sounds[][] =
{
    
"zmwpn/zb_knife/dragonsword_draw.wav",
    
"zmwpn/zb_knife/dragonsword_hit1.wav",
    
"zmwpn/zb_knife/dragonsword_hit2.wav",
    
"zmwpn/zb_knife/dragonsword_hit1.wav",
    
"zmwpn/zb_knife/dragonsword_hit1.wav",
    
"zmwpn/zb_knife/dragonsword_wall.wav",
    
"zmwpn/zb_knife/dragonsword_slash1.wav",
    
"zmwpn/zb_knife/dragonsword_slash2.wav",
    
"zmwpn/zb_knife/dragonsword_stap_hit.wav"
}

new const 
oldknife_sounds[][] =
{
    
"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"
}

public 
plugin_init()
{
    
register_plugin(PLUGIN VERSION AUTHOR);
    
register_cvar("zp_addon_knife"VERSIONFCVAR_SERVER);
        
SayText get_user_msgid("SayText")   

     
register_clcmd("say /knife","knife_menu",ADMIN_ALL,"knife_menu")
     
register_clcmd("/knife","knife_menu",ADMIN_ALL,"knife_menu")
    
register_clcmd("combat""give_combat")
    
register_clcmd("strong""give_strong")
    
register_clcmd("axe""give_axe")
    
register_clcmd("katana""give_katana")
    
register_clcmd("dragonsword""give_dragonsword")

    
register_event("CurWeapon","checkWeapon","be","1=1");
    
register_event("Damage" "event_Damage" "b" "2>0");

    
register_forward(FM_PlayerPreThink"fw_PlayerPreThink");
    
register_forward(FM_EmitSound"fw_EmitSound");

    
register_message(get_user_msgid("DeathMsg"), "message_DeathMsg");

    
RegisterHam(Ham_TakeDamage"player""fw_TakeDamage");
        
RegisterHam(Ham_Weapon_SecondaryAttack"weapon_knife""fw_Knife_SecondaryAttack_Post"1

    
cvar_knife_combat_jumpregister_cvar("zp_knife_combat_jump""260.0");
    
cvar_knife_combat_spd register_cvar("zp_knife_combat_spd""300.0");
    
cvar_knife_combat_dmg register_cvar("zp_knife_combat_dmg" "1.0");
    
cvar_knife_combat_knock register_cvar("zp_knife_combat_knock" "7.0");
    
cvar_knife_combat_spd_attack2 register_cvar("zp_knife_combat_spd_attack2" "1.3");

    
cvar_knife_strong_jumpregister_cvar("zp_knife_strong_jump""240.0");
    
cvar_knife_strong_spd register_cvar("zp_knife_strong_spd""250.0");
    
cvar_knife_strong_dmg register_cvar("zp_knife_strong_dmg" "3.5");
    
cvar_knife_strong_knock register_cvar("zp_knife_strong_knock" "8.0");
    
cvar_knife_strong_spd_attack2 register_cvar("zp_knife_strong_spd_attack2" "1.8");

    
cvar_knife_axe_jumpregister_cvar("zp_knife_axe_jump""360.0");
    
cvar_knife_axe_spd register_cvar("zp_knife_axe_spd""270.0");
    
cvar_knife_axe_dmg register_cvar("zp_knife_axe_dmg" "1.0");
    
cvar_knife_axe_knock register_cvar("zp_knife_axe_knock" "7.0");
    
cvar_knife_axe_spd_attack2 register_cvar("zp_knife_axe_spd_attack2" "1.5");

    
cvar_knife_katana_jumpregister_cvar("zp_knife_katana_jump""350.0");
    
cvar_knife_katana_spd register_cvar("zp_knife_katana_spd""350.0");
    
cvar_knife_katana_dmg register_cvar("zp_knife_katana_dmg" "2.0");
    
cvar_knife_katana_knock register_cvar("zp_knife_katana_knock" "12.0");
    
cvar_knife_katana_spd_attack2 register_cvar("zp_knife_katana_spd_attack2" "1.3");

    
cvar_knife_dragonsword_jumpregister_cvar("zp_knife_dragonsword_jump""500.0");
    
cvar_knife_dragonsword_spdregister_cvar("zp_knife_dragonsword_spd""500.0");
    
cvar_knife_dragonsword_dmg register_cvar("zp_knife_dragonsword_dmg" "8.0");
    
cvar_knife_dragonsword_knock register_cvar("zp_knife_dragonsword_knock" "16.5");
    
cvar_dragonsword_spd_attack2 register_cvar("zp_knife_dragonsword_spd_attack2" "1.5");

        
register_event("HLTV""event_round_start""a""1=0""2=0")
}

public 
client_connect(id)
{
    
g_knife_combat[id] = false
    g_knife_strong
[id] = false
    g_knife_axe
[id] = false
    g_knife_katana
[id] = false
    g_knife_dragonsword
[id] = false
    g_hasSpeed
[id] = false
}

public 
client_disconnect(id)
{
    
g_knife_combat[id] = false
    g_knife_strong
[id] = false
    g_knife_axe
[id] = false
    g_knife_katana
[id] = false
    g_knife_dragonsword
[id] = false
    g_hasSpeed
[id] = false
}

public 
plugin_precache()
{
    
precache_model(combat_v_model)
    
precache_model(combat_p_model)
    
precache_model(strong_v_model)
    
precache_model(strong_p_model)
    
precache_model(axe_v_model)
    
precache_model(axe_p_model)
    
precache_model(katana_v_model)
    
precache_model(katana_p_model)
    
precache_model(dragonsword_v_model)
    
precache_model(dragonsword_p_model)

    
precache_sound(g_sound_knife)

    for(new 
0sizeof combat_soundsi++)
        
precache_sound(combat_sounds[i])

    for(new 
0sizeof strong_soundsi++)
        
precache_sound(strong_sounds[i])

    for(new 
0sizeof axe_soundsi++)
        
precache_sound(axe_sounds[i])  

    for(new 
0sizeof katana_soundsi++)
        
precache_sound(katana_sounds[i])

    for(new 
0sizeof dragonsword_soundsi++)
        
precache_sound(dragonsword_sounds[i])
}

public 
event_round_start(id)
{
        for (new 
iMAXPLAYERS 1i++)
            
g_WasShowed[i] = false
}

public 
knife_menu(id)
{
        if (
g_WasShowed[id])
        {
            
print_col_chat(id"^1You Cant Choose knife Twice in the same round!")
            return 
PLUGIN_HANDLED
        
}

    if(
is_user_alive(id) && !zp_get_user_zombie(id))
    {
        
my_menu(id)
    }

    return 
PLUGIN_HANDLED
}

public 
my_menu(id)
{
    new 
menu menu_create("\yChoose Your Knife!""menu_handler");
    
menu_additem(menu"\wCombat \y[ Dmg= 1.0 , Grav= 26.0 , Knock= 7.0 , Speed= 30 ]""1"0);
    
menu_additem(menu"\wStrong \y[ Dmg= 3.5.0 , Grav= 24.0 , Knock= 8.0 , Speed= 25 ]""2"0);
    
menu_additem(menu"\wAxe \y[ Dmg= 1.0 , Grav= 36.0 , Knock= 7.0 , Speed= 27  ]""3"0);
    
menu_additem(menu"\wKatana \y[ Dmg= 2.0 , Grav= 35.0 , Knock= 12.0 , Speed= 35 ]""4"0);
    
menu_additem(menu"\r[Storm Sword] \y| Admin-Vip | Dmg=8.5 , Grav= 50.0 , Knock= 15.5 , Speed= 50 ]""5"0);
    
    
menu_setprop(menuMPROP_EXITMEXIT_ALL);    
    
menu_display(idmenu0);    


public 
menu_handler(idmenuitem)
{
    if( 
item == MENU_EXIT )
    {
               
menu_destroy(menu);
            return 
PLUGIN_HANDLED;    
    }
    
    new 
data[6], iName[64];
    new 
accesscallback;
    
    
menu_item_getinfo(menuitemaccessdata,5iName63callback);
    
    new 
key str_to_num(data);
    
    switch(
key)
    {
            case 
1:
            {
            
give_combat(id)
            
menu_destroy(menu);
            return 
PLUGIN_HANDLED
        
}
        case 
2:
        {
            
give_strong(id)
            
menu_destroy(menu);
            return 
PLUGIN_HANDLED
        
}
        case 
3:
        {
            
give_axe(id)
            
menu_destroy(menu);
            return 
PLUGIN_HANDLED
        
}
        case 
4:
        {
            
give_katana(id)
            
menu_destroy(menu);
            return 
PLUGIN_HANDLED
        
}
        case 
5:
        {
                       
set_user_armor(idget_user_armor(id) + 50)
            
give_dragonsword(id)
            
menu_destroy(menu);
            return 
PLUGIN_HANDLED
        
}
    }
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED
}

public 
give_combat(id)
{
    
g_knife_combat[id] = true    
    g_knife_strong
[id] = false
    g_knife_axe
[id] = false    
    g_knife_katana
[id] = false    
    g_knife_dragonsword
[id] = false
    g_hasSpeed
[id] =  true
    g_WasShowed
[id] = true

    engfunc
(EngFunc_EmitSoundidCHAN_BODYg_sound_knife1.0ATTN_NORM0PITCH_NORM)
}

public 
give_strong(id)
{
    
g_knife_combat[id] = false    
    g_knife_strong
[id] = true    
    g_knife_axe
[id] = false
    g_knife_katana
[id] = false    
    g_knife_dragonsword
[id] = false
    g_hasSpeed
[id] = true
    g_WasShowed
[id] = true

    engfunc
(EngFunc_EmitSoundidCHAN_BODYg_sound_knife1.0ATTN_NORM0PITCH_NORM)
}

public 
give_axe(id)
{
    
g_knife_combat[id] = false    
    g_knife_strong
[id] = false    
    g_knife_axe
[id] = true
    g_knife_katana
[id] = false    
    g_knife_dragonsword
[id] = false
    g_hasSpeed
[id] = true
    g_WasShowed
[id] = true

    engfunc
(EngFunc_EmitSoundidCHAN_BODYg_sound_knife1.0ATTN_NORM0PITCH_NORM)
}

public 
give_katana(id)
{
    
g_knife_combat[id] = false    
    g_knife_strong
[id] = false    
    g_knife_axe
[id] = false
    g_knife_katana
[id] = true    
    g_knife_dragonsword
[id] = false
    g_hasSpeed
[id] = true
    g_WasShowed
[id] = true

    engfunc
(EngFunc_EmitSoundidCHAN_BODYg_sound_knife1.0ATTN_NORM0PITCH_NORM)
}


public 
give_dragonsword(id)
{
    if (
get_user_flags(id) & VIP)
    {
        
g_knife_combat[id] = false    
        g_knife_strong
[id] = false    
        g_knife_axe
[id] = false
        g_knife_katana
[id] = false
        g_knife_dragonsword
[id] = true
        g_hasSpeed
[id] =  true
        g_WasShowed
[id] = true

        engfunc
(EngFunc_EmitSoundidCHAN_BODYg_sound_knife1.0ATTN_NORM0PITCH_NORM)
    }
    else 
    {
        
client_cmd(id"/knife")
        
g_WasShowed[id] = true
    
}
}

public 
checkWeapon(id)
{
    new 
plrWeapId
    
    plrWeapId 
get_user_weapon(id)
    
    if (
plrWeapId == CSW_KNIFE && (g_knife_combat[id] || g_knife_strong[id] || g_knife_axe[id] || g_knife_katana[id] || g_knife_dragonsword[id]))
    {
        
checkModel(id)
    }
}

public 
checkModel(id)
{
    if (
zp_get_user_zombie(id))
        return 
PLUGIN_HANDLED
    
    
if (g_knife_combat[id])
    {
        
set_pev(idpev_viewmodel2combat_v_model)
        
set_pev(idpev_weaponmodel2combat_p_model)
    }

    if (
g_knife_strong[id])
    {
        
set_pev(idpev_viewmodel2strong_v_model)
        
set_pev(idpev_weaponmodel2strong_p_model)
    }

    if (
g_knife_axe[id])
    {
        
set_pev(idpev_viewmodel2axe_v_model)
        
set_pev(idpev_weaponmodel2axe_p_model)
    }

    if (
g_knife_katana[id])
    {
        
set_pev(idpev_viewmodel2katana_v_model)
        
set_pev(idpev_weaponmodel2katana_p_model)
    }

    if (
g_knife_dragonsword[id])
    {
        
set_pev(idpev_viewmodel2dragonsword_v_model)
        
set_pev(idpev_weaponmodel2dragonsword_p_model)
    }
    return 
PLUGIN_HANDLED
}

public 
fw_EmitSound(idchannel, const sound[])
{
    if(!
is_user_alive(id) || zp_get_user_zombie(id))
        return 
FMRES_IGNORED
        
    
for(new 0sizeof combat_soundsi++) 
    for(new 
0sizeof strong_soundsi++)
    for(new 
0sizeof axe_soundsi++)
    for(new 
0sizeof katana_soundsi++)
    for(new 
0sizeof dragonsword_soundsi++)
    {
        if(
equal(soundoldknife_sounds[i]))
        {
            if (
g_knife_combat[id])
            {
                
emit_sound(idchannelcombat_sounds[i], 1.0ATTN_NORM0PITCH_NORM)
                return 
FMRES_SUPERCEDE
            
}
            if (
g_knife_strong[id])
            {
                
emit_sound(idchannelstrong_sounds[i], 1.0ATTN_NORM0PITCH_NORM)
                return 
FMRES_SUPERCEDE
            
}
            if (
g_knife_axe[id])
            {
                
emit_sound(idchannelaxe_sounds[i], 1.0ATTN_NORM0PITCH_NORM)
                return 
FMRES_SUPERCEDE
            
}
            if (
g_knife_katana[id])
            {
                
emit_sound(idchannelkatana_sounds[i], 1.0ATTN_NORM0PITCH_NORM)
                return 
FMRES_SUPERCEDE
            
}
            if (
g_knife_dragonsword[id])
            {
                
emit_sound(idchanneldragonsword_sounds[i], 1.0ATTN_NORM0PITCH_NORM)
                return 
FMRES_SUPERCEDE
            
}
            if (!
g_knife_combat[id] || !g_knife_strong[id] || !g_knife_axe[id] || !g_knife_katana[id] || !g_knife_dragonsword[id])
            {
                
emit_sound(idchanneloldknife_sounds[i], 1.0ATTN_NORM0PITCH_NORM)
                return 
FMRES_SUPERCEDE
            
}
        }
    }
    return 
FMRES_IGNORED
}

public 
message_DeathMsg(msg_idmsg_destid)
{
    static 
szTruncatedWeapon[33], iattackerivictim
    
    get_msg_arg_string
(4szTruncatedWeaponcharsmax(szTruncatedWeapon))
    
    
iattacker get_msg_arg_int(1)
    
ivictim get_msg_arg_int(2)
    
    if(!
is_user_connected(iattacker) || iattacker == ivictim)
        return 
PLUGIN_CONTINUE

    
if (!zp_get_user_zombie(iattacker))
    {
        if(
equal(szTruncatedWeapon"knife") && get_user_weapon(iattacker) == CSW_KNIFE)
        {
            if(
g_knife_combat[iattacker])
                
set_msg_arg_string(4"Combat knife")
        }
    
        if(
equal(szTruncatedWeapon"knife") && get_user_weapon(iattacker) == CSW_KNIFE)
        {
            if(
g_knife_strong[iattacker])
                
set_msg_arg_string(4"Strong knife")
        }

        if(
equal(szTruncatedWeapon"knife") && get_user_weapon(iattacker) == CSW_KNIFE)
        {
            if(
g_knife_axe[iattacker])
                
set_msg_arg_string(4"Axe knife")
        }

        if(
equal(szTruncatedWeapon"knife") && get_user_weapon(iattacker) == CSW_KNIFE)
        {
            if(
g_knife_katana[iattacker])
                
set_msg_arg_string(4"Katana knife")
        }

        if(
equal(szTruncatedWeapon"knife") && get_user_weapon(iattacker) == CSW_KNIFE)
        {
            if(
g_knife_dragonsword[iattacker])
                
set_msg_arg_string(4"dragonsword knife")
        }
    }
    return 
PLUGIN_CONTINUE
}

stock print_col_chat(const id, const input[], any:...)  
{  
    new 
count 1players[32];  
        static 
msg[191];  
        
vformat(msg190input3);  
        
replace_all(msg190"!g""^4"); // Green Color  
        
replace_all(msg190"!y""^1"); // Default Color 
        
replace_all(msg190"!t""^3"); // Team Color  
        
if (idplayers[0] = id; else get_players(playerscount"ch");  
        {  
            for ( new 
0counti++ )  
            {  
                    if ( 
is_user_connected(players[i]) )  
                    {  
                        
message_begin(MSG_ONE_UNRELIABLESayText_players[i]);  
                        
write_byte(players[i]);  
                        
write_string(msg);  
                        
message_end();  
                    }  
            }  
        }  
}   

public 
fw_PlayerPreThink(id)
{
    if(!
is_user_alive(id) || zp_get_user_zombie(id))
        return 
FMRES_IGNORED

    
new temp[2], weapon get_user_weapon(idtemp[0], temp[1])

    if (
weapon == CSW_KNIFE && g_knife_combat[id])
    {
        
g_hasSpeed[id] = true
        set_pev
(idpev_maxspeedget_pcvar_float(cvar_knife_combat_spd))
    }

    if(
weapon == CSW_KNIFE && g_knife_combat[id])        
        if ((
pev(idpev_button) & IN_JUMP) && !(pev(idpev_oldbuttons) & IN_JUMP))
        {
            new 
flags pev(idpev_flags)
            new 
waterlvl pev(idpev_waterlevel)
            
            if (!(
flags FL_ONGROUND))
                return 
FMRES_IGNORED

            
if (flags FL_WATERJUMP)
                return 
FMRES_IGNORED

            
if (waterlvl 1)
                return 
FMRES_IGNORED
            
            
new Float:fVelocity[3]
            
pev(idpev_velocityfVelocity)
            
            
fVelocity[2] += get_pcvar_num(cvar_knife_combat_jump)
            
            
set_pev(idpev_velocityfVelocity)
            
set_pev(idpev_gaitsequence6)
        }
    if (
weapon == CSW_KNIFE && g_knife_strong[id])
    {
        
g_hasSpeed[id] = true
        set_pev
(idpev_maxspeedget_pcvar_float(cvar_knife_strong_spd))

        if ((
pev(idpev_button) & IN_JUMP) && !(pev(idpev_oldbuttons) & IN_JUMP))
        {
            new 
flags pev(idpev_flags)
            new 
waterlvl pev(idpev_waterlevel)
            
            if (!(
flags FL_ONGROUND))
                return 
FMRES_IGNORED

            
if (flags FL_WATERJUMP)
                return 
FMRES_IGNORED

            
if (waterlvl 1)
                return 
FMRES_IGNORED
            
            
new Float:fVelocity[3]
            
pev(idpev_velocityfVelocity)
            
            
fVelocity[2] += get_pcvar_num(cvar_knife_strong_jump)
            
            
set_pev(idpev_velocityfVelocity)
            
set_pev(idpev_gaitsequence6)
        }
    }
    if (
weapon == CSW_KNIFE && g_knife_axe[id])
    {
        
g_hasSpeed[id] = true
        set_pev
(idpev_maxspeedget_pcvar_float(cvar_knife_axe_spd))

        if ((
pev(idpev_button) & IN_JUMP) && !(pev(idpev_oldbuttons) & IN_JUMP))
        {
            new 
flags pev(idpev_flags)
            new 
waterlvl pev(idpev_waterlevel)
            
            if (!(
flags FL_ONGROUND))
                return 
FMRES_IGNORED

            
if (flags FL_WATERJUMP)
                return 
FMRES_IGNORED

            
if (waterlvl 1)
                return 
FMRES_IGNORED
            
            
new Float:fVelocity[3]
            
pev(idpev_velocityfVelocity)
            
            
fVelocity[2] += get_pcvar_num(cvar_knife_axe_jump)
            
            
set_pev(idpev_velocityfVelocity)
            
set_pev(idpev_gaitsequence6)
        }
    }
    if (
weapon == CSW_KNIFE && g_knife_katana[id])
    {
        
g_hasSpeed[id] = true
        set_pev
(idpev_maxspeedget_pcvar_float(cvar_knife_katana_spd))

        if ((
pev(idpev_button) & IN_JUMP) && !(pev(idpev_oldbuttons) & IN_JUMP))
        {
            new 
flags pev(idpev_flags)
            new 
waterlvl pev(idpev_waterlevel)
            
            if (!(
flags FL_ONGROUND))
                return 
FMRES_IGNORED

            
if (flags FL_WATERJUMP)
                return 
FMRES_IGNORED

            
if (waterlvl 1)
                return 
FMRES_IGNORED
            
            
new Float:fVelocity[3]
            
pev(idpev_velocityfVelocity)
            
            
fVelocity[2] += get_pcvar_num(cvar_knife_katana_jump)
            
            
set_pev(idpev_velocityfVelocity)
            
set_pev(idpev_gaitsequence6)
        }
    }
    if (
weapon == CSW_KNIFE && g_knife_dragonsword[id])
    {
        
g_hasSpeed[id] = true
        set_pev
(idpev_maxspeedget_pcvar_float(cvar_knife_dragonsword_spd))

        if ((
pev(idpev_button) & IN_JUMP) && !(pev(idpev_oldbuttons) & IN_JUMP))
        {
            new 
flags pev(idpev_flags)
            new 
waterlvl pev(idpev_waterlevel)
            
            if (!(
flags FL_ONGROUND))
                return 
FMRES_IGNORED

            
if (flags FL_WATERJUMP)
                return 
FMRES_IGNORED

            
if (waterlvl 1)
                return 
FMRES_IGNORED
            
            
new Float:fVelocity[3]
            
pev(idpev_velocityfVelocity)
            
            
fVelocity[2] += get_pcvar_num(cvar_knife_dragonsword_jump)
            
            
set_pev(idpev_velocityfVelocity)
            
set_pev(idpev_gaitsequence6)
        }
    }
    return 
FMRES_IGNORED
}  

public 
fw_TakeDamage(victiminflictorattackerFloat:damagedamage_type)
{
    if(!
is_user_connected(attacker))
        return 
HAM_IGNORED
    
    
if(zp_get_user_zombie(attacker))
        return 
HAM_IGNORED

    
new weapon get_user_weapon(attacker)

    if (
weapon == CSW_KNIFE && g_knife_combat[attacker])
    {    
        
SetHamParamFloat(4damage get_pcvar_float(cvar_knife_combat_dmg))
    }
    if (
weapon == CSW_KNIFE && g_knife_strong[attacker])
    {    
        
SetHamParamFloat(4damage get_pcvar_float(cvar_knife_strong_dmg))
    }
    if (
weapon == CSW_KNIFE && g_knife_axe[attacker])
    {    
        
SetHamParamFloat(4damage get_pcvar_float(cvar_knife_axe_dmg))
    }
    if (
weapon == CSW_KNIFE && g_knife_katana[attacker])
    {    
        
SetHamParamFloat(4damage get_pcvar_float(cvar_knife_katana_dmg))
    }
        
    if (
weapon == CSW_KNIFE && g_knife_dragonsword[attacker])
    {     
        
SetHamParamFloat(4damage get_pcvar_float(cvar_knife_dragonsword_dmg))
    }

    return 
HAM_IGNORED
}

public 
fw_Knife_SecondaryAttack_Post(knife
{     
        static 
id 
        id 
get_pdata_cbase(knifem_pPlayer4

        if(
zp_get_user_zombie(id))
        return 
HAM_IGNORED
    
        
if(is_user_connected(id) && g_knife_combat[id]) 
        { 
            static 
Float:flRate 
            flRate 
get_pcvar_float(cvar_knife_combat_spd_attack2
         
            
set_pdata_float(knifem_flNextPrimaryAttackflRate4
            
set_pdata_float(knifem_flNextSecondaryAttackflRate4
            
set_pdata_float(knifem_flTimeWeaponIdleflRate4
        } 
 
        if(
is_user_connected(id) && g_knife_strong[id]) 
        { 
            static 
Float:flRate 
            flRate 
get_pcvar_float(cvar_knife_strong_spd_attack2
             
            
set_pdata_float(knifem_flNextPrimaryAttackflRate4
            
set_pdata_float(knifem_flNextSecondaryAttackflRate4
            
set_pdata_float(knifem_flTimeWeaponIdleflRate4
        } 

        if(
is_user_connected(id) && g_knife_axe[id]) 
        { 
            static 
Float:flRate 
            flRate 
get_pcvar_float(cvar_knife_axe_spd_attack2
                 
            
set_pdata_float(knifem_flNextPrimaryAttackflRate4
            
set_pdata_float(knifem_flNextSecondaryAttackflRate4
            
set_pdata_float(knifem_flTimeWeaponIdleflRate4
        } 

        if(
is_user_connected(id) && g_knife_katana[id]) 
        { 
            static 
Float:flRate 
            flRate 
get_pcvar_float(cvar_knife_katana_spd_attack2
                 
            
set_pdata_float(knifem_flNextPrimaryAttackflRate4
            
set_pdata_float(knifem_flNextSecondaryAttackflRate4
            
set_pdata_float(knifem_flTimeWeaponIdleflRate4
        } 

        if(
is_user_connected(id) && g_knife_dragonsword[id]) 
        { 
            static 
Float:flRate 
            flRate 
get_pcvar_float(cvar_dragonsword_spd_attack2
             
            
set_pdata_float(knifem_flNextPrimaryAttackflRate4
            
set_pdata_float(knifem_flNextSecondaryAttackflRate4
            
set_pdata_float(knifem_flTimeWeaponIdleflRate4
        }     
   
        return 
HAM_IGNORED 


public 
event_Damage(id)
{
    new 
weapon attacker get_user_attacker(id weapon);

    if(!
is_user_alive(attacker))
        return 
PLUGIN_CONTINUE;

    if(
weapon == CSW_KNIFE && g_knife_combat[attacker])
    {
        new 
Float:vec[3];
        new 
Float:oldvelo[3];
        
get_user_velocity(idoldvelo);
        
create_velocity_vector(id attacker vec);
        
vec[0] += oldvelo[0];
        
vec[1] += oldvelo[1];
        
set_user_velocity(id vec);
    }

    if(
weapon == CSW_KNIFE && g_knife_strong[attacker])
    {
        new 
Float:vec[3];
        new 
Float:oldvelo[3];
        
get_user_velocity(idoldvelo);
        
create_velocity_vector(id attacker vec);
        
vec[0] += oldvelo[0];
        
vec[1] += oldvelo[1];
        
set_user_velocity(id vec);
    }

    if(
weapon == CSW_KNIFE && g_knife_axe[attacker])
    {
        new 
Float:vec[3];
        new 
Float:oldvelo[3];
        
get_user_velocity(idoldvelo);
        
create_velocity_vector(id attacker vec);
        
vec[0] += oldvelo[0];
        
vec[1] += oldvelo[1];
        
set_user_velocity(id vec);
    }

    if(
weapon == CSW_KNIFE && g_knife_katana[attacker])
    {
        new 
Float:vec[3];
        new 
Float:oldvelo[3];
        
get_user_velocity(idoldvelo);
        
create_velocity_vector(id attacker vec);
        
vec[0] += oldvelo[0];
        
vec[1] += oldvelo[1];
        
set_user_velocity(id vec);
    }

    if(
weapon == CSW_KNIFE && g_knife_dragonsword[attacker])
    {
        new 
Float:vec[3];
        new 
Float:oldvelo[3];
        
get_user_velocity(idoldvelo);
        
create_velocity_vector(id attacker vec);
        
vec[0] += oldvelo[0];
        
vec[1] += oldvelo[1];
        
set_user_velocity(id vec);
    }

    return 
PLUGIN_CONTINUE;
}

stock create_velocity_vector(victim,attacker,Float:velocity[3])
{
    if(!
zp_get_user_zombie(victim) || !is_user_alive(attacker))
        return 
0;

    new 
Float:vicorigin[3];
    new 
Float:attorigin[3];
    
entity_get_vector(victim   EV_VEC_origin vicorigin);
    
entity_get_vector(attacker EV_VEC_origin attorigin);

    new 
Float:origin2[3]
    
origin2[0] = vicorigin[0] - attorigin[0];
    
origin2[1] = vicorigin[1] - attorigin[1];

    new 
Float:largestnum 0.0;

    if(
floatabs(origin2[0])>largestnumlargestnum floatabs(origin2[0]);
    if(
floatabs(origin2[1])>largestnumlargestnum floatabs(origin2[1]);

    
origin2[0] /= largestnum;
    
origin2[1] /= largestnum;

    if (
g_knife_combat[attacker])
    {
        
velocity[0] = ( origin2[0] * (get_pcvar_float(cvar_knife_combat_knock) * 3000) ) / get_entity_distance(victim attacker);
        
velocity[1] = ( origin2[1] * (get_pcvar_float(cvar_knife_combat_knock) * 3000) ) / get_entity_distance(victim attacker);
    }

    if (
g_knife_strong[attacker])
    {
        
velocity[0] = ( origin2[0] * (get_pcvar_float(cvar_knife_strong_knock) * 3000) ) / get_entity_distance(victim attacker);
        
velocity[1] = ( origin2[1] * (get_pcvar_float(cvar_knife_strong_knock) * 3000) ) / get_entity_distance(victim attacker);
    }

    if (
g_knife_axe[attacker])
    {
        
velocity[0] = ( origin2[0] * (get_pcvar_float(cvar_knife_axe_knock) * 3000) ) / get_entity_distance(victim attacker);
        
velocity[1] = ( origin2[1] * (get_pcvar_float(cvar_knife_axe_knock) * 3000) ) / get_entity_distance(victim attacker);
    }

    if (
g_knife_katana[attacker])
    {
        
velocity[0] = ( origin2[0] * (get_pcvar_float(cvar_knife_katana_knock) * 3000) ) / get_entity_distance(victim attacker);
        
velocity[1] = ( origin2[1] * (get_pcvar_float(cvar_knife_katana_knock) * 3000) ) / get_entity_distance(victim attacker);
    }

    if (
g_knife_dragonsword[attacker])
    {
        
velocity[0] = ( origin2[0] * (get_pcvar_float(cvar_knife_dragonsword_knock) * 3000) ) / get_entity_distance(victim attacker);
        
velocity[1] = ( origin2[1] * (get_pcvar_float(cvar_knife_dragonsword_knock) * 3000) ) / get_entity_distance(victim attacker);
    }

    if(
velocity[0] <= 20.0 || velocity[1] <= 20.0)
        
velocity[2] = random_float(200.0 275.0);

    return 
1;
}

public 
client_putinserver(id)
{
    switch(
random_num(00))
    {
        case 
0:
        {
            
g_knife_combat[id] = true
            g_hasSpeed
[id] = true
        
}

    }



==========================
i tried another knife menu but its not working.

DjSoftero 06-05-2017 08:48

Re: [Help] Models crashing server ?
 
show server console

Craxor 06-05-2017 08:58

Re: [Help] Models crashing server ?
 
Use knife api.

Mostafa abukhalaf 06-05-2017 12:32

Re: [Help] Models crashing server ?
 
its not a server its against bots and it quit auto after i choose team telling what i told up,
im not scipter i just edit meaning i dont know what is api

DjSoftero 06-05-2017 15:40

Re: [Help] Models crashing server ?
 
Quote:

Originally Posted by Mostafa abukhalaf (Post 2526377)
its not a server its against bots and it quit auto after i choose team telling what i told up,
im not scipter i just edit meaning i dont know what is api

I think he meant this: https://forums.alliedmods.net/showthread.php?t=240304

Fuck For Fun 06-06-2017 07:09

Re: [Help] Models crashing mode?
 
first, try to check if user alive, when you gave the model.

and show us LOGS of plugin

Mostafa abukhalaf 06-06-2017 11:49

Re: [Help] Models crashing mode?
 
Quote:

Originally Posted by Fuck For Fun (Post 2526528)
first, try to check if user alive, when you gave the model.

and show us LOGS of plugin

i told you when i join to any team it crashs and the game quit auto..,

i get this in the consol "because the item count is over the 512 limit.
Reduce the number of brush models and/or regular models in the map to correct this"


i dont know how to give the logs lol sorry for being so fool.

yas17sin 06-06-2017 11:58

Re: [Help] Models crashing mode?
 
Quote:

"Reduce the number of brush models and/or regular models in the map to correct this".
well you are using too much models in the game, next time don't be rude when someone try to help you and read the game console.

Mostafa abukhalaf 06-06-2017 14:12

Re: [Help] Models crashing mode?
 
Quote:

Originally Posted by yas17sin (Post 2526596)
well you are using too much models in the game, next time don't be rude when someone try to help you and read the game console.

lol man i meant im the one whos fool not him i wasnt rude :/, this is the thing consol gives me..

yas17sin 06-06-2017 14:22

Re: [Help] Models crashing mode?
 
well excuse me then, so did you fix the problem yet.


All times are GMT -4. The time now is 22:38.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.