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

https://discord.gg/43gGDQe6tS

Plugin Kurar ihlali uyarısı

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler

Kullanıcı avatarı

Konu Sahibi
mcplakc
Mesajlar: 177
Kayıt: Çrş Nis 13, 2016 1:18 am
Konum: Mersin
Server Ip/DNS: cs140.csduragi.com
Clan İsmi: BGCOM
İletişim:

Plugin Kurar ihlali uyarısı

Mesaj gönderen mcplakc »

Beyler Elimde Bi Plugin var da server Yukledigim de "Yüklediğiniz eklenti içerisinde kural ihlali olduğu için sunucunuza kurulmadı." hatası veriyor. size bunu göndersem düzeltme imkanı varsa eğer biriniz yardım edebilir mi ?

Kod: Tümünü seç

// Same IP Blackout:
// -----------------

// This plugin will give the admins  access to use a command that will scan all the
// present players and will compare their IPs. Then this command will return to that admin the na-
// mes of the players who have the same IP. 
// This way, the admin will know witch players are playing from the same place and are probably g-
// hosting. 
// Also this plugin allows the activation of a new fade to black function that turn the players w-
// ho has the same IP screen into black. This is an imitation of fade to black.
// It will only blackout their screen when they are dead or spectating.


// Commands:
// ---------
// + amx_scanip		- Scans for players with exact IPs


// Cvars:
// ------
// + amx_blackout <1|0>  - (default: 1) Enable the blackout function for players with similar IPs


// Installation:
// -------------
// + Copy SameIPBlackout.amxx to cstrike/addons/amxmodx/plugins
// + Go to cstrike/addons/amxmodx/configs/plugins.ini and add: SameIPBlackout.amxx


// Modules:
// --------
// amxmodx
// amxmisc


// Credits:
// --------
// + MPNumb (http://forums.alliedmods.net/member.php?u=25348) for helping me a lot in learning how to
// code, if it wasn't for him i would have never been able to make this plugin.
// + ConnorMcLeod (http://forums.alliedmods.net/member.php?u=18946) for helping me with ScreenFade
// and how to block other ScreenFade messages, also for his notepad++ plugin.
// + All who helped me through ScriptingHelp. (http://forums.alliedmods.net/forumdisplay.php?f=11)


// Change Log:
// -----------
// 1.0: + initial release
// 1.1: + removed dependency of ConnorMcLeod util
// 1.2: + added refresh when players join or disconnects
//		+ added refresh when plugin is unpaused
//		+ removed refresh when admin calls the command


// To do:
// ------
// + Remove the dependency of ConnorMcLeod include. Will be able to compile online. (DONE)
// + Add MultiLingual support
// + Add file where admins can add IPs to be blacked out



// Includes
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

// Forcing semicolon at end of each line
#pragma semicolon 1

// Define for the message screenfade
#define FFADE_STAYOUT		0x0004		// Ignores the duration of screenfade

// Plugin information
new PLUGIN[]	= "SameIPBlackout";
new VERSION[]	= "1.1";
new AUTHOR[]	= "n0br41ner";

// Global Variables
new g_cvarBlackout;			// Cvar for the blackoutondeath
new g_iMaxPlayers;			// Maximum number of players
new g_iPlayersIP[33][16];   // Stores the IP (16 digit) to the respective id (32 players); first value is a dummy value
new g_iDeadPlayer;			// The id of the dead player
new g_iMsgFade;				// Screenfade id or something :D
new bool:g_bFoundMatch;		// To tell if a match is found or no
new bool:g_bSameIPs[33];	// First value is a dummy value

public plugin_init() {
	// Plugin Registration
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	// Registering command for admins
	register_concmd("amx_scanip", "ScanIP", ADMIN_ADMIN, " - Scans players for similar IPs");
	
	// Registering blackout cvar and call blackoutondeath function if enabled
	g_cvarBlackout 	= register_cvar("amx_blackout", "1");
	if(get_pcvar_num(g_cvarBlackout) == 1) {
		register_event("DeathMsg", "BlackoutOnDeath", "a");
	}
	RegisterMessage("ScreenFade", "Message_ScreenFade");
	register_event("TextMsg", "spec_mode", "bd", "2&Spec_Mode");
	
	// Setting maxplayers and msgfade
	g_iMaxPlayers 	= clamp(get_maxplayers(), 1, 32); 
	g_iMsgFade = get_user_msgid("ScreenFade");
}

// Refreshing information when a player joins
public client_putinserver(id) {
	Refresh();
}

// Refreshing information when a player disconnects
public client_disconnect(id) {
	Refresh();
}

// Refreshing information when the plugin is unpaused
public plugin_unpause() {
	Refresh();
}

// Function to check access rights and call refresh, compare, and print
public ScanIP(id, level, cid) {
	// Checking if user has ADMIN_BAN flag
	if(!cmd_access(id, level, cid, 1)) {
		return PLUGIN_HANDLED;
	}
	
	// Comparing the ips and then print the result
	Compare();
	Print(id);
	
	return PLUGIN_HANDLED;
}

// Function to refresh information
public Refresh() {
	// Looping through players ids
	for(new i=1; i<=g_iMaxPlayers; i++) {
		// Checking if user is connected
		if(is_user_connected(i)) {
			// Getting the players IP and store it
			get_user_ip(i, g_iPlayersIP[i], charsmax(g_iPlayersIP[]), 1);
		}
	}
}

