TheXA0S, не понял, что за
Всего 1 год 5 месяцев 14 дней
Похоже, это время запуска сервера. Его можно вообще записать в файл в юникс формате и просто считывать его.
Ну, с первым заходом тут уже понятно и так, просто через timestamp(unix time) при первом заходе игрока создаешь и все, не трогаешь тот столбец. Вот со счетчиком кол-ва дней чуть-чуть посложнее, тут либо создать дату последнего прибавления счетчика и уже если игрок зашёл ровно через сутки(или на след. день, через день это можно фиксировать). Будут необходимы нэтивы get_systime, создание таблиц с нужными данными а ля
- Код: Выделить всё
new Handle:Queries;
Queries = SQL_PrepareQuery(SqlConnection,"CREATE TABLE IF NOT EXISTS UCSTATS (pId INT(11) primary key NOT NULL AUTO_INCREMENT, name varchar(33),steamid varchar(32), firstjoin TIMESTAMP); ALTER TABLE UCSTATS ADD UNIQUE (pId);ALTER TABLE `UCSTATS` ADD UNIQUE(`steamid`);ALTER TABLE UCSTATS AUTO_INCREMENT = 1;");
Пример очень грубый, в такую таблицу вписываем уникальный id игрока, ник/стим айди, первый заход на сервер. При сохранении firstjoin-a(тот же get_systime) не забудьте использовать в sql запросе конвертор FROM_UNIXTIME, чтобы корректно прошло сохранение в БД. Для подсчета дней использовать можно что-нибудь на подобии: get_systime() - firstjoin( значение получайте при запросе через UNIX_TIMESTAMP, чтобы получить числовой timestamp для дальнейшего вычисления ) = diff(разница между текущим временем и заходом первый раз), тут вроде бы не припомню нэтивной ф-ции для этого, но придется написать свой сток для вычисления секунд в дни, к примеру,(думаю, с этим проблем нету, делим x сек на (60*60*24) = кол-во дней, от этого отталкиваемся и выводим там через add/format/formatex если там X дней > 365, то считаем год или более, если меньше, но больше 30(тут можно изощряться, чтобы ещё высокосный год учесть/сокращенный февральский месяц/месяцы с 31 днем, много запарки, лучше просто 30 как дефолт сделать и не париться), то учесть месяцы, ну и на самый конец уже дни выводить.
Блин, хотел покороче, а получилось как всегда но думаю у вас получится, если действительно захотите это сделать.
UPD: Для вывода полученной разницы во времени можете использовать за основу
Вы должны зарегистрироваться, чтобы видеть ссылки.(сток ф-ция в файле time.inc) .