Русское сообщество по скриптингу

звук для ак

Все вопросы по работе и настройке AMXX и его плагинов.

Модератор: liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только вопросов по AMX Mod X и его плагинам.

звук для ак

Сообщение zmaxart » 12 сен 2018, 16:19

как добавить звук выстрела для этого голд ак electro4.wav?только пожалуйста проверьте на работоспособность когда сделаете

Код: Выделить всё
/*
[ZP] Extra Item: Golden Ak 47
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_goldenak_dmg_multiplier <5> - Damage Multiplier for Golden Ak 47
- zp_goldenak_gold_bullets <1|0> - Golden bullets effect ?
- zp_goldenak_custom_model <1|0> - Golden ak Custom Model
- zp_goldenak_unlimited_clip <1|0> - Golden ak Unlimited Clip 

*/



#include <amxmodx>
#include <engine>    // Added by Shidla
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#include <cstrike>
#include <zombieplague>

#define is_valid_player(%1) (1 <= %1 <= 32)
#define ENG_NULLENT        -1    // Added by Shidla
#define EV_INT_WEAPONKEY    EV_INT_impulse    // Added by Shidla
#define GAK_WEAPONKEY    666    // Added by Shidla
new const g_GAKEnt[] = "weapon_ak47"

new AK_V_MODEL[64] = "models/zombie_plague/v_golden_ak47.mdl"
new AK_P_MODEL[64] = "models/zombie_plague/p_golden_ak47.mdl"
new AK_W_MODEL[64] = "models/zombie_plague/w_golden_ak47.mdl"    // Added by Shidla

/* Pcvars */
new cvar_dmgmultipliercvar_goldbullets,  cvar_custommodelcvar_uclip

// Item ID
new g_itemid

new bool:g_HasAk[33]

new 
g_hasZoom33 ]
new 
bullets33 ]

// Sprite
new m_spriteTexture
new SayText

const Wep_ak47 = ((1<<CSW_AK47))

public 
plugin_init()
{
    
    
/* CVARS */
    
cvar_dmgmultiplier register_cvar("zp_goldenak_dmg_multiplier""5")
    
cvar_custommodel register_cvar("zp_goldenak_custom_model""1")
    
cvar_goldbullets register_cvar("zp_goldenak_gold_bullets""1")
    
cvar_uclip register_cvar("zp_goldenak_unlimited_clip""1")
    
    
// Register The Plugin
    
register_plugin("[ZP] Extra: Golden Ak 47""1.1""AlejandroSk / Shidla")
    
register_cvar("Shidla""[ZP] Golden AK [w_ model added]"FCVAR_SERVER|FCVAR_SPONLY)
    
// Register Zombie Plague extra item
    
g_itemid zp_register_extra_item("Golden Ak 47"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")
    
register_forwardFM_CmdStart"fw_CmdStart" )
    
RegisterHam(Ham_Spawn"player""fwHamPlayerSpawnPost"1)
    
RegisterHam(Ham_Item_AddToPlayerg_GAKEnt"fw_GAK47AddToPlayer")    // Added by Shidla
    
SayText get_user_msgid("SayText")
    
register_dictionary("zp_ak47_w_model.txt")
    
    
register_forward(FM_SetModel"fw_SetModel")    // Added by Shidla
    
}

public 
plugin_natives(){
    
register_native("give_weapon_goldak","give_ak47",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(AK_V_MODEL)
    
precache_model(AK_P_MODEL)
    
precache_model(AK_W_MODEL)    // Added by Shidla
    
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_AK47 && g_HasAk[id] == true && get_pcvar_num(cvar_custommodel) )
    {
        
set_pev(idpev_viewmodel2AK_V_MODEL)
        
set_pev(idpev_weaponmodel2AK_P_MODEL)
    }
    return 
PLUGIN_HANDLED
}

