Discord sunucumuz açılmıştır, hepinizi bekleriz

https://discord.gg/43gGDQe6tS

Silah ses...

Moderatör: Moderatörler

Forum kuralları
[font size=20] DİKKAT [/font]

Silinmiş konu içerikleri hiçbir şekilde kontrol edlimemektedir. İndirdiğiniz dosyaların sorumluluğu tamamiyle size aittir.
Mutlaka indirdiğiniz dosyaları antivirüs ile taratınız.
Kullanıcı avatarı

Menedit
Mesajlar: 149
Kayıt: Pzt Eki 15, 2018 5:58 pm
Konum: Angara
Server Ip/DNS: 213.238.173.17
Clan İsmi: LiekabLe* > Pro

Silah ses...

Mesaj gönderen Menedit »

ByBuLuT ☪ yazdı: Pzt Mar 11, 2019 12:10 pm
Menedit yazdı: Pzt Mar 11, 2019 11:54 am
PaZee yazdı: Pzt Mar 13, 2017 4:53 pm buyur dene.

Kod: Tümünü seç

#include <amxmodx>
#include <fakemeta>
#include <fakemeta_util>
#include <hamsandwich>
#include <cstrike>
#include <colorchat>


// yaptigim ayarlar m4a1 ayarlari hasarini ellemedim.           Buyuk ihtimal m4a1 kendi akisiyla olmayacak . scsini felan yaptik ama bakicaz.

#define PLUGIN "M4a1-III"
#define VERSION "1.0"
#define AUTHOR "Dias & Optimist"

#define V_MODEL "models/v_m4a1.mdl" // Oyuncunun gorecegi model
#define P_MODEL "models/p_m4a1.mdl" // disardan biri oyuncunun elinde gorecegi model
#define W_MODEL "models/w_m4a1.mdl" // dunyada yerde gozukucek model

#define DAMAGE 30 // hasari
#define BPAMMO 240 // mermisi
#define ACTIVE_CLIP 15

#define CSW_M4A13 CSW_MP5NAVY
#define weapon_m4a13 "weapon_mp5navy"

#define WEAPON_SECRETCODE 4962
#define WEAPON_EVENT "events/m4a1.sc"
#define OLD_W_MODEL "models/w_m4a1.mdl"

new const M4a13_Sounds[6][] =
{
	"weapons/balrig3-1.wav", // sesleri kendin ayarlarsin
	"weapons/balrig3-2.wav",
	"weapons/balrig3_boltpull.wav",
	"weapons/balrig3_clipin.wav",
	"weapons/balrig3_clipout.wav",
	"weapons/balrig3_draw.wav"
}

#define EXPLOSE_SPR "sprites/rifle_smoke1.spr" // silah ucundan cikacak efekt

enum
{                              
	ANIM_IDLE = 0, // HLMW ile yapacagin silahin dosyasini ac efe sequanceye bas animation sequancenin altinda idle felan yazar ne yaziyorsa buraya ANIM_IDLE yaz diyelim ismi ATES1 Buraya ANIM_ATES1 yaz butun 
	ANIM_DRAW, // silahi baska mermi cekme efekti                                     yeni bir efekt ekleme sadece burdakilere gore silahtaki efektleri sec ctrlf degistir ANIM_DRAW ve butun smadaki ANIM_DRAW lari kendi hlmvde yazanla degistir yoksa akisi bozar ve sv coker.
	ANIM_RELOAD, // silah degistirme
	ANIM_SHOOT1, // ates 1
	ANIM_SHOOT2 // ates 2
}

new g_Had_M4a13[33], g_Shoot_Special[33], g_Holding_Attack[33], g_Shoot_Count[33], g_Old_Weapon[33], g_Current_Weapon[33]
new g_Exp_SprId, g_m4a13_event, g_ShellId, g_SmokePuff_SprId, cvar_m4a1_fiyat

