Mondok valamit. Ezt meg lehet oldani unix time-mal, és nagyjából a 90%-át ennek a scriptnek leredukálom.
#include a_samp
#include zcmd
#include sscanf2
#include dini
CMD:bann(playerid, params[])
{
new selected, hanymp;
if(sscanf(params, \"ii\", selected, hanymp)) return SendClientMessage(playerid, \"Használat: /bann [id] [MÁSODPERC]\");
if(IsPlayerConnected(selected))
{
SendClientMessage(playerid, -1, \"Ki lett banolva a szerverol\");
Kick(selected);
new formatsz*r[28];
new name[32];
GetPlayerName(playerid, name, 32);
format(formatsz*r, 28, \"%s.txt\", name);
dini_Create(formatsz*r);
dini_IntSet(formatsz*r, \"meddig\", gettime()+hanymp);
}
else SendClientMessage(playerid, -1, \"A játékos offline\");
return 1;
}
public OnPlayerConnect(playerid)
{
new name[32];
GetPlayerName(playerid, name, 32);
format(file, 64, \"/bannok/%s.txt\", name); //Át irhatod
new mikorjarle;
mikorjarle = dini_Int(file, \"meddig\");
if(gettime() > mikorjarle)
{
//Beléphet Le járt a bann
}
else
{
//még nem járt le a bann
}
return 1;
}
Megjegyzem, nagyon rendszertelenül és össze-vissza scriptelsz. Na meg hibásan.