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

https://discord.gg/43gGDQe6tS

Ateş etmeyi engellemek

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler


Konu Sahibi
Romantic
Mesajlar: 4
Kayıt: Cum May 07, 2021 8:38 pm

Ateş etmeyi engellemek

Mesaj gönderen Romantic »

Merhaba, bütün silahlar için ateş etmeyi nasıl engelleyebilirim acaba ? etkinliginn kodu nedir bir türlü bulamadım yardım ederseniz sevinirim.

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

heaveNN
Mesajlar: 314
Kayıt: Prş Ağu 22, 2019 11:11 pm
Clan İsmi: RedDawn

Ateş etmeyi engellemek

Mesaj gönderen heaveNN »

Bunu ne için istiyorsunuz? Eklentinin amacı ne olacak tam olarak?

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
Romantic
Mesajlar: 4
Kayıt: Cum May 07, 2021 8:38 pm

Ateş etmeyi engellemek

Mesaj gönderen Romantic »

Ateş etme banı uygulayacagım playere ateş edemiyecek

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

bestcore
Mesajlar: 1625
Kayıt: Cmt Eyl 30, 2017 12:44 pm
Konum: Samsun

Ateş etmeyi engellemek

Mesaj gönderen bestcore »

Geliştirmek için örnek mi istiyorsunuz ? Yoksa direk eklenti mi ?

Bıçaklara uygulanan ateş etme engeli,

Kod: Tümünü seç

#include <amxmodx>
#include <hamsandwich>
#include <reapi>

public plugin_init() {
	register_plugin("Sol Tik Engel", "1.0", "PurposeLess");

	RegisterHam(Ham_Item_Deploy, "weapon_knife", "@Ham_Item_Deploy_Knife", .Post = true);
}

@Ham_Item_Deploy_Knife(const weapon)
{
	set_member(weapon, m_Weapon_flNextPrimaryAttack, 9999.0);
}
Bütün silahlarda istiyorsanız reapi ile yapabilirsiniz,

Kod: Tümünü seç

	/*
	* Description:      -
	* Return type:      BOOL
	* Params:           (const this, szViewModel[], szWeaponModel[], iAnim, szAnimExt[], skiplocal)
	*/
	RG_CBasePlayerWeapon_DefaultDeploy,

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
Romantic
Mesajlar: 4
Kayıt: Cum May 07, 2021 8:38 pm

Ateş etmeyi engellemek

Mesaj gönderen Romantic »

Cevabınız için teşekkür ederim, peki belirledigim silahlar dışında ateş edilmesini nasıl engelleyebilirim yani tek tek register yapmak yerine bir if koşulu içerisinde silah ismini kontrol ettirsem

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

bestcore
Mesajlar: 1625
Kayıt: Cmt Eyl 30, 2017 12:44 pm
Konum: Samsun

Ateş etmeyi engellemek

Mesaj gönderen bestcore »

Değerleri belirle,

Kod: Tümünü seç

new const szWeaponName[][] =
{
	"weapon_ak47",
	"weapon_m4a1",
	....
	..
};
Oyuncunun silah id'si, değerlere eşit değilse işlem yaptır veya eşitse işlem yaptır.

Kod: Tümünü seç

for(new i = 0; i < sizeof(szWeaponName); i++)
{
	if(weaponid != szWeaponName[i]) // weaponid, oyuncunun silah id'si.
	{
		...
	}
}

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

Colditz
Mesajlar: 2574
Kayıt: Çrş Ağu 23, 2017 9:17 pm

Ateş etmeyi engellemek

Mesaj gönderen Colditz »

Böyle daha kolay.

Kod: Tümünü seç

#include <amxmodx>
#include <reapi>

public plugin_init() {
	register_plugin("Ates Engelle", "0.0.1", "PurposeLess");

	RG_CBasePlayerWeapon_DefaultDeploy, "@CBasePlayerWeapon_DefaultDeploy_Post", .post = true);
}

@CBasePlayerWeapon_DefaultDeploy_Post(const iWeapon, szViewModel[], szWeaponModel[], iAnim, szAnimExt[], skiplocal) {
	new WeaponIdType:iWeaponIdType = get_member(iWeapon, m_iId);

	//Buraya istisna olan silahlari girin.
	if(iWeaponIdType == WEAPON_C4 || iWeaponIdType == WEAPON_M4A1) {
		return;
	}

	set_member(iWeapon, m_Weapon_flNextPrimaryAttack, 9999.0);
}

Link:
Linklerini gizle
Linki Kopyala
Cevapla