Raised This Month: $51 Target: $400
 12% 

API Scripting Help [Help] [ZP 4.3] How to add custom sounds in plugins ?


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
CrazY.
Veteran Member
Join Date: May 2015
Location: SP, Brazil
Old 07-09-2015 , 17:05   [Help] [ZP 4.3] How to add custom sounds in plugins ?
Reply With Quote #1

Hi Guys, I wonder how I can add custom sounds this plugin ( My Golden M249 ), it's possible? If so, how can I do this?

Code:
/*
[ZP] Extra Item: Golden M249!
Team: Humans

Description: This plugin adds a new weapon for Human Teams.
Weapon Cost: 40

Features:
- This weapon do more damage
- This weapon has zoom
- Launch Lasers
- This weapon has unlimited bullets

Credits:

KaOs - For his Dual MP5 mod

Cvars:


- zp_golden_m249_dmg_multiplier <5> - Damage Multiplier for Golden M249.
- zp_golden_m249_gold_bullets <1|0> - Golden bullets effect ?
- zp_golden_m249_custom_model <1|0> - Golden M249 Custom Model ?
- zp_golden_m249_unlimited_clip <1|0> - Golden M249 Unlimited Clip ?

*/



#include <amxmodx>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#include <cs_ham_bots_api>  // Added By: CrazY.
#include <chatcolor>  // Added By: CrazY.
#include <cstrike>
#include <zombieplague>

#define is_valid_player(%1) (1 <= %1 <= 32)

new M2_V_MODEL[64] = "models/zombie_plague/v_golden_m249.mdl"
new M2_P_MODEL[64] = "models/zombie_plague/p_golden_m249.mdl"

/* Pcvars */
new cvar_dmgmultiplier, cvar_goldbullets,  cvar_custommodel, cvar_uclip

// Item ID
new g_itemid

new bool:g_HasAk[33]

new g_hasZoom[ 33 ]
new bullets[ 33 ]

// Sprite
new m_spriteTexture

const Wep_m249 = ((1<<CSW_M249))

public plugin_init()
{
    
    /* CVARS */
    cvar_dmgmultiplier = register_cvar("zp_golden_m249_dmg_multiplier", "5")
    cvar_custommodel = register_cvar("zp_golden_m249_custom_model", "1")
    cvar_goldbullets = register_cvar("zp_golden_m249_gold_bullets", "1")
    cvar_uclip = register_cvar("zp_golden_m249_unlimited_clip", "1")
    
    // Register The Plugin
    register_plugin("[ZP] Extra: Golden M249!", "1.1", "AlejandroSk | CrazY.")
    // Register Zombie Plague extra item
    g_itemid = zp_register_extra_item("Golden M249!", 40, ZP_TEAM_HUMAN)
    // Death Msg
    register_event("DeathMsg", "Death", "a")
    // Weapon Pick Up
    register_event("WeapPickup","checkModel","b","1=19")
    // Current Weapon Event
    register_event("CurWeapon","checkWeapon","be","1=1")
    register_event("CurWeapon", "make_tracer", "be", "1=1", "3>0")
    // Ham TakeDamage
    RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
    RegisterHamBots(Ham_TakeDamage, "fw_TakeDamage")  // Added By: CrazY.
    register_forward( FM_CmdStart, "fw_CmdStart" )
    RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)
    
}

public client_connect(id)
{
    g_HasAk[id] = false
}

public client_disconnect(id)
{
    g_HasAk[id] = false
}

public Death()
{
    g_HasAk[read_data(2)] = false
}

public fwHamPlayerSpawnPost(id)
{
    g_HasAk[id] = false
}

public plugin_precache()
{
    precache_model(M2_V_MODEL)
    precache_model(M2_P_MODEL)
    m_spriteTexture = precache_model("sprites/dot.spr")
    precache_sound("weapons/zoom.wav")
}

public zp_user_infected_post(id)
{
    if (zp_get_user_zombie(id))
    {
        g_HasAk[id] = false
    }
}

public checkModel(id)
{
    if ( zp_get_user_zombie(id) )
        return PLUGIN_HANDLED
    
    new szWeapID = read_data(2)
    
    if ( szWeapID == CSW_M249 && g_HasAk[id] == true && get_pcvar_num(cvar_custommodel) )
    {
        set_pev(id, pev_viewmodel2, M2_V_MODEL)
        set_pev(id, pev_weaponmodel2, M2_P_MODEL)
    }
    return PLUGIN_HANDLED
}

