Filterscript starts but doesn't do anything
#1

EDIT:

SSCANF isn't loading.
i have tried updating it and i check my cfg everything seems to be fine.
Checked this https://sampforum.blast.hk/showthread.php?tid=389620&page=2
It may be the msvc runtime, doesn anyone know which version i need to run sscanf?
I tried installing mscv 2010 x86 & x64 didn't help

Hello,

I have created a Log Filterscript a while ago, and i am still updating it, but i hven't tested it for a while and now it doesn't work anymore.
It loads successfully but doesn't work at all, nothing is happening.
Could anyone tell me whats wrong please?

Whatever you prefer, the code box or pastebin

http://pastebin.com/jpZ3LZdy

PHP код:
//Log Filterscript by [Bios]Marcel
//If you need any help at working on this script you can message me on forum.sa-mp.com
//INCLUDES
#include <a_samp>
#include <Directory>
#include <Dini>
#include <a_http>
#include <zcmd>
#include <sscanf2>
//PUBLIC VARIABLES
new VERSION[9] = "1.3.0.13"//DO NOT CHANGE THIS, IT TELLS U IF THERE IS A NEWER VERSION!
new savetime 0;
new 
PositionLogging;
new 
ChatLogging;
new 
CommandLogging;
new 
ShootingLogging;
new    
DeathLogging;
new    
ConnectLogging;
new    
DisconnectLogging;
new    
InteriorLogging;
new    
RconLoginLogging;
new    
CarEnterLogging;
new    
CarExitLogging;
new    
RconCommandLogging;
new    
SaveMode;
new    
Timer[MAX_PLAYERS];
new    
gPath[70];
//DEFINES
#define LOGMENU 1
#define LOGCONFIG 2
#define SAVEMODE2_CHOOSEPLAYER 3
#define SAVEMODE3_CLEAN 4
#define SAVEMODE4_CHOOSE 5
#define S4_CLEAN_POSITION 6
#define S4_CLEAN_CHAT 7
#define S4_CLEAN_COMMAND 8
#define S4_CLEAN_SHOOTING 9
#define S4_CLEAN_DEATH 10
#define S4_CLEAN_CONNECT 11
#define S4_CLEAN_DISCONNECT 12
#define S4_CLEAN_INTERIOR 13
#define S4_CLEAN_RCONLOGIN 14
#define S4_CLEAN_CARENTER 15
#define S4_CLEAN_CAREXIT 16
#define S4_CLEAN_RCONCOMMAND 17
#define POSLOGINT 18
#define SAVEMODE1_CHOOSEPLAYER 19
#define SAVEMODE1_CHOOSELOG 20
#define SETPOSLOGINTERVAL 21
#define CULPRIT 1
#define VICTIM 2
#define FILE "Logs/Config.cfg"
//PUBLICS (default)
public OnFilterScriptInit()
{
    print(
"[Logging System] Log Filterscript loaded.");
     
checkVersion();
    
DirCreate("Logs");
    if(
fexist("Logs/LogConfig.cfg"))
    {
        
dini_Create(FILE);
        
dini_IntSet(FILE,"PositionLogging",dini_Int("Logs/LogConfig.cfg","PositionLogging"));
        
dini_IntSet(FILE,"ChatLogging",dini_Int("Logs/LogConfig.cfg","ChatLogging"));
        
dini_IntSet(FILE,"CommandLogging",dini_Int("Logs/LogConfig.cfg","CommandLogging"));
        
dini_IntSet(FILE,"ShootingLogging",dini_Int("Logs/LogConfig.cfg","ShootingLogging"));
        
dini_IntSet(FILE,"DeathLogging",dini_Int("Logs/LogConfig.cfg","DeathLogging"));
        
dini_IntSet(FILE,"ConnectLogging",dini_Int("Logs/LogConfig.cfg","ConnectLogging"));
        
dini_IntSet(FILE,"DisconnectLogging",dini_Int("Logs/LogConfig.cfg","DisconnectLogging"));
        
dini_IntSet(FILE,"InteriorLogging",dini_Int("Logs/LogConfig.cfg","InteriorLogging"));
        
dini_IntSet(FILE,"RconLoginLogging",dini_Int("Logs/LogConfig.cfg","RconLoginLogging"));
        
dini_IntSet(FILE,"CarEnterLogging",dini_Int("Logs/LogConfig.cfg","CarEnterLogging"));
        
dini_IntSet(FILE,"CarExitLogging",dini_Int("Logs/LogConfig.cfg","CarExitLogging"));
        
dini_IntSet(FILE,"RconCommandLogging",dini_Int("Logs/LogConfig.cfg","RconCommandLogging"));
        
dini_IntSet(FILE,"SaveMode",dini_Int("Logs/LogConfig.cfg","SaveMode"));
        
dini_Set(FILE,"LogFilesPerX","no");
        
dini_IntSet(FILE,"PositionLogInterval",dini_Int("Logs/LogConfig.cfg","PositionLogInterval"));
    }
    if(
dini_Create(FILE))
    {
        
dini_IntSet(FILE,"PositionLogging",1);
        
dini_IntSet(FILE,"ChatLogging",1);
        
dini_IntSet(FILE,"CommandLogging",1);
        
dini_IntSet(FILE,"ShootingLogging",1);
        
dini_IntSet(FILE,"DeathLogging",1);
        
dini_IntSet(FILE,"ConnectLogging",1);
        
dini_IntSet(FILE,"DisconnectLogging",1);
        
dini_IntSet(FILE,"InteriorLogging",1);
        
dini_IntSet(FILE,"RconLoginLogging",1);
        
dini_IntSet(FILE,"CarEnterLogging",1);
        
dini_IntSet(FILE,"CarExitLogging",1);
        
dini_IntSet(FILE,"RconCommandLogging",1);
        
dini_IntSet(FILE,"SaveMode",1);
        
dini_Set(FILE,"LogFilesPerX","no");
        
dini_IntSet(FILE,"PositionLogInterval",1500);
    }
    
LoadCFG();
    if((
SaveMode 4) || (SaveMode 1))
    {
        
dini_IntSet(FILE,"SaveMode",1);
        print(
"[Logging System]The savemode was automatically set to 1 since it wasn't in range of 1 and 4.");
    }
    if(
SaveMode == 4)
    {
        
dini_Create("Logs/Chat.log");
        
dini_Create("Logs/Command.log");
        
dini_Create("Logs/Connect.log");
        
dini_Create("Logs/Death.log");
        
dini_Create("Logs/Disconnect.log");
        
dini_Create("Logs/Interior.log");
        
dini_Create("Logs/CarEnter.log");
        
dini_Create("Logs/CarExit.log");
        
dini_Create("Logs/Shooting.log");
        
dini_Create("Logs/RconLogin.log");
        
dini_Create("Logs/Position.log");
    }
    if(
RconCommandLogging)
    {
        if(
SaveMode != 3)
        {
            
dini_Create("Logs/RconCommand.log");
        }
    }
    return 
1;
}
public 
OnRconLoginAttempt(ip[], password[], success)
{
    if(
RconLoginLogging)
    {
        new 
IP[16];
        for(new 
i=0i<MAX_PLAYERSi++)
        {
            
GetPlayerIp(iIP16);
            if(!
strcmp(ipIPtrue))
            {
                
RconAttemptLog(i,success true false,ip,password);
                break;
            }
        }
    }
    return 
1;
}
public 
OnRconCommand(cmd[])
{
    
RCommand(cmd);
    return 
1;
}
public 
OnPlayerSpawn(playerid)
{
    if(
PositionLogging)
    {
        
Timer[playerid] = SetTimerEx("LogLoc",dini_Int(FILE,"PosiotionLogInterval"),true,"i",playerid);
    }
    return 
1;
}
public 
OnPlayerTakeDamage(playeridissueridFloat:amountweaponidbodypart)
{
    if(
ShootingLogging)
    {
        
ShootingLog(playerid,issuerid,amount,weaponid,CULPRIT);
        
ShootingLog(issuerid,playerid,amount,weaponid,VICTIM);
    }
    return 
1;
}
public 
OnPlayerConnect(playerid)
{
    if(
SaveMode == 1)
    {
        new 
path[80];
        
format(path,80,"Logs/%s",getName(playerid));
        
DirCreate(path);
    }
    else if(
SaveMode == 2)
    {
        new 
path[80];
        
format(path,80,"Logs/%s.log",getName(playerid));
        
dini_Create(path);
    }
    if(
ConnectLogging)
    {
        
ConnectLog(playerid);
    }
    return 
1;
}
public 
OnPlayerDisconnect(playeridreason)
{
    if(
DisconnectLogging)
    {
        
DisconnectLog(playeridreason);
    }
    
KillTimer(Timer[playerid]);
     return 
1;
}
public 
OnPlayerDeath(playeridkilleridreason)
{
    if(
DeathLogging)
    {
        if(
killerid != INVALID_PLAYER_ID)
        {
            
DeathLog(playerid,killerid,reason,VICTIM);
            
DeathLog(killerid,playerid,reason,CULPRIT);
        }
        else
        {
            
DeathLog(playerid,-1,reason,0);
        }
    }
}
public 
OnPlayerText(playeridtext[])
{
    if(
ChatLogging)
    {
         
ChatLog(playeridtext);
    }
    return 
1;
}
public 
OnPlayerCommandText(playeridcmdtext[])
{
    if(
CommandLogging)
    {
        
CommandLog(playeridcmdtext);
    }
    return 
0;
}
public 
OnPlayerEnterVehicle(playeridvehicleidispassenger)
{
    if(
CarEnterLogging)
    {
        
SetTimerEx("LogCar",3000,false,"i",playerid);
    }
    return 
1;
}
public 
OnPlayerExitVehicle(playeridvehicleid)
{
    if(
CarExitLogging)
    {
        
OutLog(playerid,GetPlayerVehicleSeat(playerid),vehicleid,GetVehicleModel(vehicleid));
    }
    return 
1;
}
public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    switch(
dialogid)
    {
        case 
LOGMENU:
        {
            if(
response)
            {
                if(
listitem == 0)
                {
                    
Log_Config(playerid);
                }
                else
                {
                    if(
savetime != 0)
                    {
                        
Log_Config(playerid);
                    }
                    else
                    {
                        
SendClientMessage(playerid,-1,"[Logging System] You can't use this function since you are using the function to save logfiles hourly/daily/monthly/yearly.CreateActor (Will be added in alter patches)");
                    }
                }
            }
        }
        case 
SAVEMODE1_CHOOSEPLAYER:
        {
            if(
response)
            {
                new 
path[70];
                
format(path,70,"Logs/%s",inputtext);
                if(
CheckPath(path))
                {
                    
gPath path;
                    
ShowPlayerDialog(playerid,SAVEMODE1_CHOOSELOG,DIALOG_STYLE_LIST,"Log clean (Step 2)","Position log\nChat log\nCommand log\nShooting log\nDeath log\nConnect log\nDisconnect log\nInterior log\n Rcon login log\nCarEnter log\nCarExit log","Confirm","Back");
                }
            }
            else
            {
                
Log_Clean(playerid);
            }
        }
        case 
SAVEMODE1_CHOOSELOG:
        {
            if(
response)
            {
                new 
path[75];
                switch(
listitem)
                {
                    case 
0:
                    {
                        
format(path,75,"%s/Position.log",gPath);
                    }
                    case 
1:
                    {
                        
format(path,75,"%s/Chat.log",gPath);
                    }
                    case 
2:
                    {
                        
format(path,75,"%s/Command.log",gPath);
                    }
                    case 
3:
                    {
                        
format(path,75,"%s/Shooting.log",gPath);
                    }
                    case 
4:
                    {
                        
format(path,75,"%s/Death.log",gPath);
                    }
                    case 
5:
                    {
                        
format(path,75,"%s/Connect.log",gPath);
                    }
                    case 
6:
                    {
                        
format(path,75,"%s/Disconnecct.log",gPath);
                    }
                    case 
7:
                    {
                        
format(path,75,"%s/Interior.log",gPath);
                    }
                    case 
8:
                    {
                        
format(path,75,"%s/RconLogin.log",gPath);
                    }
                    case 
9:
                    {
                        
format(path,75,"%s/CarEnter.log",gPath);
                    }
                    case 
10:
                    {
                        
format(path,75,"%s/CarExit.log",gPath);
                    }
                }
                
eraseFile(path);
            }
            else
            {
                
ShowPlayerDialog(playerid,SAVEMODE1_CHOOSEPLAYER,DIALOG_STYLE_INPUT,"Log clean","Choose a player to delete his logfiles(You will choose the specific log afterwards)","Confirm","Back");
            }
         }
        case 
SAVEMODE2_CHOOSEPLAYER:
        {
            if(
response)
            {
                new 
path[70];
                
format(path,70,"Logs/%s.log",inputtext);
                if(!
fexist(path))
                {
                    
ShowPlayerDialog(playerid,SAVEMODE2_CHOOSEPLAYER,DIALOG_STYLE_INPUT,"Log clean","Which Player File should be cleaned?\n(The Full Playername not PlayerID)","Confirm","Back");
                    
GameTextForPlayer(playerid,"Invalid Playername! (Watch out for case sensitive)",3000,5);
                }
                else
                {
                    
eraseFile(path);
                    new 
successMessage[70];
                    
format(successMessage,70,"%s's Log was cleaned successful.",inputtext);
                    
GameTextForPlayer(playerid,successMessage,3000,5);
                    
ShowPlayerDialog(playerid,LOGMENU,DIALOG_STYLE_LIST,"Logmenu","Configure logs\nClean logs","Confirm","Back");
                }
            }
            else
            {
                
ShowPlayerDialog(playerid,LOGMENU,DIALOG_STYLE_LIST,"Logmenu","Configure logs\nClean logs","Confirm","Back");
            }
        }
        case 
SAVEMODE3_CLEAN:
        {
            if(
response)
            {
                
eraseFile("Logs/Log.log");
                
GameTextForPlayer(playerid,"log cleaned successful.",3000,5);
                
ShowPlayerDialog(playerid,LOGMENU,DIALOG_STYLE_LIST,"Logmenu","Configure logs\nClean logs","Confirm","Back");
            }
            else
            {
                
ShowPlayerDialog(playerid,LOGMENU,DIALOG_STYLE_LIST,"Logmenu","Configure logs\nClean logs","Confirm","Back");
            }
        }
        case 
S4_CLEAN_CHAT:
        {
            if(
response)
            {
                
eraseFile("Logs/Chat.log");
                
GameTextForPlayer(playerid,"Chat log cleaned successful.",3000,5);
                
ShowPlayerDialog(playerid,LOGMENU,DIALOG_STYLE_LIST,"Logmenu","Configure logs\nClean logs","Confirm","Back");
            }
            else
            {
                
getLogSizes(playerid);
            }
        }
        case 
S4_CLEAN_COMMAND:
        {
            if(
response)
            {
                
eraseFile("Logs/Command.log");
                
GameTextForPlayer(playerid,"Command log cleaned successful.",3000,5);
                
ShowPlayerDialog(playerid,LOGMENU,DIALOG_STYLE_LIST,"Logmenu","Configure logs\nClean logs","Confirm","Back");
            }
            else
            {
                
getLogSizes(playerid);
            }
        }
        case 
S4_CLEAN_SHOOTING:
        {
            if(
response)
            {
                
eraseFile("Logs/Shooting.log");
                
GameTextForPlayer(playerid,"Shooting log cleaned successful.",3000,5);
                
ShowPlayerDialog(playerid,LOGMENU,DIALOG_STYLE_LIST,"Logmenu","Configure logs\nClean logs","Confirm","Back");
            }
            else
            {
                
getLogSizes(playerid);
            }
        }
        case 
S4_CLEAN_DEATH:
        {
            if(
response)
            {
                
eraseFile("Logs/Death.log");
                
GameTextForPlayer(playerid,"Death log cleaned successful.",3000,5);
                
ShowPlayerDialog(playerid,LOGMENU,DIALOG_STYLE_LIST,"Logmenu","Configure logs\nClean logs","Confirm","Back");
            }
            else
            {
                
getLogSizes(playerid);
            }
        }
        case 
S4_CLEAN_CONNECT:
        {
            if(
response)
            {
                
eraseFile("Logs/Connect.log");
                
GameTextForPlayer(playerid,"Connect log cleaned successful.",3000,5);
                
ShowPlayerDialog(playerid,LOGMENU,DIALOG_STYLE_LIST,"Logmenu","Configure logs\nClean logs","Confirm","Back");
            }
            else
            {
                
getLogSizes(playerid);
            }
        }
        case 
S4_CLEAN_DISCONNECT:
        {
            if(
response)
            {
                
eraseFile("Logs/Disconnect.log");
                
GameTextForPlayer(playerid,"Disconnect log cleaned successful.",3000,5);
                
ShowPlayerDialog(playerid,LOGMENU,DIALOG_STYLE_LIST,"Logmenu","Configure logs\nClean logs","Confirm","Back");
            }
            else
            {
                
getLogSizes(playerid);
            }
        }
        case 
S4_CLEAN_POSITION:
        {
            if(
response)
            {
                
eraseFile("Logs/Position.log");
                
GameTextForPlayer(playerid,"Interior log cleaned successful.",3000,5);
                
ShowPlayerDialog(playerid,LOGMENU,DIALOG_STYLE_LIST,"Logmenu","Configure logs\nClean logs","Confirm","Back");
            }
            else
            {
                
getLogSizes(playerid);
            }
        }
        case 
S4_CLEAN_INTERIOR:
        {
            if(
response)
            {
                
eraseFile("Logs/Interior.log");
                
GameTextForPlayer(playerid,"Interior log cleaned successful.",3000,5);
                
ShowPlayerDialog(playerid,LOGMENU,DIALOG_STYLE_LIST,"Logmenu","Configure logs\nClean logs","Confirm","Back");
            }
            else
            {
                
getLogSizes(playerid);
            }
        }
        case 
S4_CLEAN_RCONLOGIN:
        {
            if(
response)
            {
                
eraseFile("Logs/RconLogin.log");
                
GameTextForPlayer(playerid,"RconLogin log cleaned successful.",3000,5);
                
ShowPlayerDialog(playerid,LOGMENU,DIALOG_STYLE_LIST,"Logmenu","Configure logs\nClean logs","Confirm","Back");
            }
            else
            {
                
getLogSizes(playerid);
            }
        }
        case 
S4_CLEAN_CARENTER:
        {
            if(
response)
            {
                
eraseFile("Logs/CarEnter.log");
                
GameTextForPlayer(playerid,"CarEnter log cleaned successful.",3000,5);
                
ShowPlayerDialog(playerid,LOGMENU,DIALOG_STYLE_LIST,"Logmenu","Configure logs\nClean logs","Confirm","Back");
            }
            else
            {
                
getLogSizes(playerid);
            }
        }
        case 
S4_CLEAN_CAREXIT:
        {
            if(
response)
            {
                
eraseFile("Logs/CarExit.log");
                
GameTextForPlayer(playerid,"CarExit log cleaned successful.",3000,5);
                
ShowPlayerDialog(playerid,LOGMENU,DIALOG_STYLE_LIST,"Logmenu","Configure logs\nClean logs","Confirm","Back");
            }
            else
            {
                
getLogSizes(playerid);
            }
        }
        case 
S4_CLEAN_RCONCOMMAND:
        {
            if(
response)
            {
                
eraseFile("Logs/RconCommand.log");
                
GameTextForPlayer(playerid,"RconCommand log cleaned successful.",3000,5);
                
ShowPlayerDialog(playerid,LOGMENU,DIALOG_STYLE_LIST,"Logmenu","Configure logs\nClean logs","Confirm","Back");
            }
            else
            {
                
getLogSizes(playerid);
            }
        }
        case 
SAVEMODE4_CHOOSE:
        {
            if(
response)
            {
                
cleanLog(playerid,listitem);
            }
        }
        case 
LOGCONFIG:
        {
            if(
response)
            {
                switch(
listitem)
                {
                    case 
0:
                    {
                        if(
PositionLogging)
                        {
                            
PositionLogging 0;
                            
dini_IntSet(FILE,"PositionLogging",0);
                            
Log_Config(playerid);
                        }
                        else
                        {
                            
PositionLogging 1;
                            
dini_IntSet(FILE,"PositionLogging",1);
                            
Log_Config(playerid);
                        }
                    }
                    case 
1:
                    {
                        if(
ChatLogging)
                        {
                            
ChatLogging 0;
                            
dini_IntSet(FILE,"ChatLogging",0);
                            
Log_Config(playerid);
                        }
                        else
                        {
                            
ChatLogging 1;
                            
dini_IntSet(FILE,"ChatLogging",1);
                            
Log_Config(playerid);
                        }
                    }
                    case 
2:
                    {
                           if(
CommandLogging)
                        {
                            
CommandLogging 0;
                            
dini_IntSet(FILE,"CommandLogging",0);
                            
Log_Config(playerid);
                        }
                        else
                        {
                            
CommandLogging 1;
                            
dini_IntSet(FILE,"CommandLogging",1);
                            
Log_Config(playerid);
                        }
                    }
                    case 
3:
                    {
                        if(
ShootingLogging)
                        {
                            
ShootingLogging 0;
                            
dini_IntSet(FILE,"ShootingLogging",0);
                            
Log_Config(playerid);
                        }
                        else
                        {
                            
ShootingLogging 1;
                            
dini_IntSet(FILE,"ShootingLogging",1);
                            
Log_Config(playerid);
                        }
                    }
                    case 
4:
                    {
                        if(
DeathLogging)
                        {
                            
DeathLogging 0;
                            
dini_IntSet(FILE,"DeathLogging",0);
                            
Log_Config(playerid);
                        }
                        else
                        {
                            
DeathLogging 1;
                            
dini_IntSet(FILE,"DeathLogging",1);
                            
Log_Config(playerid);
                        }
                    }
                    case 
5:
                    {
                        if(
ConnectLogging)
                        {
                            
ConnectLogging 0;
                            
dini_IntSet(FILE,"ConnectLogging",0);
                            
Log_Config(playerid);
                        }
                        else
                        {
                            
ConnectLogging 1;
                            
dini_IntSet(FILE,"ConnectLogging",1);
                            
Log_Config(playerid);
                        }
                    }
                    case 
6:
                    {
                        if(
DisconnectLogging)
                        {
                            
DisconnectLogging 0;
                            
dini_IntSet(FILE,"DisconnectLogging",0);
                            
Log_Config(playerid);
                        }
                        else
                        {
                            
DisconnectLogging 1;
                            
dini_IntSet(FILE,"DisconnectLogging",1);
                            
Log_Config(playerid);
                        }
                    }
                    case 
7:
                    {
                        if(
InteriorLogging)
                        {
                            
InteriorLogging 0;
                            
dini_IntSet(FILE,"InteriorLogging",0);
                            
Log_Config(playerid);
                        }
                        else
                        {
                            
InteriorLogging 1;
                            
dini_IntSet(FILE,"InteriorLogging",1);
                            
Log_Config(playerid);
                        }
                    }
                    case 
8:
                    {
                        if(
RconLoginLogging)
                        {
                            
RconLoginLogging 0;
                            
dini_IntSet(FILE,"RconLoginLogging",0);
                            
Log_Config(playerid);
                        }
                        else
                        {
                            
RconLoginLogging 1;
                            
dini_IntSet(FILE,"RconLoginLogging",1);
                            
Log_Config(playerid);
                        }
                    }
                    case 
9:
                    {
                        if(
CarEnterLogging)
                        {
                            
CarEnterLogging 0;
                            
dini_IntSet(FILE,"CarEnterLogging",0);
                            
Log_Config(playerid);
                        }
                        else
                        {
                            
CarEnterLogging 1;
                            
dini_IntSet(FILE,"CarEnterLogging",1);
                            
Log_Config(playerid);
                        }
                    }
                    case 
10:
                    {
                        if(
CarExitLogging)
                        {
                            
CarExitLogging 0;
                            
dini_IntSet(FILE,"CarExitLogging",0);
                            
Log_Config(playerid);
                        }
                        else
                        {
                            
CarExitLogging 1;
                            
dini_IntSet(FILE,"CarExitLogging",1);
                            
Log_Config(playerid);
                        }
                    }
                    case 
11:
                    {
                        if(
RconCommandLogging)
                        {
                            
RconCommandLogging 0;
                            
dini_IntSet(FILE,"RconCommandLogging",0);
                            
Log_Config(playerid);
                        }
                        else
                        {
                            
RconCommandLogging 1;
                            
dini_IntSet(FILE,"RconCommandLogging",1);
                            
Log_Config(playerid);
                        }
                    }
                    case 
12:
                    {
                        
SaveMode++;
                        if(
SaveMode == 5)
                        {
                            
SaveMode 1;
                        }
                        
dini_IntSet(FILE,"SaveMode",SaveMode);
                        
Log_Config(playerid);
                    }
                    case 
13:
                    {
                        
savetime++;
                        if(
savetime == 5)
                        {
                            
savetime 0;
                        }
                        
dini_IntSet(FILE,"LogFilesPerX",savetime);
                        
Log_Config(playerid);
                    }
                    case 
14:
                    {
                        
ShowPlayerDialog(playerid,POSLOGINT,DIALOG_STYLE_INPUT,"Position Log Interval","Enter a Interval for the player position logging.\nIf u enter a too low interval it may cause problems.\nThe format is milliseconds.","Select","Back");
                    }
                    
//CASE 15 existiert nicht da dort eine Leere Spalte ist welche keine Funktion haben soll.
                    /*case 15:
                    {
                    }*/
                    
case 16:
                    {
                        
PositionLogging 0;
                        
dini_IntSet(FILE,"PositionLogging",0);
                        
ChatLogging 0;
                        
dini_IntSet(FILE,"ChatLogging",0);
                        
ConnectLogging 0;
                        
dini_IntSet(FILE,"ConnectLogging",0);
                        
DisconnectLogging 0;
                        
dini_IntSet(FILE,"DisconnectLogging",0);
                        
ShootingLogging 0;
                        
dini_IntSet(FILE,"ShootingLogging",0);
                        
DeathLogging 0;
                        
dini_IntSet(FILE,"DeathLogging",0);
                        
RconLoginLogging 0;
                        
dini_IntSet(FILE,"RconLoginLogging",0);
                        
InteriorLogging 0;
                        
dini_IntSet(FILE,"InteriorLogging",0);
                        
CarEnterLogging 0;
                        
dini_IntSet(FILE,"CarEnterLogging",0);
                        
CarExitLogging 0;
                        
dini_IntSet(FILE,"CarExitLogging",0);
                        
CommandLogging 0;
                        
dini_IntSet(FILE,"CommandLogging",0);
                        
RconCommandLogging 0;
                        
dini_IntSet(FILE,"RconCommandLogging",0);
                        
Log_Config(playerid);
                    }
                    case 
17:
                    {
                        
PositionLogging 1;
                        
dini_IntSet(FILE,"PositionLogging",1);
                        
ChatLogging 1;
                        
dini_IntSet(FILE,"ChatLogging",1);
                        
ConnectLogging 1;
                        
dini_IntSet(FILE,"ConnectLogging",1);
                        
DisconnectLogging 1;
                        
dini_IntSet(FILE,"DisconnectLogging",1);
                        
ShootingLogging 1;
                        
dini_IntSet(FILE,"ShootingLogging",1);
                        
DeathLogging 1;
                        
dini_IntSet(FILE,"DeathLogging",1);
                        
RconLoginLogging 1;
                        
dini_IntSet(FILE,"RconLoginLogging",1);
                        
InteriorLogging 1;
                        
dini_IntSet(FILE,"InteriorLogging",1);
                        
CarEnterLogging 1;
                        
dini_IntSet(FILE,"CarEnterLogging",1);
                        
CarExitLogging 1;
                        
dini_IntSet(FILE,"CarExitLogging",1);
                        
CommandLogging 1;
                        
dini_IntSet(FILE,"CommandLogging",1);
                        
RconCommandLogging 1;
                        
dini_IntSet(FILE,"RconCommandLogging",1);
                        
Log_Config(playerid);
                    }
                }
            }
        }
        case 
POSLOGINT:
        {
            if(
response)
            {
                if(
isNumeric(inputtext))
                {
                    
dini_IntSet(FILE,"PositionLogInterval",strval(inputtext));
                }
                else
                {
                    
ShowPlayerDialog(playerid,POSLOGINT,DIALOG_STYLE_INPUT,"Position Log Interval","The text that u entered was no number.\n\nEnter a Interval for the player position logging.\nIf u enter a too low interval it may cause problems.\nThe format is milliseconds.","Select","Back");
                }
            }
            else
            {
                
Log_Config(playerid);
            }
        }
    }
    return 
