1. sayfa (Toplam 1 sayfa)

[REAPI] Görünmez Izleyici Takimi (Spectator)

Gönderilme zamanı: Pzr Haz 24, 2018 12:44 pm
gönderen Colditz
Eklenti İsmi : Invisible Spectator
Yapımcısı : ReHLDS Team
Sürüm : 1.0
Düzenleme ve Çeviri : PurposeLess

Komutlar :
amx_spectate -> Kendini görünmez yapar veya gorunmezligini kapatir (specte olması gerekmekte)

Açıklama :
Aim tespit ederken oyuncuları izlemenizde yardımcı olacak bir eklenti. Spec takımına geçince kimse sizin specte olduğunuzu göremeyecek.

Ayrıca eklenti içinden kendinize göre birkaç ayar yapabilirsiniz.

Kod: Tümünü seç

///Burayi kendinize gore ayarlayaniz
#define ACCESS_LEVEL_INVISIBLE    (ADMIN_BAN) // Amx_Spectate komutunu kullanma yetkisi

/*(Kapatmak icin basina // isaretini koyup pasiflestirin | Acmak icin isaretleri kaldirin) */
#define LOCK_SAY // Spec takiminin say ve say_team kullanma yasagi 
//#define AUTO_INVISIBLE_SPECTATOR  // Spec takiminin otomatik gorunmez olmasi
///Burayi kendinize gore ayarlayaniz

[REAPI] Görünmez Izleyici Takimi (Spectator)

Gönderilme zamanı: Pzr Haz 24, 2018 1:36 pm
gönderen Yek'-ta
Edit yerine düzenleme yazabilirsin.

[REAPI] Görünmez Izleyici Takimi (Spectator)

Gönderilme zamanı: Pzr Haz 24, 2018 1:45 pm
gönderen Colditz
@Yek'-ta
Teşekkürler :)

[REAPI] Görünmez Izleyici Takimi (Spectator)

Gönderilme zamanı: Pzr Haz 24, 2018 2:02 pm
gönderen vanessaaa
Tesekkurler

[REAPI] Görünmez Izleyici Takimi (Spectator)

Gönderilme zamanı: Pzr Haz 24, 2018 3:17 pm
gönderen Network17
//cstrike/addons/amxmodx/scripting/invisible_spectator.sma(37) : error 017: undefined symbol "RH_SV_WriteFullClientUpdate"
//cstrike/addons/amxmodx/scripting/invisible_spectator.sma(44) : error 017: undefined symbol "set_key_value"

2 Errors.
Could not locate output file /cstrike/addons/amxmodx/plugins/invisible_spectator.amx (compile failed).
....

[REAPI] Görünmez Izleyici Takimi (Spectator)

Gönderilme zamanı: Pzr Haz 24, 2018 4:47 pm
gönderen Colditz
Bu komut muhtemelen Reapi kütüphanesinin güncel versiyonunda eklenen komutlar. Ben panelde kontrol edemiyorum eklentiyi yaptıktan sonra kendi reHLDS serverımda test ediyorum ve sorunsuz çalışıyordu.
Reapi güncellenene kadar sanırım bu eklenti şu anlık çalışır durumda değil. Maalesef.

set_key_value -> reapi_engine.inc
RH_SV_WriteFullClientUpdate -> reapi_engine_const.inc

[REAPI] Görünmez Izleyici Takimi (Spectator)

Gönderilme zamanı: Sal Şub 12, 2019 3:56 pm
gönderen Gozyasi`
Bu eklenti çalışmıyor. Vakti olan onarabilirse çok makbule geçer.
@Yek'-ta @Taha Demirbaş @Necati Doğan

[REAPI] Görünmez Izleyici Takimi (Spectator)

Gönderilme zamanı: Sal Şub 12, 2019 4:12 pm
gönderen Necati Doğan
Gozyasi` yazdı: Sal Şub 12, 2019 3:56 pm Bu eklenti çalışmıyor. Vakti olan onarabilirse çok makbule geçer.