public checkWeapon(id)
{
    new plrClip, plrAmmo, plrWeap[32]
    new plrWeapId
    
    plrWeapId = get_user_weapon(id, plrClip , plrAmmo)
    
    if (plrWeapId == CSW_M249 && g_HasAk[id])
    {
        checkModel(id)
    }
    else 
    {
        return PLUGIN_CONTINUE
    }
    
    if (plrClip == 0 && get_pcvar_num(cvar_uclip))
    {
        // If the user is out of ammo..
        get_weaponname(plrWeapId, plrWeap, 31)
        // Get the name of their weapon
        give_item(id, plrWeap)
        engclient_cmd(id, plrWeap) 
        engclient_cmd(id, plrWeap)
        engclient_cmd(id, plrWeap)
    }
    return PLUGIN_HANDLED
}



public fw_TakeDamage(victim, inflictor, attacker, Float:damage)
{
    if ( is_valid_player( attacker ) && get_user_weapon(attacker) == CSW_M249 && g_HasAk[attacker] )
    {
        SetHamParamFloat(4, damage * get_pcvar_float( cvar_dmgmultiplier ) )
    }
}

public fw_CmdStart( id, uc_handle, seed )
{
    if( !is_user_alive( id ) ) 
        return PLUGIN_HANDLED
    
    if( ( get_uc( uc_handle, UC_Buttons ) & IN_ATTACK2 ) && !( pev( id, pev_oldbuttons ) & IN_ATTACK2 ) )
    {
        new szClip, szAmmo
        new szWeapID = get_user_weapon( id, szClip, szAmmo )
        
        if( szWeapID == CSW_M249 && g_HasAk[id] == true && !g_hasZoom[id] == true)
        {
            g_hasZoom[id] = true
            cs_set_user_zoom( id, CS_SET_AUGSG552_ZOOM, 0 )
            emit_sound( id, CHAN_ITEM, "weapons/zoom.wav", 0.20, 2.40, 0, 100 )
        }
        
        else if ( szWeapID == CSW_M249 && g_HasAk[id] == true && g_hasZoom[id])
        {
            g_hasZoom[ id ] = false
            cs_set_user_zoom( id, CS_RESET_ZOOM, 0 )
            
        }
        
    }
    return PLUGIN_HANDLED
}


public make_tracer(id)
{
    if (get_pcvar_num(cvar_goldbullets))
    {
        new clip,ammo
        new wpnid = get_user_weapon(id,clip,ammo)
        new pteam[16]
        
        get_user_team(id, pteam, 15)
        
        if ((bullets[id] > clip) && (wpnid == CSW_M249) && g_HasAk[id]) 
        {
            new vec1[3], vec2[3]
            get_user_origin(id, vec1, 1) // origin; your camera point.
            get_user_origin(id, vec2, 4) // termina; where your bullet goes (4 is cs-only)
            
            
            //BEAMENTPOINTS
            message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
            write_byte (0)     //TE_BEAMENTPOINTS 0
            write_coord(vec1[0])
            write_coord(vec1[1])
            write_coord(vec1[2])
            write_coord(vec2[0])
            write_coord(vec2[1])
            write_coord(vec2[2])
            write_short( m_spriteTexture )
            write_byte(1) // framestart
            write_byte(5) // framerate
            write_byte(2) // life
            write_byte(10) // width
            write_byte(0) // noise
            write_byte( 255 )     // r, g, b
            write_byte( 215 )       // r, g, b
            write_byte( 0 )       // r, g, b
            write_byte(200) // brightness
            write_byte(150) // speed
            message_end()
        }
    
        bullets[id] = clip
    }
    
}

public zp_extra_item_selected(player, itemid)
{
    if ( itemid == g_itemid )
    {
        if ( user_has_weapon(player, CSW_M249) )
        {
            drop_prim(player)
        }
        
        give_item(player, "weapon_m249")
        client_print_color(player, print_chat, "^4[ZP] ^1Voce comprou ^3Golden M249!")
        g_HasAk[player] = true;
    }
}