public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_event("CurWeapon", "Event_CurWeapon", "be", "1=1")
	register_event("HLTV", "YeniTur", "a", "1=0", "2=0")
	register_clcmd("say /m4a1","bio_extra_item_selected")
	register_clcmd("say_team /m4a1","bio_extra_item_selected")
	
	register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1)	
	register_forward(FM_PlaybackEvent, "fw_PlaybackEvent")	
	register_forward(FM_SetModel, "fw_SetModel")
	register_forward(FM_CmdStart, "fw_CmdStart")		
	
	RegisterHam(Ham_TraceAttack, "worldspawn", "fw_TraceAttack")
	RegisterHam(Ham_TraceAttack, "player", "fw_TraceAttack")	
	RegisterHam(Ham_Weapon_PrimaryAttack, weapon_m4a13, "fw_Weapon_PrimaryAttack")
	RegisterHam(Ham_Weapon_PrimaryAttack, weapon_m4a13, "fw_Weapon_PrimaryAttack_Post", 1)
	RegisterHam(Ham_Item_AddToPlayer, weapon_m4a13, "fw_Item_AddToPlayer_Post", 1)

	cvar_m4a1_fiyat = register_cvar("bio_m4a1_fiyat", "16000") // alacaklari para degerini gir.
}

public plugin_precache()
{
	engfunc(EngFunc_PrecacheModel, V_MODEL)
	engfunc(EngFunc_PrecacheModel, P_MODEL)
	engfunc(EngFunc_PrecacheModel, W_MODEL)
	
	for(new i = 0; i < sizeof(M4a13_Sounds); i++)
		engfunc(EngFunc_PrecacheSound, M4a13_Sounds[i])
		
	g_Exp_SprId = engfunc(EngFunc_PrecacheModel, EXPLOSE_SPR)
	g_SmokePuff_SprId = engfunc(EngFunc_PrecacheModel, "sprites/wall_puff1.spr")
	g_ShellId = engfunc(EngFunc_PrecacheModel, "models/pshell.mdl")
	
	register_forward(FM_PrecacheEvent, "fw_PrecacheEvent_Post", 1)
}

