Csgomod Reload ele alma vb. sesler yapma hk.
Gönderilme zamanı: Cmt Ara 26, 2020 1:07 pm
1.Csgomod için silahlara reload,ele alma vb. sesler eklemek istiyorum bunun için nasıl bi yol izlemeliyim?
2.Biraz araştırma yaptım model içine gömülü olan sesler varmış.Onları nasıl kullanacağız?
3.Elimde bi tane eklenti var silah ateş seslerini csgomoddaki gibi yapıyor.{CSW_AK47,"weapons/csgo17/ak47-1.wav",4},
Anladığım bu eklentiye ekstradan sesler eklenebiliyor mesela serverdeki ak-47 skini üzerinden örnek vercem.Sondaki 4 sayısı modelin animasyonlarından 4.cüsünü değiştiriyor.
Sizce bu şekildemi değiştirmek mantıklı yoksa gömülü seslerin nasıl kullanılcağını öğrenip onun üzerinemi gideyim?
Konu biraz karışık oldu inşallah anlamışsınızdır.
2.Biraz araştırma yaptım model içine gömülü olan sesler varmış.Onları nasıl kullanacağız?
3.Elimde bi tane eklenti var silah ateş seslerini csgomoddaki gibi yapıyor.
Kod: Tümünü seç
#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>
#include <fakemeta_util>
#include <cstrike>
new silahsesler[][][] = {
{CSW_AK47,"weapons/csgo17/ak47-1.wav",4},
{CSW_AUG,"weapons/csgo17/aug-3.wav",4},
{CSW_AWP,"weapons/csgo17/awp_12yn.wav",2},
{CSW_SG552,"weapons/csgo17/sg552-2.wav",4},
{CSW_FAMAS,"weapons/csgo17/famas-2.wav",4},
{CSW_P90,"weapons/csgo17/p90-2.wav",4},
{CSW_MP5NAVY,"weapons/csgo17/mp5-2.wav",4},
{CSW_MAC10,"weapons/csgo17/mac10-1.wav",4},
{CSW_M249,"weapons/csgo17/m249-1.wav",2},
{CSW_GLOCK18,"weapons/csgo17/glock18-12yn.wav",4},
{CSW_GALIL,"weapons/csgo17/galil-2.wav",4},
{CSW_DEAGLE,"weapons/csgo17/deagle_012yn.wav",2},
{CSW_SCOUT,"weapons/csgo17/scout-2.wav",2},
{CSW_UMP45,"weapons/csgo17/ump45-2.wav",4},
{CSW_M3,"weapons/csgo17/m3-2.wav",2},
{CSW_P228,"weapons/csgo17/scout-2.wav",2},
{CSW_XM1014,"weapons/csgo17/xm1014-2.wav",2}
}
new const susturuculuusp[] = "weapons/csgo17/susturuculu/usp-2.wav"
new const susturuculum4a1[] = "weapons/csgo17/susturuculu/m4a1-1.wav"
new const susturucusuzusp[] = "weapons/csgo17/susturucusuz/usp_unsil-1.wav"
new const susturucusuzm4a1[] = "weapons/csgo17/susturucusuz/m4a1_unsil-1.wav"
public plugin_precache(){
for(new i;i<sizeof(silahsesler);i++){
precache_sound(silahsesler[i][1])
}
precache_sound(susturuculuusp)
precache_sound(susturuculum4a1)
precache_sound(susturucusuzusp)
precache_sound(susturucusuzm4a1)
}
public plugin_init(){
RegisterHam(Ham_TraceAttack, "worldspawn", "fw_TraceAttack")
RegisterHam(Ham_TraceAttack, "player", "fw_TraceAttack")
register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1)
register_forward(FM_PlaybackEvent, "fw_PlaybackEvent")
}
public fw_UpdateClientData_Post(id, sendweapons, cd_handle)
{
if(!is_user_alive(id) || !is_user_connected(id))
return FMRES_IGNORED
for(new i;i<sizeof(silahsesler);i++){
if(get_user_weapon(id) == silahsesler[i][0][0])
set_cd(cd_handle, CD_flNextAttack, get_gametime() + 0.001)
}
if(get_user_weapon(id) == CSW_USP)
set_cd(cd_handle, CD_flNextAttack, get_gametime() + 0.001)
if(get_user_weapon(id) == CSW_M4A1)
set_cd(cd_handle, CD_flNextAttack, get_gametime() + 0.001)
return FMRES_HANDLED
}
public fw_PlaybackEvent(flags, invoker, eventid, Float:delay, Float:origin[3], Float:angles[3], Float:fparam1, Float:fparam2, iParam1, iParam2, bParam1, bParam2)
{
if (!is_user_connected(invoker))
return FMRES_IGNORED
static weapon; weapon = fm_find_ent_by_owner(-1, "weapon_m4a1", invoker)
static weapon2; weapon2 = fm_find_ent_by_owner(-1, "weapon_usp", invoker)
engfunc(EngFunc_PlaybackEvent, flags | FEV_HOSTONLY, invoker, eventid, delay, origin, angles, fparam1, fparam2, iParam1, iParam2, bParam1, bParam2)
for(new i;i<sizeof(silahsesler);i++){
if(get_user_weapon(invoker) == silahsesler[i][0][0]){
UTIL_PlayWeaponAnimation(invoker, silahsesler[i][2][0])
emit_sound(invoker, CHAN_WEAPON, silahsesler[i][1], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
}
}
if(get_user_weapon(invoker) == CSW_M4A1){
if(cs_get_weapon_silen(weapon)){
UTIL_PlayWeaponAnimation(invoker, 2)
emit_sound(invoker, CHAN_WEAPON, susturuculum4a1, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
}else{
UTIL_PlayWeaponAnimation(invoker, 9)
emit_sound(invoker, CHAN_WEAPON, susturucusuzm4a1, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
}
}
if(get_user_weapon(invoker) == CSW_USP){
if(cs_get_weapon_silen(weapon2)){
UTIL_PlayWeaponAnimation(invoker, 2)
emit_sound(invoker, CHAN_WEAPON, susturuculuusp, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
}else{
UTIL_PlayWeaponAnimation(invoker, 10)
emit_sound(invoker, CHAN_WEAPON, susturucusuzusp, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
}
}
return FMRES_SUPERCEDE
}
stock UTIL_PlayWeaponAnimation(const Player, const Sequence)
{
set_pev(Player, pev_weaponanim, Sequence)
message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, .player = Player)
write_byte(Sequence)
write_byte(pev(Player, pev_body))
message_end()
}
public fw_TraceAttack(Victim, Attacker, Float:Damage, Float:Direction[3], Ptr, DamageBits)
{
static Float:flEnd[3], Float:vecPlane[3]
get_tr2(Ptr, TR_vecEndPos, flEnd)
get_tr2(Ptr, TR_vecPlaneNormal, vecPlane)
if(!is_user_alive(Victim))
{
Make_BulletHole(Attacker, flEnd, Damage)
}
return HAM_IGNORED
}
stock Make_BulletHole(id, Float:Origin[3], Float:Damage)
{
static Decal; Decal = random_num(41, 45)
static LoopTime;
if(Damage > 100.0) LoopTime = 2
else LoopTime = 1
for(new i = 0; i < LoopTime; i++)
{
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_WORLDDECAL)
engfunc(EngFunc_WriteCoord, Origin[0])
engfunc(EngFunc_WriteCoord, Origin[1])
engfunc(EngFunc_WriteCoord, Origin[2])
write_byte(Decal)
message_end()
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_GUNSHOTDECAL)
engfunc(EngFunc_WriteCoord, Origin[0])
engfunc(EngFunc_WriteCoord, Origin[1])
engfunc(EngFunc_WriteCoord, Origin[2])
write_short(id)
write_byte(Decal)
message_end()
}
}
Anladığım bu eklentiye ekstradan sesler eklenebiliyor mesela serverdeki ak-47 skini üzerinden örnek vercem.Sondaki 4 sayısı modelin animasyonlarından 4.cüsünü değiştiriyor.

Konu biraz karışık oldu inşallah anlamışsınızdır.