public zp_round_started()  // Added By: CrazY.
{
    if(zp_is_nemesis_round())
    { 
        new iPlayers[32], iPlayerCount, i, id
        get_players(iPlayers, iPlayerCount, "ad") 
        for(i = 0; i < iPlayerCount; i++)
        {
            id = iPlayers[i]
            if ( user_has_weapon(id, CSW_M249) )
            {
                drop_prim(id)
            }
            
            give_item(id, "weapon_m249")
            g_HasAk[id] = true;
        }
    } else if(zp_is_survivor_round())
    { 
        new iPlayers[32], iPlayerCount, i, id
        get_players(iPlayers, iPlayerCount, "ad") 
        for(i = 0; i < iPlayerCount; i++)
        {
            id = iPlayers[i]
            if ( user_has_weapon(id, CSW_M249) )
            {
                drop_prim(id)
            }
            
            give_item(id, "weapon_m249")
            g_HasAk[id] = true;
        }
    }
}

stock drop_prim(id) 
{
    new weapons[32], num
    get_user_weapons(id, weapons, num)
    for (new i = 0; i < num; i++) {
        if (Wep_m249 & (1<<weapons[i])) 
        {
            static wname[32]
            get_weaponname(weapons[i], wname, sizeof wname - 1)
            engclient_cmd(id, "drop", wname)
        }
    }
}

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1034\\ f0\\ fs16 \n\\ par }
*/

Last edited by CrazY.; 07-09-2015 at 17:10. Reason: Not Specified :D
CrazY. is offline
thekiller123
Member
Join Date: Dec 2012
Old 07-27-2015 , 20:25   Re: [Help] [ZP 4.3] How to add custom sounds in plugins ?
Reply With Quote #2

I don't know add custom sounds

I tried fix your code:

PHP Code:
/*
[ZP] Extra Item: Golden M249
Team: Humans

Description: This plugin adds a new weapon for Human Teams.
Weapon Cost: 30

Features:
- This weapon do more damage
- This weapon has zoom
- Launch Lasers
- This weapon has unlimited bullets

Credits:

KaOs - For his Dual MP5 mod

Cvars:


- zp_goldenm249_dmg_multiplier <5> - Damage Multiplier for Golden M249
- zp_goldenm249_gold_bullets <1|0> - Golden bullets effect ?
- zp_goldenm249_custom_model <1|0> - Golden m249 Custom Model
- zp_goldenm249_unlimited_clip <1|0> - Golden m249 Unlimited Clip 

*/



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

#define is_valid_player(%1) (1 <= %1 <= 32)

new M249_V_MODEL[64] = "models/zombie_plague/v_golden_m249.mdl"
new M249_P_MODEL[64] = "models/zombie_plague/p_golden_m249.mdl"

/* Pcvars */
new cvar_dmgmultipliercvar_goldbullets,  cvar_custommodelcvar_uclip

// Item ID
new g_itemid

new bool:g_HasM249[33]

new 
g_hasZoom33 ]
new 
bullets33 ]

// Sprite
new m_spriteTexture

const Wep_m249 = ((1<<CSW_M249))

public 
plugin_init()
{
    
    
/* CVARS */
    
cvar_dmgmultiplier register_cvar("zp_goldenm249_dmg_multiplier""5")
    
cvar_custommodel register_cvar("zp_goldenm249_custom_model""1")
    
cvar_goldbullets register_cvar("zp_goldenm249_gold_bullets""1")
    
cvar_uclip register_cvar("zp_goldenm249_unlimited_clip""1")
    
    
// Register The Plugin
    
register_plugin("[ZP] Extra: Golden M249""1.1""AlejandroSk")
    
// Register Zombie Plague extra item
    
g_itemid zp_register_extra_item("Golden M249"30ZP_TEAM_HUMAN)
    
// Death Msg
    
register_event("DeathMsg""Death""a")
    
// Weapon Pick Up
    
register_event("WeapPickup","checkModel","b","1=19")
    
// Current Weapon Event
    
register_event("CurWeapon","checkWeapon","be","1=1")
    
register_event("CurWeapon""make_tracer""be""1=1""3>0")
    
// Ham TakeDamage
    
RegisterHam(Ham_TakeDamage"player""fw_TakeDamage")
    
RegisterHamBots(Ham_TakeDamage"fw_TakeDamage")
    
register_forwardFM_CmdStart"fw_CmdStart" )
    
RegisterHam(Ham_Spawn"player""fwHamPlayerSpawnPost"1)
    
RegisterHamBots(Ham_Spawn"fwHamPlayerSpawnPost"1)
}

public 
zp_round_started()
{
    for(new 
id 1id <= get_maxplayers(); id++)
    {
        if(
zp_is_nemesis_round() && zp_is_survivor_round())
        
set_task(1.0"task_giveak"id+45634)
    }
}

