Put your .ini file here
Code: Select all
new const g_szIniFileName[] = "plugins-custom.ini"Source code:
Code: Select all
#include <amxmodx>
#include <amxmisc>
#define PLUGIN ".Ini file Enabler/Disabler"
#define VERSION "1.0"
#define AUTHOR "EFFx"
new const g_szIniFileName[] = "plugins-custom.ini"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("amx_clean", "cmdClean", ADMIN_IMMUNITY, "<1|0 - Clean whole file>")
register_clcmd("amx_remove", "cmdRemove", ADMIN_IMMUNITY, "<1|0 - Remove whole file>")
}
public cmdClean(id, level, cid)
{
if(!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED
new szWholeFile[2], bool:bIsWholeFile
read_argv(1, szWholeFile, charsmax(szWholeFile))
bIsWholeFile = bool:str_to_num(szWholeFile)
if(!enableLine(bIsWholeFile, bIsWholeFile ? "" : "bunnyhop.amxx"))
{
console_print(id, "[AMXX]: Line not found")
return PLUGIN_HANDLED
}
return PLUGIN_HANDLED
}
public cmdRemove(id, level, cid)
{
if(!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED
new szWholeFile[2], bool:bIsWholeFile
read_argv(1, szWholeFile, charsmax(szWholeFile))
bIsWholeFile = bool:str_to_num(szWholeFile)
if(!disableLine(bIsWholeFile, bIsWholeFile ? "" : "bunnyhop.amxx"))
{
console_print(id, "[AMXX]: Line not found")
return PLUGIN_HANDLED
}
return PLUGIN_HANDLED
}
enableLine(bool:bWholeFile, szLine[])
{
new szFileName[64], szText[512]
get_configsdir(szFileName, charsmax(szFileName))
format(szFileName, charsmax(szFileName), "%s/%s", szFileName, g_szIniFileName)
new iFile = fopen(szFileName, "rt"), i
while(!feof(iFile))
{
fgets(iFile, szText, charsmax(szText))
trim(szText)
i++
if(szText[0] == ';')
{
if(!bWholeFile && !equal(szText[1], szLine))
continue
replace(szText, charsmax(szText), ";", "")
write_file(szFileName, szText, (i - 1))
return true
}
}
fclose(iFile)
return false
}
disableLine(bool:bWholeFile, szLine[])
{
new szFileName[64], szText[512]
get_configsdir(szFileName, charsmax(szFileName))
format(szFileName, charsmax(szFileName), "%s/%s", szFileName, g_szIniFileName)
new iFile = fopen(szFileName, "rt"), i
while(!feof(iFile))
{
fgets(iFile, szText, charsmax(szText))
trim(szText)
i++
if(szText[0] != ';')
{
if(!bWholeFile && !equal(szText, szLine))
continue
format(szText, charsmax(szText), ";%s", szText)
write_file(szFileName, szText, (i - 1))
return true
}
}
fclose(iFile)
return false
} Source Code:
Code: Select all
#include <amxmodx>
#include <amxmisc>
#define PLUGIN ".Ini file cleaner"
#define VERSION "1.0"
#define AUTHOR "EFFx"
new const g_szIniFileName[] = "plugins-pubg.ini"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("amx_clean", "cmdClean", ADMIN_IMMUNITY, "<1|0 - Clean whole file>")
}
public cmdClean(id, level, cid)
{
if(!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED
new szWholeFile[2], bool:bIsWholeFile
read_argv(1, szWholeFile, charsmax(szWholeFile))
bIsWholeFile = bool:str_to_num(szWholeFile)
if(!cleanFile(bIsWholeFile, bIsWholeFile ? "" : "bunnyhop.amxx"))
{
console_print(id, "[AMXX]: Line not found")
return PLUGIN_HANDLED
}
return PLUGIN_HANDLED
}
cleanFile(bool:bWholeFile, szLine[])
{
new szFileName[64], szText[512]
get_configsdir(szFileName, charsmax(szFileName))
format(szFileName, charsmax(szFileName), "%s/%s", szFileName, g_szIniFileName)
new iFile = fopen(szFileName, "rt"), i
while(!feof(iFile))
{
fgets(iFile, szText, charsmax(szText))
trim(szText)
i++
if((szText[0] == EOS) || !bWholeFile && !equal(szText, szLine))
continue
replace(szText, charsmax(szText), bWholeFile ? szText : szLine, "")
write_file(szFileName, szText, (i - 1))
if(bWholeFile)
{
cleanFile(bWholeFile, szLine)
}
return true
}
fclose(iFile)
return false
} 