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

https://discord.gg/43gGDQe6tS

Awp alma sınırlama

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler

Kullanıcı avatarı

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

Awp alma sınırlama

Mesaj gönderen heaveNN »

Colditz yazdı: Prş Oca 21, 2021 3:12 pm

Kod: Tümünü seç

RegisterHookChain(RG_BuyWeaponByWeaponID,"BuyWeapon", .post = false);
post parametresini neye göre true - false yapıyoruz açıklayabilir misiniz? Araştırırken bu açıklamayı buldum fakat tam anlayamadım.

Kod: Tümünü seç

@param post       Whether or not to forward this in post

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

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

Awp alma sınırlama

Mesaj gönderen Colditz »

@heaveNN
# false - 0 =pre
# true - 1 = post
AFAIK it is setting the start of hook. If you make it false, it will work before the event happened. If you make it true, it will work after the event happened.

For example; If you want to block giving C4 to client, you must use false. Because hooking is useless after c4 is given.

Kod: Tümünü seç

RegisterHookChain(RG_CSGameRules_GiveC4, "@CSGameRules_GiveC4", .post=false);   // It blockes giving C4 to client
//RegisterHookChain(RG_CSGameRules_GiveC4, "@CSGameRules_GiveC4", .post=true);   // C4 is given, man. What the?

@CSGameRules_GiveC4(const id)
{
     return HC_SUPERCEDE;
}
And also;
https://dev-cs.ru/threads/11972/#post-89780
https://dev-cs.ru/threads/12022/#post-89917

Yani, bir şeyleri engellemek istiyorsan pre kullanman gerekiyor. Örnekteki gibi post true iken C4 ü engellemek yerine false dayken engelledim. Pre isminden de anlaşıldığı gibi öncesidir. Yani (yine örnekten gidiyorum) C4 vermeden hemen önce çalışır. Post true ise c4 verdikten sonra çalışır.

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

Özcan Örs
Mesajlar: 2203
Kayıt: Prş May 31, 2018 3:32 pm
Konum: Türkiye
Server Ip/DNS: cs3.csduragi.net
Clan İsmi: TIMGaming
İletişim:

Awp alma sınırlama

Mesaj gönderen Özcan Örs »

Colditz yazdı: Prş Oca 21, 2021 11:01 pm @heaveNN
# false - 0 =pre
# true - 1 = post
AFAIK it is setting the start of hook. If you make it false, it will work before the event happened. If you make it true, it will work after the event happened.

For example; If you want to block giving C4 to client, you must use false. Because hooking is useless after c4 is given.

Kod: Tümünü seç

RegisterHookChain(RG_CSGameRules_GiveC4, "@CSGameRules_GiveC4", .post=false);   // It blockes giving C4 to client
//RegisterHookChain(RG_CSGameRules_GiveC4, "@CSGameRules_GiveC4", .post=true);   // C4 is given, man. What the?

@CSGameRules_GiveC4(const id)
{
     return HC_SUPERCEDE;
}
And also;
https://dev-cs.ru/threads/11972/#post-89780
https://dev-cs.ru/threads/12022/#post-89917

Yani, bir şeyleri engellemek istiyorsan pre kullanman gerekiyor. Örnekteki gibi post true iken C4 ü engellemek yerine false dayken engelledim. Pre isminden de anlaşıldığı gibi öncesidir. Yani (yine örnekten gidiyorum) C4 vermeden hemen önce çalışır. Post true ise c4 verdikten sonra çalışır.
Şunu tam sma olarak atabilir misin kardeşim yazdıklarınızdan hiç bir şey anlamıyorum şuan :)

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

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

Awp alma sınırlama

Mesaj gönderen bestcore »

Arkadaşın yazdıklarını sadece ben mi anlıyorum ? yoksa aynı kafada değil miyiz ?

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

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

Awp alma sınırlama

Mesaj gönderen heaveNN »

Colditz yazdı: Prş Oca 21, 2021 11:01 pm @heaveNN
# false - 0 =pre
# true - 1 = post
AFAIK it is setting the start of hook. If you make it false, it will work before the event happened. If you make it true, it will work after the event happened.

For example; If you want to block giving C4 to client, you must use false. Because hooking is useless after c4 is given.

Kod: Tümünü seç

RegisterHookChain(RG_CSGameRules_GiveC4, "@CSGameRules_GiveC4", .post=false);   // It blockes giving C4 to client
//RegisterHookChain(RG_CSGameRules_GiveC4, "@CSGameRules_GiveC4", .post=true);   // C4 is given, man. What the?

@CSGameRules_GiveC4(const id)
{
     return HC_SUPERCEDE;
}
And also;
https://dev-cs.ru/threads/11972/#post-89780
https://dev-cs.ru/threads/12022/#post-89917

Yani, bir şeyleri engellemek istiyorsan pre kullanman gerekiyor. Örnekteki gibi post true iken C4 ü engellemek yerine false dayken engelledim. Pre isminden de anlaşıldığı gibi öncesidir. Yani (yine örnekten gidiyorum) C4 vermeden hemen önce çalışır. Post true ise c4 verdikten sonra çalışır.
Bilgilendirme için teşekkür ederim, anladım.

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

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

Awp alma sınırlama

Mesaj gönderen Colditz »

Kod: Tümünü seç

#pragma semicolon 1

#include <amxmodx>
#include <reapi>