public fw_PrecacheEvent_Post(type, const name[])
{
	if(equal(WEAPON_EVENT, name))
		g_m4a13_event = get_orig_retval()		
}
public YeniTur() {
	new players[32],inum;
	get_players(players,inum)
	for(new id;id<inum;id++) {
		g_Had_M4a13[id] = 0
	}
}
public bio_extra_item_selected(id, itemid) {
	if (!is_user_alive(id)) {
		ColorChat(id,NORMAL,"^4[Ses]:^1 ^3M4a1 Silahini^1 Alamabilmek Icin ^4Hayatta Olmaniz^1 Gereklidir.!")
		return PLUGIN_HANDLED
	}
	
	new para = cs_get_user_money(id)
	
	if (para >= get_pcvar_num(cvar_m4a1_fiyat)){
		cs_set_user_money(id, para - get_pcvar_num(cvar_m4a1_fiyat))
		Get_M4a13(id)
		ColorChat(id,NORMAL,"^4[Ses]:^1 ^3M4a1 Silahini^1 Satin Aldiniz.!")
	}else {
		ColorChat(id,NORMAL,"^4[Ses]:^1 M4a1 Silahini Almak Icin ^4Yeterli Paraniz^1 Yok. ^4Silahin Degeri: ^1^3%d^1 TL ", get_pcvar_num(cvar_m4a1_fiyat))
	}
	return PLUGIN_HANDLED
}
public event_infect(id) Remove_M4a13(id)
public Get_M4a13(id) {
	if(!is_user_alive(id))
		return
		
	g_Had_M4a13[id] = 1
	g_Shoot_Special[id] = 0
	g_Holding_Attack[id] = 0
	g_Shoot_Count[id] = 0
	
	fm_give_item(id, weapon_m4a13)
	
	cs_set_user_bpammo(id, CSW_M4A13, BPAMMO)
}
public Remove_M4a13(id) {
	if(!is_user_connected(id))
		return
		
	g_Had_M4a13[id] = 0
	g_Shoot_Special[id] = 0	
}
public Event_CurWeapon(id) {
	if(!is_user_alive(id))
		return
	
	if(get_user_weapon(id) != g_Current_Weapon[id]) g_Current_Weapon[id] = get_user_weapon(id)
	
	if(get_user_weapon(id) == CSW_M4A13 && g_Had_M4a13[id]) {
		if(g_Old_Weapon[id] != CSW_M4A13) {
			set_pev(id, pev_viewmodel2, V_MODEL)
			set_pev(id, pev_weaponmodel2, P_MODEL)
		}
	}
	
	g_Old_Weapon[id] = get_user_weapon(id)
}
public fw_UpdateClientData_Post(id, sendweapons, cd_handle) {
	if(!is_user_alive(id) || !is_user_connected(id))
		return FMRES_IGNORED	
	if(get_user_weapon(id) == CSW_M4A13 && g_Had_M4a13[id])
		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	
	if(get_user_weapon(invoker) != CSW_M4A13 || !g_Had_M4a13[invoker])
		return FMRES_IGNORED
	if(eventid != g_m4a13_event)
		return FMRES_IGNORED
	
	engfunc(EngFunc_PlaybackEvent, flags | FEV_HOSTONLY, invoker, eventid, delay, origin, angles, fparam1, fparam2, iParam1, iParam2, bParam1, bParam2)
	
	if(!g_Shoot_Special[invoker] && cs_get_user_bpammo(invoker, CSW_M4A13) > 0) {
		g_Shoot_Count[invoker]++
		if(g_Shoot_Count[invoker] >= ACTIVE_CLIP) {
			g_Shoot_Special[invoker] = 1
			
			static Ent; Ent = fm_get_user_weapon_entity(invoker, CSW_M4A13)
			if(pev_valid(Ent)) g_Shoot_Count[invoker] = cs_get_weapon_ammo(Ent)
		}
	} else if(g_Shoot_Special[invoker]) {
		cs_set_user_bpammo(invoker, CSW_M4A13, cs_get_user_bpammo(invoker, CSW_M4A13) - 1)
		
		if(cs_get_user_bpammo(invoker, CSW_M4A13) <= 0) {
			g_Shoot_Special[invoker] = 0
			g_Shoot_Count[invoker] = 0
		}
	}
	
	set_weapon_anim(invoker, g_Shoot_Special[invoker] == 1 ? ANIM_SHOOT2 : ANIM_SHOOT1)
	emit_sound(invoker, CHAN_WEAPON, g_Shoot_Special[invoker] == 1 ? M4a13_Sounds[1] : M4a13_Sounds[0], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
	
	Eject_Shell(invoker, g_ShellId, 0.0)
		
	return FMRES_SUPERCEDE
}
public fw_SetModel(entity, model[]) {
	if(!pev_valid(entity))
		return FMRES_IGNORED
	
	static Classname[32]
	pev(entity, pev_classname, Classname, sizeof(Classname))
	
	if(!equal(Classname, "weaponbox"))
		return FMRES_IGNORED
	
	static iOwner
	iOwner = pev(entity, pev_owner)
	
	if(equal(model, OLD_W_MODEL)) {
		static weapon; weapon = fm_find_ent_by_owner(-1, weapon_m4a13, entity)
		
		if(!pev_valid(weapon))
			return FMRES_IGNORED;
		
		if(g_Had_M4a13[iOwner]) {
			Remove_M4a13(iOwner)
			
			set_pev(weapon, pev_impulse, WEAPON_SECRETCODE)
			engfunc(EngFunc_SetModel, entity, W_MODEL)
			
			return FMRES_SUPERCEDE
		}
	}

	return FMRES_IGNORED;
}
public fw_CmdStart(id, uc_handle, seed) {
	if(!is_user_alive(id))
		return
	if(g_Current_Weapon[id] != CSW_M4A13 || !g_Had_M4a13[id])
		return
		
	static NewButton; NewButton = get_uc(uc_handle, UC_Buttons)
	static OldButton; OldButton = pev(id, pev_oldbuttons)
	
	if(NewButton & IN_ATTACK) {
		if(!g_Holding_Attack[id]) g_Holding_Attack[id] = 1
	} else if((NewButton & IN_ATTACK2) && !(OldButton & IN_ATTACK2)) {
		if(cs_get_user_zoom(id) == 1) cs_set_user_zoom(id, CS_SET_AUGSG552_ZOOM, 1)
		else cs_set_user_zoom(id, CS_SET_NO_ZOOM, 1)
	} else {
		if(OldButton & IN_ATTACK)
		{
			if(g_Holding_Attack[id]) 
			{
				g_Holding_Attack[id] = 0
				g_Shoot_Count[id] = 0
				g_Shoot_Special[id] = 0
			}
		}
	}
}
public fw_TraceAttack(Victim, Attacker, Float:Damage, Float:Direction[3], Ptr, DamageBits) {
	if(!is_user_alive(Attacker))
		return HAM_IGNORED	
	if(get_user_weapon(Attacker) != CSW_M4A13 || !g_Had_M4a13[Attacker])
		return HAM_IGNORED
		
	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)
		Make_BulletSmoke(Attacker, Ptr)
	}
	
	if(g_Shoot_Special[Attacker]) {
		Make_M4a1Effect(Attacker, Ptr)
		radius_damage(Attacker, flEnd, float(DAMAGE), 96.0)
	}
	
	SetHamParamFloat(3, float(DAMAGE))
	
	return HAM_IGNORED
}
public fw_Weapon_PrimaryAttack(Ent) {
	if(!pev_valid(Ent))
		return
	static Id; Id = pev(Ent, pev_owner)
	if(!g_Had_M4a13[Id])
		return
	
	if(g_Shoot_Special[Id]) set_pdata_float(Ent, 62, 0.4, 4)
	else set_pdata_float(Ent, 62, 0.2, 4)
}
public fw_Weapon_PrimaryAttack_Post(Ent) {
	if(!pev_valid(Ent))
		return
	static Id; Id = pev(Ent, pev_owner)
	if(!g_Had_M4a13[Id])
		return
	
	if(g_Shoot_Special[Id] && cs_get_weapon_ammo(Ent) > 0) {
		cs_set_weapon_ammo(Ent, g_Shoot_Count[Id])
		set_pdata_float(Ent, 46, get_pdata_float(Ent, 46, 4) * 0.75, 4)	
	}
}
public fw_Item_AddToPlayer_Post(ent, id) {
	if(!pev_valid(ent))
		return HAM_IGNORED
		
	if(pev(ent, pev_impulse) == WEAPON_SECRETCODE) {
		g_Had_M4a13[id] = 1
		set_pev(ent, pev_impulse, 0)
	}		

	return HAM_HANDLED	
}
stock Make_BulletHole(id, Float:Origin[3], Float:Damage) {
	// Find target
	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++) {
		// Put decal on "world" (a wall)
		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()
		
		// Show sparcles
		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()
	}
}
public Make_BulletSmoke(id, TrResult) {
	static Float:vecSrc[3], Float:vecEnd[3], TE_FLAG
	
	get_weapon_attachment(id, vecSrc)
	global_get(glb_v_forward, vecEnd)
    
	xs_vec_mul_scalar(vecEnd, 8192.0, vecEnd)
	xs_vec_add(vecSrc, vecEnd, vecEnd)

	get_tr2(TrResult, TR_vecEndPos, vecSrc)
	get_tr2(TrResult, TR_vecPlaneNormal, vecEnd)
    
	xs_vec_mul_scalar(vecEnd, 2.5, vecEnd)
	xs_vec_add(vecSrc, vecEnd, vecEnd)
    
	TE_FLAG |= TE_EXPLFLAG_NODLIGHTS
	TE_FLAG |= TE_EXPLFLAG_NOSOUND
	TE_FLAG |= TE_EXPLFLAG_NOPARTICLES
	
	engfunc(EngFunc_MessageBegin, MSG_PAS, SVC_TEMPENTITY, vecEnd, 0)
	write_byte(TE_EXPLOSION)
	engfunc(EngFunc_WriteCoord, vecEnd[0])
	engfunc(EngFunc_WriteCoord, vecEnd[1])
	engfunc(EngFunc_WriteCoord, vecEnd[2] - 10.0)
	write_short(g_SmokePuff_SprId)
	write_byte(2)
	write_byte(50)
	write_byte(TE_FLAG)
	message_end()
}
public Make_M4a1Effect(id, TrResult) {
	static Float:vecSrc[3], Float:vecEnd[3], TE_FLAG
	
	get_weapon_attachment(id, vecSrc)
	global_get(glb_v_forward, vecEnd)
    
	xs_vec_mul_scalar(vecEnd, 8192.0, vecEnd)
	xs_vec_add(vecSrc, vecEnd, vecEnd)

	get_tr2(TrResult, TR_vecEndPos, vecSrc)
	get_tr2(TrResult, TR_vecPlaneNormal, vecEnd)
    
	xs_vec_mul_scalar(vecEnd, 5.0, vecEnd)
	xs_vec_add(vecSrc, vecEnd, vecEnd)
    
	TE_FLAG |= TE_EXPLFLAG_NODLIGHTS
	TE_FLAG |= TE_EXPLFLAG_NOSOUND
	TE_FLAG |= TE_EXPLFLAG_NOPARTICLES
	
	engfunc(EngFunc_MessageBegin, MSG_PAS, SVC_TEMPENTITY, vecEnd, 0)
	write_byte(TE_EXPLOSION)
	engfunc(EngFunc_WriteCoord, vecEnd[0])
	engfunc(EngFunc_WriteCoord, vecEnd[1])
	engfunc(EngFunc_WriteCoord, vecEnd[2])
	write_short(g_Exp_SprId)
	write_byte(5)
	write_byte(30)
	write_byte(TE_FLAG)
	message_end()
}
stock get_weapon_attachment(id, Float:output[3], Float:fDis = 40.0) { 
	new Float:vfEnd[3], viEnd[3] 
	get_user_origin(id, viEnd, 3)  
	IVecFVec(viEnd, vfEnd) 
	
	new Float:fOrigin[3], Float:fAngle[3]
	
	pev(id, pev_origin, fOrigin) 
	pev(id, pev_view_ofs, fAngle)
	
	xs_vec_add(fOrigin, fAngle, fOrigin) 
	
	new Float:fAttack[3]
	
	xs_vec_sub(vfEnd, fOrigin, fAttack)
	xs_vec_sub(vfEnd, fOrigin, fAttack) 
	
	new Float:fRate
	
	fRate = fDis / vector_length(fAttack)
	xs_vec_mul_scalar(fAttack, fRate, fAttack)
	
	xs_vec_add(fOrigin, fAttack, output)
}
stock radius_damage(id, Float:Origin[3], Float:Damage, Float:Radius) {
	static Victim; Victim = -1

	while((Victim = engfunc(EngFunc_FindEntityInSphere, Victim, Origin, Radius)) != 0) {
		if(!is_user_alive(Victim) || id == Victim) 
			continue

		ExecuteHamB(Ham_TakeDamage, Victim, fm_get_user_weapon_entity(id, get_user_weapon(id)), id, Damage, DMG_BULLET)
	}
}
stock Eject_Shell(id, Shell_ModelIndex, Float:Time)  {
	static Ent; Ent = get_pdata_cbase(id, 373, 5)
	if(!pev_valid(Ent))
		return

        set_pdata_int(Ent, 57, Shell_ModelIndex, 4)
        set_pdata_float(id, 111, get_gametime() + Time)
}
stock set_weapon_anim(id, anim) {
	if(!is_user_alive(id))
		return
	
	set_pev(id, pev_weaponanim, anim)
	
	message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, {0, 0, 0}, id)
	write_byte(anim)
	write_byte(pev(id, pev_body))
	message_end()
}



