adjusted timestamp function to always return value in seconds

This commit is contained in:
kamilprzyb 2020-09-23 11:05:18 +02:00
parent 09f1f67778
commit 016c48645e
4 changed files with 6 additions and 5 deletions

View File

@ -611,7 +611,7 @@ void Database::getInventory(Player* player) {
} }
void Database::removeExpiredVehicles(Player* player) { void Database::removeExpiredVehicles(Player* player) {
int32_t currentTime = getTimestamp()/1000; int32_t currentTime = getTimestamp();
//remove from bank immediately //remove from bank immediately
for (int i = 0; i < ABANK_COUNT; i++) { for (int i = 0; i < ABANK_COUNT; i++) {
if (player->Bank[i].iType == 10 && player->Bank[i].iTimeLimit < currentTime) if (player->Bank[i].iType == 10 && player->Bank[i].iTimeLimit < currentTime)

View File

@ -118,7 +118,7 @@ void NPCManager::npcVendorBuy(CNSocket* sock, CNPacketData* data) {
// if vehicle // if vehicle
if (req->Item.iType == 10) if (req->Item.iType == 10)
// set time limit: current time + 7days // set time limit: current time + 7days
req->Item.iTimeLimit = getTimestamp()/1000 + 604800; req->Item.iTimeLimit = getTimestamp() + 604800;
if (slot != req->iInvenSlotNum) { if (slot != req->iInvenSlotNum) {
// possible item stacking? // possible item stacking?

View File

@ -691,7 +691,7 @@ void PlayerManager::revivePlayer(CNSocket* sock, CNPacketData* data) {
void PlayerManager::enterPlayerVehicle(CNSocket* sock, CNPacketData* data) { void PlayerManager::enterPlayerVehicle(CNSocket* sock, CNPacketData* data) {
PlayerView& plr = PlayerManager::players[sock]; PlayerView& plr = PlayerManager::players[sock];
if (plr.plr->Equip[8].iID > 0 && plr.plr->Equip[8].iTimeLimit>(getTimestamp()/1000)) { if (plr.plr->Equip[8].iID > 0 && plr.plr->Equip[8].iTimeLimit>getTimestamp()) {
INITSTRUCT(sP_FE2CL_PC_VEHICLE_ON_SUCC, response); INITSTRUCT(sP_FE2CL_PC_VEHICLE_ON_SUCC, response);
sock->sendPacket((void*)&response, P_FE2CL_PC_VEHICLE_ON_SUCC, sizeof(sP_FE2CL_PC_VEHICLE_ON_SUCC)); sock->sendPacket((void*)&response, P_FE2CL_PC_VEHICLE_ON_SUCC, sizeof(sP_FE2CL_PC_VEHICLE_ON_SUCC));
@ -711,7 +711,7 @@ void PlayerManager::enterPlayerVehicle(CNSocket* sock, CNPacketData* data) {
sock->sendPacket((void*)&response, P_FE2CL_PC_VEHICLE_ON_FAIL, sizeof(sP_FE2CL_PC_VEHICLE_ON_FAIL)); sock->sendPacket((void*)&response, P_FE2CL_PC_VEHICLE_ON_FAIL, sizeof(sP_FE2CL_PC_VEHICLE_ON_FAIL));
//check if vehicle didn't expire //check if vehicle didn't expire
if (plr.plr->Equip[8].iTimeLimit < (getTimestamp() / 1000)) if (plr.plr->Equip[8].iTimeLimit < getTimestamp())
{ {
plr.plr->toRemoveVehicle.eIL = 0; plr.plr->toRemoveVehicle.eIL = 0;
plr.plr->toRemoveVehicle.iSlotNum = 8; plr.plr->toRemoveVehicle.iSlotNum = 8;

View File

@ -150,10 +150,11 @@ time_t getTime() {
return (time_t)value.count(); return (time_t)value.count();
} }
//returns system time in seconds
time_t getTimestamp() { time_t getTimestamp() {
using namespace std::chrono; using namespace std::chrono;
milliseconds value = duration_cast<milliseconds>((time_point_cast<milliseconds>(system_clock::now())).time_since_epoch()); seconds value = duration_cast<seconds>((time_point_cast<seconds>(system_clock::now())).time_since_epoch());
return (time_t)value.count(); return (time_t)value.count();
} }