[FilterScript] [ES] Logs System
#1

[ES] Logs System


Features[/CENTER]

The logs system logs important things, When player connect, On RCON Login on RCON command, Or regular command, Disconnects and so on...

It doesn't requires to create a folder in advance, as it creates it when the filterscript loads.
And it uses JaTochNietDan's FileManager plug-in and include. Logs can be cleared simply by Typing:
/clearlogs - If you're admin, Clears logs

You can customize to log vehicle and player settings, as it can spam logs and server console (samp-server.exe), as can be seen in line (22) and (23)

Bugs
Not Yet found, report if you find one.

You need to have JaTochNietDan's FileManager (See Download section).

Download

FileManager (by JaTochNietDan) - Here


Source

Code:
Log almost everything in your server!
*/
#include <a_samp>
#include <filemanager>

#define ghillie "scriptfiles/aGhillieSniper"
#define LogFile "scriptfiles/aGhillieSniper/Log.log"

new spawnlog = 0; // <-- Change it to 1 if you want to Log when player Spawns / Deaths --> Can spam severely
new vehiclelog = 0; // <-- Change it to 1 if you want to Log when vehicle Spawns / Destoys --> Can spam severely

public OnFilterScriptInit()
{
    print(" [S]S]S]S] ");
    print(" ");
    print("                  **");
    print("                  **");
    print("                  **");
    print("                  **");
    print("                  **");
    print("                  ***********");
    print("                     Logs");
    print("____________________________________________________");
    
    print(" ");
    print("[aGS-Logs] Checking for folders and files...");
    if(!dir_exists(ghillie))
    {
		printf("[aGS-Logs] Directroy path %s wasn't found, It has been auto-created!", ghillie);
		dir_create(ghillie);
	}
	
	if(!file_exists(LogFile))
    {
		printf("[aGS-Logs] File path %s wasn't found, It has been auto-created!", LogFile);
		file_create(LogFile);
	}
	
	if(file_exists(LogFile) && dir_exists(ghillie))
    {
		printf("[aGS-Logs] Files verified, server starting...", LogFile);
	}
	
	Log("Server succesful started");
	
	return 1;
}

public OnFilterScriptExit()
{
    Log("FilterScript unloaded");
	return 1;
}

public OnPlayerConnect(playerid)
{
	new str[128], name[128];
	GetPlayerName(playerid, name, sizeof(name));
	format(str, sizeof(str), "Player %s [id:%d] connected", name, playerid);
    Log(str);
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    new str[128], name[128];
	GetPlayerName(playerid, name, sizeof(name));
	format(str, sizeof(str), "Player %s [id:%d] disconnected [R: %d]", name, playerid, reason);
    Log(str);
	return 1;
}

public OnPlayerSpawn(playerid)
{
	if(spawnlog == 1)
	{
    	new str[128], name[128];
		GetPlayerName(playerid, name, sizeof(name));
		format(str, sizeof(str), "Player %s [id:%d] spawned", name, playerid);
    	Log(str);
    	return 1;
	}
	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    if(spawnlog == 1)
	{
    	new str[128], name[128], oname[128];
		GetPlayerName(playerid, name, sizeof(name));
		GetPlayerName(killerid, oname, sizeof(oname));
		format(str, sizeof(str), "Player %s [id:%d] killed %s [id:%d]", oname, killerid, name, playerid);
    	Log(str);
    	return 1;
	}
	return 1;
}

public OnVehicleSpawn(vehicleid)
{
    if(vehiclelog == 1)
	{
    	new str[128];
		format(str, sizeof(str), "Vehicleid %d spawned", vehicleid);
    	Log(str);
    	return 1;
	}
	return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
    if(vehiclelog == 1)
	{
    	new str[128], name[128];
    	GetPlayerName(killerid, name, sizeof(name));
		format(str, sizeof(str), "Vehicleid %d destroyed by: %s [id:%d]", vehicleid, name, killerid);
		Log(str);
    	return 1;
	}
	return 1;
}

public OnPlayerText(playerid, text[])
{
    new str[128], name[128];
    GetPlayerName(playerid, name, sizeof(name));
	format(str, sizeof(str), "[Chat] %s: %s", name, text);
	Log(str);
	return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	new str[128], name[128];
    GetPlayerName(playerid, name, sizeof(name));
	format(str, sizeof(str), "[Command] %s typed %s", name, cmdtext);
	Log(str);
	if(strcmp("/clearlogs", cmdtext, true) == 0)
	{
		if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "You're not an admin!");
		SendClientMessage(playerid, 0xFFFFFFFF, "Logs cleared!");
		ClearLogs();
		Log("=> LOGS CLEARED =<");
		return 1;
	}
	return 0;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
	return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
	return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
	return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
	return 1;
}

public OnRconCommand(cmd[])
{
    new str[128];
	format(str, sizeof(str), "==>> RCON COMMAND | Command: %s", cmd);
	Log(str);
	return 1;
}

public OnPlayerRequestSpawn(playerid)
{
	return 1;
}

public OnObjectMoved(objectid)
{
	return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
	return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
	return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
	return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
	return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
	return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
	return 1;
}

public OnPlayerExitedMenu(playerid)
{
	return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
	return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
    new str[128];
    if(!success)
    {
	    format(str, sizeof(str), "==>> RCON LOGIN | IP: %s | Attempt Password: %s | *FAILED* TO LOGIN <<==", ip, password);
	}
	if(success)
    {
	    format(str, sizeof(str), "==>> RCON LOGIN | IP: %s | Attempt Password: %s | *SUCCESS* TO LOGIN <<==", ip, password);
	}
	Log(str);
	return 1;
}

public OnPlayerUpdate(playerid)
{
	return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
	return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
	return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
	return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
	return 1;
}

stock Log(string[])
{
    new Year, Month, Day, Hour, Minute, line[300];
    getdate(Year, Month, Day);
    gettime(Hour, Minute);
    format(line, sizeof(line), "[%d/%d/%d %d:%d] %s\n\r", Day, Month, Year, Hour, Minute, string);
    
	file_write(LogFile, line);
	print(line);
	return 1;
}

stock ClearLogs()
{
	file_delete(LogFile);
    file_create(LogFile);
	return 1;
}
Credits

Uoe_Andreas - Script
JaTochNietDan - File manager
Reply
#2

Very simple one
Reply
#3

No more reviews? Lol.
Reply
#4

Simple but usefull for any Kidds =D
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)