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

https://discord.gg/43gGDQe6tS

Eklenti küçük edit

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler


Konu Sahibi
Mehmetaga
Mesajlar: 4
Kayıt: Pzr Ara 12, 2021 4:00 pm

Eklenti küçük edit

Mesaj gönderen Mehmetaga »

Merhaba, aşağıda attığım eklenti fps sınırını geçen oyunculara slay atıyor. Bu eklentiyi slay atması yerine 5 saniye freeze atacak şeklinde düzenler misiniz? Freezesi biten oyuncu hala fps sınırını aşıyorsa tekrar freezelensin. Teşekkürler.

Kod: Tümünü seç

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

#define PLUGIN "High FPS Detector"
#define VERSION "1.0"
#define AUTHOR "DPCS"

new iFrames[33]

#define FPSSINIR 230

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_forward(FM_PlayerPreThink, "Forward_PlayerPreThink")
}

public Forward_PlayerPreThink(id) {
	if(!is_user_alive(id)) return FMRES_IGNORED
	
	iFrames[id]++
	return FMRES_IGNORED
}

public client_authorized(id) {
	client_cmd(id, "fps_max 200;")
	client_cmd(id, "fps_modem 200;")
}

public client_putinserver(id) {
	iFrames[id] = 0
	set_task(1.0, "ShowFps",id+19075, _, _, "b")
}

public client_disconnect(id) {
	if(task_exists(id+19075)) {
		remove_task(id+19075)
	}
}

public ShowFps(id)
{
	id -= 19075
	if(is_user_alive(id) && iFrames[id] >= FPSSINIR) {
		new szName[33]
		get_user_name(id, szName, 33)
		renkli_yazi(0, "!g[BGZE] !n[ !t%s !n] Adli Oyuncu Slaylandi. !nKonsola fps_max 200 ve fps_modem 200 Yazip Lutfen FPS'nizi sabitleyin.", szName)
		user_silentkill(id)
	}
	iFrames[id] = 0
}

stock renkli_yazi(const id, const input[], any:...)
{
	new count = 1, players[32]
	static msg[191]
	vformat(msg, sizeof(msg) - 1, input, 3)
	
	replace_all(msg, 190, "!n", "^x01")
	replace_all(msg, 190, "!g", "^x04")
	replace_all(msg, 190, "!t", "^x03")
	
	if(id) players[0] = id; else get_players(players, count, "ch")
	for(new i = 0; i < count; i++)
	{
		if(is_user_connected(players[i]))
		{
			message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
			write_byte(players[i])
			write_string(msg)
			message_end()
		}
	}
}

Link:
Linklerini gizle
Linki Kopyala

semihh6060
Mesajlar: 128
Kayıt: Cmt May 06, 2017 1:22 pm
Konum: İstanbul
Clan İsmi: Global Infect.

Eklenti küçük edit

Mesaj gönderen semihh6060 »

Bu eklenti yerine fps sınırlandırıcı kullanabilirsin.

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
Mehmetaga
Mesajlar: 4
Kayıt: Pzr Ara 12, 2021 4:00 pm

Eklenti küçük edit

Mesaj gönderen Mehmetaga »

semihh6060 yazdı: Pzr Oca 30, 2022 10:37 pm Bu eklenti yerine fps sınırlandırıcı kullanabilirsin.
Bu eklentinin amacı zaten o. Oyuncular suncuya girince otomatik kodları uyguluyor. Fakat bazı oyuncular konsoldan değişiyor. Bunu engellemek amaçlı böyle bir eklenti kullanıyorum.

Link:
Linklerini gizle
Linki Kopyala

semihh6060
Mesajlar: 128
Kayıt: Cmt May 06, 2017 1:22 pm
Konum: İstanbul
Clan İsmi: Global Infect.

Eklenti küçük edit

Mesaj gönderen semihh6060 »

Mehmetaga yazdı: Pzr Oca 30, 2022 11:10 pm
semihh6060 yazdı: Pzr Oca 30, 2022 10:37 pm Bu eklenti yerine fps sınırlandırıcı kullanabilirsin.
Bu eklentinin amacı zaten o. Oyuncular suncuya girince otomatik kodları uyguluyor. Fakat bazı oyuncular konsoldan değişiyor. Bunu engellemek amaçlı böyle bir eklenti kullanıyorum.
Biliyorum amacının o olduğunu. Kullanıcı değiştirse bile server sürekli o fpse sabitlicek. Tabii bu serveri yorabilir. Dediğin eklenti daha mantıklıdır belkide.

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
Mehmetaga
Mesajlar: 4
Kayıt: Pzr Ara 12, 2021 4:00 pm

Eklenti küçük edit

Mesaj gönderen Mehmetaga »

