Otavio
Members-
Posts
28 -
Joined
-
Last visited
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
Otavio's Achievements
Advanced Member (8/54)
5
Reputation
-
Olá estoua qui de novo, tentei fazer a database da Quilometragem por quaisquer jeito, preciso de ajudar, a como posso fazer uma mudança que possa fazer funcionar, consegui fazer isso de lógico: SERVER SIDE function RespawnHRT(veh) if source == localPlayer then local id = getElementData(veh, "ID") local KMRodeds = executeSQLQuery ("SELECT KMRodados FROM KMCarros WHERE IDCarro=?", id) driveDistance = getElementData(veh, "driveDistance") setElementData(veh, "driveDistance", KMRodeds) end end addEvent("InfoKilometragem", true) addEventHandler("InfoKilometragem", getRootElement(), RespawnHRT) function SpawnHRT(veh) if source == localPlayer then driveDistance = getElementData(veh, "driveDistance") local id = getElementData(veh, "ID") if getElementData(veh, "driveDistance") > 0 then executeSQLQuery ("INSERT INTO KMCarros(IDCarro TEXT, KMRodados INTEGER) VALUES(?,?,?)", id, driveDistance) else executeSQLQuery ("UPDATE KMCarro SET KMRodados=? WHERE IDCarro=?", driveDistance, id) end end addEvent("SetarKM", true) addEventHandler("SetarKM", getRootElement(), SpawnHRT) CLIENT SIDE local font1 = dxCreateFont("files/RobotoCondensed.ttf", 35) local SizeX, SizeY = guiGetScreenSize() local px,py = 1920,1080 local x,y = (SizeX/px), (SizeY/py) function speedometrs () if getElementData(getLocalPlayer(), "hud") == true then return end local veh = getPedOccupiedVehicle(getLocalPlayer()) if not veh or getVehicleOccupant ( veh ) ~= localPlayer then return true end if not driveDistance then lastTick = getTickCount() driveDistance = getElementData(veh, "driveDistance") or 0 end local neux, neuy, neuz = getElementPosition(veh) dxDrawText("Quilometragem "..tostring(math.round(driveDistance),1).." км",SizeX,SizeY - 100, SizeX - 380,SizeY, tocolor(255,255,255,180), 0.5,0.5, font1,"center","center") if not altx or not alty or not altz then altx, alty, altz=getElementPosition(veh) end local driveTotal = getDistanceBetweenPoints3D(neux,neuy,neuz,altx,alty,altz) driveTotal = driveTotal/1000 altx,alty,altz=neux,neuy,neuz driveDistance = math.round(driveDistance+driveTotal,3) if lastTick+5000 < getTickCount() then lastTick = getTickCount() setElementData(veh, "driveDistance", driveDistance) triggerServerEvent(SetarKM, veh) end end addEventHandler("onClientRender", root, speedometrs) addEventHandler("SetarKM", getRootElement(), speedometrs) function math.round(number, decimals, method) decimals = decimals or 0 local factor = 10 ^ decimals if (method == "ceil" or method == "floor") then return math[method](number * factor) / factor else return tonumber(("%."..decimals.."f"):format(number)) end end function EnterVehicleHRT(veh,seat) if source == localPlayer then altx, alty, altz=getElementPosition(veh) lastTick = getTickCount() driveDistance = getElementData(veh, "driveDistance") triggerServerEvent(InfoKilometragem, veh) end end addEventHandler("onClientPlayerVehicleEnter",getRootElement(), EnterVehicleHRT)
-
Script venda de drogas com painel [Ajuda dxprogressbar]
Otavio replied to Mopped's topic in Programação em Lua
@ninjaop777Aqui e discussao para a producao de script... -
Atualizei o meu script usando a um dos Banco de Dados explicados por Lord Henry, porem desta forma tambem nao esta salvando a quilometragem addEventHandler("onClientPlayerVehicleEnter",getRootElement(),function(veh,seat) if source == localPlayer then altx, alty, altz=getElementPosition(veh) lastTick = getTickCount() local KMRodeds = executeSQLQuery ("SELECT KMRodados FROM KMCarros WHERE IDCarro=?", id) local id = getElementData(veh, "ID") setElementData(veh, "driveDistance", KMRodeds) driveDistance = getElementData(veh, "driveDistance") end end) addEventHandler("onClientPlayerVehicleExit",getRootElement(),function(veh,seat) if source == localPlayer then driveDistance = getElementData(veh, "driveDistance") local id = getElementData(veh, "ID") executeSQLQuery ("INSERT INTO KMCarros(IDCarro TEXT, KMRodados INTEGER) VALUES(?,?,?)", id, driveDistance) executeSQLQuery ("UPDATE KMCarro SET KMRodados=? WHERE IDCarro=?", driveDistance, id) end end)
-
Ola, achei um script de quilometragem em um site russo, porem ele nao salva tentei fazer algo, usando outros scripts, pois eh minha primeira vez, e estou usando database pela primeira vez, vou deixar meu script aqui, pra voces me ajudarem como arrumar e toda vez que o veiculo for spawnado ou alguem entrar, ganhar o KM Rodado dele novamente! addEventHandler("onResourceStart", resourceRoot, function() db = dbConnect("sqlite", "database.db") dbExec(db, "CREATE TABLE IF NOT EXISTS VehicleKM (ID, Model, KM)") for i, player in ipairs(getElementsByType("player")) do updateVehicleInfo(player) end end) addEventHandler("onVehicleEnter", getRootElement() function() local theVehicle = getPedOccupiedVehicle(source) local id = getElementData(theVehicle, "ID") local KM = getElementData(theVehicle, "driveDistance") local Model = getElementModel(theVehicle) dbExec(db, "UPDATE VehicleList WHERE ID = ? AND Model = ? AND KM = ?", id, Model, KM) end addEventHandler("onVehicleExit", getRootElement() function() local theVehicle = getPedOccupiedVehicle(source) local id = getElementData(theVehicle, "ID") local KM = getElementData(theVehicle, "driveDistance") local Model = getElementModel(theVehicle) dbExec(db, "UPDATE VehicleList WHERE ID = ? AND Model = ? AND KM = ?", id, Model, KM) end Server-Side function speedometrs () if getElementData(getLocalPlayer(), "hud") == true then return end local veh = getPedOccupiedVehicle(getLocalPlayer()) if not veh or getVehicleOccupant ( veh ) ~= localPlayer then return true end if not driveDistance then lastTick = getTickCount() driveDistance = getElementData(veh, "driveDistance") or 0 end local neux, neuy, neuz = getElementPosition(veh) dxDrawText("Quilometragem "..tostring(math.round(driveDistance),1).." км",SizeX,SizeY - 100, SizeX - 380,SizeY, tocolor(255,255,255,180), 0.5,0.5, font1,"center","center") if not altx or not alty or not altz then altx, alty, altz=getElementPosition(veh) end local driveTotal = getDistanceBetweenPoints3D(neux,neuy,neuz,altx,alty,altz) driveTotal = driveTotal/1000 altx,alty,altz=neux,neuy,neuz driveDistance = math.round(driveDistance+driveTotal,3) if lastTick+5000 < getTickCount() then lastTick = getTickCount() setElementData(veh, "driveDistance", driveDistance) end end addEventHandler("onClientRender", root, speedometrs) Client-Side Eu tentei fazer porem nao consegui
-
Voce deve realizar essa funcao no server! Usa-se este evento no server( onVehicleStartExit ) , nao use onVehicleExit, pois nao ira destruir o veiculo, pois o player ja estara fora dele! eu fiz um script parecido para meu servidor esses dias, que ficou desta forma function AclParaCadaCarro(source) local seat = getPedOccupiedVehicleSeat(source) local Veiculo = getPedOccupiedVehicle(source) local Conta = getAccountName(getPlayerAccount(source)) if getElementModel(Veiculo) == 416 and not isObjectInACLGroup( "user."..Conta, aclGetGroup ("SAMU")) and seat == 0 then local x, y, z = getElementPosition(Veiculo) removePedFromVehicle(source, Veiculo) setElementPosition(source, x+4, y, z) end end addEventHandler("onVehicleEnter", getRootElement(), AclParaCadaCarro) --[[ Server-Side ]]
-
Voce basicamente so teria que adicionar () ao lado da funcao caso n tenha nenhum orientador! function Entregar_Sucata() Ficando desta forma.
- 1 reply
-
- 1
-
Sincronizar HUD com sistemas de fome/sede/sono/Banco
Otavio replied to Saulolno's topic in Programação em Lua
@Saulolno voce nao precisava trocar de script para a Hud dar certo, basicamente, voce teria que acessar o script de fome e sede e coletar a informacao de getElementData("Fome ou Sede"). E por no getElementData da Hud basicamente. -
Agradeço, porem voce so me deu o script pronto, aonde foi o erro que eu tive? E ainda nao esta funcionando, e apartir do triggerEvent deu mais um erro: "Bad Argument TriggerEvent at argument 2 got nil" Vou deixar aqui outras partes do script que se relacionam com essa funcao caso mais alguem queira me ajudar! --[[ Client-Side ]] function ObjetosDaLoja(_,state) if RelatividadeAgencia == true then if state == "down" then --[Gerente]-- if isCursorOnElement(x*470, y*357, x*160, y*25) then triggerServerEvent("CandidatarEmpregoGerente", source) FecharAgenciaEmpregos() setElementData(source, "Emprego", false) end end end end addEventHandler("onClientClick", getRootElement(), ObjetosDaLoja) O mesmo erro do getElementData ainda ocorre Checkei o Meta e esta Ok <meta> <script src="Client.lua" type="client"/> <script src="Ped.lua" type="client"/> <script src="Server.lua" type="server"/> <script src="GerenteTrab/server.lua" type="server" cache="false"/> <script src="GerenteTrab/client.lua" type="client" cache="false"/> <file src="Arquivos/painel.png" cache="false"/> <file src="Arquivos/perguntas.png" cache="false"/> <file src="Arquivos/respostaA.png" cache="false"/> <file src="Arquivos/respostaB.png" cache="false"/> <file src="Arquivos/respostaC.png" cache="false"/> <file src="Arquivos/respostaD.png" cache="false"/> <file src="Arquivos/agenciaA.png" cache="false"/> <file src="Arquivos/agenciaB.png" cache="false"/> <file src="Arquivos/agenciaC.png" cache="false"/> <file src="Arquivos/agenciaD.png" cache="false"/> <file src="font/abigdeal.ttf" cache="false" /> </meta>
-
Ola, estou criando uma nova agencia de empregos, porem preciso checar se a pessoa esta no level 50, o erro eh o seguinte: Bad argument @ 'getelementdata' [expected element at argument 1, got nil] function CandidatarEmpregoGerente(source, Level) local Level = getElementData(source, "Level") or 0 if Level >= 50 then triggerClientEvent(source, "PerguntasGerente", getRootElement()) setElementData(source, "QuestaoAGENCIA", 1) setElementData(source, "Resposta", nil) end end addEvent("CandidatarEmpregoGerente", true) addEventHandler("CandidatarEmpregoGerente", getRootElement(), CandidatarEmpregoGerente) Nao sei oq fazer para arrumar se puderem me ajudar
-
Eu adicionei porém não foi Agora foi amigo, agradeço demais por ter me ajudado!!
-
Ainda não possui nenhum valor Linha 35 do script que você me mandou Attempt to call global 'showtime' (a nil value)
-
Coloquei a baixo da função porém não foi function showtime() local time = getRealTime() local hours = time.hour local minutes = time.minute local seconds = time.second if (hours < 10) then hours = "0"..hours end if (minutes < 10) then minutes = "0"..minutes end if (seconds < 10) then seconds = "0"..seconds end return hours..":"..minutes..":"..seconds end function ptriniciar(thePlayer, cmd, state) local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Policial" ) ) then if (state == "iniciar" or state == "finalizar") then -- Verifica se o comando é seguido por um parâmetro válido. local nameOfPerson = getPlayerName (thePlayer) -- Obtém o nick de quem executou o comando. local horario = showTime() if (fileExists ("logPTR.txt")) then -- Se já existe um arquivo de texto com este nome neste resource, então: newFile = fileOpen ("logPTR.txt") -- Abre o arquivo para poder editá-lo. fileSetPos (newFile, fileGetSize (newFile)) -- Coloca o cursor de escrita no fim do arquivo, caso contrário ele vai começar a escrever no começo dele, antes do que já estiver escrito no arquivo. if (state == "iniciar") then -- Se o parâmetro que o jogador usou após o comando foi "iniciar" então: outputChatBox ("Patrulha iniciada.", thePlayer) -- Apenas pra saber q o comando funcionou, normalmente teria as verificações antes de permissões e se já está em patrulha. fileWrite (newFile, "["..horario.."] "..nameOfPerson.." Iniciou sua patrulha.\n") -- Escreve isso no documento. O \n pula para a linha seguinte após a mensagem. elseif (state == "finalizar") then outputChatBox ("Patrulha finalizada.", thePlayer) fileWrite (newFile, "["..horario.."] "..nameOfPerson.." Finalizou sua patrulha.\n") end fileClose (newFile) -- Para todo fileOpen ou fileCreate, é necessário um fileClose pois enquanto arquivos estiverem abertos, eles podem ser corrompidos e os dados serão perdidos. else -- Se o arquivo ainda não existe, então: newFile = fileCreate ("logPTR.txt") -- Cria o arquivo de texto dentro deste resource e abre ele. (se já existisse um arquivo com esse nome, substituiria por um novo em branco) if (newFile) then -- Se conseguiu criar o arquivo, então: (as vezes pode dar erro de permissão no servidor, então use isso para evitar erros.) fileSetPos (newFile, fileGetSize (newFile)) if (state == "iniciar") then outputChatBox ("Patrulha iniciada.", thePlayer) fileWrite (newFile, "["..horario.."] "..nameOfPerson.." Iniciou sua patrulha.\n") elseif (state == "finalizar") then outputChatBox ("Patrulha finalizada.", thePlayer) fileWrite (newFile, "["..horario.."] "..nameOfPerson.." Finalizou sua patrulha.\n") end fileClose (newFile) else -- Se não conseguiu criar o arquivo, então: debug ("ERRO: Impossivel criar arquivo 'logPTR.txt' no servidor.") end end else -- Se não usou nenhum parâmetro após o comando ou então usou um parâmetro incorreto, então: outputChatBox ("Sintaxe: /ptr <iniciar / finalizar>", thePlayer, 255, 255, 0) end end end addCommandHandler("ptr", ptriniciar)
-
Olá, estou mais uma vez aqui para alguém poder me ajudar, Lord Henry como sempre humilde me ajudou com um script, e eu fiz umas mudanças nele porém ele está com erro e queria uma ajuda1 o erro é: "attempt to call global 'showTime' (a nil value)" Está é a linha que possui o erro: local horario = showTime() E esté é o valor que eu dei para showTime: function showtime() local time = getRealTime() local hours = time.hour local minutes = time.minute local seconds = time.second if (hours < 10) then hours = "0"..hours end if (minutes < 10) then minutes = "0"..minutes end if (seconds < 10) then seconds = "0"..seconds end return hours..":"..minutes..":"..seconds end
-
addCommandHandler ("ptr", getRootElement(), ptriniciar12) function ptriniciar12(thePlayer, cmd, state) local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Policial" ) ) then if (state == "iniciar" or state == "finalizar") then name = getPlayerName (thePlayer) local horario = showTime() if (fileExists ("logPTR.txt")) then newFile = fileOpen ("logPTR.txt") fileSetPos (newFile, fileGetSize (newFile)) if (state == "iniciar") then outputChatBox ("Patrulha iniciada.", thePlayer) fileWrite (newFile, "["..horario.."] "name.." Iniciou sua patrulha.\n") -- linha do problema Este é meu script porém ele da este erro: config.lua:13 ')' expected near 'name'