public 
checkWeapon(id)
{
    new 
plrClipplrAmmoplrWeap[32]
    new 
plrWeapId
    
    plrWeapId 
get_user_weapon(idplrClip plrAmmo)
    
    if (
plrWeapId == CSW_AK47 && g_HasAk[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_AK47 && g_HasAk[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_AK47 && g_HasAk[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_AK47 && g_HasAk[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_AK47) && g_HasAk[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 
give_ak47(player)
{
    if ( 
user_has_weapon(playerCSW_AK47) )
    {
        
drop_prim(player)
    }
    
give_item(player"weapon_ak47")
    
print_col_chatplayer"^4[ZP] ^1%L ^3[%L]"LANG_PLAYER"BUY_AK"LANG_PLAYER"GAK-47")
    
g_HasAk[player] = true;
}

public 
zp_extra_item_selected(playeritemid)
{
    if ( 
itemid == g_itemid )
    {
        if ( 
user_has_weapon(playerCSW_AK47) )
        {
            
drop_prim(player)
        }
        
give_item(player"weapon_ak47")
        
print_col_chatplayer"^4[ZP] ^1%L ^3[%L]"LANG_PLAYER"BUY_AK"LANG_PLAYER"GAK-47")
        
g_HasAk[player] = true;
    }
}

// Added by Shidla
public fw_SetModel(entitymodel[])
{
    
// Entity is not valid
    
if(!is_valid_ent(entity))
        return 
FMRES_IGNORED;
        
    
// Entity model is not w_ak47
    
if(!equal(model"models/w_ak47.mdl")) 
        return 
FMRES_IGNORED;
        
    
// Get classname
    
static szClassName[33]
    
entity_get_string(entityEV_SZ_classnameszClassNamecharsmax(szClassName))
        
    
// Not a Weapon box
    
if(!equal(szClassName"weaponbox"))
        return 
FMRES_IGNORED
    
    
// Some vars
    
static iOwneriStoredGalilID
    
    
// Get owner
    
iOwner entity_get_edict(entityEV_ENT_owner)
    
    
// Get drop weapon index (galil) to use in fw_Galil_AddToPlayer forward
    
iStoredGalilID find_ent_by_owner(ENG_NULLENT"weapon_ak47"entity)
    
    
// Entity classname is weaponbox, and galil has founded
    
if(g_HasAk[iOwner] && is_valid_ent(iStoredGalilID))
    {
        
// Setting weapon options
        
entity_set_int(iStoredGalilIDEV_INT_WEAPONKEYGAK_WEAPONKEY)

        
// Reset user vars
        
g_HasAk[iOwner] = false
        
        
// Set weaponbox new model
        
entity_set_model(entityAK_W_MODEL)
        
        return 
FMRES_SUPERCEDE
    
}

    return 
FMRES_IGNORED
}

// Added by Shidla
public fw_GAK47AddToPlayer (GAK47id)
{
    
// Make sure that this is M79
    
if( is_valid_ent(GAK47) && is_user_connected(id) && entity_get_int(GAK47EV_INT_WEAPONKEY) == GAK_WEAPONKEY)
    {
        
// Update
        
g_HasAk[id] = true

        
// Reset weapon options
        
entity_set_int(GAK47EV_INT_WEAPONKEY0)

        return 
HAM_HANDLED
    
}

    return 
HAM_IGNORED
}

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

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(); 
            } 
        } 
    } 
Последний раз редактировалось Subb98 13 сен 2018, 19:57, всего редактировалось 1 раз.
Причина: для вставки исходного кода есть кнопка "Код / Исходник"
Аватара пользователя
zmaxart
 
Сообщения: 4
Зарегистрирован: 02 сен 2018, 01:26
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Я ничего не знаю

Re: звук для ак

Сообщение NoPM_N1Ck » 12 сен 2018, 18:21

Нужно заменить или проигрывать вторым планом?
Аватара пользователя
NoPM_N1Ck
 
Сообщения: 99
Зарегистрирован: 06 июл 2018, 18:56
Откуда: Русь
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
Опыт программирования: Меньше месяца
Языки программирования: Java

Re: звук для ак

Сообщение Subb98 » 13 сен 2018, 19:58

zmaxart писал(а):только пожалуйста проверьте на работоспособность когда сделаете

Мб ещё потрахаться завернуть? Шаурмячная на вокзале, и да, там тоже за спасибо нахер пошлют.
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: звук для ак

Сообщение gamingEx » 14 сен 2018, 09:38

Два предложения, которые друг другу противоречат. "Как сделать, подскажите, сделаю сам" и "сделайте за меня, а еще проверьте работает ли!".
:dance2: :dance2: :dance2:
Аватара пользователя
gamingEx
 
Сообщения: 121
Зарегистрирован: 07 окт 2017, 20:48
Благодарил (а): 0 раз.
Поблагодарили: 19 раз.
Опыт программирования: Больше трех лет
Языки программирования: Swift, C++, PHP, Ruby, JS


Вернуться в Вопросы по AMXX и его плагинам

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12