public 
task_giveak(id)
{
    
id -= 45634
    
if(!zp_get_user_zombie(id) && zp_get_user_survivor(id) && is_user_alive(id))
    {
        
strip_user_weapons(id)
        
give_item(id"weapon_knife")
        
give_item(id"weapon_m249")
        
client_print_color(id"[ZP] You bought Golden M249")
        
g_HasM249[id] = true;
    }
}

public 
client_connect(id)
{
    
g_HasM249[id] = false
}

public 
client_disconnect(id)
{
    
g_HasM249[id] = false
}

public 
Death()
{
    
g_HasM249[read_data(2)] = false
}

public 
fwHamPlayerSpawnPost(id)
{
    
g_HasM249[id] = false
}

public 
plugin_precache()
{
    
precache_model(M249_V_MODEL)
    
precache_model(M249_P_MODEL)
    
m_spriteTexture precache_model("sprites/dot.spr")
    
precache_sound("weapons/zoom.wav")
}

public 
zp_user_infected_post(id)
{
    if (
zp_get_user_zombie(id))
    {
        
g_HasM249[id] = false
    
}
}

public 
checkModel(id)
{
    if ( 
zp_get_user_zombie(id) )
        return 
PLUGIN_HANDLED
    
    
new szWeapID read_data(2)
    
    if ( 
szWeapID == CSW_M249 && g_HasM249[id] == true && get_pcvar_num(cvar_custommodel) )
    {
        
set_pev(idpev_viewmodel2M249_V_MODEL)
        
set_pev(idpev_weaponmodel2M249_P_MODEL)
    }
    return 
PLUGIN_HANDLED
}

public 
checkWeapon(id)
{
    new 
plrClipplrAmmoplrWeap[32]
    new 
plrWeapId
    
    plrWeapId 
get_user_weapon(idplrClip plrAmmo)
    
    if (
plrWeapId == CSW_M249 && g_HasM249[id])
    {
        
checkModel(id)
    }
    else 
    {
        return 
PLUGIN_CONTINUE
    
}
    
    if (
plrClip == && get_pcvar_num(cvar_uclip))
    {
        
// If the user is out of ammo..
        
get_weaponname(plrWeapIdplrWeap31)
        
// Get the name of their weapon
        
give_item(idplrWeap)
        
engclient_cmd(idplrWeap
        
engclient_cmd(idplrWeap)
        
engclient_cmd(idplrWeap)
    }
    return 
PLUGIN_HANDLED
}



public 
fw_TakeDamage(victiminflictorattackerFloat:damage)
{
    if ( 
is_valid_playerattacker ) && get_user_weapon(attacker) == CSW_M249 && g_HasM249[attacker] )
    {
        
SetHamParamFloat(4damage get_pcvar_floatcvar_dmgmultiplier ) )
    }
}

public 
fw_CmdStartiduc_handleseed )
{
    if( !
is_user_aliveid ) ) 
        return 
PLUGIN_HANDLED
    
    
if( ( get_ucuc_handleUC_Buttons ) & IN_ATTACK2 ) && !( pevidpev_oldbuttons ) & IN_ATTACK2 ) )
    {
        new 
szClipszAmmo
        
new szWeapID get_user_weaponidszClipszAmmo )
        
        if( 
szWeapID == CSW_M249 && g_HasM249[id] == true && !g_hasZoom[id] == true)
        {
            
g_hasZoom[id] = true
            cs_set_user_zoom
idCS_SET_AUGSG552_ZOOM)
            
emit_soundidCHAN_ITEM"weapons/zoom.wav"0.202.400100 )
        }
        
        else if ( 
szWeapID == CSW_M249 && g_HasM249[id] == true && g_hasZoom[id])
        {
            
g_hasZoomid ] = false
            cs_set_user_zoom
idCS_RESET_ZOOM)
            
        }
        
    }
    return 
PLUGIN_HANDLED
}