Kod: Tümünü seç

#include <amxmodx>                                                              
#include <reapi>

#pragma semicolon 1

///Burayi kendinize gore ayarlayaniz
#define ACCESS_LEVEL_INVISIBLE    (ADMIN_BAN) // Amx_Spectate komutunu kullanma yetkisi

/*(Kapatmak icin basina // isaretini koyup pasiflestirin | Acmak icin isaretleri kaldirin) */
#define LOCK_SAY // Spec takiminin say ve say_team kullanma yasagi 
//#define AUTO_INVISIBLE_SPECTATOR  // Spec takiminin otomatik gorunmez olmasi
///Burayi kendinize gore ayarlayaniz

new HookChain:g_hSV_WriteFullClientUpdate;
new bool:g_bPlayerInVisible[33];

/// === CSDURAGI.COM ===
// Bu Eklenti PurposeLess tarafindan ReHLDS Team kodlari kullanilarak yeniden, en iyi sekilde kodlanmistir ve Turkce'ye ceviri yapilmistir. 
//Eklenti kodlarini editleyip veya editlemeden baska forumlarda ben yaptim diye sunan arkadaslara hakkimi helal etmiyorum. Izinsiz hicbir forumda paylasmayiniz.
/// === CSDURAGI.COM ===

public plugin_init() {
	register_plugin("Invisible Spectator", "1.0", "ReHLDS Team");

	#if defined LOCK_SAY
	register_clcmd("say", "clcmd_say");
	register_clcmd("say_team", "clcmd_say");
	#endif

	#if defined AUTO_INVISIBLE_SPECTATOR
	register_event("TeamInfo", "Event_TeamInfo", "a", "2=TERRORIST", "2=CT", "2=SPECTATOR");
	#else
	register_event("TeamInfo", "Event_TeamInfo", "a", "2=TERRORIST", "2=CT");
	register_clcmd("amx_spectate", "ClCmd_Spectate", ACCESS_LEVEL_INVISIBLE);
	#endif

	DisableHookChain((g_hSV_WriteFullClientUpdate = RegisterHookChain(RH_SV_WriteFullClientUpdate, "SV_WriteFullClientUpdate")));
}

public SV_WriteFullClientUpdate(const id, buffer, const receiver)
{
	if(g_bPlayerInVisible[id])
	{
		set_key_value(buffer, "", "");
	}
}

public client_putinserver(id)
{
	g_bPlayerInVisible[id] = false;
}

#if defined LOCK_SAY
public clcmd_say(id)
{
	if (g_bPlayerInVisible[id])
	{
		client_print_color(id, id, "^4Sen ^3gizli bir izleyicisin. ^4Konusmaman ^3gerek^1!");
		return PLUGIN_HANDLED;
	}
	
	return PLUGIN_CONTINUE;
}
#endif


#if !defined AUTO_INVISIBLE_SPECTATOR
public ClCmd_Spectate(id, level, cid)
{
	if(!(get_user_flags(id) & level))
	{
		return PLUGIN_HANDLED;
	}

	if (get_member(id, m_iTeam) != TEAM_SPECTATOR)
	{
		client_print_color(id, id, "^4Gorunmez olabilmen icin ^3once izleyici ^4olmalisin^1.");
		return PLUGIN_HANDLED;
	}

	g_bPlayerInVisible[id] ^= true;
	client_print_color(id, id, "^3Sen ^4suan ^3%s^1.", g_bPlayerInVisible[id] ? "gorunmezsin":"gorunmez degilsin");

	if (!TryDisableHookChain())
	{
		EnableHookChain(g_hSV_WriteFullClientUpdate);
	}

	rh_update_user_info(id);
	return PLUGIN_HANDLED;
}
#endif

