Tessék kicsit gány munka, feladatod: a file formatnál értelmesen, ahogy neked szerepelnek a fájlnevek írd át
Szólj ha gond van, mert nem teszteltem 5-6 perces munka
#include a_samp
#include zcmd
#include sscanf2
#include dini
enum pinfo
{
meddig_y,
meddig_m,
meddig_d,
meddig_h,
meddig_min
}
new pInfo[MAX_PLAYERS][pinfo];
new file[64];
CMD:bann(playerid, params[])
{
new selected;
sscanf(params, \"iiiiii\", selected, pInfo[playerid][meddig_y], pInfo[playerid][meddig_m], pInfo[playerid][meddig_d],pInfo[playerid][meddig_h], pInfo[playerid][meddig_min]);
if(!strlen(params)) return SendClientMessage(playerid, -1, \"Használat: /bann ÉV HÓNAP NAP ÓRA PERC\");
if(IsPlayerConnected(selected))
{
SendClientMessage(playerid, -1, \"Bannolva lett\");
Kick(selected);
dini_IntSet(file, \"meddig_y\", pInfo[playerid][meddig_y]);
dini_IntSet(file, \"meddig_m\", pInfo[playerid][meddig_m]);
dini_IntSet(file, \"meddig_d\", pInfo[playerid][meddig_d]);
dini_IntSet(file, \"meddig_h\", pInfo[playerid][meddig_h]);
dini_IntSet(file, \"meddig_min\", pInfo[playerid][meddig_min]);
}
else SendClientMessage(playerid, -1, \"A játékos offline\");
return 1;
}
public OnPlayerConnect(playerid)
{
new name[32];
GetPlayerName(playerid, name, 32);
format(file, 64, \"%s.txt\", name);
pInfo[playerid][meddig_y] = dini_Int(file, \"meddig_y\");
pInfo[playerid][meddig_m] = dini_Int(file, \"meddig_m\");
pInfo[playerid][meddig_d] = dini_Int(file, \"meddig_d\");
pInfo[playerid][meddig_h] = dini_Int(file, \"meddig_h\");
pInfo[playerid][meddig_min] = dini_Int(file, \"meddig_min\");
new year, month, day, hour, minute, sec;
getdate(year, month, day);
gettime(hour, minute, sec);
if(year >= pInfo[playerid][meddig_y] && month >= pInfo[playerid][meddig_m] && day >= pInfo[playerid][meddig_d] && hour >= pInfo[playerid][meddig_h] && minute > pInfo[playerid][meddig_min])
{
//lejárt a bann és beléphet
}
else
{
//még nem járt le a bann
}
return 1;
}