1. sayfa (Toplam 2 sayfa)

Csgomod Reload ele alma vb. sesler yapma hk.

Gönderilme zamanı: Cmt Ara 26, 2020 1:07 pm
gönderen bilalgecer47
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.

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()
	}
}
{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.Resim 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.

Csgomod Reload ele alma vb. sesler yapma hk.

Gönderilme zamanı: Cmt Ara 26, 2020 1:47 pm
gönderen DarkThrone
Forum içerisinde CS go silah sesleri diye bir konu vardı. Oradaki eklentiyi kurup silah seslerini attığınız zaman bütün sesler çalışıyor

Csgomod Reload ele alma vb. sesler yapma hk.

Gönderilme zamanı: Cmt Ara 26, 2020 1:55 pm
gönderen bilalgecer47
DarkThrone yazdı: Cmt Ara 26, 2020 1:47 pm Forum içerisinde CS go silah sesleri diye bir konu vardı. Oradaki eklentiyi kurup silah seslerini attığınız zaman bütün sesler çalışıyor
Linki varsa atabilirmisn?

Csgomod Reload ele alma vb. sesler yapma hk.

Gönderilme zamanı: Cmt Ara 26, 2020 2:16 pm
gönderen OPC Line

Csgomod Reload ele alma vb. sesler yapma hk.

Gönderilme zamanı: Cmt Ara 26, 2020 2:30 pm
gönderen bilalgecer47
OPC Line yazdı: Cmt Ara 26, 2020 2:16 pm viewtopic.php?p=293388#p293388
viewtopic.php?p=163214#p163214 bu linklere baktın mı
İlk konudaki yapılabilir sanırsam.Hangisi daha uygun olur?Yukarda attıgım eklentıde benzer mantıkda.Ama dısardan mudahele edıyo.

Csgomod Reload ele alma vb. sesler yapma hk.

Gönderilme zamanı: Cmt Ara 26, 2020 2:41 pm
gönderen Colditz
Bildiğime göre silah sesleri (bıçak hariç) değiştirilmiyor. Bazı eklentilerde PlaybackEvent, UpdateClientData gibi komutlarla yapmaya çalışmışlar, çalışıyor olabilir fakat kişi sayısı yükseldikçe ve eklenti arttıkça sunucuya yük bindirebiliyor. En basit yolu, modelin içine ses gömmektir. Model yapabilen bir arkadaştan veya araştırarak bu olayı öğrenebilirsin. Eklenti ile yapmanı önermem.

https://forums.alliedmods.net/showpost. ... ostcount=6

Csgomod Reload ele alma vb. sesler yapma hk.

Gönderilme zamanı: Cmt Ara 26, 2020 2:45 pm
gönderen bilalgecer47
Colditz yazdı: Cmt Ara 26, 2020 2:41 pm Bildiğime göre silah sesleri (bıçak hariç) değiştirilmiyor. Bazı eklentilerde PlaybackEvent, UpdateClientData gibi komutlarla yapmaya çalışmışlar, çalışıyor olabilir fakat kişi sayısı yükseldikçe ve eklenti arttıkça sunucuya yük bindirebiliyor. En basit yolu, modelin içine ses gömmektir. Model yapabilen bir arkadaştan veya araştırarak bu olayı öğrenebilirsin. Eklenti ile yapmanı önermem.

https://forums.alliedmods.net/showpost. ... ostcount=6
Modelin içine gömdükden sonra yine sesleri panele yükleyip precache ettirmemiz gerekmiyomu.

Csgomod Reload ele alma vb. sesler yapma hk.

Gönderilme zamanı: Cmt Ara 26, 2020 2:55 pm
gönderen Colditz
Evet, precache ettirmeniz gerekiyor.

Csgomod Reload ele alma vb. sesler yapma hk.

Gönderilme zamanı: Cmt Ara 26, 2020 3:25 pm
gönderen bilalgecer47
Colditz yazdı: Cmt Ara 26, 2020 2:55 pm Evet, precache ettirmeniz gerekiyor.

Kod: Tümünü seç

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "CSGO WP Sound Precache Manager"
#define VERSION "1.0"
#define AUTHOR "tahademirbaas"

new const file[] = "addons/amxmodx/configs/csgowpsounds.ini";
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	if(!file_exists(file)){
		write_file(file,"")	
	}
}

public plugin_precache(){
	
	new szLine[248]
	new maxlines,txtlen;
	maxlines = file_size(file,1);
	for(new line;line<=maxlines;line++) {
		read_file(file,line,szLine,247,txtlen)
		new satir[1024]
		formatex(satir,1023,"[CSGO WP SOUND PRECACHE] %s - On Bellege Alindi..",szLine)
		precache_sound(szLine)
		server_print(satir)
		
	}
	return PLUGIN_HANDLED
}
Şimdi modellerin seslerine bakıp o ses dosyalarını ininin içine yazdıkdan sonra çalışır değilmi?

Csgomod Reload ele alma vb. sesler yapma hk.

Gönderilme zamanı: Cmt Ara 26, 2020 3:31 pm
gönderen Colditz
fopen kullan
This native is expensive. Consider the use of new file natives (fopen(), fgets(), etc.)
if purpose is to read several lines of a file.