vehOnPlayerDisconnect(playerid, reason) {
#pragma unused reason
DestroyProgressBar(Bar:GetPVarInt(playerid,"FuelBar"));
TextDrawDestroy(Text:GetPVarInt(playerid, "SpeedDraw"));
TextDrawDestroy(Text:GetPVarInt(playerid, "VehDraw"));
TextDrawDestroy(Text:GetPVarInt(playerid, "VehMileDraw"));
new lcar = -1;
if(IsPlayerInAnyVehicle(playerid)) {
new carid = GetPlayerVehicleID(playerid);
new c = -1;
new index = -1;
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) {
while((c = findPlayerCar(playerid, ++index)) != -1) {
if(c == carid) {
lcar = index;
break;
}
}
}
}
format(query, sizeof(query), "UPDATE `characters` SET `lastcar` = %d WHERE `id` = %d",lcar,GetPVarInt(playerid, "CharID"));
mysql_function_query(g_mysql_handle, query, true, "EmptyCallback", "");
for(new i=0;i<sizeof(VehicleInfo);i++) {
if(VehicleInfo[i][EVOwner] == playerid && VehicleInfo[i][EVType] == EVehicleType_Owned) {
VehicleInfo[i][EVKeyDupe] == 0;
saveVehicle(i);
VehicleInfo[i][EVType] = EVehicleType_Uninit;
clearTrunk(i);
DestroyVehicleToys(i, 0);
DestroyVehicle(i);
}
}
if(GetPVarType(playerid, "JobCar") != PLAYER_VARTYPE_NONE) {
new jobcar = GetPVarInt(playerid, "JobCar");
DestroyVehicle(jobcar);
}
DestroyAllRentCars(playerid);
}
vehOnPlayerDisconnect(playerid, reason) {
#pragma unused reason
DestroyProgressBar(Bar:GetPVarInt(playerid,"FuelBar"));
TextDrawDestroy(Text:GetPVarInt(playerid, "SpeedDraw"));
TextDrawDestroy(Text:GetPVarInt(playerid, "VehDraw"));
TextDrawDestroy(Text:GetPVarInt(playerid, "VehMileDraw"));
new lcar = -1;
if(IsPlayerInAnyVehicle(playerid)) {
new carid = GetPlayerVehicleID(playerid);
new c = -1;
new index = -1;
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) {
while((c = findPlayerCar(playerid, ++index)) != -1) {
if(c == carid) {
lcar = index;
break;
}
}
}
}
format(query, sizeof(query), "UPDATE `characters` SET `lastcar` = %d WHERE `id` = %d",lcar,GetPVarInt(playerid, "CharID"));
mysql_function_query(g_mysql_handle, query, true, "EmptyCallback", "");
SetTimerEx("DestroyPlayerVehicles", 3600000, false, "i", playerid);
}
forward DestroyPlayerVehicles(playerid);
public DestroyPlayerVehicles(playerid)
{
for(new i=0;i<sizeof(VehicleInfo);i++) {
if(VehicleInfo[i][EVOwner] == playerid && VehicleInfo[i][EVType] == EVehicleType_Owned) {
VehicleInfo[i][EVKeyDupe] == 0;
saveVehicle(i);
VehicleInfo[i][EVType] = EVehicleType_Uninit;
clearTrunk(i);
DestroyVehicleToys(i, 0);
DestroyVehicle(i);
}
}
if(GetPVarType(playerid, "JobCar") != PLAYER_VARTYPE_NONE) {
new jobcar = GetPVarInt(playerid, "JobCar");
DestroyVehicle(jobcar);
}
DestroyAllRentCars(playerid);
return 1;
}
Yes, its possible using SetTimerEx.
PHP код:
PHP код:
|
//call the timer in OnPlayerDisconnect
SetTimerEx("DestroyPlayerVehicle", 3600000, false, "i", vehicleid);
forward DestroyPlayerVehicle(vehicleid);
public DestroyPlayerVehicle(vehicleid)
DestroyVehicle(vehicleid);
What shit is this? How you get a player variable with the player disconnected?
@TOPIC You can use a timer to destroy the vehicleid, but you can't use player informations, because his is disconnected. Or you can save the player informations and call a timer where you use it, and destroy de vehicle. Example of the first option: PHP код:
|