stock bool:TryDisableHookChain()
{
	new nCount;
	for(new id = 1; id <= MAX_CLIENTS; id++)
	{
		if(is_user_bot(id) || !is_user_connected(id))
		{
			continue;
		}
		if(g_bPlayerInVisible[id])
		{
			++nCount;
		}
	}

	if (nCount <= 0)
	{
		DisableHookChain(g_hSV_WriteFullClientUpdate);
		return true;
	}

	return false;
}

public client_disconnected(id)
{
	if (g_bPlayerInVisible[id])
	{
		g_bPlayerInVisible[id] = false;
		TryDisableHookChain();
	}
}

//Endif komutu yuzunden { isareti kapanmiyor. Kapattiginiz takdirde hata veriyor
//Birakalim boyle kalsin.
public Event_TeamInfo()
{
	new id = read_data(1);

	#if defined AUTO_INVISIBLE_SPECTATOR
	new bool:bState = g_bPlayerInVisible[id];

	new szTeamName[2];
	read_data(2, szTeamName, charsmax(szTeamName));

	switch (szTeamName[0])
	{
		case 'C', 'T': {
			g_bPlayerInVisible[id] = false;
		}
		case 'S': {
			g_bPlayerInVisible[id] = true;
		}
	}

	if (g_bPlayerInVisible[id] != bState)
	{
		if (!TryDisableHookChain())
		{
			EnableHookChain(g_hSV_WriteFullClientUpdate);
		}
		#else
		if (g_bPlayerInVisible[id])
		{
			g_bPlayerInVisible[id] = false;
			#endif
			rh_update_user_info(id);
		}
	}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1254\\ deff0\\ deflang1055{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
*/

[REAPI] Görünmez Izleyici Takimi (Spectator)

Gönderilme zamanı: Sal Şub 12, 2019 4:16 pm
gönderen ByBuLuT ☪
İçerisine sessiz spece geçme de eklense güzel olmaz mı team vb. saydan gözüken komutlar kullanıldığında izleyeceğiniz kişinin olaya ayıkması muhtemel

[REAPI] Görünmez Izleyici Takimi (Spectator)

Gönderilme zamanı: Sal Şub 12, 2019 4:27 pm
gönderen Gozyasi`
Necati Doğan yazdı: Sal Şub 12, 2019 4:12 pm
Gozyasi` yazdı: Sal Şub 12, 2019 3:56 pm Bu eklenti çalışmıyor. Vakti olan onarabilirse çok makbule geçer.

Kod: Tümünü seç

#include <amxmodx>                                                              
#include <reapi>

#pragma semicolon 1

///Burayi kendinize gore ayarlayaniz
#define ACCESS_LEVEL_INVISIBLE    (ADMIN_BAN) // Amx_Spectate komutunu kullanma yetkisi

/*(Kapatmak icin basina // isaretini koyup pasiflestirin | Acmak icin isaretleri kaldirin) */
#define LOCK_SAY // Spec takiminin say ve say_team kullanma yasagi 
//#define AUTO_INVISIBLE_SPECTATOR  // Spec takiminin otomatik gorunmez olmasi
///Burayi kendinize gore ayarlayaniz

new HookChain:g_hSV_WriteFullClientUpdate;
new bool:g_bPlayerInVisible[33];

/// === CSDURAGI.COM ===
// Bu Eklenti PurposeLess tarafindan ReHLDS Team kodlari kullanilarak yeniden, en iyi sekilde kodlanmistir ve Turkce'ye ceviri yapilmistir. 
//Eklenti kodlarini editleyip veya editlemeden baska forumlarda ben yaptim diye sunan arkadaslara hakkimi helal etmiyorum. Izinsiz hicbir forumda paylasmayiniz.
/// === CSDURAGI.COM ===

public plugin_init() {
	register_plugin("Invisible Spectator", "1.0", "ReHLDS Team");

	#if defined LOCK_SAY
	register_clcmd("say", "clcmd_say");
	register_clcmd("say_team", "clcmd_say");
	#endif

	#if defined AUTO_INVISIBLE_SPECTATOR
	register_event("TeamInfo", "Event_TeamInfo", "a", "2=TERRORIST", "2=CT", "2=SPECTATOR");
	#else
	register_event("TeamInfo", "Event_TeamInfo", "a", "2=TERRORIST", "2=CT");
	register_clcmd("amx_spectate", "ClCmd_Spectate", ACCESS_LEVEL_INVISIBLE);
	#endif

	DisableHookChain((g_hSV_WriteFullClientUpdate = RegisterHookChain(RH_SV_WriteFullClientUpdate, "SV_WriteFullClientUpdate")));
}

public SV_WriteFullClientUpdate(const id, buffer, const receiver)
{
	if(g_bPlayerInVisible[id])
	{
		set_key_value(buffer, "", "");
	}
}

public client_putinserver(id)
{
	g_bPlayerInVisible[id] = false;
}

#if defined LOCK_SAY
public clcmd_say(id)
{
	if (g_bPlayerInVisible[id])
	{
		client_print_color(id, id, "^4Sen ^3gizli bir izleyicisin. ^4Konusmaman ^3gerek^1!");
		return PLUGIN_HANDLED;
	}
	
	return PLUGIN_CONTINUE;
}
#endif


#if !defined AUTO_INVISIBLE_SPECTATOR
public ClCmd_Spectate(id, level, cid)
{
	if(!(get_user_flags(id) & level))
	{
		return PLUGIN_HANDLED;
	}

	if (get_member(id, m_iTeam) != TEAM_SPECTATOR)
	{
		client_print_color(id, id, "^4Gorunmez olabilmen icin ^3once izleyici ^4olmalisin^1.");
		return PLUGIN_HANDLED;
	}

	g_bPlayerInVisible[id] ^= true;
	client_print_color(id, id, "^3Sen ^4suan ^3%s^1.", g_bPlayerInVisible[id] ? "gorunmezsin":"gorunmez degilsin");

	if (!TryDisableHookChain())
	{
		EnableHookChain(g_hSV_WriteFullClientUpdate);
	}

	rh_update_user_info(id);
	return PLUGIN_HANDLED;
}
#endif

stock bool:TryDisableHookChain()
{
	new nCount;
	for(new id = 1; id <= MAX_CLIENTS; id++)
	{
		if(is_user_bot(id) || !is_user_connected(id))
		{
			continue;
		}
		if(g_bPlayerInVisible[id])
		{
			++nCount;
		}
	}

	if (nCount <= 0)
	{
		DisableHookChain(g_hSV_WriteFullClientUpdate);
		return true;
	}

	return false;
}

public client_disconnected(id)
{
	if (g_bPlayerInVisible[id])
	{
		g_bPlayerInVisible[id] = false;
		TryDisableHookChain();
	}
}

//Endif komutu yuzunden { isareti kapanmiyor. Kapattiginiz takdirde hata veriyor
//Birakalim boyle kalsin.
public Event_TeamInfo()
{
	new id = read_data(1);

	#if defined AUTO_INVISIBLE_SPECTATOR
	new bool:bState = g_bPlayerInVisible[id];

	new szTeamName[2];
	read_data(2, szTeamName, charsmax(szTeamName));

	switch (szTeamName[0])
	{
		case 'C', 'T': {
			g_bPlayerInVisible[id] = false;
		}
		case 'S': {
			g_bPlayerInVisible[id] = true;
		}
	}

	if (g_bPlayerInVisible[id] != bState)
	{
		if (!TryDisableHookChain())
		{
			EnableHookChain(g_hSV_WriteFullClientUpdate);
		}
		#else
		if (g_bPlayerInVisible[id])
		{
			g_bPlayerInVisible[id] = false;
			#endif
			rh_update_user_info(id);
		}
	}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1254\\ deff0\\ deflang1055{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
*/
Çalıştı teşekkürler. (Bu eklentiyi güncel hali ile paylaşmak daha doğru olur)