// Function to compare IPs
public Compare() {
	// Resetting found match to false
	g_bFoundMatch = false;
	
	// In these two nested for loops, i am checking each ip with all the others 
	// That is a total of maxplayers*maxplayers checks
	// In case of a match, set bool to true in g_bSameIPs so later on i know witch ids (of the players) have 
	// the same IP
	for(new i=1; i<=g_iMaxPlayers; i++) {
		if(is_user_connected(i)) {
			// Here i am resetting the state of sameips so results are accurate
			g_bSameIPs[i] = false;
			for(new j=1; j<=g_iMaxPlayers; j++) {
				if(is_user_connected(j)) {
					// Here i am stopping the comparision the same ip to itself
					// for example: equal(g_iPlayersIP[1] == g_iPlayersIP[1]) will be comparing the same ip
					// to itself and we will get bad results if this check was not there
					if(i!=j) {
						if(equal(g_iPlayersIP[i], g_iPlayersIP[j])) {
							g_bFoundMatch = true;
							g_bSameIPs[i] = true;
							g_bSameIPs[j] = true;
						}
					}
				}
			}
		}
	}
}

// Print function to display the names of the players with same ip
public Print(id) {
	// Check if a match was even found
	if(g_bFoundMatch) {
		// Print a small header
		client_print(id, print_console, "Players with identical IPs are:");
		
		// Looping through players 
		for(new i=1; i<=g_iMaxPlayers; i++) {
			// Check if player is among those with same ip
			if(g_bSameIPs[i]) {
				// Create array and store the players PlayerName in it
				new PlayerName[32];
				get_user_name(i, PlayerName, 31);
				
				// Print his PlayerName to the admin
				client_print(id, print_console, "%s", PlayerName);
			}
		}
	} else {
		client_print(id, print_console, "No identical IPs where found.");
	}
}

// Function to blackout players with the same ip
public BlackoutOnDeath() {
	// Variable the store the players id
	g_iDeadPlayer = read_data(2);
	
	// Check if player is among players with same ip and if he is dead and blackout his screen
	// 'g_bSameIPs[g_iDeadPlayer] &&' is commented for testing purposes
	if(g_bSameIPs[g_iDeadPlayer] && !is_user_alive(g_iDeadPlayer)) {
		client_cmd(g_iDeadPlayer, "spec_mode 4");
		message_begin(MSG_ONE, g_iMsgFade, _, g_iDeadPlayer);
		write_short(3);
		write_short(3);
		write_short(FFADE_STAYOUT);
		write_byte(0);
		write_byte(0);
		write_byte(0);
		write_byte(255);
		message_end();
		client_print(g_iDeadPlayer, print_chat, "Your IP was found matching to another player.");
		client_print(g_iDeadPlayer, print_chat, "Your screen has been blacked out.");
	}
}

// Function to block screenfade message
public Message_ScreenFade(iMsgIndex, iMsgDest, id) {
	// Stop the message if the player is one of the same ips and dead
	// 'g_bSameIPs[g_iDeadPlayer] &&' is commented for testing purposes
	if(g_bSameIPs[id] && !is_user_alive(id)) {
		return PLUGIN_HANDLED;
	}
	
	// If not continue
	return PLUGIN_CONTINUE;
}

// Something that ConnorMcLeod wrote and worked, however i don't understand it :D
RegisterMessage(const szMsgName[], const szCallBack[]) {
	return register_message(get_user_msgid(szMsgName), szCallBack);
}

// Change the spec mode to first person view
public spec_mode(id)
{
	// Checking if player is dead and among those with the same ips
    if (g_bSameIPs[id] && !is_user_alive(id)) {
		set_pev(id, pev_iuser1, 4);		
	}
	
    return PLUGIN_CONTINUE;
}

// End of plugin

Link:
Linklerini gizle
Linki Kopyala

tunns10
Mesajlar: 333
Kayıt: Çrş Kas 23, 2016 4:20 pm
Konum: Ordu
Server Ip/DNS: 213.238.173.162
Clan İsmi: NightStalker |

Plugin Kurar ihlali uyarısı

Mesaj gönderen tunns10 »

bende de baska pluginde hata veriyordu.Inciludes e kadarki butun yazilar sildim o zaman kurar ihlali hatasi vermedi :)

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

Konu Sahibi
mcplakc
Mesajlar: 177
Kayıt: Çrş Nis 13, 2016 1:18 am
Konum: Mersin
Server Ip/DNS: cs140.csduragi.com
Clan İsmi: BGCOM
İletişim:

Plugin Kurar ihlali uyarısı

Mesaj gönderen mcplakc »

@tunns10 kardesim dedigin gibi oldu teşekkür ettim :D

Link:
Linklerini gizle
Linki Kopyala

tunns10
Mesajlar: 333
Kayıt: Çrş Kas 23, 2016 4:20 pm
Konum: Ordu
Server Ip/DNS: 213.238.173.162
Clan İsmi: NightStalker |

Plugin Kurar ihlali uyarısı

Mesaj gönderen tunns10 »

onemli degil haci :)

Link:
Linklerini gizle
Linki Kopyala
Cevapla