zRodrigoMM Posted May 19, 2020 Share Posted May 19, 2020 Olá estou com problemas com este script, ele mostra a lista dos carros na garagem como desconhecido e com placa fria, assim não podendo guarda los, não sei dizer se é conflito com os veículos dos empregos, como posso concertar isso ? OBS: SCRIPT PUBLICO. Cliente Side local customCarNames = { {401, "Chevette"}, {405, "GolG4"}, {551, "UnoFire"}, {479, "GolG5"}, {545, "Fusca"}, {585, "Sonata"}, {445, "AudiRS6"}, {415, "FerrariScuderia"}, {586, "TITAN160"}, {522, "S1000"}, } function getVehicleRealName(model) for k, v in ipairs(customCarNames) do if v[1] == model then return v[2] end end return "Desconhecido" end local odimension = getElementDimension(localPlayer) local ointerior = getElementInterior(localPlayer) local screenSize = {guiGetScreenSize()} screenSize.x, screenSize.y = screenSize[1], screenSize[2] local myScreenSource = dxCreateScreenSource(screenSize.x, screenSize.y) function infoSound(file) playSound("files/sounds/"..file..".mp3") end function isCursorHover(startX, startY, sizeX, sizeY) if isCursorShowing() then local cursorPosition = {getCursorPosition()} cursorPosition.x, cursorPosition.y = cursorPosition[1] * screenSize.x, cursorPosition[2] * screenSize.y if cursorPosition.x >= startX and cursorPosition.x <= startX + sizeX and cursorPosition.y >= startY and cursorPosition.y <= startY + sizeY then return true else return false end else return false end end local dashboardOpened = false local dutyskinOpened = false local width, height = 800, 450 local startX, startY = (screenSize.x - width) / 2 , (screenSize.y - height) / 2 local bgColor = tocolor(0, 0, 0, 180) local slotColor = tocolor(40, 40, 40, 200) local hoverColor = tocolor(154, 205, 50, 180) local secondColor = tocolor(154, 205, 50, 180) local cancelColor = tocolor(243, 85, 85, 180) local spacer = 2 local spacerBig = 5 local roboto = dxCreateFont("files/fonts/Roboto.ttf", 8, false, "proof") local robotoBold = dxCreateFont("files/fonts/Roboto.ttf", 10, true, "proof") local robotoBig = dxCreateFont("files/fonts/Roboto.ttf", 11, false, "proof") local robotoBig2 = dxCreateFont("files/fonts/Roboto.ttf", 10, false, "proof") local robotoGui = guiCreateFont("files/fonts/Roboto.ttf", 9) local menuPoints = {{"Propriedade", "property"}} local menuPointsWidth = (width - (#menuPoints - 1) * spacerBig) / #menuPoints local playerInfos = {} local optionsText = {"Ativado"} optionsText[0] = "Desligado" local changeTips = {"Desligar"} changeTips[0] = "Ligar" local vehicleTuningDatas = {{"engine", "Motor"}, {"turbo", "turbo"}, {"gearbox", "projeto de lei"}, {"ecu", "Ecu"}, {"pneus", "goma"}, {"brakes", "freio"}} local vehicleTunings = {"#999999Não", "#acd737Rua", "#ffcc00Profissional", "#ff6600Competição", "#ff1a1aEngrenagem" , "#ff1a1aEngrenagem"} vehicleTunings[0] = "#999999não" local optionsCreateColor = "" local optionsCreateText = "" local maxdistance = 0 local groupMembers = {} local groupVehicles = {} local meInGroup = {} local admins = {} local openedTick = getTickCount() - 2000 parkYerleri = {} park = dxCreateTexture("parking.png") parkYerleri = createMarker(1457.3518066406, -1783.7336425781, 13.546875-0.95, "cylinder", 2, 0, 176, 196, 10 ) parkYerleri2 = createMarker(1925.9207763672,-1857.4606933594,13.90625-0.95, "cylinder", 2, 0, 176, 196, 10 ) parkYerleri3 = createMarker(-2234.9548339844,2357.5026855469,5-0.95, "cylinder", 2, 0, 176, 196, 10 ) parkYerleri4 = createMarker(1782.6097412109,-1098.3834228516,24.078125-0.95, "cylinder", 2, 0, 176, 196, 10 ) parkYerleri5 = createMarker(2544.34, 2880.475, 104.769-0.95, "cylinder", 2, 0, 176, 196, 10 ) parkYerleri6 = createMarker(2133.725, 1441.048, 10.82-0.95, "cylinder", 2, 0, 176, 196, 10 ) local myBlip = createBlipAttachedTo ( parkYerleri, 55 ) local myBlip2 = createBlipAttachedTo ( parkYerleri2, 55 ) local myBlip3 = createBlipAttachedTo ( parkYerleri3, 55 ) local myBlip4 = createBlipAttachedTo ( parkYerleri4, 55 ) local myBlip5 = createBlipAttachedTo ( parkYerleri5, 55 ) local myBlip6 = createBlipAttachedTo ( parkYerleri6, 55 ) function parkYeri() _3DResim(parkYerleri,park); _3DResim(parkYerleri2,park); _3DResim(parkYerleri3,park); _3DResim(parkYerleri4,park); _3DResim(parkYerleri5,park); _3DResim(parkYerleri6,park); end addEventHandler("onClientRender", getRootElement(), parkYeri) addEventHandler( "onClientMarkerHit", parkYerleri6, function ( hitElement, matchingDimension ) if getElementType(hitElement) == "player" and (hitElement == localPlayer) then currentPage = 1 dashboardOpened = true openedTick = getTickCount() getMyVehicles() maxVehicleRows = 9 currentVehicleRow = 1 lastVehicleRow = 1 selectedVehicle = 1 end end ) addEventHandler( "onClientMarkerLeave", parkYerleri6, function ( hitElement, matchingDimension ) if getElementType(hitElement) == "player" and (hitElement == localPlayer) then dashboardOpened = false end end ) addEventHandler( "onClientMarkerHit", parkYerleri5, function ( hitElement, matchingDimension ) if getElementType(hitElement) == "player" and (hitElement == localPlayer) then currentPage = 1 dashboardOpened = true openedTick = getTickCount() getMyVehicles() maxVehicleRows = 9 currentVehicleRow = 1 lastVehicleRow = 1 selectedVehicle = 1 end end ) addEventHandler( "onClientMarkerLeave", parkYerleri5, function ( hitElement, matchingDimension ) if getElementType(hitElement) == "player" and (hitElement == localPlayer) then dashboardOpened = false end end ) addEventHandler( "onClientMarkerHit", parkYerleri4, function ( hitElement, matchingDimension ) if getElementType(hitElement) == "player" and (hitElement == localPlayer) then currentPage = 1 dashboardOpened = true openedTick = getTickCount() getMyVehicles() maxVehicleRows = 9 currentVehicleRow = 1 lastVehicleRow = 1 selectedVehicle = 1 end end ) addEventHandler( "onClientMarkerLeave", parkYerleri4, function ( hitElement, matchingDimension ) if getElementType(hitElement) == "player" and (hitElement == localPlayer) then dashboardOpened = false end end ) addEventHandler( "onClientMarkerHit", parkYerleri3, function ( hitElement, matchingDimension ) if getElementType(hitElement) == "player" and (hitElement == localPlayer) then currentPage = 1 dashboardOpened = true openedTick = getTickCount() getMyVehicles() maxVehicleRows = 9 currentVehicleRow = 1 lastVehicleRow = 1 selectedVehicle = 1 end end ) addEventHandler( "onClientMarkerLeave", parkYerleri3, function ( hitElement, matchingDimension ) if getElementType(hitElement) == "player" and (hitElement == localPlayer) then dashboardOpened = false end end ) addEventHandler( "onClientMarkerHit", parkYerleri2, function ( hitElement, matchingDimension ) if getElementType(hitElement) == "player" and (hitElement == localPlayer) then currentPage = 1 dashboardOpened = true openedTick = getTickCount() getMyVehicles() maxVehicleRows = 9 currentVehicleRow = 1 lastVehicleRow = 1 selectedVehicle = 1 end end ) addEventHandler( "onClientMarkerLeave", parkYerleri2, function ( hitElement, matchingDimension ) if getElementType(hitElement) == "player" and (hitElement == localPlayer) then dashboardOpened = false end end ) addEventHandler( "onClientMarkerHit", parkYerleri, function ( hitElement, matchingDimension ) if getElementType(hitElement) == "player" and (hitElement == localPlayer) then currentPage = 1 dashboardOpened = true openedTick = getTickCount() getMyVehicles() maxVehicleRows = 9 currentVehicleRow = 1 lastVehicleRow = 1 selectedVehicle = 1 end end ) addEventHandler( "onClientMarkerLeave", parkYerleri, function ( hitElement, matchingDimension ) if getElementType(hitElement) == "player" and (hitElement == localPlayer) then dashboardOpened = false end end ) addEventHandler("onClientDoubleClick", root, function(button) if button == "left" and dashboardOpened and currentPage == 1 then local selectedVehicleToGps = false lastVehicleRow = currentVehicleRow + maxVehicleRows - 1 for key, value in ipairs(myVehicles) do if key >= currentVehicleRow and key <= lastVehicleRow then key = key - currentVehicleRow + 1 local forY = startY + 2 * spacerBig + 30 + spacer + (key - 1) * 22 if isCursorHover(startX + 2 * spacerBig + spacer, forY, width / 2 - 4 * spacerBig - 2 * spacer, 20) then selectedVehicleToGps = key + currentVehicleRow - 1 end end end if tonumber(selectedVehicleToGps) then triggerServerEvent("updateINTDIM2", localPlayer, getElementData(myVehicles[selectedVehicleToGps], "ID")) gpsVehicle("gps", getElementData(myVehicles[selectedVehicleToGps], "ID")) end end end ) function gpsVehicle(commandName, vehicleId) if not vehicleId then outputChatBox("#9ACD32[BOT] #ffffffVocê não pode guardar um veículo com placa fria.",0,0,0,true) return end if vehicleId then for index, value in ipairs (getElementsByType("vehicle")) do if getElementData(value, "ID") == tonumber(vehicleId) then if not getElementData(value, "ownercar") == getElementData(localPlayer, "ID") then outputChatBox("#9ACD32[BOT] #ffffffVocê não é o dono do veículo!",0,0,0,true) return end local counter = 0 for seat, player in pairs(getVehicleOccupants(value)) do counter = counter + 1 end if counter > 0 then outputChatBox("#9ACD32[BOT] #ffffffNão pode guardar com um ocupante.",0,0,0,true) return end if (getElementDimension(value) == 0) then setElementData(value,"veiculo.garagem", true) triggerServerEvent("guardar", localPlayer, vehicleId) return end if (getElementData(value, "detranAP")) then outputChatBox("#9ACD32[BOT] #ffffffSeu veiculo está no detran!",0,0,0,true) triggerServerEvent("updateINTDIM22", localPlayer, vehicleId) else triggerServerEvent("updateINTDIM2", localPlayer, vehicleId) outputChatBox("#9ACD32[BOT] #ffffffVeiculo retirado.",0,0,0,true) setElementData(value,"veiculo.garagem", false) end end end end end addEventHandler("onClientKey", root, function(button, pressed) if pressed and getElementData(localPlayer, "CharLoggedIn") then --if button == "F4" then --changeState() --cancelEvent() --end if dashboardOpened then if currentPage == 1 then if isCursorHover(startX + 2 * spacerBig, startY + 2 * spacerBig + 30, width / 2 - 4 * spacerBig, maxVehicleRows * 22 + spacer) then if button == "mouse_wheel_down" then if currentVehicleRow < #myVehicles - (maxVehicleRows - 1) then currentVehicleRow = currentVehicleRow + 1 end elseif button == "mouse_wheel_up" then if currentVehicleRow > 1 then currentVehicleRow = currentVehicleRow - 1 end elseif button == "mouse1" then lastVehicleRow = currentVehicleRow + maxVehicleRows - 1 for key, value in ipairs(myVehicles) do if key >= currentVehicleRow and key <= lastVehicleRow then key = key - currentVehicleRow + 1 local forY = startY + 2 * spacerBig + 30 + spacer + (key - 1) * 22 if isCursorHover(startX + 2 * spacerBig + spacer, forY, width / 2 - 4 * spacerBig - 2 * spacer, 20) then selectedVehicle = key + currentVehicleRow - 1 end end end end end end end end end ) addEventHandler("onClientElementDataChange", root, function(dataName, oldValue) if source and getElementType(source) == "player" then if source == localPlayer then if dataName == "char:vehSlot" then getMyVehicles() end end end end) function thousandsStepper(amount) local formatted = amount while true do formatted, k = string.gsub(formatted, "^(-?%d+)(%d%d%d)", '%1 %2') if k == 0 then break end end return formatted end function getMyVehicles() myVehicles = {} for key, value in ipairs(getElementsByType("vehicle")) do if value then table.insert(myVehicles, value) end end vehicleInfos = {"Garagem"} vehicleInfos2 = {"Clique duas vezes no veiculo para retirar/guardar"} end addEventHandler("onClientRender", root, function() if dashboardOpened then --if isChatVisible() then showChat(false) end if getElementData(localPlayer, "toggle-->All") then setElementData(localPlayer, "toggle-->All", false) end --dxDrawRectangle(startX, startY, width, height, bgColor) if currentPage == 1 then --- Vehicles local sizeX = ((width / 2 - 4 * spacerBig) - 2 * spacerBig) / 3 local key = 0 dxDrawText(vehicleInfos[key + 1], startX + 55 * spacerBig + key * (sizeX + spacerBig), startY + 5 * spacerBig, startX + 2 * spacerBig + key * (sizeX + spacerBig) + sizeX, startY + 2 * spacerBig + 30 - spacerBig, tocolor(255, 255, 255), 1, robotoBig, "center", "center") dxDrawText(vehicleInfos2[key + 1], startX + 55 * spacerBig + key * (sizeX + spacerBig), startY + 94 * spacerBig, startX + 2 * spacerBig + key * (sizeX + spacerBig) + sizeX, startY + 2 * spacerBig + 30 - spacerBig, tocolor(255, 255, 255), 1, robotoBig2, "center", "center") dxDrawRectangle(startX + 2 * spacerBig, startY + 2 * spacerBig + 30, width / 2 - 4 * spacerBig, maxVehicleRows * 22 + spacer, bgColor) if #myVehicles > 0 then for key = 0, maxVehicleRows - 1 do local forY = startY + 2 * spacerBig + 30 + spacer + key * 22 dxDrawRectangle(startX + 2 * spacerBig + spacer, forY, width / 2 - 4 * spacerBig - 2 * spacer, 20, slotColor) if isCursorHover(startX + 2 * spacerBig + spacer, forY, width / 2 - 4 * spacerBig - 2 * spacer, 20) or key == selectedVehicle - currentVehicleRow then dxDrawRectangle(startX + 2 * spacerBig + spacer, forY, width / 2 - 4 * spacerBig - 2 * spacer, 20, hoverColor) end end lastVehicleRow = currentVehicleRow + maxVehicleRows - 1 for key, value in ipairs(myVehicles) do if key >= currentVehicleRow and key <= lastVehicleRow then key = key - currentVehicleRow + 1 local forY = startY + 2 * spacerBig + 30 + spacer + (key - 1) * 22 local statusv = getElementData(localPlayer,"veiculo.garagem", true) local modelo = getElementModel(value) dxDrawText(getVehicleRealName(modelo), startX + 3 * spacerBig + spacer, forY, startX + 3 * spacerBig + spacer + width / 2 - 4 * spacerBig - 2 * spacer, forY + 20, tocolor(255, 255, 255), 1, roboto, "left", "center") dxDrawText("Status: "..math.floor(getElementHealth(value) / 10 + 0.5).."%", startX + 2 * spacerBig + spacer, forY, startX + 2 * spacerBig + spacer + width / 2 - 5 * spacerBig - 2 * spacer, forY + 20, tocolor(255, 255, 255), 1, roboto, "right", "center") if isCursorHover(startX + 2 * spacerBig + spacer, forY, width / 2 - 4 * spacerBig - 2 * spacer, 20) or key == selectedVehicle - currentVehicleRow + 1 then dxDrawText(getVehicleRealName(modelo), startX + 3 * spacerBig + spacer, forY, startX + 3 * spacerBig + spacer + width / 2 - 4 * spacerBig - 2 * spacer, forY + 20, tocolor(0, 0, 0), 1, roboto, "left", "center") dxDrawText("Status: "..math.floor(getElementHealth(value) / 10 + 0.5).."%", startX + 2 * spacerBig + spacer, forY, startX + 2 * spacerBig + spacer + width / 2 - 5 * spacerBig - 2 * spacer, forY + 20, tocolor(0, 0, 0), 1, roboto, "right", "center") end end end else dxDrawText("Nenhum veiculo", startX + 2 * spacerBig + spacerBig, startY + 2 * spacerBig + 30, startX + 2 * spacerBig + spacerBig + width / 2 - 4 * spacerBig, startY + 2 * spacerBig + 30 + maxVehicleRows * 22 + spacer, cancelColor, 1, robotoBig, "center", "center") end local rightSx = startX + 390 + 4 * spacerBig end end end) function dxDrawButton(text, startX, startY, width, height, color) dxDrawRectangle(startX - 1, startY, 1, height, bgColor) --left dxDrawRectangle(startX + width, startY, 1, height, bgColor) --right dxDrawRectangle(startX - 1, startY - 1, width + 2, 1, bgColor) --top dxDrawRectangle(startX - 1, startY + height, width + 2, 1, bgColor) --bottom dxDrawRectangle(startX, startY, width, height, color) dxDrawText(text, startX, startY, startX + width, startY + height, tocolor(255, 255, 255), 1, roboto, "center", "center", false, false, false, true) end function dxDrawEdit(startX, startY, width, height, element) dxDrawRectangle(startX - 1, startY, 1, height, bgColor) --left dxDrawRectangle(startX + width, startY, 1, height, bgColor) --right dxDrawRectangle(startX - 1, startY - 1, width + 2, 1, bgColor) --top dxDrawRectangle(startX - 1, startY + height, width + 2, 1, bgColor) --bottom dxDrawRectangle(startX, startY, width, height, slotColor) dxDrawText(guiGetText(element), startX + 4, startY, startX + width, startY + height, tocolor(255, 255, 255), 1, roboto, "left", "center") end function _3DResim(TheElement,Image,distance,height,width,R,G,B,alpha) local x, y, z = getElementPosition(TheElement) local x2, y2, z2 = getElementPosition(localPlayer) local distance = distance or 20 local height = height or 2 local width = width or 1 local checkBuildings = checkBuildings or true local checkVehicles = checkVehicles or false local checkPeds = checkPeds or false local checkObjects = checkObjects or true local checkDummies = checkDummies or true local seeThroughStuff = seeThroughStuff or false local ignoreSomeObjectsForCamera = ignoreSomeObjectsForCamera or false local ignoredElement = ignoredElement or nil if (isLineOfSightClear(x, y, z, x2, y2, z2, checkBuildings, checkVehicles, checkPeds , checkObjects,checkDummies,seeThroughStuff,ignoreSomeObjectsForCamera,ignoredElement)) then local sx, sy = getScreenFromWorldPosition(x, y, z+height) if(sx) and (sy) then local distanceBetweenPoints = getDistanceBetweenPoints3D(x, y, z, x2, y2, z2) if(distanceBetweenPoints < distance) then dxDrawMaterialLine3D(x, y, z+1+height-(distanceBetweenPoints/distance), x, y, z+height, Image, width-(distanceBetweenPoints/distance), tocolor(R or 255, G or 255, B or 255, alpha or 255)) end end end end function dxDrawOctagon3D(x, y, z, radius, width, color) if type(x) ~= "number" or type(y) ~= "number" or type(z) ~= "number" then return false end local radius = radius or 1 local radius2 = radius/math.sqrt(2) local width = width or 1 local color = color or tocolor(255,255,255,150) point = {} for i=1,8 do point[i] = {} end point[1].x = x point[1].y = y-radius point[2].x = x+radius2 point[2].y = y-radius2 point[3].x = x+radius point[3].y = y point[4].x = x+radius2 point[4].y = y+radius2 point[5].x = x point[5].y = y+radius point[6].x = x-radius2 point[6].y = y+radius2 point[7].x = x-radius point[7].y = y point[8].x = x-radius2 point[8].y = y-radius2 for i=1,8 do if i ~= 8 then x, y, z, x2, y2, z2 = point[i].x,point[i].y,z,point[i+1].x,point[i+1].y,z else x, y, z, x2, y2, z2 = point[i].x,point[i].y,z,point[1].x,point[1].y,z end dxDrawLine3D(x, y, z, x2, y2, z2, color, width) end return true end Link to comment
HiroShi Posted May 23, 2020 Share Posted May 23, 2020 você deve registrar os carros na tabela: customCarNames Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now