Okay i have start this plugin and i cant see the problem on why its not saving the players frag. Heres the code.
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
new Frag_Save[33]
new configfile[200]
new authid[33][32]
new pcvar
public plugin_init()
{
register_plugin("Frag_Save","2.0","-Acid-")
pcvar = register_cvar("Frag_save","1")
new configsdir[200]
get_configsdir(configsdir,199)
format(configfile,199,"%s/Frag_Save.ini",configsdir)
register_dictionary("Frag_Save.txt")
}
public client_putinserver(id)
{
if(!is_user_bot(id)) set_task(5.0,"client_authorized2",id)
}
public client_authorized2(id)
{
Frag_Save[id] = 0
if(get_pcvar_num(pcvar))
set_task(10.0,"read_file2",id)
set_task(0.1,"cpt",id,"",0,"b")
}
public client_disconnect(id)
{
if(!is_user_bot(id) && get_pcvar_num(pcvar))
get_user_frags(id)
}
public cpt(id)
{
if(is_user_alive(id))
{
if(get_user_frags(id)>10000)
{
Frag_Save[id]+= get_user_frags(id) - 10000
set_user_frags(id,10000)
}
if(get_user_frags(id)<10000)
{
if(Frag_Save[id] < 10000 - get_user_frags(id))
{
set_user_frags(id,get_user_frags(id)+Frag_Save[id])
Frag_Save[id]=0
}
else
{
Frag_Save[id]-= 10000 - get_user_frags(id)
set_user_frags(id,10000)
}
}
set_hudmessage(0, 255, 0, 0.7, 0.87, 0, 6.0, 0.1, 0.1, 0.2, next_hudchannel(id) )
show_hudmessage(id,"%L",id,"MSG_BANK",Frag_Save[id])
}
}
public read_file2(id)
{
if(is_user_connected(id) && file_exists(configfile))
{
get_user_authid(id,authid[id],31)
new read[32]
new filepointer = fopen(configfile,"r")
while(fgets(filepointer,read,31))
{
replace(read,31,"^n","")
if(equali(read,authid[id]))
{
fgets(filepointer,read,31)
if(get_user_frags(id)<10000)
{
if(get_user_frags(id) + str_to_num(read)<=10000)
{
set_user_frags(id,get_user_frags(id) + str_to_num(read))
}
if(get_user_frags(id) + str_to_num(read)>10000)
{
Frag_Save[id] += (str_to_num(read) + get_user_frags(id)) - 10000
set_user_frags(id,10000)
}
}
else
{
Frag_Save[id] += str_to_num(read)
}
break;
}
}
fclose(filepointer)
}
}
public Frag_Save(id)
{
new string[32]
format(string,31,"%d",bank[id])
new i, line
new filepointer = fopen(configfile,"r")
if(filepointer)
{
new read[32]
while(fgets(filepointer,read,31))
{
replace(read,31,"^n","")
server_print("%d. %s",i,read)
if(equali(read,authid[id]))
{
line=1
break;
}
i++
}
}
fclose(filepointer)
if(!line) write_file(configfile,authid[id],i)
write_file(configfile,string,i+1)
}