public 
make_tracer(id)
{
    if (
get_pcvar_num(cvar_goldbullets))
    {
        new 
clip,ammo
        
new wpnid get_user_weapon(id,clip,ammo)
        new 
pteam[16]
        
        
get_user_team(idpteam15)
        
        if ((
bullets[id] > clip) && (wpnid == CSW_M249) && g_HasM249[id]) 
        {
            new 
vec1[3], vec2[3]
            
get_user_origin(idvec11// origin; your camera point.
            
get_user_origin(idvec24// termina; where your bullet goes (4 is cs-only)
            
            
            //BEAMENTPOINTS
            
message_beginMSG_BROADCAST,SVC_TEMPENTITY)
            
write_byte (0)     //TE_BEAMENTPOINTS 0
            
write_coord(vec1[0])
            
write_coord(vec1[1])
            
write_coord(vec1[2])
            
write_coord(vec2[0])
            
write_coord(vec2[1])
            
write_coord(vec2[2])
            
write_shortm_spriteTexture )
            
write_byte(1// framestart
            
write_byte(5// framerate
            
write_byte(2// life
            
write_byte(10// width
            
write_byte(0// noise
            
write_byte255 )     // r, g, b
            
write_byte215 )       // r, g, b
            
write_byte)       // r, g, b
            
write_byte(200// brightness
            
write_byte(150// speed
            
message_end()
        }
    
        
bullets[id] = clip
    
}
    
}

public 
zp_extra_item_selected(playeritemid)
{
    if ( 
itemid == g_itemid )
    {
        if ( 
user_has_weapon(playerCSW_M249) )
        {
            
drop_prim(player)
        }
        
        
give_item(player"weapon_m249")
        
client_print_color(player"[ZP] You bought Golden M249")
        
g_HasM249[player] = true;
    }
}

stock drop_prim(id
{
    new 
weapons[32], num
    get_user_weapons
(idweaponsnum)
    for (new 
0numi++) {
        if (
Wep_m249 & (1<<weapons[i])) 
        {
            static 
wname[32]
            
get_weaponname(weapons[i], wnamesizeof wname 1)
            
engclient_cmd(id"drop"wname)
        }
    }
}

stock client_print_color(const id,const input[], any:...)
{
    new 
msg[191], players[32], count 1vformat(msg,190,input,3);
    
replace_all(msg,190,"/g","^4");    // green
    
replace_all(msg,190,"/y","^1");    // normal
    
replace_all(msg,190,"/t","^3");    // team
        
    
if (idplayers[0] = id; else get_players(players,count,"ch");
        
    for (new 
i=0;i<count;i++)
    {
        if (
is_user_connected(players[i]))
        {
            
message_begin(MSG_ONE_UNRELIABLE,get_user_msgid("SayText"),_,players[i]);
            
write_byte(players[i]);
            
write_string(msg);
            
message_end();
        }
    }
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1034\\ f0\\ fs16 \n\\ par }
*/ 
thekiller123 is offline
CrazY.
Veteran Member
Join Date: May 2015
Location: SP, Brazil
Old 07-28-2015 , 11:00   Re: [Help] [ZP 4.3] How to add custom sounds in plugins ?
Reply With Quote #3

What was wrong in my code?
__________________








CrazY. is offline
Depresie
Veteran Member
Join Date: Nov 2013
Old 08-09-2015 , 22:58   Re: [Help] [ZP 4.3] How to add custom sounds in plugins ?
Reply With Quote #4

you can add, but you cant remove the default sound or the muzle flash, so you will have two sounds playing..
only if you create a fake weapon, like the minigun
Depresie is offline
CrazY.
Veteran Member
Join Date: May 2015
Location: SP, Brazil
Old 08-10-2015 , 11:08   Re: [Help] [ZP 4.3] How to add custom sounds in plugins ?
Reply With Quote #5

If I think I have to use precache_soud correct?
__________________









Last edited by CrazY.; 08-10-2015 at 11:11.
CrazY. is offline
Depresie
Veteran Member
Join Date: Nov 2013
Old 08-10-2015 , 20:19   Re: [Help] [ZP 4.3] How to add custom sounds in plugins ?
Reply With Quote #6

as i told you, you can't replace sounds of weapons..
you can only add...
look inside a plugin which is having sounds to learn how to do it

usualy you do this

Code:
#define MySound "sound/mysound.wav"

public plugin_precache()
{
precache_sound(MySound)
}

public function(id)
{
emit_sound(id, bla bla bla )
}
Depresie is offline
CrazY.
Veteran Member
Join Date: May 2015
Location: SP, Brazil
Old 08-11-2015 , 10:03   Re: [Help] [ZP 4.3] How to add custom sounds in plugins ?
Reply With Quote #7

bla bla bla ? hhh
__________________








CrazY. is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 05:41.


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