F1 panel de ghost mode acınca araclar ic ice gecince kamera aracın icine giriyor bunu nasıl düzeltebilirim
local ghostAvail = false
function toggleVehicleGhost()
if guiCheckBoxGetSelected(getControl(wndMain, 'anticol')) then
outputChatBox("Arabanız diğer arabalarla çarpışmayacak..",250,250,250)
ghostAvail = true
setElementData ( g_Me, "freeroam:ghost", true )
local veh = getPedOccupiedVehicle ( g_Me )
if veh and getPedOccupiedVehicleSeat (g_Me) == 0 then
for i, v in ipairs ( getElementsByType ("vehicle", true) ) do
if veh ~= v then
setElementCollidableWith ( veh, v, false )
end
end
end
else
outputChatBox("Arabanız diğer arabalarla çarpışacak..",250,0,250)
setElementData ( g_Me, "freeroam:ghost", false )
ghostAvail = false
if veh and getPedOccupiedVehicleSeat (g_Me) == 0 then
for i, v in ipairs ( getElementsByType ("vehicle", true) ) do
if veh ~= v then
local occupant = getVehicleOccupant (veh)
if not occupant or not getElementData (occupant,"freeroam:ghost") then
setElementCollidableWith ( veh, v, true )
end
end
end
end
end
end
function onStreamIn ( )
local veh = getPedOccupiedVehicle ( g_Me )
if veh then
if getElementType ( source ) == "vehicle" then
local occupant = getVehicleOccupant (veh)
if isElementCollidableWith ( veh, source ) then
if ghostAvail or ( occupant and getElementData ( occupant, "freeroam:ghost" ) and getPedOccupiedVehicleSeat (occupant) == 0 ) then
setElementCollidableWith ( veh, source, false )
end
else
if not ghostAvail or ( occupant and not getElementData ( occupant, "freeroam:ghost" ) ) then
setElementCollidableWith ( veh, source, true )
end
end
end
end
end
addEventHandler ( "onClientElementStreamIn", root, onStreamIn )
function checkPlayersGhosts (dataName)
if getElementType ( source ) == "player" and dataName == "freeroam:ghost" and source ~= localPlayer then
local veh = getPedOccupiedVehicle ( source )
local localVeh = getPedOccupiedVehicle ( g_Me )
if veh and getPedOccupiedVehicleSeat (source) == 0 and isElementStreamedIn (veh) then
local newValue = getElementData ( source, dataName )
if newValue then
for i, v in ipairs ( getElementsByType ("vehicle", true) ) do
if veh ~= v then
setElementCollidableWith ( veh, v, false )
end
end
else
for i, v in ipairs ( getElementsByType ("vehicle", true) ) do
if veh ~= localVeh then
setElementCollidableWith ( veh, v, true )
else
if not ghostAvail then
setElementCollidableWith ( veh, v, true )
end
end
end
end
end
end
end
addEventHandler ( "onClientElementDataChange", getRootElement(), checkPlayersGhosts )
addEventHandler("onClientVehicleEnter", getRootElement(),
function(thePlayer, seat)
-- if thePlayer ~= getLocalPlayer() then
if seat == 0 then
if getElementData (thePlayer,"freeroam:ghost") then
-- local localVeh = getPedOccupiedVehicle ( g_Me )
-- if localVeh and localVeh ~= source then
for i, v in ipairs ( getElementsByType ("vehicle", true) ) do
if source ~= v then
setElementCollidableWith ( source, v, false )
end
end
-- end
end
end
-- end
end
)
addEventHandler("onClientVehicleExit", getRootElement(),
function(thePlayer, seat)
-- if thePlayer ~= getLocalPlayer() then
if seat == 0 then
-- local localVeh = getPedOccupiedVehicle ( g_Me )
-- if localVeh and localVeh ~= source then
if getElementData (thePlayer,"freeroam:ghost") then
for i, v in ipairs ( getElementsByType ("vehicle", true) ) do
if source ~= localVeh then
setElementCollidableWith ( source, v, true )
else
if not ghostAvail then
setElementCollidableWith ( source, v, true )
end
end
end
end
end
-- end
end
)