ANIM yeri biraz kafani karistiracak diger arkadaslara sorarsin olmadi umarim aciklayici anlatmisindir baktik anlamadin daha detayli anlatirim pek zamanim yok. iyi oyunlar
denendimi bu konu sahibi bilgi verebilirmi
2 yıl geçmiş ama pazee yazdıysa çalışmıştır
umarım çalışıyordur dostum

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

ByBuLuT ☪
Mesajlar: 2368
Kayıt: Sal Oca 26, 2016 3:54 pm
Konum: Samsun
Clan İsmi: -
İletişim:

Silah ses...

Mesaj gönderen ByBuLuT ☪ »

Menedit yazdı: Pzt Mar 11, 2019 12:12 pm
ByBuLuT ☪ yazdı: Pzt Mar 11, 2019 12:10 pm
Menedit yazdı: Pzt Mar 11, 2019 11:54 am

denendimi bu konu sahibi bilgi verebilirmi
2 yıl geçmiş ama pazee yazdıysa çalışmıştır
umarım çalışıyordur dostum
Çalışmıyorsa yardımcı olacak insanlar var forumda denemekten zarar gelmez

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Leooo
Mesajlar: 2170
Kayıt: Pzr Eki 01, 2017 11:29 pm
Konum: Azerbaycan,Haciqabul
Clan İsmi: Azerbaycan

Silah ses...

Mesaj gönderen Leooo »

Çalışmassa konu açın yardım ederler yani konu uplamaya gerek yok.

Link:
Linklerini gizle
Linki Kopyala
Kilitli