new g_iMaxAwpinRound[TeamName], g_iCvar;

public plugin_init() {
	register_plugin("Awp Siniri", "0.0.1", "PurposeLess");

	RegisterHookChain(RG_BuyWeaponByWeaponID, "@BuyWeaponByWeaponID_Pre", .post = false);
	RegisterHookChain(RG_CSGameRules_RestartRound, "@CSGameRules_RestartRound_Pre", .post = false);

	bind_pcvar_num(create_cvar("max_awp_in_round", "0"), g_iCvar);
}

@BuyWeaponByWeaponID_Pre(const pPlayer, const WeaponIdType:weaponID) {
	if(weaponID != WEAPON_AWP) {
		return HC_CONTINUE;
	}

	new TeamName:iTeam = get_member(pPlayer, m_iTeam);

	if(g_iMaxAwpinRound[iTeam] == g_iCvar) {
		client_print_color(pPlayer, pPlayer, "Takimca bir roundda maksimum %i awp alinabilirsiniz", g_iMaxAwpinRound[iTeam]);
		SetHookChainReturn(ATYPE_INTEGER);
		return HC_SUPERCEDE;
	}

	g_iMaxAwpinRound[iTeam]++;
	return HC_CONTINUE;
}

@CSGameRules_RestartRound_Pre() {
	for(new TeamName:i = TEAM_UNASSIGNED; i <= TEAM_SPECTATOR; i++) {
		g_iMaxAwpinRound[i] = 0;
	}
}

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

Özcan Örs
Mesajlar: 2203
Kayıt: Prş May 31, 2018 3:32 pm
Konum: Türkiye
Server Ip/DNS: cs3.csduragi.net
Clan İsmi: TIMGaming
İletişim:

Awp alma sınırlama

Mesaj gönderen Özcan Örs »

Colditz yazdı: Prş Oca 21, 2021 11:25 pm

Kod: Tümünü seç

#pragma semicolon 1

#include <amxmodx>
#include <reapi>

new g_iMaxAwpinRound[TeamName], g_iCvar;

public plugin_init() {
	register_plugin("Awp Siniri", "0.0.1", "PurposeLess");

	RegisterHookChain(RG_BuyWeaponByWeaponID, "@BuyWeaponByWeaponID_Pre", .post = false);
	RegisterHookChain(RG_CSGameRules_RestartRound, "@CSGameRules_RestartRound_Pre", .post = false);

	bind_pcvar_num(create_cvar("max_awp_in_round", "0"), g_iCvar);
}

@BuyWeaponByWeaponID_Pre(const pPlayer, const WeaponIdType:weaponID) {
	if(weaponID != WEAPON_AWP) {
		return HC_CONTINUE;
	}

	new TeamName:iTeam = get_member(pPlayer, m_iTeam);

	if(g_iMaxAwpinRound[iTeam] == g_iCvar) {
		client_print_color(pPlayer, pPlayer, "Takimca bir roundda maksimum %i awp alinabilirsiniz", g_iMaxAwpinRound[iTeam]);
		SetHookChainReturn(ATYPE_INTEGER);
		return HC_SUPERCEDE;
	}

	g_iMaxAwpinRound[iTeam]++;
	return HC_CONTINUE;
}

@CSGameRules_RestartRound_Pre() {
	for(new TeamName:i = TEAM_UNASSIGNED; i <= TEAM_SPECTATOR; i++) {
		g_iMaxAwpinRound[i] = 0;
	}
}
Teşekkürler yarın deneyip dönüş yapacağım

Link:
Linklerini gizle
Linki Kopyala

F.T.H
Mesajlar: 546
Kayıt: Pzr Mar 19, 2017 12:55 pm
Konum: Ϲ★
İletişim:

Awp alma sınırlama

Mesaj gönderen F.T.H »

Csdurağının reapi sürümü nedir? Bu satın alma olayları sürüme göre değişebiliyor
Yukarıda atılan uyarı verir ve satın almaya devam ederse;
Bu komutu

Kod: Tümünü seç

SetHookChainReturn(ATYPE_INTEGER);
Bununla değiştirin;

Kod: Tümünü seç

SetHookChainReturn(ATYPE_BOOL, true);

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

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

Awp alma sınırlama

Mesaj gönderen Colditz »

F.T.H yazdı: Cum Oca 22, 2021 12:07 am Csdurağının reapi sürümü nedir? Bu satın alma olayları sürüme göre değişebiliyor
Güncel sürümde ATYPE_INTEGER kullanmamızı istiyor, aksi takdirde log basmaya başlıyor. CSDurağı'nda da böyle diye biliyorum.

Link:
Linklerini gizle
Linki Kopyala

F.T.H
Mesajlar: 546
Kayıt: Pzr Mar 19, 2017 12:55 pm
Konum: Ϲ★
İletişim:

Awp alma sınırlama

Mesaj gönderen F.T.H »

Colditz yazdı: Cum Oca 22, 2021 12:22 am Güncel sürümde ATYPE_INTEGER kullanmamızı istiyor, aksi takdirde log basmaya başlıyor. CSDurağı'nda da böyle diye biliyorum.
Csdurağında en son geçen sene böyle bir eklenti denemiştim, sürüm güncellendiyse deneme fırsatım olmadı.

Link:
Linklerini gizle
Linki Kopyala
Cevapla