AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   [HELP] How to Increase Deploy Volume ?? (https://forums.alliedmods.net/showthread.php?t=206563)

m4m3ts 01-24-2013 00:34

[HELP] How to Increase Deploy Volume ??
 
i'm using this knife script

addon for ZP

there is hit sound, slash sound, deploy sound, hitwall sound.
the problem is: the deploy volume is low, otherwise hit, slash, etc is @ normal volume.

how to increase deploy volume ??

thanks b4...

PHP Code:

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

#define KNIFE_NAME                                ARRAY_knife_name[knife]
#define KNIFE_DESC                                ARRAY_knife_desc[knife]
#define KNIFE_SPEED                                ARRAY_knife_speed[knife]
#define KNIFE_GRAV                                ARRAY_knife_grav[knife]
#define KNIFE_JUMP                                ARRAY_knife_jump[knife]
#define KNIFE_KNOCK                                ARRAY_knife_knock[knife]
#define KNIFE_DMG                                ARRAY_knife_dmg[knife]
#define KNIFE_PRIMATTRATE                        ARRAY_knife_primattrate[knife]
#define KNIFE_SECATTRATE                        ARRAY_knife_secattrate[knife]
#define KNIFE_FLAGS                                ARRAY_knife_flags[knife]
#define KNIFE_HITSOUNDS                            ARRAY_knife_hitsounds[knife]
#define KNIFE_SLASHSOUNDS                        ARRAY_knife_slashsounds[knife]
#define KNIFE_MODEL_V                            ARRAY_knife_model_v[knife]
#define KNIFE_MODEL_P                            ARRAY_knife_model_p[knife]
#define KNIFE_SOUND_DEPLOY                        ARRAY_knife_sound_deploy[knife]
#define KNIFE_SOUND_HIT(%1)                        ARRAY_knife_sound_hit[knife][%1]
#define KNIFE_SOUND_HITWALL                        ARRAY_knife_sound_hitwall[knife]
#define KNIFE_SOUND_SLASH(%1)                    ARRAY_knife_sound_slash[knife][%1]
#define KNIFE_SOUND_STAB                        ARRAY_knife_sound_stab[knife]
#define KNIFE_SAVED_AUTHID                        ARRAY_knife_saved_authid[i]
#define KNIFE_SAVED_ID                            ARRAY_knife_saved_id[i]
#define KNIFES_TOTAL                            INT_knifes_total
#define KNIFES_TOTAL_SAVED                        INT_knifes_total_saved
#define KNIFE_SURV                                INT_knife_surv
#define KNIFE_USER(%1)                            PSZ_knife{%1}
#define KNIFE_SURVIVOR                            9

#define USE_STOPPED                                0

#define m_pPlayer                                41
#define m_flNextPrimaryAttack                    46
#define m_flNextSecondaryAttack                    47

#define m_pActiveItem                            373

#define LINUXDIFF                                5
#define LINUXDIFFWEAP                            4

#define get_user_weapon_entity(%1)                get_pdata_cbase(%1, m_pActiveItem, LINUXDIFF)
#define get_weapon_owner(%1)                    get_pdata_cbase(%1, m_pPlayer, LINUXDIFFWEAP)
#define get_weapon_nextprimatt(%1)                get_pdata_float(%1, m_flNextPrimaryAttack, LINUXDIFFWEAP)
#define get_weapon_nextsecatt(%1)                get_pdata_float(%1, m_flNextSecondaryAttack, LINUXDIFFWEAP)
#define set_weapon_nextprimatt(%1,%2)            set_pdata_float(%1, m_flNextPrimaryAttack, %2, LINUXDIFFWEAP)
#define set_weapon_nextsecatt(%1,%2)            set_pdata_float(%1, m_flNextSecondaryAttack, %2, LINUXDIFFWEAP)

#define register_menu(%1,%2,%3)                    register_menucmd(register_menuid(%1), %2, %3)

#define MENU_KNIFES_KEYS                        MENU_KEY_1 | MENU_KEY_2 | MENU_KEY_3 | MENU_KEY_4 | MENU_KEY_5 | MENU_KEY_6 | MENU_KEY_7 | MENU_KEY_8 | MENU_KEY_9 | MENU_KEY_0
#define MENU_KNIFES                                "knife"

new PSZ_knife[33 char]

new 
Float:ARRAY_knife_speed[10]
new 
Float:ARRAY_knife_grav[10]
new 
Float:ARRAY_knife_jump[10]
new 
Float:ARRAY_knife_knock[10]
new 
Float:ARRAY_knife_dmg[10]
new 
Float:ARRAY_knife_primattrate[10]
new 
Float:ARRAY_knife_secattrate[10]
new 
ARRAY_knife_flags[10]
new 
ARRAY_knife_hitsounds[10]
new 
ARRAY_knife_slashsounds[10]
new 
ARRAY_knife_name[10][64]
new 
ARRAY_knife_desc[10][64]
new 
ARRAY_knife_model_v[10][64]
new 
ARRAY_knife_model_p[10][64]
new 
ARRAY_knife_sound_deploy[10][64]
new 
ARRAY_knife_sound_hit[10][4][64]
new 
ARRAY_knife_sound_hitwall[10][64]
new 
ARRAY_knife_sound_slash[10][2][64]
new 
ARRAY_knife_sound_stab[10][64]
new 
ARRAY_knife_saved_authid[1024][32]
new 
ARRAY_knife_saved_id[1024]

new 
INT_knifes_total
new INT_knifes_total_saved
new INT_knife_surv

new Float:FL_gravity
new Float:FL_gravity_surv

public plugin_precache()
{
    
register_srvcmd("register_knife""SRVCMD__register_knife")
    
    
server_cmd("exec addons/amxmodx/configs/cso_knife.cfg")
    
server_exec()
}

public 
SRVCMD__register_knife()
{
    new 
data[17][64]
    
read_argv(1data[0], 63)
    
read_argv(2data[1], 63)
    
read_argv(3data[2], 63)
    
read_argv(4data[3], 63)
    
read_argv(5data[4], 63)
    
read_argv(6data[5], 63)
    
read_argv(7data[6], 63)
    
read_argv(8data[7], 63)
    
read_argv(9data[8], 63)
    
read_argv(10data[9], 63)
    
read_argv(11data[10], 63)
    
read_argv(12data[11], 63)
    
read_argv(13data[12], 63)
    
read_argv(14data[13], 63)
    
read_argv(15data[14], 63)
    
read_argv(16data[15], 63)
    
read_argv(17data[16], 63)
    
    for (new 
017i++) remove_quotes(data[i])
    
    new 
knife
    
(data[9][0] == 'S') ? (knife KNIFE_SURVIVOR) : (knife KNIFES_TOTAL)
    
    
formatex(KNIFE_NAME63data[0])
    
formatex(KNIFE_DESC63data[1])
    
KNIFE_SPEED floatstr(data[2])
    
KNIFE_GRAV floatstr(data[3])
    
KNIFE_JUMP floatstr(data[4])
    
KNIFE_KNOCK floatstr(data[5])
    
KNIFE_DMG floatstr(data[6])
    
KNIFE_PRIMATTRATE floatstr(data[7])
    
KNIFE_SECATTRATE floatstr(data[8])
    if (
data[9][0] > && knife != KNIFE_SURVIVORKNIFE_FLAGS read_flags(data[9])
    
    
formatex(KNIFE_MODEL_V63data[10])
    
precache_model(KNIFE_MODEL_V)
    
formatex(KNIFE_MODEL_P63data[11])
    
precache_model(KNIFE_MODEL_P)
    
formatex(KNIFE_SOUND_DEPLOY63data[12])
    
precache_sound(KNIFE_SOUND_DEPLOY)
    if (
containi(data[13], ",") != -1)
    {
        
KNIFE_HITSOUNDS 2
        strtok
(data[13], KNIFE_SOUND_HIT(0), 63KNIFE_SOUND_HIT(1), 63',')
        
precache_sound(KNIFE_SOUND_HIT(0))
        
precache_sound(KNIFE_SOUND_HIT(1))
    }
    else
    {
        
KNIFE_HITSOUNDS 1
        formatex
(KNIFE_SOUND_HIT(0), 63data[13])
        
precache_sound(KNIFE_SOUND_HIT(0))
    }
    
formatex(KNIFE_SOUND_HITWALL63data[14])
    
precache_sound(KNIFE_SOUND_HITWALL)
    if (
containi(data[15], ",") != -1)
    {
        
KNIFE_SLASHSOUNDS 2
        strtok
(data[15], KNIFE_SOUND_SLASH(0), 63KNIFE_SOUND_SLASH(1), 63',')
        
precache_sound(KNIFE_SOUND_SLASH(0))
        
precache_sound(KNIFE_SOUND_SLASH(1))
    }
    else
    {
        
KNIFE_SLASHSOUNDS 1
        formatex
(KNIFE_SOUND_SLASH(0), 63data[15])
        
precache_sound(KNIFE_SOUND_SLASH(0))
    }
    
formatex(KNIFE_SOUND_STAB63data[16])
    
precache_sound(KNIFE_SOUND_STAB)
    
    if (
knife != KNIFE_SURVIVORKNIFES_TOTAL++
    else 
KNIFE_SURV 1
}

public 
plugin_init()
{
    
register_plugin("[CSO] Knifes""Omega""WPMG Team")
    
    
RegisterHam(Ham_Spawn,                    "player",            "CPlayer__Spawn_Post",            1)
    
RegisterHam(Ham_Item_Deploy,            "weapon_knife",        "CKNIFE__Deploy_Post",            1)
    
RegisterHam(Ham_Use,                    "func_tank",        "CStationary__Use_Post",        1)
    
RegisterHam(Ham_Use,                    "func_tankmortar",    "CStationary__Use_Post",        1)
    
RegisterHam(Ham_Use,                    "func_tankrocket",    "CStationary__Use_Post",        1)
    
RegisterHam(Ham_Use,                    "func_tanklaser",    "CStationary__Use_Post",        1)
    
RegisterHam(Ham_Weapon_PrimaryAttack,    "weapon_knife",        "CKNIFE__PrimaryAttack_Post",    1)
    
RegisterHam(Ham_Weapon_SecondaryAttack,    "weapon_knife",        "CKNIFE__SecondaryAttack_Post",    1)
    
RegisterHam(Ham_TakeDamage,                "player",            "CPlayer__TakeDamage")
    
RegisterHam(Ham_TakeDamage,                "player",            "CPlayer__TakeDamage_Post",        1)
    
RegisterHam(Ham_Player_PreThink,        "player",            "CPlayer__PreThink")
    
    
register_forward(FM_EmitSound,                                "CEntity__EmitSound")
    
    
register_srvcmd("load_knife""SRVCMD__load_knife")
    
register_clcmd("knife""CMD__knife")
    
register_impulse(201"CMD__knife")
    
register_menu(MENU_KNIFESMENU_KNIFES_KEYS"MENU__Knifes")
}

public 
plugin_cfg()
{
    
server_cmd("exec addons/amxmodx/configs/zombieplague.cfg")
    
server_cmd("exec addons/amxmodx/configs/cso_knife_saved.cfg")
    
server_exec()
    
    
FL_gravity get_cvar_float("zp_human_gravity")
    
FL_gravity_surv get_cvar_float("zp_surv_gravity")
}

public 
client_putinserver(id)
{
    
KNIFE_USER(id) = 0
    
    
new authid[32]
    
get_user_authid(idauthid31)
    
    if (
authid[5] != '_' || authid[6] == 'I'get_user_ip(idauthid311)
    
    for (new 
0KNIFES_TOTAL_SAVEDi++)
    {
        if (
equal(authidKNIFE_SAVED_AUTHID))
        {
            new 
knife KNIFE_SAVED_ID
            
(KNIFE_FLAGS 0) ? (get_user_flags(id) & KNIFE_FLAGS) ? (KNIFE_USER(id) = knife) : (KNIFE_USER(id) = 0) : (KNIFE_USER(id) = knife)
            break
        }
    }
    
}

public 
client_disconnect(id)
{
    new 
authid[32], i
    get_user_authid
(idauthid31)
    
    if (
authid[5] != '_' || authid[6] == 'I'get_user_ip(idauthid311)
    
    for (
0KNIFES_TOTAL_SAVEDi++)
    {
        if (
equal(authidKNIFE_SAVED_AUTHID))
        {
            
KNIFE_SAVED_ID KNIFE_USER(id)
            return
        }
    }
    
    
KNIFES_TOTAL_SAVED
    
    formatex
(KNIFE_SAVED_AUTHID31authid)
    
KNIFE_SAVED_ID KNIFE_USER(id)
    
KNIFES_TOTAL_SAVED++
}

public 
plugin_end()
{
    
delete_file("addons/amxmodx/configs/cso_knife_saved.cfg")
    
    new 
filedata[64], i
    file 
fopen("addons/amxmodx/configs/cso_knife_saved.cfg""at")
    
    for (
0KNIFES_TOTAL_SAVEDi++)
    {
        
formatex(data63"load_knife ^"%s^" ^"%d^"^n"KNIFE_SAVED_AUTHIDKNIFE_SAVED_ID)
        
fputs(filedata)
    }
    
    
fclose(file)
}

public 
SRVCMD__load_knife()
{
    new 
data[2][32], i
    read_argv
(1data[0], 31)
    
read_argv(2data[1], 31)
    for (
02i++) remove_quotes(data[i])
    
    
KNIFES_TOTAL_SAVED
    
    formatex
(KNIFE_SAVED_AUTHID31data[0])
    
KNIFE_SAVED_ID str_to_num(data[1])
    
KNIFES_TOTAL_SAVED++
}

public 
CPlayer__Spawn_Post(id)
{
    if (!
is_user_alive(id)) return
    if (
zp_get_user_zombie(id)) return
    
    new 
entity get_user_weapon_entity(id)
    
    if (!
is_valid_ent(entity)) return
    if (
cs_get_weapon_id(entity) != CSW_KNIFE) return
    
    
FUNC__replace_knife_models(id)
    
}

public 
CKNIFE__Deploy_Post(entity)
{
    if (
cs_get_weapon_id(entity) != CSW_KNIFE) return
    
    new 
id get_weapon_owner(entity)
    
    if (
zp_get_user_zombie(id)) return
    
    
FUNC__replace_knife_models(id)
    
}

public 
CStationary__Use_Post(entitycalleractivatoruse_type)
{
    if (
use_type != USE_STOPPED) return
    if (!
is_user_connected(caller)) return
    if (
zp_get_user_zombie(caller)) return
    if (
get_user_weapon(caller) != CSW_KNIFE) return
    
    
FUNC__replace_knife_models(caller)
}

public 
CKNIFE__PrimaryAttack_Post(entity)
{
    new 
id get_weapon_owner(entity)
    
    if (
zp_get_user_zombie(id)) return
    
    new 
knife
    
(KNIFE_SURV && zp_get_user_survivor(id)) ? (knife KNIFE_SURVIVOR) : (knife KNIFE_USER(id))
    
    
set_weapon_nextprimatt(entityget_weapon_nextprimatt(entity) * KNIFE_PRIMATTRATE)
    
set_weapon_nextsecatt(entityget_weapon_nextsecatt(entity) * KNIFE_PRIMATTRATE)
}

public 
CKNIFE__SecondaryAttack_Post(entity)
{
    new 
id get_weapon_owner(entity)
    
    if (
zp_get_user_zombie(id)) return
    
    new 
knife
    
(KNIFE_SURV && zp_get_user_survivor(id)) ? (knife KNIFE_SURVIVOR) : (knife KNIFE_USER(id))
    
    
set_weapon_nextprimatt(entityget_weapon_nextprimatt(entity) * KNIFE_SECATTRATE)
    
set_weapon_nextsecatt(entityget_weapon_nextsecatt(entity) * KNIFE_SECATTRATE)
}

public 
CPlayer__TakeDamage(victiminflictorattackerFloat:damage)
{
    if (
inflictor != attacker || victim == attacker) return
    if (!
is_user_connected(attacker)) return
    if (
zp_get_user_zombie(attacker)) return
    if (
get_user_weapon(attacker) != CSW_KNIFE) return
    
    new 
knife
    
(KNIFE_SURV && zp_get_user_survivor(attacker)) ? (knife KNIFE_SURVIVOR) : (knife KNIFE_USER(attacker))
    
    
SetHamParamFloat(4damage KNIFE_DMG)
}

public 
CPlayer__TakeDamage_Post(victiminflictorattackerFloat:damage)
{
    if (
inflictor != attacker || victim == attacker) return
    if (!
is_user_connected(attacker)) return
    if (
zp_get_user_zombie(attacker)) return
    if (
get_user_weapon(attacker) != CSW_KNIFE) return
    
    
client_print(attackerprint_center"%d"floatround(damagefloatround_floor))
    
    new 
Float:velocity[3], Float:newvelocity[3]
    
entity_get_vector(victimEV_VEC_velocityvelocity)
    
    new 
Float:victim_origin[3], Float:attacker_origin[3]
    
entity_get_vector(victimEV_VEC_originvictim_origin)
    
entity_get_vector(attackerEV_VEC_originattacker_origin)
    
    
newvelocity[0] = victim_origin[0] - attacker_origin[0]
    
newvelocity[1] = victim_origin[1] - attacker_origin[1]
    
    new 
Float:largestnum 0.0
    
    
if (<= floatcmp(floatabs(newvelocity[0]), floatabs(newvelocity[1])) <= 1)
    {
        if (
floatabs(newvelocity[0]) > 0largestnum floatabs(newvelocity[0])
    }
    else
    {
        if (
floatabs(newvelocity[1]) > 0largestnum floatabs(newvelocity[1])
    }
    
    
newvelocity[0] /= largestnum
    newvelocity
[1] /= largestnum
    
    
new knife
    
(KNIFE_SURV && zp_get_user_survivor(attacker)) ? (knife KNIFE_SURVIVOR) : (knife KNIFE_USER(attacker))
    
    
velocity[0] = newvelocity[0] * KNIFE_KNOCK 3000 get_distance_f(victim_originattacker_origin)
    
velocity[1] = newvelocity[1] * KNIFE_KNOCK 3000 get_distance_f(victim_originattacker_origin)
    if(
newvelocity[0] <= 20.0 || newvelocity[1] <= 20.0)
        
newvelocity[2] = random_float(200.0 275.0)
    
    
newvelocity[0] += velocity[0]
    
newvelocity[1] += velocity[1]
    
entity_set_vector(victimEV_VEC_velocitynewvelocity)
        
set_pdata_float(victim1081.0);
}

public 
CPlayer__PreThink(id)
{
    if (!
is_user_alive(id)) return
    if (
zp_get_user_zombie(id)) return
    if (
get_user_weapon(id) != CSW_KNIFE)
    {
        if (
zp_get_user_survivor(id)) set_user_gravity(idFL_gravity_surv)
        else 
set_user_gravity(idFL_gravity)
        return
    }
    
    new 
knife
    
(KNIFE_SURV && zp_get_user_survivor(id)) ? (knife KNIFE_SURVIVOR) : (knife KNIFE_USER(id))
    
    
set_user_maxspeed(idKNIFE_SPEED)
    
set_user_gravity(idKNIFE_GRAV)
    
    if (!(
entity_get_int(idEV_INT_button) & IN_JUMP)) return
    if (
entity_get_int(idEV_INT_oldbuttons) & IN_JUMP) return
    
    new 
flags entity_get_int(idEV_INT_flags)
    
    if (!(
flags FL_ONGROUND)) return
    if (
flags FL_WATERJUMP) return
    if (
entity_get_int(idEV_INT_waterlevel) > 1) return
    
    new 
Float:velocity[3]
    
entity_get_vector(idEV_VEC_velocityvelocity)
    
    
velocity[2] += KNIFE_JUMP
    entity_set_vector
(idEV_VEC_velocityvelocity)
    
entity_set_int(idEV_INT_gaitsequence6)
}

public 
CEntity__EmitSound(idchannel, const sample[], Float:volumeFloat:attnflagspitch)
{
    if (!
is_user_connected(id)) return FMRES_IGNORED
    
if (zp_get_user_zombie(id)) return FMRES_IGNORED
    
    
if (sample[8] == 'k' && sample[9] == 'n' && sample[10] == 'i')
    {
        new 
knife
        
(KNIFE_SURV && zp_get_user_survivor(id)) ? (knife KNIFE_SURVIVOR) : (knife KNIFE_USER(id))
        if (
sample[14] == 'd'emit_sound(idchannelKNIFE_SOUND_DEPLOYvolumeattnflagspitch)
        else if (
sample[14] == 'h')
        {
            if (
sample[17] == 'w'emit_sound(idchannelKNIFE_SOUND_HITWALLvolumeattnflagspitch)
            else 
emit_sound(idchannel, (KNIFE_HITSOUNDS 1) ? KNIFE_SOUND_HIT(random_num(01)) : KNIFE_SOUND_HIT(0), volumeattnflagspitch)
        }
        else
        {
            if (
sample[15] == 'l'emit_sound(idchannel, (KNIFE_SLASHSOUNDS 1) ? KNIFE_SOUND_SLASH(random_num(01)) : KNIFE_SOUND_SLASH(0), volumeattnflagspitch)
            else 
emit_sound(idchannelKNIFE_SOUND_STABvolumeattnflagspitch)
        }
        return 
FMRES_SUPERCEDE
    
}
    
    return 
FMRES_IGNORED
}

public 
CMD__knife(id)
{
    if (
zp_has_round_started() == 1) return PLUGIN_HANDLED
    
return SHOWMENU__Knifes(id)
    
}

public 
SHOWMENU__Knifes(id)
{
    new 
lenmenu[500], keysflags
    len 
+= formatex(menu499"\rKnife Menu^n^n")
    
flags get_user_flags(id)
    
    for (new 
knife 0knife KNIFES_TOTALknife++)
    {
        if (
KNIFE_FLAGS)
        {
            if (
flags KNIFE_FLAGS)
            {
                
keys |= (<< knife)
                if (
KNIFE_USER(id) == knifelen += formatex(menu[len], 499 len"\r%d.\d %s %s^n"knife 1KNIFE_NAMEKNIFE_DESC)
                else 
len += formatex(menu[len], 499 len"\r%d.\w %s \r%s^n"knife 1KNIFE_NAMEKNIFE_DESC)
            }
            else
                
len += formatex(menu[len], 499 len"\d%d. %s \r%s^n"knife 1KNIFE_NAMEKNIFE_DESC)
        }
        else
        {
            
keys |= (<< knife)
            if (
KNIFE_USER(id) == knifelen += formatex(menu[len], 499 len"\r%d.\d %s %s^n"knife 1KNIFE_NAMEKNIFE_DESC)
            else 
len += formatex(menu[len], 499 len"\r%d.\w %s \y%s^n"knife 1KNIFE_NAMEKNIFE_DESC)
        }
    }
    
    
keys |= MENU_KEY_0
    len 
+= formatex(menu[len], 499 len"^n\r0.\w Exit")
    
    return 
show_menu(idkeysmenu, -1MENU_KNIFES)
    
}

public 
MENU__Knifes(idkey)
{
    if (
zp_has_round_started() == 1) return PLUGIN_HANDLED
    
if (key != 9)
        if (
KNIFE_USER(id) != key)
        {
            
KNIFE_USER(id) = key
            
if (is_user_alive(id) && !zp_get_user_zombie(id))
                if (
get_user_weapon(id) == CSW_KNIFE)
                    
FUNC__replace_knife_models(id)
        }
    return 
PLUGIN_HANDLED
    
}

public 
FUNC__replace_knife_models(id)
{
    new 
knife
    
(KNIFE_SURV && zp_get_user_survivor(id)) ? (knife KNIFE_SURVIVOR) : (knife KNIFE_USER(id))
    
    
entity_set_string(idEV_SZ_viewmodelKNIFE_MODEL_V)
    
entity_set_string(idEV_SZ_weaponmodelKNIFE_MODEL_P)




All times are GMT -4. The time now is 20:32.

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