0 Üye ve 1 Ziyaretçi konuyu incelemekte.
Neden bu kadar abartıyorsun ki? Gereksiz bir kalabalık olur bence. /otur ve /kalk scirptini indir hem yer kaplamaz hemde isteyen istediği yere oturur önerim
İnce ayarları yaptıktan sonra atarım kodlarıSpoiler for Hiden:
hud ve radar olarak standart olanımı kullanıyosun yoksa başka mı ?
O halde sadece hudu gizleyebilirim :/ veya ekrandaki herşeyi gizlerim(chat de dahil) seç birini sana kalmış
Aslında radar scriptini atarsa gizleyebiliriz
koltuklar = {-- objeId, x, y, z, rotationX, rotationY, rotationZ--Koltuklar tek sıra halinde olursa yani hepsinin rotasyonları aynı olursa daha iyi olur.--Rotasyonları ayrı ayrı olursa oyuncu koltuğa oturduğunda rotasyonu düz olmayabilir :c-- Aşşağılarda bir yer daha işaretledim. Objenin rotationZ değeri 0 ise o işaretlediğm yer 180 olcak-- 0 dan başka ise kendin deneyerek bulmalısın oraya ne yazılcağını :c{1562, 2308, 582, 7.5, 0, 0, 0},{1562, 2308, 584, 7.5, 0, 0, 0},{1562, 2308, 586, 7.5, 0, 0, 0},{1562, 2310, 582, 7.5, 0, 0, 0},{1562, 2310, 584, 7.5, 0, 0, 0},{1562, 2310, 586, 7.5, 0, 0, 0},}tablo = {}function alanaGirince(giren) if getElementType(giren) == "player" then triggerClientEvent(giren, "addRender", giren, tablo[source].numara) toggleControl(giren, "crouch", false) endendfunction alandanCikinca(cikan) if getElementType(cikan) == "player" then triggerClientEvent(cikan, "removeRender", cikan) toggleControl(cikan, "crouch", true) if tablo[source].oturan == cikan then tablo[alan].oturan = "server" triggerClientEvent(cikan,"herSeyiGizle", cikan, "Gizleme") end endendfor i,v in pairs(koltuklar) do local ID,x,y,z,rx,ry,rz = unpack(v) local koltuk = createObject(ID,x,y,z,rx,ry,rz) local alan = createColSphere(x,y,z, 1.1) tablo[alan] = {} tablo[alan].koltuk = koltuk tablo[alan].numara = i tablo[alan].oturan = "Bos" addEventHandler("onColShapeHit", alan, alanaGirince) addEventHandler("onColShapeLeave", alan, alandanCikinca)endfunction otur(oyuncu) for i,alan in pairs(getElementsByType("colshape", resourceRoot)) do if tablo[alan] then if isElementWithinColShape(oyuncu, alan) then if tablo[alan].oturan == oyuncu then setPedAnimation(oyuncu) tablo[alan].oturan = "Bos" triggerClientEvent(oyuncu,"herSeyiGizle", oyuncu, "Gizleme") executeCommandHandler ( "fp", oyuncu ) return end if tablo[alan].oturan == "Bos" then local x,y,z = getElementPosition(tablo[alan].koltuk) local px,py,pz = getElementPosition(oyuncu) local rx,ry,rz = getElementRotation(oyuncu) setElementPosition(oyuncu, x,y-0.5,z) setElementRotation(oyuncu, rx,ry,180) -- Oyuncu koltuğa oturduğunda oyuncunun rotasyonunu ayarlıyoruz. setPedAnimation( oyuncu, "ped", "SEAT_idle", false, false, false) tablo[alan].oturan = oyuncu tablo[oyuncu] = alan triggerClientEvent(oyuncu,"removeRender", oyuncu) triggerClientEvent(oyuncu,"herSeyiGizle", oyuncu, "Gizle") end end end endendaddEventHandler("onPlayerQuit", root, function() if tablo[oyuncu] then local alan = tablo[oyuncu] if tablo[alan].oturan == source then tablo[alan].oturan = "Bos" end endend)addEventHandler("onResourceStart", resourceRoot, function() for i,v in pairs(getElementsByType("player")) do bindKey(v, "c", "down", otur) end end)addEventHandler("onPlayerJoin", root, function() bindKey(source, "c", "down", otur)end)
-- orta yazilocal sx, sy = guiGetScreenSize ( )local numaralocal isEnabled = falseaddEvent("removeRender", true)addEventHandler("removeRender", root, function() removeEventHandler ( "onClientRender", root, render )end)addEvent("addRender", true)addEventHandler("addRender", root, function( n ) if n then numara = n end if getElementType(source) == "player" and source == localPlayer then removeEventHandler ( "onClientRender", root, render ) addEventHandler ( "onClientRender", root, render ) end end)function render ( ) if not numara then return end dxDrawText (tostring(numara).." Numaralı koltuğa oturmak için 'C' tuşuna basınız.", 0, 0, (sx/1), (sy/1.5), tocolor ( 0, 0, 0, 255 ), 2.5, 'default-bold', 'center', 'bottom' ) dxDrawText (tostring(numara).." Numaralı koltuğa oturmak için 'C' tuşuna basınız.", 0, 0, sx/1, sy/1.5, tocolor ( 255, 255, 0, 255 ), 2.5, 'default-bold', 'center', 'bottom' )endbilesenler = {"ammo", -- Mermi"area_name", -- Alan ismi"armour", -- Zırh"breath", -- Nefes"clock", -- Saat"health", -- Can"money", -- Para"weapon", -- Silah"radio","wanted", -- Aranma yıldızı"radar", -- Aranma yıldızı}addEvent("herSeyiGizle", true)addEventHandler("herSeyiGizle", root, function(durum) if durum == "Gizle" then isEnabled = true addEventHandler ("onClientPreRender", root, updateCamera) addEventHandler ("onClientCursorMove",root, freecamMouse) hudRadarGizle(false) elseif durum == "Gizleme" then isEnabled = false hudRadarGizle(true) setCameraTarget (localPlayer, localPlayer) removeEventHandler ("onClientPreRender", root, updateCamera) removeEventHandler ("onClientCursorMove", root, freecamMouse) end end)function hudRadarGizle(deger) for _,v in ipairs(bilesenler)do setPlayerHudComponentVisible( v, deger ) endend--fp modulocal root = getRootElement()local localPlayer = getLocalPlayer()local PI = math.pilocal wasInVehicle = isPedInVehicle(localPlayer)local mouseSensitivity = 0.2local rotX, rotY = 0,0local mouseFrameDelay = 0local idleTime = 2500local fadeBack = falselocal fadeBackFrames = 50local executeCounter = 0local recentlyMoved = falselocal Xdiff,Ydifflocal radar = truefunction toggleCockpitView () if (not isEnabled) then isEnabled = true addEventHandler ("onClientPreRender", root, updateCamera) addEventHandler ("onClientCursorMove",root, freecamMouse) radar = false else --reset view isEnabled = false setCameraTarget (localPlayer, localPlayer) removeEventHandler ("onClientPreRender", root, updateCamera) removeEventHandler ("onClientCursorMove", root, freecamMouse) radar = true endendaddCommandHandler("fp", toggleCockpitView)function updateCamera () if (isEnabled) then local nowTick = getTickCount() if wasInVehicle and recentlyMoved and not fadeBack and startTick and nowTick - startTick > idleTime then recentlyMoved = false fadeBack = true if rotX > 0 then Xdiff = rotX / fadeBackFrames elseif rotX < 0 then Xdiff = rotX / -fadeBackFrames end if rotY > 0 then Ydiff = rotY / fadeBackFrames elseif rotY < 0 then Ydiff = rotY / -fadeBackFrames end end if fadeBack then executeCounter = executeCounter + 1 if rotX > 0 then rotX = rotX - Xdiff elseif rotX < 0 then rotX = rotX + Xdiff end if rotY > 0 then rotY = rotY - Ydiff elseif rotY < 0 then rotY = rotY + Ydiff end if executeCounter >= fadeBackFrames then fadeBack = false executeCounter = 0 end end local camPosXr, camPosYr, camPosZr = getPedBonePosition (localPlayer, 6) local camPosXl, camPosYl, camPosZl = getPedBonePosition (localPlayer, 7) local camPosX, camPosY, camPosZ = (camPosXr + camPosXl) / 2, (camPosYr + camPosYl) / 2, (camPosZr + camPosZl) / 2 local roll = 0 inVehicle = isPedInVehicle(localPlayer) -- note the vehicle rotation if inVehicle then local rx,ry,rz = getElementRotation(getPedOccupiedVehicle(localPlayer)) roll = -ry if rx > 90 and rx < 270 then roll = ry - 180 end if not wasInVehicle then rotX = rotX + math.rad(rz) --prevent camera from rotation when entering a vehicle if rotY > -PI/15 then --force camera down if needed rotY = -PI/15 end end cameraAngleX = rotX - math.rad(rz) cameraAngleY = rotY + math.rad(rx) if getControlState("vehicle_look_behind") or ( getControlState("vehicle_look_right") and getControlState("vehicle_look_left") ) then cameraAngleX = cameraAngleX + math.rad(180) --cameraAngleY = cameraAngleY + math.rad(180) elseif getControlState("vehicle_look_left") then cameraAngleX = cameraAngleX - math.rad(90) --roll = rx doesn't work out well elseif getControlState("vehicle_look_right") then cameraAngleX = cameraAngleX + math.rad(90) --roll = -rx end else local rx, ry, rz = getElementRotation(localPlayer) if wasInVehicle then rotX = rotX - math.rad(rz) --prevent camera from rotating when exiting a vehicle end cameraAngleX = rotX cameraAngleY = rotY end wasInVehicle = inVehicle --Taken from the freecam resource made by eAi -- work out an angle in radians based on the number of pixels the cursor has moved (ever) local freeModeAngleZ = math.sin(cameraAngleY) local freeModeAngleY = math.cos(cameraAngleY) * math.cos(cameraAngleX) local freeModeAngleX = math.cos(cameraAngleY) * math.sin(cameraAngleX) -- calculate a target based on the current position and an offset based on the angle local camTargetX = camPosX + freeModeAngleX * 100 local camTargetY = camPosY + freeModeAngleY * 100 local camTargetZ = camPosZ + freeModeAngleZ * 100 -- Work out the distance between the target and the camera (should be 100 units) local camAngleX = camPosX - camTargetX local camAngleY = camPosY - camTargetY local camAngleZ = 0 -- we ignore this otherwise our vertical angle affects how fast you can strafe -- Calulcate the length of the vector local angleLength = math.sqrt(camAngleX*camAngleX+camAngleY*camAngleY+camAngleZ*camAngleZ) -- Normalize the vector, ignoring the Z axis, as the camera is stuck to the XY plane (it can't roll) local camNormalizedAngleX = camAngleX / angleLength local camNormalizedAngleY = camAngleY / angleLength local camNormalizedAngleZ = 0 -- We use this as our rotation vector local normalAngleX = 0 local normalAngleY = 0 local normalAngleZ = 1 -- Perform a cross product with the rotation vector and the normalzied angle local normalX = (camNormalizedAngleY * normalAngleZ - camNormalizedAngleZ * normalAngleY) local normalY = (camNormalizedAngleZ * normalAngleX - camNormalizedAngleX * normalAngleZ) local normalZ = (camNormalizedAngleX * normalAngleY - camNormalizedAngleY * normalAngleX) -- Update the target based on the new camera position (again, otherwise the camera kind of sways as the target is out by a frame) camTargetX = camPosX + freeModeAngleX * 100 camTargetY = camPosY + freeModeAngleY * 100 camTargetZ = camPosZ + freeModeAngleZ * 100 -- Set the new camera position and target setCameraMatrix (camPosX, camPosY, camPosZ, camTargetX, camTargetY, camTargetZ, roll) endendfunction freecamMouse (cX,cY,aX,aY) if isCursorShowing() or isMTAWindowActive() then mouseFrameDelay = 5 return elseif mouseFrameDelay > 0 then mouseFrameDelay = mouseFrameDelay - 1 return end startTick = getTickCount() recentlyMoved = true if fadeBack then fadeBack = false executeCounter = 0 end local width, height = guiGetScreenSize() aX = aX - width / 2 aY = aY - height / 2 rotX = rotX + aX * mouseSensitivity * 0.01745 rotY = rotY - aY * mouseSensitivity * 0.01745 local pRotX, pRotY, pRotZ = getElementRotation (localPlayer) pRotZ = math.rad(pRotZ) if rotX > PI then rotX = rotX - 2 * PI elseif rotX < -PI then rotX = rotX + 2 * PI end if rotY > PI then rotY = rotY - 2 * PI elseif rotY < -PI then rotY = rotY + 2 * PI end if isPedInVehicle(localPlayer) then if rotY < -PI / 4 then rotY = -PI / 4 elseif rotY > -PI/15 then rotY = -PI/15 end else if rotY < -PI / 4 then rotY = -PI / 4 elseif rotY > PI / 2.1 then rotY = PI / 2.1 end endend
server.luaKod: luakoltuklar = {-- objeId, x, y, z, rotationX, rotationY, rotationZ--Koltuklar tek sıra halinde olursa yani hepsinin rotasyonları aynı olursa daha iyi olur.--Rotasyonları ayrı ayrı olursa oyuncu koltuğa oturduğunda rotasyonu düz olmayabilir :c-- Aşşağılarda bir yer daha işaretledim. Objenin rotationZ değeri 0 ise o işaretlediğm yer 180 olcak-- 0 dan başka ise kendin deneyerek bulmalısın oraya ne yazılcağını :c{1562, 2308, 582, 7.5, 0, 0, 0},{1562, 2308, 584, 7.5, 0, 0, 0},{1562, 2308, 586, 7.5, 0, 0, 0},{1562, 2310, 582, 7.5, 0, 0, 0},{1562, 2310, 584, 7.5, 0, 0, 0},{1562, 2310, 586, 7.5, 0, 0, 0},}tablo = {}function alanaGirince(giren) if getElementType(giren) == "player" then triggerClientEvent(giren, "addRender", giren, tablo[source].numara) toggleControl(giren, "crouch", false) endendfunction alandanCikinca(cikan) if getElementType(cikan) == "player" then triggerClientEvent(cikan, "removeRender", cikan) toggleControl(cikan, "crouch", true) if tablo[source].oturan == cikan then tablo[alan].oturan = "server" triggerClientEvent(cikan,"herSeyiGizle", cikan, "Gizleme") end endendfor i,v in pairs(koltuklar) do local ID,x,y,z = unpack(v) local koltuk = createObject(ID,x,y,z) local alan = createColSphere(x,y,z, 1.1) tablo[alan] = {} tablo[alan].koltuk = koltuk tablo[alan].numara = i tablo[alan].oturan = "Bos" addEventHandler("onColShapeHit", alan, alanaGirince) addEventHandler("onColShapeLeave", alan, alandanCikinca)endfunction otur(oyuncu) for i,alan in pairs(getElementsByType("colshape", resourceRoot)) do if tablo[alan] then if isElementWithinColShape(oyuncu, alan) then if tablo[alan].oturan == oyuncu then setPedAnimation(oyuncu) tablo[alan].oturan = "Bos" triggerClientEvent(oyuncu,"herSeyiGizle", oyuncu, "Gizleme") executeCommandHandler ( "fp", oyuncu ) return end if tablo[alan].oturan == "Bos" then local x,y,z = getElementPosition(tablo[alan].koltuk) local px,py,pz = getElementPosition(oyuncu) local rx,ry,rz = getElementRotation(oyuncu) setElementPosition(oyuncu, x,y-0.5,z) setElementRotation(oyuncu, rx,ry,180) -- Oyuncu koltuğa oturduğunda oyuncunun rotasyonunu ayarlıyoruz. setPedAnimation( oyuncu, "ped", "SEAT_idle", false, false, false) tablo[alan].oturan = oyuncu tablo[oyuncu] = alan triggerClientEvent(oyuncu,"removeRender", oyuncu) triggerClientEvent(oyuncu,"herSeyiGizle", oyuncu, "Gizle") end end end endendaddEventHandler("onPlayerQuit", root, function() if tablo[oyuncu] then local alan = tablo[oyuncu] if tablo[alan].oturan == source then tablo[alan].oturan = "Bos" end endend)addEventHandler("onResourceStart", resourceRoot, function() for i,v in pairs(getElementsByType("player")) do bindKey(v, "c", "down", otur) end end)addEventHandler("onPlayerJoin", root, function() bindKey(source, "c", "down", otur)end)client.luaKod: lua-- orta yazilocal sx, sy = guiGetScreenSize ( )local numaralocal isEnabled = falseaddEvent("removeRender", true)addEventHandler("removeRender", root, function() removeEventHandler ( "onClientRender", root, render )end)addEvent("addRender", true)addEventHandler("addRender", root, function( n ) if n then numara = n end if getElementType(source) == "player" and source == localPlayer then removeEventHandler ( "onClientRender", root, render ) addEventHandler ( "onClientRender", root, render ) end end)function render ( ) if not numara then return end dxDrawText (tostring(numara).." Numaralı koltuğa oturmak için 'C' tuşuna basınız.", 0, 0, (sx/1), (sy/1.5), tocolor ( 0, 0, 0, 255 ), 2.5, 'default-bold', 'center', 'bottom' ) dxDrawText (tostring(numara).." Numaralı koltuğa oturmak için 'C' tuşuna basınız.", 0, 0, sx/1, sy/1.5, tocolor ( 255, 255, 0, 255 ), 2.5, 'default-bold', 'center', 'bottom' )endbilesenler = {"ammo", -- Mermi"area_name", -- Alan ismi"armour", -- Zırh"breath", -- Nefes"clock", -- Saat"health", -- Can"money", -- Para"weapon", -- Silah"radio","wanted", -- Aranma yıldızı"radar", -- Aranma yıldızı}addEvent("herSeyiGizle", true)addEventHandler("herSeyiGizle", root, function(durum) if durum == "Gizle" then isEnabled = true addEventHandler ("onClientPreRender", root, updateCamera) addEventHandler ("onClientCursorMove",root, freecamMouse) hudRadarGizle(false) elseif durum == "Gizleme" then isEnabled = false hudRadarGizle(true) setCameraTarget (localPlayer, localPlayer) removeEventHandler ("onClientPreRender", root, updateCamera) removeEventHandler ("onClientCursorMove", root, freecamMouse) end end)function hudRadarGizle(deger) for _,v in ipairs(bilesenler)do setPlayerHudComponentVisible( v, deger ) endend--fp modulocal root = getRootElement()local localPlayer = getLocalPlayer()local PI = math.pilocal wasInVehicle = isPedInVehicle(localPlayer)local mouseSensitivity = 0.2local rotX, rotY = 0,0local mouseFrameDelay = 0local idleTime = 2500local fadeBack = falselocal fadeBackFrames = 50local executeCounter = 0local recentlyMoved = falselocal Xdiff,Ydifflocal radar = truefunction toggleCockpitView () if (not isEnabled) then isEnabled = true addEventHandler ("onClientPreRender", root, updateCamera) addEventHandler ("onClientCursorMove",root, freecamMouse) radar = false else --reset view isEnabled = false setCameraTarget (localPlayer, localPlayer) removeEventHandler ("onClientPreRender", root, updateCamera) removeEventHandler ("onClientCursorMove", root, freecamMouse) radar = true endendaddCommandHandler("fp", toggleCockpitView)function updateCamera () if (isEnabled) then local nowTick = getTickCount() if wasInVehicle and recentlyMoved and not fadeBack and startTick and nowTick - startTick > idleTime then recentlyMoved = false fadeBack = true if rotX > 0 then Xdiff = rotX / fadeBackFrames elseif rotX < 0 then Xdiff = rotX / -fadeBackFrames end if rotY > 0 then Ydiff = rotY / fadeBackFrames elseif rotY < 0 then Ydiff = rotY / -fadeBackFrames end end if fadeBack then executeCounter = executeCounter + 1 if rotX > 0 then rotX = rotX - Xdiff elseif rotX < 0 then rotX = rotX + Xdiff end if rotY > 0 then rotY = rotY - Ydiff elseif rotY < 0 then rotY = rotY + Ydiff end if executeCounter >= fadeBackFrames then fadeBack = false executeCounter = 0 end end local camPosXr, camPosYr, camPosZr = getPedBonePosition (localPlayer, 6) local camPosXl, camPosYl, camPosZl = getPedBonePosition (localPlayer, 7) local camPosX, camPosY, camPosZ = (camPosXr + camPosXl) / 2, (camPosYr + camPosYl) / 2, (camPosZr + camPosZl) / 2 local roll = 0 inVehicle = isPedInVehicle(localPlayer) -- note the vehicle rotation if inVehicle then local rx,ry,rz = getElementRotation(getPedOccupiedVehicle(localPlayer)) roll = -ry if rx > 90 and rx < 270 then roll = ry - 180 end if not wasInVehicle then rotX = rotX + math.rad(rz) --prevent camera from rotation when entering a vehicle if rotY > -PI/15 then --force camera down if needed rotY = -PI/15 end end cameraAngleX = rotX - math.rad(rz) cameraAngleY = rotY + math.rad(rx) if getControlState("vehicle_look_behind") or ( getControlState("vehicle_look_right") and getControlState("vehicle_look_left") ) then cameraAngleX = cameraAngleX + math.rad(180) --cameraAngleY = cameraAngleY + math.rad(180) elseif getControlState("vehicle_look_left") then cameraAngleX = cameraAngleX - math.rad(90) --roll = rx doesn't work out well elseif getControlState("vehicle_look_right") then cameraAngleX = cameraAngleX + math.rad(90) --roll = -rx end else local rx, ry, rz = getElementRotation(localPlayer) if wasInVehicle then rotX = rotX - math.rad(rz) --prevent camera from rotating when exiting a vehicle end cameraAngleX = rotX cameraAngleY = rotY end wasInVehicle = inVehicle --Taken from the freecam resource made by eAi -- work out an angle in radians based on the number of pixels the cursor has moved (ever) local freeModeAngleZ = math.sin(cameraAngleY) local freeModeAngleY = math.cos(cameraAngleY) * math.cos(cameraAngleX) local freeModeAngleX = math.cos(cameraAngleY) * math.sin(cameraAngleX) -- calculate a target based on the current position and an offset based on the angle local camTargetX = camPosX + freeModeAngleX * 100 local camTargetY = camPosY + freeModeAngleY * 100 local camTargetZ = camPosZ + freeModeAngleZ * 100 -- Work out the distance between the target and the camera (should be 100 units) local camAngleX = camPosX - camTargetX local camAngleY = camPosY - camTargetY local camAngleZ = 0 -- we ignore this otherwise our vertical angle affects how fast you can strafe -- Calulcate the length of the vector local angleLength = math.sqrt(camAngleX*camAngleX+camAngleY*camAngleY+camAngleZ*camAngleZ) -- Normalize the vector, ignoring the Z axis, as the camera is stuck to the XY plane (it can't roll) local camNormalizedAngleX = camAngleX / angleLength local camNormalizedAngleY = camAngleY / angleLength local camNormalizedAngleZ = 0 -- We use this as our rotation vector local normalAngleX = 0 local normalAngleY = 0 local normalAngleZ = 1 -- Perform a cross product with the rotation vector and the normalzied angle local normalX = (camNormalizedAngleY * normalAngleZ - camNormalizedAngleZ * normalAngleY) local normalY = (camNormalizedAngleZ * normalAngleX - camNormalizedAngleX * normalAngleZ) local normalZ = (camNormalizedAngleX * normalAngleY - camNormalizedAngleY * normalAngleX) -- Update the target based on the new camera position (again, otherwise the camera kind of sways as the target is out by a frame) camTargetX = camPosX + freeModeAngleX * 100 camTargetY = camPosY + freeModeAngleY * 100 camTargetZ = camPosZ + freeModeAngleZ * 100 -- Set the new camera position and target setCameraMatrix (camPosX, camPosY, camPosZ, camTargetX, camTargetY, camTargetZ, roll) endendfunction freecamMouse (cX,cY,aX,aY) if isCursorShowing() or isMTAWindowActive() then mouseFrameDelay = 5 return elseif mouseFrameDelay > 0 then mouseFrameDelay = mouseFrameDelay - 1 return end startTick = getTickCount() recentlyMoved = true if fadeBack then fadeBack = false executeCounter = 0 end local width, height = guiGetScreenSize() aX = aX - width / 2 aY = aY - height / 2 rotX = rotX + aX * mouseSensitivity * 0.01745 rotY = rotY - aY * mouseSensitivity * 0.01745 local pRotX, pRotY, pRotZ = getElementRotation (localPlayer) pRotZ = math.rad(pRotZ) if rotX > PI then rotX = rotX - 2 * PI elseif rotX < -PI then rotX = rotX + 2 * PI end if rotY > PI then rotY = rotY - 2 * PI elseif rotY < -PI then rotY = rotY + 2 * PI end if isPedInVehicle(localPlayer) then if rotY < -PI / 4 then rotY = -PI / 4 elseif rotY > -PI/15 then rotY = -PI/15 end else if rotY < -PI / 4 then rotY = -PI / 4 elseif rotY > PI / 2.1 then rotY = PI / 2.1 end endendSorun olursa bu konu altından yazabilirsin
koltuklar = {-- objeId, x, y, z, rotationX, rotationY, rotationZ--Koltuklar tek sıra halinde olursa yani hepsinin rotasyonları aynı olursa daha iyi olur.--Rotasyonları ayrı ayrı olursa oyuncu koltuğa oturduğunda rotasyonu düz olmayabilir :c-- Aşşağılarda bir yer daha işaretledim. Objenin rotationZ değeri 0 ise o işaretlediğm yer 180 olcak-- 0 dan başka ise kendin deneyerek bulmalısın oraya ne yazılcağını :c{1562, 2308, 582, 7.5, 0, 0, 0},{1562, 2308, 584, 7.5, 0, 0, 0},{1562, 2308, 586, 7.5, 0, 0, 0},{1562, 2310, 582, 7.5, 0, 0, 0},{1562, 2310, 584, 7.5, 0, 0, 0},{1562, 2310, 586, 7.5, 0, 0, 0},}tablo = {}function alanaGirince(giren) if getElementType(giren) == "player" then triggerClientEvent(giren, "addRender", giren, tablo[source].numara) toggleControl(giren, "crouch", false) endendfunction alandanCikinca(cikan) if getElementType(cikan) == "player" then triggerClientEvent(cikan, "removeRender", cikan) toggleControl(cikan, "crouch", true) if tablo[source].oturan == cikan then tablo[alan].oturan = "server" triggerClientEvent(cikan,"herSeyiGizle", cikan, "Gizleme") end endendfor i,v in pairs(koltuklar) do local ID,x,y,z = unpack(v) local koltuk = createObject(ID,x,y,z) local alan = createColSphere(x,y,z, 1.1) tablo[alan] = {} tablo[alan].koltuk = koltuk tablo[alan].numara = i tablo[alan].oturan = "Bos" addEventHandler("onColShapeHit", alan, alanaGirince) addEventHandler("onColShapeLeave", alan, alandanCikinca)endfunction otur(oyuncu) for i,alan in pairs(getElementsByType("colshape", resourceRoot)) do if tablo[alan] then if isElementWithinColShape(oyuncu, alan) then if tablo[alan].oturan == oyuncu then setPedAnimation(oyuncu) tablo[alan].oturan = "Bos" triggerClientEvent(oyuncu,"herSeyiGizle", oyuncu, "Gizleme") executeCommandHandler ( "fp", oyuncu ) return end if tablo[alan].oturan == "Bos" then local x,y,z = getElementPosition(tablo[alan].koltuk) local px,py,pz = getElementPosition(oyuncu) local rx,ry,rz = getElementRotation(oyuncu) setElementPosition(oyuncu, x,y-0.5,z) setElementRotation(oyuncu, rx,ry,180) -- Oyuncu koltuğa oturduğunda oyuncunun rotasyonunu ayarlıyoruz. setPedAnimation( oyuncu, "ped", "SEAT_idle", false, false, false) tablo[alan].oturan = oyuncu tablo[oyuncu] = alan triggerClientEvent(oyuncu,"removeRender", oyuncu) triggerClientEvent(oyuncu,"herSeyiGizle", oyuncu, "Gizle") end end end endendaddEventHandler("onPlayerQuit", root, function() if tablo[oyuncu] then local alan = tablo[oyuncu] if tablo[alan].oturan == source then tablo[alan].oturan = "Bos" end endend)addEventHandler("onResourceStart", resourceRoot, function() for i,v in pairs(getElementsByType("player")) do bindKey(v, "c", "down", otur) end end)addEventHandler("onPlayerJoin", root, function() bindKey(source, "c", "down", otur)end)
usta sen efsanesin helal olsun çok saolasın hakkını helal et
Rica ederim ufak bir değişiklik server.lua kısmında yenisini alırsan daha iyi olur