1. sayfa (Toplam 1 sayfa)

Eklentinin reapi karşılığı

Gönderilme zamanı: Prş Eki 14, 2021 10:42 pm
gönderen 1000DAYS
Merhaba, altta vermiş olduğum eklentinin reapi kütüphanesine çevrilmiş hali lazım. Farklı bir eklentime ekleyeceğim. 1 public için koskoca kütüphaneyi tanıtmak istemiyorum.

Kod: Tümünü seç

#include <amxmodx>
#include <fakemeta>

new last_stand[33],Float:duck_start_time[33],Float:last_origin[33][3]

public plugin_init() {
	register_forward(FM_CmdStart, "pfw_CmdStart", 1)
}
public pfw_CmdStart(id, pUC, seed)
{
	new iButtons = get_uc(pUC, UC_Buttons)
	if(iButtons & IN_DUCK)
	{
		if(last_stand[id])
		{
			pev(id,pev_origin,last_origin[id])
			
			duck_start_time[id] = get_gametime()	
			last_stand[id] = false;
		}
	}
	else
	{
		if(!last_stand[id])
		{
			new Float:fGameTime = get_gametime()
			if((fGameTime-duck_start_time[id])<0.02)
			{
				engfunc(EngFunc_SetOrigin, id, last_origin[id])
				set_pev(id, pev_bInDuck, false);
			}
		}
		last_stand[id] = true;
	}
}  

Eklentinin reapi karşılığı

Gönderilme zamanı: Prş Eki 14, 2021 11:15 pm
gönderen bestcore
Oyuncu eğilince işlem yapacaksan şunu kullanabilirsin, RG_CBasePlayer_Duck. Bununla birlikte fakemetadaki komutların aynısı reapide var;

Kod: Tümünü seç

pev(id,pev_origin... -> get_entvar(id, var_origin...
set_pev(id, pev_bInDuck, false); -> set_entvar(id, var_bInDuck, false);
engfunc(EngFunc_SetOrigin... -> set_entvar(id var_origin...
Eğer eğilip kalkmayı algılatmak istiyorsan post-pre think kullanabilirsin fakat bunu kullanırken dikkatli olmalısın, yanlış bir kodda cpu'yu fena şekilde yer.
Programı kaldırdım onun için düzenleme yapamıyorum, yapacak arkadaşlara yardımcı olur bu kodlar.

Eklentinin reapi karşılığı

Gönderilme zamanı: Cum Eki 15, 2021 7:59 am
gönderen 1000DAYS
Yapabilecek biri var ise çok sevinirim. Teşekkürler

Eklentinin reapi karşılığı

Gönderilme zamanı: Cum Eki 15, 2021 10:17 am
gönderen Colditz
Hızlı duck yapmayı mı engelliyor bu tam olarak?

Eklentinin reapi karşılığı

Gönderilme zamanı: Cum Eki 15, 2021 3:01 pm
gönderen 1000DAYS
Evet. O işe yarıyor.

Eklentinin reapi karşılığı

Gönderilme zamanı: Cum Eki 15, 2021 6:56 pm
gönderen orucoglukayra
Bu şekilde dönüştürdüm fakat işlevinin aynı kalacağından emin değilim.Kütüphaneyi tanıtmanda bence bir sıkıntı olmaz.Ama böyle deneyebilirsin ;

Kod: Tümünü seç

#include <amxmodx>
#include <reapi>

new last_stand[MAX_CLIENTS+1],Float:duck_start_time[MAX_CLIENTS+1],Float:last_origin[MAX_CLIENTS+1][3]

public plugin_init() 
{
	RegisterHookChain(RG_CBasePlayer_Duck, "CBasePlayer_Duck", .post = true);
}

public CBasePlayer_Duck(const id)
{
	if(last_stand[id])
	{
		get_entvar(id, var_origin, last_origin[id]);
		
		duck_start_time[id] = get_gametime();
		last_stand[id] = false;
	}
	else
	{
		if(!last_stand[id])
		{
			new Float:fGameTime = get_gametime()
			if((fGameTime - duck_start_time[id]) < 0.02)
			{
				set_entvar(id, var_origin, last_origin[id]);
				set_entvar(id, var_bInDuck, false);
			}
		}
		last_stand[id] = true;
	}
}

Eklentinin reapi karşılığı

Gönderilme zamanı: Cum Eki 15, 2021 8:11 pm
gönderen seypa
yormayın kendinizi

Kod: Tümünü seç

mp_unduck_method 1

Eklentinin reapi karşılığı

Gönderilme zamanı: Cum Eki 15, 2021 8:27 pm
gönderen quadfor77
seypa yazdı: Cum Eki 15, 2021 8:11 pm yormayın kendinizi

Kod: Tümünü seç

mp_unduck_method 1
Bu kod double duck da engelliyor o yüzden işe yaramaz, arkadaşın paylaştığı kod sadece scroll ducku engelliyor.