Hmm, i think that will be helpful.
So, you have to use this code in client side of Lua script :
local Distance = 100; -- Distance between vehicles and the player that written /owner
addCommandHandler("owner",
function(cmd)
local x, y, z = getElementPosition(localPlayer);
local nearestVehicle = false;
local vehicles = {};
for key, veh in ipairs (getElementsByType("vehicle")) do
local vehX,vehY,vehZ=getElementPosition(veh);
local dist = getDistanceBetweenPoints3D (x,y,z,vehX,vehY,vehZ);
if dist<=Distance then
table.insert(vehicles,veh);
end
end
local SortedTable = {};
for key, veh in ipairs (vehicles) do
local vehX,vehY,vehZ=getElementPosition(veh);
local vehDistance = getDistanceBetweenPoints3D (x,y,z,vehX,vehY,vehZ);
SortedTable[#SortedTable+1] = {};
SortedTable[#SortedTable].distance = vehDistance;SortedTable[#SortedTable].vehicle = veh;
end
table.sort(SortedTable,
function(a,b)
return (a.distance<b.distance)
end
);
local vehicle = SortedTable[1].vehicle;
local data = getElementData(vehicle,"$vehicle_details$");
if data and type(data)=="table" and #data>0 then
for key, player in ipairs (data) do
outputChatBox(getPlayerName(player));
end
return true
end
return false
end
);
Server side :
function table.find(t,v)
for i = 1, #t do
if t[i]==v then return true end;
end
return false;
end
function OnVehicleEnter(player)
local vehicle = source;
local vehicle_details = getElementData(vehicle,"$vehicle_details$");
local new_details = {};
if not vehicle_details then
setElementData(vehicle,"$vehicle_details$",{player});
return true;
end
if vehicle_details and type(vehicle_details)=="table" and #vehicle_details>0 then
if not table.find(vehicle_details,player) then
if #vehicle_details==5 then
new_details = {vehicle_details[2],vehicle_details[3],vehicle_details[4],vehicle_details[5],player};
setElementData(vehicle,"$vehicle_details$",new_details);
elseif #vehicle_details<=4 then
table.insert(vehicle_details,player);
setElementData(vehicle,"$vehicle_details$",vehicle_details);
end
end
end
end
addEventHandler("onVehicleEnter",root,OnVehicleEnter);