mirror of
				https://github.com/OpenFusionProject/OpenFusion.git
				synced 2025-10-31 00:30:15 +00:00 
			
		
		
		
	Allow permanent vehicles
This commit is contained in:
		| @@ -1304,7 +1304,7 @@ void Database::removeExpiredVehicles(Player* player) { | ||||
|  | ||||
|     // if there are expired vehicles in bank just remove them silently | ||||
|     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 && player->Bank[i].iTimeLimit != 0) { | ||||
|             memset(&player->Bank[i], 0, sizeof(sItemBase)); | ||||
|         } | ||||
|     } | ||||
| @@ -1313,14 +1313,14 @@ void Database::removeExpiredVehicles(Player* player) { | ||||
|     std::vector<sItemBase*> toRemove; | ||||
|  | ||||
|     // equipped vehicle | ||||
|     if (player->Equip[8].iOpt > 0 && player->Equip[8].iTimeLimit < currentTime) { | ||||
|     if (player->Equip[8].iOpt > 0 && player->Equip[8].iTimeLimit < currentTime && player->Equip[8].iTimeLimit != 0) { | ||||
|         toRemove.push_back(&player->Equip[8]); | ||||
|         player->toRemoveVehicle.eIL = 0; | ||||
|         player->toRemoveVehicle.iSlotNum = 8; | ||||
|     } | ||||
|     // inventory | ||||
|     for (int i = 0; i < AINVEN_COUNT; i++) { | ||||
|         if (player->Inven[i].iType == 10 && player->Inven[i].iTimeLimit < currentTime) { | ||||
|         if (player->Inven[i].iType == 10 && player->Inven[i].iTimeLimit < currentTime && player->Inven[i].iTimeLimit != 0) { | ||||
|             toRemove.push_back(&player->Inven[i]); | ||||
|             player->toRemoveVehicle.eIL = 1; | ||||
|             player->toRemoveVehicle.iSlotNum = i; | ||||
|   | ||||
| @@ -839,7 +839,9 @@ void PlayerManager::revivePlayer(CNSocket* sock, CNPacketData* data) { | ||||
| void PlayerManager::enterPlayerVehicle(CNSocket* sock, CNPacketData* data) { | ||||
|     Player* plr = getPlayer(sock); | ||||
|  | ||||
|     if (plr->Equip[8].iID > 0 && plr->Equip[8].iTimeLimit>getTimestamp()) { | ||||
|     bool expired = plr->Equip[8].iTimeLimit < getTimestamp() && plr->Equip[8].iTimeLimit != 0; | ||||
|  | ||||
|     if (plr->Equip[8].iID > 0 && !expired) { | ||||
|         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)); | ||||
|  | ||||
| @@ -855,7 +857,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)); | ||||
|  | ||||
|         // check if vehicle didn't expire | ||||
|         if (plr->Equip[8].iTimeLimit < getTimestamp()) { | ||||
|         if (expired) { | ||||
|             plr->toRemoveVehicle.eIL = 0; | ||||
|             plr->toRemoveVehicle.iSlotNum = 8; | ||||
|             ItemManager::checkItemExpire(sock, plr); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 kamilprzyb
					kamilprzyb