semihh6060 yazdı: Pzr Oca 30, 2022 11:18 pm
Mehmetaga yazdı: Pzr Oca 30, 2022 11:10 pm
semihh6060 yazdı: Pzr Oca 30, 2022 10:37 pm Bu eklenti yerine fps sınırlandırıcı kullanabilirsin.
Bu eklentinin amacı zaten o. Oyuncular suncuya girince otomatik kodları uyguluyor. Fakat bazı oyuncular konsoldan değişiyor. Bunu engellemek amaçlı böyle bir eklenti kullanıyorum.
Biliyorum amacının o olduğunu. Kullanıcı değiştirse bile server sürekli o fpse sabitlicek. Tabii bu serveri yorabilir. Dediğin eklenti daha mantıklıdır belkide.
Evet dediğin gibi sunucuyu yorabilir. Benim dediğim gibi yapabilecek var mı?

Link:
Linklerini gizle
Linki Kopyala

vburakustunel
Mesajlar: 298
Kayıt: Pzr Oca 12, 2020 2:49 pm

Eklenti küçük edit

Mesaj gönderen vburakustunel »

Güncel, farklı hesapla açmışım konuyu yeni farkettim :D

Link:
Linklerini gizle
Linki Kopyala

vburakustunel
Mesajlar: 298
Kayıt: Pzr Oca 12, 2020 2:49 pm

Eklenti küçük edit

Mesaj gönderen vburakustunel »

Konu günceldir.

Link:
Linklerini gizle
Linki Kopyala

vburakustunel
Mesajlar: 298
Kayıt: Pzr Oca 12, 2020 2:49 pm

Eklenti küçük edit

Mesaj gönderen vburakustunel »

Güncel.

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

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

Eklenti küçük edit

Mesaj gönderen Colditz »

Dener misin?

Kod: Tümünü seç

#include <amxmodx>
#include <reapi>

new bool:g_blIsPlayerConnectedAndAlive[MAX_CLIENTS + 1];
new g_iFrames[MAX_CLIENTS + 1];
new g_iCvar;

public plugin_init() {
    register_plugin("FPS Sinir", "0.0.1", "Schwarper");

    RegisterHookChain(RG_CBasePlayer_Spawn, "@CBasePlayer_Spawn_Post", .post = true);
    RegisterHookChain(RG_CBasePlayer_Killed, "@CBasePlayer_Killed_Post", .post = true);
    RegisterHookChain(RG_CBasePlayer_PreThink, "@CBasePlayer_PreThink_Pre", .post = false);

    bind_pcvar_num(create_cvar("fps_sinir", "240"), g_iCvar);
}

public client_disconnected(pPlayer) {
    g_blIsPlayerConnectedAndAlive[pPlayer] = false;
    remove_task(pPlayer);
}

@CBasePlayer_Spawn_Post(const pPlayer) {
    if(get_member(pPlayer, m_bJustConnected)) {
        client_cmd(pPlayer, "fps_max 200;");
        client_cmd(pPlayer, "fps_modem 200;");
        return;
    }

    g_iFrames[pPlayer] = 0;
    g_blIsPlayerConnectedAndAlive[pPlayer] = true;
    set_task(1.0, "@CheckFpsPerSec", pPlayer, .flags = "b");
}

@CBasePlayer_Killed_Post(const pVictim) {
    g_blIsPlayerConnectedAndAlive[pVictim] = false;
    remove_task(pVictim);
}

@CBasePlayer_PreThink_Pre(const pPlayer) {
    if(!g_blIsPlayerConnectedAndAlive[pPlayer]) {
        return;
    }

    g_iFrames[pPlayer]++;
}

@CheckFpsPerSec(const pPlayer) {
    if(g_iFrames[pPlayer] >= g_iCvar) {
        set_task(3.0, "@UnFreeze", pPlayer);
        set_entvar(pPlayer, var_flags, get_entvar(pPlayer, var_flags) | FL_FROZEN);

        client_print_color(pPlayer, pPlayer, "^4Fps Siniri: ^3%i^1. ^4Fps sinirini gectigin icin 3 saniye donduruldun.", g_iCvar);
    }

    g_iFrames[pPlayer] = 0;
}

@UnFreeze(const pPlayer) {
    set_entvar(pPlayer, var_flags, get_entvar(pPlayer, var_flags) & ~FL_FROZEN);
    client_print_color(pPlayer, pPlayer, "^4 3 ^1saniyelik cezan bitti. ^3Lutfen fps sinirini gecmeyin. ^4Fps siniri^1: ^3%i", g_iCvar);
}

Link:
Linklerini gizle
Linki Kopyala

vburakustunel
Mesajlar: 298
Kayıt: Pzr Oca 12, 2020 2:49 pm

Eklenti küçük edit

Mesaj gönderen vburakustunel »

Kod: Tümünü seç

ze_fps_siniri.sma(26) : warning 217: loose indentation
ze_fps_siniri.sma(27) : warning 217: loose indentation
ze_fps_siniri.sma(37) : error 017: undefined symbol "pPlayer"
ze_fps_siniri.sma(37) : error 088: number of arguments does not match definition

2 Errors.
Could not locate output file ze_fps_siniri.amx (compile failed).
Böyle bir hata verdi.

Link:
Linklerini gizle
Linki Kopyala
Cevapla