Amúgy a laston azt jelenti mikor csatlakozott a szerverhez és nem azt amikor kilépett.
Én csak egy sql példát írnék ide pontosabban a saját connectedlog sql szerkezetét ami talán segít egy kicsit, vagy még több fejtörést fog okozni.
CREATE TABLE IF NOT EXISTS `connectedlog` (
`Count` int(5) NOT NULL AUTO_INCREMENT,
`ConnectedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`Ip` varchar(20) COLLATE utf8_hungarian_ci NOT NULL,
`PlayerName` varchar(30) COLLATE utf8_hungarian_ci NOT NULL,
PRIMARY KEY (`Count`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci AUTO_INCREMENT;
Itt a ConnectedTime lenne a te Laston kifejezésed, így egybõl mentené az idõt persze lehet változtatni a formátumokon.
Amúgy a laston azt jelenti mikor csatlakozott a szerverhez és nem azt amikor kilépett.
Én csak egy sql példát írnék ide pontosabban a saját connectedlog sql szerkezetét ami talán segít egy kicsit, vagy még több fejtörést fog okozni.
CREATE TABLE IF NOT EXISTS `connectedlog` (
`Count` int(5) NOT NULL AUTO_INCREMENT,
`ConnectedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`Ip` varchar(20) COLLATE utf8_hungarian_ci NOT NULL,
`PlayerName` varchar(30) COLLATE utf8_hungarian_ci NOT NULL,
PRIMARY KEY (`Count`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci AUTO_INCREMENT;
Itt a ConnectedTime lenne a te Laston kifejezésed, így egybõl mentené az idõt persze lehet változtatni a formátumokon.
Köszönöm szépen a javaslatokat,tippeket,meg is fogom tanulmányozni õket miután készen leszek evvel a ,,Szerveren eltöltött idõ\"-vel,csak legyünk túl rajta :D
Meg majd lesz egy kérdésem is amit utoljára írtál,de azt tényleg a végén!
Szóval mint említettem kiszedtem a Luxadmin-ból a Szerveren eltöltött idõ mentését,és mûködik is meg le lehet menteni!
így néz ki:
[pawn]enum PlayerData
{
hours,
mins,
secs,
TotalTime,
ConnectTime
};
new AccInfo[MAX_PLAYERS][PlayerData];
TotalGameTime(playerid, &h=0, &m=0, &s=0)
{
AccInfo[playerid][TotalTime] = ( (gettime() - AccInfo[playerid][ConnectTime]) + (AccInfo[playerid][hours]*60*60) + (AccInfo[playerid][mins]*60) + (AccInfo[playerid][secs]) );
h = floatround(AccInfo[playerid][TotalTime] / 3600, floatround_floor);
m = floatround(AccInfo[playerid][TotalTime] / 60, floatround_floor) % 60;
s = floatround(AccInfo[playerid][TotalTime] % 60, floatround_floor);
return AccInfo[playerid][TotalTime];
}
public OnPlayerConnect(playerid)
{
AccInfo[playerid][ConnectTime] = gettime();
return 1;
}[/pawn]
Csak azt nem tudom hogy ,ha kilép a játékos(ugye elmenti), és visszajön hogy folytassam!
Eddig tudom:
Kiolvasom az adatokat,és gondolom el kéne menteni egy enumba(hogy ne lehessen felülírni a változót,egy másik player esetében),és itt akadtam el hogy hogyan folytassam a régit,mert most ugye újra elindítja amérést,0-ról!
Köszönöm a sok segítségedet,várom a válaszodat!
E:Már a LuxAdminos sem jó :(
És ezt nem értem,debugba azt írja hogy minden sikeresen megcsinálva:
[18:00:04] CMySQLHandler::Query(UPDATE `accounts` SET `Admin` = 10, `Money` = 729900, `Score` = 0, `Kills` = 0, `Deaths` = 1, `LastOn` = \'2011.09.12/18.00.04\', `h` = 00 WHERE Name = \'Preston_Marlowe\') - Successfully executed.