Well i just maked some test today and you can take a look at it.
PHP Code:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Test Plugin"
#define VERSION "1.0"
#define AUTHOR "death"
new gFile[64]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /print", "PrintFile")
register_clcmd("say /create", "CreateFile")
register_clcmd("say /update", "UpdateFile")
}
public CreateFile(id)
{
new dir[64];
get_datadir(dir, charsmax(dir))
new folder[64];
formatex(folder, charsmax(folder), "/bmstats")
add(dir, charsmax(dir), folder)
if ( !dir_exists(dir) ) mkdir(dir)
formatex(gFile, charsmax(gFile), "%s/bmstats.bm", dir)
new data[128]
new file;
file = fopen(gFile, "wt");
for(new i = 0; i < 10;i++)
{
formatex(data, charsmax(data), "^"Name %d^" ^"%s^" ^"^" ^"^"^n", i, "test")
fputs(file, data);
}
client_print(id, print_chat, "good create")
fclose(file);
}
public PrintFile(id)
{
new file
new data[128]
file = fopen(gFile, "rt")
while ( !feof(file) )
{
fgets(file, data, charsmax(data))
client_print(id, print_console, "%s", data)
}
client_print(id, print_chat, "good read")
fclose(file);
}
public UpdateFile(id)
{
new file
new data[128]
file = fopen(gFile, "rt")
new count = 0
while ( !feof(file) )
{
fgets(file, data, charsmax(data))
if(count == 2)
write_file(gFile, "Edited Line 2", count)
count++
}
client_print(id, print_chat, "good update")
fclose(file);
}
you just need to count the line and the use
PHP Code:
write_file(const file[], const text[], line = -1)