1;
}
public 
OnPlayerInteriorChange(playeridnewinterioridoldinteriorid)
{
    if(
InteriorLogging)
    {
        
InteriorLog(playerid,newinteriorid,oldinteriorid);
    }
    return 
1;
}
//STOCKS
/**
 * Deletes a file and creates it afterwards
 *
 * @param fileName The string of the file name that you want to be recreated
**/
stock eraseFile(fileName[])
{
    
fremove(fileName);
    
dini_Create(fileName);
    return 
1;
}
stock checkVersion()
{
    print(
"Checking Version");
    
HTTP(1,HTTP_GET,"dl.dropboxusercontent.com/u/89362253/versions/samplog/version.txt","","MyHttpResponse");
    return 
1;
}
/**
 * Loads the settings from the file into the variables
**/
stock LoadCFG()
{
    
PositionLogging dini_Int(FILE,"PositionLogging");
    
ChatLogging dini_Int(FILE,"ChatLogging");
    
CommandLogging dini_Int(FILE,"CommandLogging");
    
ShootingLogging dini_Int(FILE,"ShootingLogging");
    
DeathLogging dini_Int(FILE,"DeathLogging");
    
ConnectLogging dini_Int(FILE,"ConnectLogging");
    
DisconnectLogging dini_Int(FILE,"DisconnectLogging");
    
InteriorLogging dini_Int(FILE,"InteriorLogging");
    
RconLoginLogging dini_Int(FILE,"RconLoginLogging");
    
CarEnterLogging dini_Int(FILE,"CarEnterLogging");
    
CarExitLogging dini_Int(FILE,"CarExitLogging");
    
RconCommandLogging dini_Int(FILE,"RconCommandLogging");
    
SaveMode dini_Int(FILE,"SaveMode");
    
savetime dini_Int(FILE,"LogFilesPerX");
    return 
1;
}
/**
 * Returns the full time and date (Day,Month,Year,Hour,Minute,Second)
 *
 * @return time and date
**/
stock getDateAndTime()
{
    new 
fyear;
    new 
fmonth;
    new 
fday;
    
getdate(fyearfmonthfday);
    new 
fhour;
    new 
fminute;
    new 
fsecond;
    
gettime(fhourfminutefsecond);
    new 
date[32];
    
format(date32,"[%02d/%02d/%04d %02d:%02d:%02d]"fdayfmonthfyearfhourfminutefsecond);
    return 
date;
}
/**
 * Returns the time and date, depending on how much of it is needed
 *
 * @return time and date
**/
stock getTimeInfo()
{
    new 
fyear;
    new 
fmonth;
    new 
fday;
    
getdate(fyearfmonthfday);
    new 
fhour;
    
gettime(fhour);
    new 
date[32];
    switch(
savetime)
    {
        case 
0:
        {
            
date "";
        }
        case 
1:
        {
            
format(date32,"-%02d-%02d-%04d_%02d"fdayfmonthfyearfhour);
        }
        case 
2:
        {
            
format(date32,"-%02d-%02d-%04d"fdayfmonthfyear);
        }
        case 
3:
        {
            
format(date32,"-%02d-%04d"fmonthfyear);
        }
        case 
4:
        {
            
format(date32,"-%04d"fyear);
        }
    }
    return 
date;
}
/**
 * Checks if the given string is numeric
 *
 * @param string the string that is to check
 * @return 1 if it is numeric and 0 if it isn't
**/
stock isNumeric(const string[])
{
    for (new 
0strlen(string); ji++)
    {
        if (
string[i] > '9' || string[i] < '0')
        {
            return 
0;
        }
    }
    return 
1;
}
/**
 * Returns a players name
 *
 * @param playerid the players id that you want to get the name from
 * @return the players name
**/
stock getName(playerid)
{
    new 
name[MAX_PLAYER_NAME];
    
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    return 
name;
}
stock ChatLog(playeridtext[])
{
    new 
path[80];
    switch(
SaveMode)
    {
        case 
1:
        {
            
format(path,80,"Logs/%s/Chat%s.log",getName(playerid),getTimeInfo());
        }
        case 
2:
        {
            
format(path,80,"Logs/%s%s.log",getName(playerid),getTimeInfo());
        }
        case 
3:
        {
            
format(path,80,"Logs/Log%s.log",getTimeInfo());
        }
        case 
4:
        {
            
format(path,80,"Logs/Chat%s.log",getTimeInfo());
        }
    }
    new 
logData[220];
    
format(logData220,"%s %s: %s \r\n"getDateAndTime(), getName(playerid), text);
    new 
File:logFile fopen(pathio_append);
    
fwrite(logFilelogData);
    
fclose(logFile);
    return 
1;
}
stock ConnectLog(playerid)
{
    new 
path[80];
    switch(
SaveMode)
    {
        case 
1:
        {
            
format(path,80,"Logs/%s/Connect%s.log",getName(playerid),getTimeInfo());
        }
        case 
2:
        {
            
format(path,80,"Logs/%s%s.log",getName(playerid),getTimeInfo());
        }
        case 
3:
        {
            
format(path,80,"Logs/Log%s.log",getTimeInfo());
        }
        case 
4:
        {
            
format(path,80,"Logs/Connect%s.log",getTimeInfo());
        }
    }
    new 
ip[16];
    
GetPlayerIp(playerid,ip,16);
     new 
logData[100];
    
format(logData100,"%s %s connected with IP: %s \r\n",getDateAndTime(), getName(playerid), ip);
    new 
File:logFile fopen(pathio_append);
    
fwrite(logFilelogData);
    
fclose(logFile);
    return 
1;
}
stock DisconnectLog(playeridreason)
{
    new 
path[80];
    switch(
SaveMode)
    {
        case 
1:
        {
            
format(path,80,"Logs/%s/Disconnect%s.log",getName(playerid),getTimeInfo());
        }
        case 
2:
        {
            
format(path,80,"Logs/%s%s.log",getName(playerid),getTimeInfo());
        }
        case 
3:
        {
            
format(path,80,"Logs/Log%s.log",getTimeInfo());
        }
        case 
4:
        {
            
format(path,80,"Logs/Disconnect%s.log",getTimeInfo());
        }
    }
    new 
ip[16];
    
GetPlayerIp(playerid,ip,16);
    new 
reasonString[14];
    switch(
reason)
    {
        case 
0:
        {
            
reasonString "Timed out";
        }
        case 
1:
        {
            
reasonString "Leaving";
        }
        case 
2:
        {
            
reasonString "Kicked/Banned";
        }
    }
    new 
logData[100];
    
format(logData100,"%s %s (IP:%s) disconnected, reason: %s \r\n"getDateAndTime(), getName(playerid), ipreasonString);
    new 
File:logFile fopen(pathio_append);
    
fwrite(logFilelogData);
    
fclose(logFile);
    return 
1;
}
stock CommandLog(playeridcmdtext[])
{
    new 
path[80];
    switch(
SaveMode)
    {
        case 
1:
        {
            
format(path,80,"Logs/%s/Command%s.log",getName(playerid),getTimeInfo());
        }
        case 
2:
        {
            
format(path,80,"Logs/%s%s.log",getName(playerid),getTimeInfo());
        }
        case 
3:
        {
            
format(path,80,"Logs/Log%s.log",getTimeInfo());
        }
        case 
4:
        {
            
format(path,80,"Logs/Command%s.log",getTimeInfo());
        }
    }
    new 
logData[200];
    
format(logData200,"%s %s: %s \r\n"getDateAndTime(), getName(playerid), cmdtext);
    new 
File:logFile fopen(pathio_append);
    
fwrite(logFilelogData);
    
fclose(logFile);
    return 
1;
}
stock DeathLog(playerid,killerid,reason,victimcase)
{
    new 
path[80];
    switch(
SaveMode)
    {
        case 
1:
        {
            
format(path,80,"Logs/%s/Death%s.log",getName(playerid),getTimeInfo());
        }
        case 
2:
        {
            
format(path,80,"Logs/%s%s.log",getName(playerid),getTimeInfo());
        }
        case 
3:
        {
            
format(path,80,"Logs/Log%s.log",getTimeInfo());
        }
        case 
4:
        {
            
format(path,80,"Logs/Death%s.log",getTimeInfo());
        }
    }
    new 
logData[200];
    if(
killerid != INVALID_PLAYER_ID)
    {
        if(
victimcase == VICTIM)
        {
            
format(logData200,"%s %s was killed by: %s, weapon: %s \r\n"getDateAndTime(), getName(playerid), getName(killerid), reason);
        }
        else if(
victimcase == CULPRIT)
        {
            
format(logData200,"%s %s has killed %s, weapon: %s \r\n",getDateAndTime(), getName(killerid), getName(playerid), reason);
        }
    }
    else
    {
        
format(logData200,"%s %s died, reason: %s \r\n"getDateAndTime(), getName(playerid), reason);
    }
    new 
File:logFile fopen(pathio_append);
    
fwrite(logFilelogData);
    
fclose(logFile);
    return 
1;
}
stock ShootingLog(playerid,damagedid,Float:amount,weaponid,victimcase)
{
    new 
path[80];
    switch(
SaveMode)
    {
        case 
1:
        {
            
format(path,80,"Logs/%s/Shooting%s.log",getName(playerid),getTimeInfo());
        }
        case 
2:
        {
            
format(path,80,"Logs/%s%s.log",getName(playerid),getTimeInfo());
        }
        case 
3:
        {
            
format(path,80,"Logs/Log%s.log",getTimeInfo());
        }
        case 
4:
        {
            
format(path,80,"Logs/Shooting%s.log",getTimeInfo());
        }
    }
    new 
logData[200];
    if(
victimcase == CULPRIT)
    {
        
format(logData200,"%s %s ---> %s %f %i \r\n"getDateAndTime(), getName(playerid), getName(damagedid), Float:amountweaponid);
    }
    else if(
victimcase == VICTIM)
    {
        
format(logData200,"%s %s ---> %s %f %i \r\n"getDateAndTime(), getName(damagedid), getName(playerid), Float:amountweaponid);
    }
    new 
File:logFile fopen(pathio_append);
    
fwrite(logFilelogData);
    
fclose(logFile);
    return 
1;
}
stock InteriorLog(playerid,int1,int2)
{
    new 
path[80];
    switch(
SaveMode)
    {
        case 
1:
        {
            
format(path,80,"Logs/%s/Interior%s.log",getName(playerid),getTimeInfo());
        }
        case 
2:
        {
            
format(path,80,"Logs/%s%s.log",getName(playerid),getTimeInfo());
        }
        case 
3:
        {
            
format(path,80,"Logs/Log%s.log",getTimeInfo());
        }
        case 
4:
        {
            
format(path,80,"Logs/Interior%s.log",getTimeInfo());
        }
    }
    new 
logData[200];
    
format(logData200,"%s %s's new interior: %i, old interior: %i \r\n"getDateAndTime(), getName(playerid), int1,int2);
    new 
File:logFile fopen(pathio_append);
    
fwrite(logFilelogData);
    
fclose(logFile);
    return 
1;
}
stock OutLog(playeridseatvehicleidmodelid)
{
    new 
path[80];
    switch(
SaveMode)
    {
        case 
1:
        {
            
format(path,80,"Logs/%s/CarExit%s.log",getName(playerid),getTimeInfo());
        }
        case 
2:
        {
            
format(path,80,"Logs/%s%s.log",getName(playerid),getTimeInfo());
        }
        case 
3:
        {
            
format(path,80,"Logs/Log%s.log",getTimeInfo());
        }
        case 
4:
        {
            
format(path,80,"Logs/CarExit%s.log",getTimeInfo());
        }
    }
    new 
seatstr[10];
    switch(
seat)
    {
         case 
0:
         {
             
seatstr "Driver";
         }
         default:
         {
             
seatstr "Passenger";
         }
    }
    new 
logData[200];
    
format(logData200,"%s %s exited a vehicle, he/she was a %s, VehicleID: %i, ModelID: %i \r\n"getDateAndTime(), getName(playerid), seatstrvehicleidmodelid);
    new 
File:logFile fopen(pathio_append);
    
fwrite(logFilelogData);
    
fclose(logFile);
    return 
1;
}
stock RconAttemptLog(playerid,bool:successip[],password[])
{
    new 
path[80];
    switch(
SaveMode)
    {
        case 
1:
        {
            
format(path,80,"Logs/%s/RconLogin%s.log",getName(playerid),getTimeInfo());
        }
        case 
2:
        {
            
format(path,80,"Logs/%s%s.log",getName(playerid),getTimeInfo());
        }
        case 
3:
        {
            
format(path,80,"Logs/Log%s.log",getTimeInfo());
        }
        case 
4:
        {
            
format(path,80,"Logs/RconLogin%s.log",getTimeInfo());
        }
    }
    new 
logData[200];
    if(
success)
    {
        
format(logData200,"%s %s (IP:%s) has failed to login as RCON, password: %s\r\n",getDateAndTime(), getName(playerid), ippassword);
    }
    else
    {
        
format(logData200,"%s %s (IP:%s) has logged in as RCON \r\n"getDateAndTime(), getName(playerid), ip);
    }
    new 
File:logFile fopen(pathio_append);
    
fwrite(logFilelogData);
    
fclose(logFile);
    return 
1;
}
stock RCommand(cmd[])
{
    new 
path[21];
    if(
SaveMode == 3)
    {
        
format(path,80,"Logs/Log%s.log",getTimeInfo());
    }
    else
    {
        
format(path,80,"Logs/RconCommand%s.log",getTimeInfo());
    }
    new 
logData[200];
    
format(logData200,"%s /rcon %s \r\n",getDateAndTime(), cmd);
    new 
File:logFile fopen(pathio_append);
    
fwrite(logFilelogData);
    
fclose(logFile);
    return 
1;
}
stock InLog(playeridseatvehicleidmodelid)
{
    new 
path[80];
    switch(
SaveMode)
    {
        case 
1:
        {
            
format(path,80,"Logs/%s/CarEnter%s.log",getName(playerid),getTimeInfo());
        }
        case 
2:
        {
            
format(path,80,"Logs/%s%s.log",getName(playerid),getTimeInfo());
        }
        case 
3:
        {
            
format(path,80,"Logs/Log%s.log",getTimeInfo());
        }
        case 
4:
        {
            
format(path,80,"Logs/CarEnter%s.log",getTimeInfo());
        }
    }
    new 
seatstr[10];
    switch(
seat)
    {
         case 
0:
         {
             
seatstr "Driver";
         }
         default:
         {
             
seatstr "Passenger";
         }
    }
    new 
logData[200];
    
format(logData200,"%s %s entered a vehicle, he was a %s, VehicleID: %i, ModelID: %i \r\n",getDateAndTime(), getName(playerid), seatstrvehicleidmodelid);
    new 
File:logFile fopen(pathio_append);
    
fwrite(logFilelogData);
    
fclose(logFile);
    return 
1;
}
stock LogPlayerLocation(playerid,Float:X,Float:Y,Float:Z)
{
    new 
path[80];
    switch(
SaveMode)
    {
        case 
1:
        {
            
format(path,80,"Logs/%s/Position%s.log",getName(playerid),getTimeInfo());
        }
        case 
2:
        {
            
format(path,80,"Logs/%s%s.log",getName(playerid),getTimeInfo());
        }
        case 
3:
        {
            
format(path,80,"Logs/Log%s.log",getTimeInfo());
        }
        case 
4:
        {
            
format(path,80,"Logs/Position%s.log",getTimeInfo());
        }
    }
    new 
logData[200];
    
format(logData200,"%s %s's Location X: %f | Y: %f | Z: %f\r\n",getDateAndTime(), getName(playerid), X,Y,Z);
    new 
File:logFile fopen(pathio_append);
    
fwrite(logFilelogData);
    
fclose(logFile);
    return 
1;
}
stock Log_Config(playerid)
{
    new 
strlc[14][38];
    switch(
PositionLogging)
    {
        case 
0:
        {
            
strlc[0]="PositionLogging[]";
        }
        case 
1:
        {
            
strlc[0]="PositionLogging[X]";
        }
    }
    switch(
ChatLogging)
    {
        case 
0:
        {
            
strlc[1]="ChatLogging[]";
        }
        case 
1:
        {
            
strlc[1]="ChatLogging[X]";
        }
    }
    switch(
CommandLogging)
    {
        case 
0:
        {
            
strlc[2]="CommandLogging[]";
        }
        case 
1:
        {
            
strlc[2]="CommandLogging[X]";
        }
    }
    switch(
ShootingLogging)
    {
        case 
0:
        {
            
strlc[3]="ShootingLogging[]";
        }
        case 
1:
        {
            
strlc[3]="ShootingLogging[X]";
         }
    }
    switch(
DeathLogging)
    {
        case 
0:
        {
            
strlc[4]="DeathLogging[]";
        }
        case 
1:
        {
            
strlc[4]="DeathLogging[X]";
        }
    }
    switch(
ConnectLogging)
    {
        case 
0:
        {
            
strlc[5]="ConnectLogging[]";
        }
        case 
1:
        {
            
strlc[5]="ConnectLogging[X]";
        }
    }
    switch(
DisconnectLogging)
    {
        case 
0:
        {
            
strlc[6]="DisconnectLogging[]";
        }
        case 
1:
        {
            
strlc[6]="DisconnectLogging[X]";
        }
    }
    switch(
InteriorLogging)
    {
        case 
0:
        {
            
strlc[7]="InteriorLogging[]";
        }
        case 
1:
        {
            
strlc[7]="InteriorLogging[X]";
        }
    }
    switch(
RconLoginLogging)
    {
        case 
0:
        {
            
strlc[8]="RconLoginLogging[]";
        }
        case 
1:
        {
            
strlc[8]="RconLoginLogging[X]";
        }
    }
    switch(
CarEnterLogging)
    {
        case 
0:
        {
            
strlc[9]="CarEnterLogging[]";
        }
        case 
1:
        {
            
strlc[9]="CarEnterLogging[X]";
        }
    }
    switch(
CarExitLogging)
    {
        case 
0:
        {
            
strlc[10]="CarExitLogging[]";
        }
        case 
1:
        {
            
strlc[10]="CarExitLogging[X]";
        }
    }
    switch(
RconCommandLogging)
    {
        case 
0:
        {
            
strlc[11]="RconCommandLogging[]";
        }
        case 
1:
        {
            
strlc[11]="RconCommandLogging[X]";
        }
    }
    switch(
SaveMode)
    {
        case 
1:
        {
            
strlc[12]="SaveMode 1[X] 2[ ] 3[ ] 4[ ]";
        }
        case 
2:
        {
            
strlc[12]="SaveMode 1[ ] 2[X] 3[ ] 4[ ]";
        }
        case 
3:
        {
            
strlc[12]="SaveMode 1[ ] 2[ ] 3[X] 4[ ]";
        }
        case 
4:
        {
            
strlc[12]="SaveMode 1[ ] 2[ ] 3[ ] 4[X]";
        }
    }
    switch(
savetime)
    {
        case 
0:
        {
            
strlc[13]="Save logfiles per (Function disabled)";
        }
        case 
1:
        {
            
strlc[13]="Save logfiles per hour";
        }
        case 
2:
        {
            
strlc[13]="Save logfiles per day";
        }
        case 
3:
        {
            
strlc[13]="Save logfiles per month";
        }
        case 
4:
        {
            
strlc[13]="Save logfiles per year";
        }
    }
    new 
string[370];
    
format(string,370,"%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\nPositionLogInterval\n \nDisable All\nEnable All",strlc[0],strlc[1],strlc[2],strlc[3],strlc[4],strlc[5],strlc[6],strlc[7],strlc[8],strlc[9],strlc[10],strlc[11],strlc[12],strlc[13]);
    
ShowPlayerDialog(playerid,LOGCONFIG,DIALOG_STYLE_LIST,"Log Config",string,"Confirm","Back");
    return 
1;
}
stock Log_Clean(playerid)
{
    switch(
SaveMode)
    {
        case 
1:
        {
            
ShowPlayerDialog(playerid,SAVEMODE1_CHOOSEPLAYER,DIALOG_STYLE_INPUT,"Log clean","Choose a player to delete his logfiles(You will choose the specific log afterwards)","Confirm","Back");
        }
        case 
2:
        {
            
ShowPlayerDialog(playerid,SAVEMODE2_CHOOSEPLAYER,DIALOG_STYLE_INPUT,"Log clean","Which players file should be cleaned?\n(The full playername, not the player id)","Confirm","Back");
        }
        case 
3:
        {
            new 
msg[200];
            
format(msg,200,"Are you sure that you want to clean the log file? (Size: %i)",getFileSize("Logs/Log.log"));
            
ShowPlayerDialog(playerid,SAVEMODE3_CLEAN,DIALOG_STYLE_MSGBOX,"Log clean",msg,"Confirm","Back");
        }
        default:
        {
            
getLogSizes(playerid);
        }
    }
    return 
1;
}
/**
 * Returns the filesize of a specific file
 *
 * @param filename the name of the file thats to check
 *
 * @return the filesize
**/
stock getFileSize(filename[])
{
    new 
File:sizetoget fopen(filename,io_read);
    new 
fileLength flength(sizetoget);
    
fclose(sizetoget);
    return 
fileLength;
}
stock getLogSizes(playerid)
{
    new 
alog[12][60];
    
format(alog[0],60,"PositionLog(Size:%i)",getFileSize("Logs/Position.log"));
    
format(alog[1],60,"ChatLog(Size:%i)",getFileSize("Logs/Chat.log"));
    
format(alog[2],60,"CommandLog(Size:%i)",getFileSize("Logs/Command.log"));
    
format(alog[3],60,"ShootingLog(Size:%i)",getFileSize("Logs/Shooting.log"));
    
format(alog[4],60,"DeathLog(Size:%i)",getFileSize("Logs/Death.log"));
    
format(alog[5],60,"ConnectLog(Size:%i)",getFileSize("Logs/Connect.log"));
    
format(alog[6],60,"DisconnectLog(Size:%i)",getFileSize("Logs/Disconnect.log"));
    
format(alog[7],60,"InteriorLog(Size:%i)",getFileSize("Logs/Interior.log"));
    
format(alog[8],60,"RconLoginLog(Size:%i)",getFileSize("Logs/RconLogin.log"));
    
format(alog[9],60,"CarEnterLog(Size:%i)",getFileSize("Logs/CarEnter.log"));
    
format(alog[10],60,"CarExitLog(Size:%i)",getFileSize("Logs/CarExit.log"));
    
format(alog[11],60,"RconCommandLog(Size:%i)",getFileSize("Logs/RconCommand.log"));
    new 
abig[1200];
    
format(abig,1200,"%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s",alog[0],alog[1],alog[2],alog[3],alog[4],alog[5],alog[6],alog[7],alog[8],alog[9],alog[10],alog[11]);
    
ShowPlayerDialog(playerid,SAVEMODE4_CHOOSE,DIALOG_STYLE_LIST,"Log clean",abig,"Confirm","Back");
    return 
1;
}
stock cleanLog(playerid,logid)
{
    new 
logcl[125];
    switch(
logid)
    {
        case 
0:
        {
            
format(logcl,125,"Are you sure that you want to clean the Position Log file(Size:%i)",getFileSize("Logs/Position.log"));
        }
        case 
1:
        {
            
format(logcl,125,"Are you sure that you want to clean the Chat Log file(Size:%i)",getFileSize("Logs/Chat.log"));
        }
        case 
2:
        {
            
format(logcl,125,"Are you sure that you want to clean the Command Log file(Size:%i)",getFileSize("Logs/Command.log"));
        }
        case 
3:
        {
            
format(logcl,125,"Are you sure that you want to clean the Shooting Log file(Size:%i)",getFileSize("Logs/Shooting.log"));
        }
        case 
4:
        {
            
format(logcl,125,"Are you sure that you want to clean the Death Log file(Size:%i)",getFileSize("Logs/Death.log"));
        }
        case 
5:
        {
            
format(logcl,125,"Are you sure that you want to clean the Connect Log file(Size:%i)",getFileSize("Logs/Connect.log"));
        }
        case 
6:
        {
            
format(logcl,125,"Are you sure that you want to clean the Disconnect Log file(Size:%i)",getFileSize("Logs/Disconnect.log"));
        }
        case 
7:
        {
            
format(logcl,125,"Are you sure that you want to clean the Interior Log file(Size:%i)",getFileSize("Logs/Interior.log"));
        }
        case 
8:
        {
            
format(logcl,125,"Are you sure that you want to clean the RconLogin Log file(Size:%i)",getFileSize("Logs/RconLogin.log"));
        }
        case 
9:
        {
            
format(logcl,125,"Are you sure that you want to clean the CarEnter Log file(Size:%i)",getFileSize("Logs/CarEnter.log"));
        }
        case 
10:
        {
            
format(logcl,125,"Are you sure that you want to clean the CarExit Log file(Size:%i)",getFileSize("Logs/CarExit.log"));
        }
        case 
11:
        {
            
format(logcl,125,"Are you sure that you want to clean the RconCommand Log file(Size:%i)",getFileSize("Logs/RconCommand.log"));
        }
    }
    
ShowPlayerDialog(playerid,S4_CLEAN_CONNECT,DIALOG_STYLE_LIST,"Log clean",logcl,"Confirm","Back");
    return 
1;
}
//PUBLICS (non-default)
forward LogLoc(playerid);
public 
LogLoc(playerid)
{
    new 
Float:X,Float:Y,Float:Z;
    
GetPlayerPos(playerid,X,Y,Z);
    
LogPlayerLocation(playerid,X,Y,Z);
    return 
1;
}
forward LogCar(playerid);
public 
LogCar(playerid)
{
    
InLog(playerid,GetPlayerVehicleSeat(playerid),GetPlayerVehicleID(playerid),GetVehicleModel(GetPlayerVehicleID(playerid)));
    return 
1;
}
forward MyHttpResponse(indexresponse_codedata[]);
public 
MyHttpResponse(indexresponse_codedata[])
{
    if(!
strcmp(dataVERSIONtrue))
    {
        print(
"[Logging System] The Logging filterscript needs an update.");
        
printf("[Logging System] Latest Version: %s"data);
        
printf("[Logging System] Your Version: %s"VERSION);
        print(
"[Logging System] Downloadlink: https://dl.dropboxusercontent.com/u/89362253/Log.zip");
    }
    else
    {
        print(
"[Logging System] The Logging system is up to date.");
    }
    return 
1;
}
//COMMANDS
CMD:logmenu(playerid,params[])
{
    if(
IsPlayerAdmin(playerid))
    {
        
ShowPlayerDialog(playerid,LOGMENU,DIALOG_STYLE_LIST,"Logmenu","Configure logs\nClean logs","Confirm","Back");
    }
    return 
1;
}
CMD:logenable(playerid,params[])
{
    if(
IsPlayerAdmin(playerid))
    {
        new 
log;
        if(
sscanf(params,"i",log))
        {
            return 
SendClientMessage(playerid,-1,"[Logging System] Usage: /logenable [log] \n1 = RconCommandLogging\n2 = ChatLogging\n3 = CommandLogging\n4 = ShootingLogging\n5 = PositionLogging\n6 = DeathLogging\n7 = ConnectLogging\n8 = DisconnectLogging\n9 = RconLoginLogging\n10 = InteriorLogging\n11 = CarEnterLogging\n12 = CarExitLogging");
        }
        switch(
log)
        {
            case 
1:
            {
                
RconCommandLogging 1;
                
dini_IntSet(FILE,"RconCommandLogging",1);
                
SendClientMessage(playerid,-1,"[Logging System] Rcon command logging diabled.");
            }
            case 
2:
            {
                
ChatLogging 1;
                
dini_IntSet(FILE,"ChatLogging",1);
                
SendClientMessage(playerid,-1,"[Logging System] Chat logging diabled.");
            }
            case 
3:
            {
                
CommandLogging 1;
                
dini_IntSet(FILE,"CommandLogging",1);
                
SendClientMessage(playerid,-1,"[Logging System] Command logging diabled.");
            }
            case 
4:
            {
                
ShootingLogging 1;
                
dini_IntSet(FILE,"ShootingLogging",1);
                
SendClientMessage(playerid,-1,"[Logging System] Shooting command logging diabled.");
            }
            case 
5:
            {
                
PositionLogging 1;
                
dini_IntSet(FILE,"PositionLogging",1);
                
SendClientMessage(playerid,-1,"[Logging System] Position command logging diabled.");
            }
            case 
6:
            {
                
RconLoginLogging 1;
                
dini_IntSet(FILE,"RconLoginLogging",1);
                
SendClientMessage(playerid,-1,"[Logging System] Rcon login logging diabled.");
            }
            case 
7:
            {
                
DeathLogging 1;
                
dini_IntSet(FILE,"DeathLogging",1);
                
SendClientMessage(playerid,-1,"[Logging System] Death logging diabled.");
            }
            case 
8:
            {
                
ConnectLogging 1;
                
dini_IntSet(FILE,"ConnectLogging",1);
                
SendClientMessage(playerid,-1,"[Logging System] Connect command logging diabled.");
            }
            case 
9:
            {
                
DisconnectLogging 1;
                
dini_IntSet(FILE,"DisconnectLogging",1);
                
SendClientMessage(playerid,-1,"[Logging System] Disconnect command logging diabled.");
            }
            case 
10:
            {
                
InteriorLogging 1;
                
dini_IntSet(FILE,"InteriorLogging",1);
                
SendClientMessage(playerid,-1,"[Logging System] Interior logging diabled.");
            }
            case 
11:
            {
                
CarEnterLogging 1;
                
dini_IntSet(FILE,"CarEnterLogging",1);
                
SendClientMessage(playerid,-1,"[Logging System] Car enter logging diabled.");
            }
            case 
12:
            {
                
CarExitLogging 1;
                
dini_IntSet(FILE,"CarExitLogging",1);
                
SendClientMessage(playerid,-1,"[Logging System] Car exit logging diabled.");
            }
            default:
            {
                
SendClientMessage(playerid, -1"[Logging System] Your input was incorrect, try again.");
            }
        }
    }
    return 
1;
}
CMD:logdisable(playerid,params[])
{
    if(
IsPlayerAdmin(playerid))
    {
        new 
log;
        if(
sscanf(params,"i",log))
        {
            return 
SendClientMessage(playerid,-1,"[Logging System] Usage: /logdisable [log] \n1 = RconCommandLogging\n2 = ChatLogging\n3 = CommandLogging\n4 = ShootingLogging\n5 = PositionLogging\n6 = DeathLogging\n7 = ConnectLogging\n8 = DisconnectLogging\n9 = RconLoginLogging\n10 = InteriorLogging\n11 = CarEnterLogging\n12 = CarExitLogging");
        }
        switch(
log)
        {
            case 
1:
            {
                
RconCommandLogging 0;
                
dini_IntSet(FILE,"RconCommandLogging",0);
                
SendClientMessage(playerid,-1,"[Logging System] Rcon command logging diabled.");
            }
            case 
2:
            {
                
ChatLogging 0;
                
dini_IntSet(FILE,"ChatLogging",0);
                
SendClientMessage(playerid,-1,"[Logging System] Chat logging diabled.");
            }
            case 
3:
            {
                
CommandLogging 0;
                
dini_IntSet(FILE,"CommandLogging",0);
                
SendClientMessage(playerid,-1,"[Logging System] Command logging diabled.");
            }
            case 
4:
            {
                
ShootingLogging 0;
                
dini_IntSet(FILE,"ShootingLogging",0);
                
SendClientMessage(playerid,-1,"[Logging System] Shooting command logging diabled.");
            }
            case 
5:
            {
                
PositionLogging 0;
                
dini_IntSet(FILE,"PositionLogging",0);
                
SendClientMessage(playerid,-1,"[Logging System] Position command logging diabled.");
            }
            case 
6:
            {
                
RconLoginLogging 0;
                
dini_IntSet(FILE,"RconLoginLogging",0);
                
SendClientMessage(playerid,-1,"[Logging System] Rcon login logging diabled.");
            }
            case 
7:
            {
                
DeathLogging 0;
                
dini_IntSet(FILE,"DeathLogging",0);
                
SendClientMessage(playerid,-1,"[Logging System] Death logging diabled.");
            }
            case 
8:
            {
                
ConnectLogging 0;
                
dini_IntSet(FILE,"ConnectLogging",0);
                
SendClientMessage(playerid,-1,"[Logging System] Connect command logging diabled.");
            }
            case 
9:
            {
                
DisconnectLogging 0;
                
dini_IntSet(FILE,"DisconnectLogging",0);
                
SendClientMessage(playerid,-1,"[Logging System] Disconnect command logging diabled.");
            }
            case 
10:
            {
                
InteriorLogging 0;
                
dini_IntSet(FILE,"InteriorLogging",0);
                
SendClientMessage(playerid,-1,"[Logging System] Interior logging diabled.");
            }
            case 
11:
            {
                
CarEnterLogging 0;
                
dini_IntSet(FILE,"CarEnterLogging",0);
                
SendClientMessage(playerid,-1,"[Logging System] Car enter logging diabled.");
            }
            case 
12:
            {
                
CarExitLogging 0;
                
dini_IntSet(FILE,"CarExitLogging",0);
                
SendClientMessage(playerid,-1,"[Logging System] Car exit logging diabled.");
            }
            default:
            {
                
SendClientMessage(playerid, -1"[Logging System] Your input was incorrect, try again.");
            }
        }
    }
    return 
1;
}
CMD:loghelp(playeridparams[])
{
    
SendClientMessage(playerid, -1"-------------------[Logging System]-------------------");
    
SendClientMessage(playerid, -1"/loghelp: displays the helpmessages that u are looking at right now :P.");
    
SendClientMessage(playerid, -1"/logenable: enable specific logs.");
    
SendClientMessage(playerid, -1"/logdisable: disable specific logs.");
    return 
1;
}
CMD:savemodeinfo(playerid,params[])
{
    
SendClientMessage(playerid, -"[Logging System] Savemode 1 will create a folder for every player and a logfile for every category (Example: JohnCena/Chat.log).");
    
SendClientMessage(playerid, -"[Logging System] Savemode 2 will save all information that has to be logged into per-player files (Example: JohnCena.log).");
    
SendClientMessage(playerid, -"[Logging System] Savemode 3 will save all information that has to be logged into a global logfile called 'Log.log'.");
    
SendClientMessage(playerid, -"[Logging System] Savemode 4 will save all information that has to be logged in seperate files foor every category (chat.log, rconcommand.log , ...).");
    return 
1;
}
CMD:setpositionloginterval(playeridparams[])
{
    if(
IsPlayerAdmin(playerid))
    {
        
ShowPlayerDialog(playeridSETPOSLOGINTERVALDIALOG_STYLE_INPUT"Set position logging interval""Enter a number between 1 and 'infinite' (you should enter at lest 500), the format is milliseconds","Confirm","Backs");
    }
    return 
1;
}
CMD:logsavemode(playerid,params[])
{
    if(
IsPlayerAdmin(playerid))
    {
        new 
log;
        if(
sscanf(params,"i",log))
        {
            return 
SendClientMessage(playerid,-1,"[Logging System] Usage: /logsavemode [1/2/3/4] \n[Logging System] For information about the diffrent savemodes type /savemodeinfo");
        }
        switch(
log)
        {
            case 
1:
            {
                
SaveMode 1;
                
dini_IntSet(FILE,"SaveMode",1);
                
SendClientMessage(playerid,-1,"[Logging System] Savemode has been set to 1.");
            }
            case 
2:
            {
                
SaveMode 2;
                
dini_IntSet(FILE,"SaveMode",2);
                
SendClientMessage(playerid,-1,"[Logging System] Savemode has been set to 2.");
            }
            case 
3:
            {
                
SaveMode 3;
                
dini_IntSet(FILE,"SaveMode",3);
                
SendClientMessage(playerid,-1,"[Logging System] Savemode has been set to 3.");
            }
            case 
4:
            {
                
SaveMode 4;
                
dini_IntSet(FILE,"SaveMode",4);
                
SendClientMessage(playerid,-1,"[Logging System] Savemode has been set to 4.");
            }
            default:
            {
                
SendClientMessage(playerid, -1"[Logging System] Your input was incorrect, try again.");
            }
        }
        
SendClientMessage(playerid, -1"[Logging System] For information about the diffrent savemodes use /savemodeinfo");
    }
    return 
1;

Serverlog:

Код:
----------
Loaded log file: "server_log.txt".
----------

SA-MP Dedicated Server
----------------------
v0.3.7-R2, ©2005-2015 SA-MP Team

[18:29:03] 
[18:29:03] Server Plugins
[18:29:03] --------------
[18:29:03]  Loading plugin: Directory
[18:29:03] 

[18:29:03] ------------------------------

[18:29:03]       Plugin Directory v2.0

[18:29:03]        Loaded

[18:29:03] ------------------------------

[18:29:03]   Loaded.
[18:29:03]  Loading plugin: sscanf
[18:29:03]   Failed.
[18:29:03]  Loaded 1 plugins.

[18:29:03] 
[18:29:03] Filterscripts
[18:29:03] ---------------
[18:29:03]   Loading filterscript 'Log.amx'...
[18:29:03]   Loaded 1 filterscripts.

[18:29:03] 
----------------------------------
[18:29:03]  Blank Gamemode by your name here
[18:29:03] ----------------------------------

[18:29:03] Number of vehicle models: 0
Reply
#2

....

Quote:
Originally Posted by Zeex
Посмотреть сообщение
Note #1: If you want to use zcmd in a filterscript, put this define before including:
Код:
#define FILTERSCRIPT
Reply
#3

Doesn't work
The problem isn't that no commands work, the whole script doesn't work (not a single line)
Reply
#4

your FS use sscanf but he has failed to start
Reply
#5

oh i didnt see that , fail, thanks
does sscanf have any dependencies , i didn't have that error before i reinstalled my windows
Reply
#6

you have installed sscanf by Emmet_ or a anotherguy ?
Reply
#7

Just downloaded http://forum.sa-mp.com/showthread.ph...ghlight=sscanf and replaced it with mine, doesn't work tho.
Emmets download is down

https://sampforum.blast.hk/showthread.php?tid=389620&page=2

according to this post it may be the microsoft visual c runtime (msvc) , which version do i need?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)