Jump to content

Lord Henry

Other Languages Moderators
  • Posts

    3,991
  • Joined

  • Last visited

  • Days Won

    183

Everything posted by Lord Henry

  1. Pq sua linha 10 é igual a linha 24? Cadê a parte do painel?
  2. Na linha 120, faça isso: local formatted = number or 0
  3. Como funciona essa função getVehicleByID? Ela usa elementData?
  4. Provavelmente este outro servidor tem algum resource entrando em conflito com este.
  5. Ah, vc n sabe depurar... Vc coloca ANTES de cada condição. E não no final delas. function teste () outputChatBox ("01") if (condition) then outputChatBox ("02") if (other) then outputChatBox ("03") -- Código end end end Se no chat sair: 01 02 Você descobre que há problema na condição do (other). Pois não passou por ele.
  6. Na próxima vez, utilize a busca do fórum:
  7. Depure o código colocando vários outputChatBox com mensagens diferentes pelo código pra saber quais partes ele está executando e quais não estão.
  8. Que bom que resolveu sozinho seu problema. Pros que não entenderam, é só colocar a rotação do personagem direto ao criar ele, depois daquele 1003.3
  9. Só com isso já resolve seu problema: local myMarker = createMarker (2278.89, -1306.32, 24, "cylinder", 2, 255, 0, 0, 150) -- Cria o marker. function removerArmas (hitElement) if (hitElement and getElementType (hitElement) == "Player") then -- Se o elemento que colidiu no marker for um jogador, então: takeAllWeapons (hitElement) -- Remove todas as armas deste jogador. outputChatBox ("Armas removidas", hitElement, 255, 255, 255) -- Envia isso no chat dele. end end addEventHandler ("onMarkerHit", myMarker, removerArmas) -- Ativa essa função quando qualquer elemento colidir no marker myMarker.
  10. Sim, ele funciona como um setElementData. Só que é permanente. Você salva um valor qualquer em uma chave (string) qualquer. setAccountData (conta, "nomeDoDado", valor) Obs: Você não pode salvar vários valores no mesmo nome. Se fizer isso, ele vai substituir o valor que já está guardado com esse nome. Obs2: conta não é uma string e nem o login do jogador, você pode obtê-la do jogador com getPlayerAccount. Obs3: valor pode ser quase qualquer coisa: um número inteiro, número real, string, elemento.
  11. @Matheus Nascimento utilize o botão <> do fórum para postar códigos. Não cole direto no texto utilizando formatações.
  12. Que bom que arrumou. Deixe um Thanks nos comentários que lhe ajudaram como agradecimento.
  13. Está certa essa parte. Qual erro aparece no debugscript?
  14. Salve os dados na conta do jogador quando ele sair do server. setAccountData onPlayerQuit Carregue os dados novamente para o servidor quando ele logar no server getAccountData onPlayerLogin
  15. Tudo que eu deixei como comentário, não faz sentido. (exceto o dxDrawImage que eu tirei pois eu não tinha a imagem)
  16. Faça assim: detran = { -- x, y, z, ocupado [1] = {746.4, -1334.81, 13.54, false}, -- Esta coordenada está no seu script. [2] = {245.45, -1002.78, 12.5, false}, -- Esta coordenada eu inventei. } addEvent("WarpMyVehicle", true) addEventHandler("WarpMyVehicle", root, function(id) if not isPedInVehicle (source) then if getElementInterior(source) == 0 then if getPlayerMoney(source) >= tonumber(1000) then local vehicle = getVehicleByID(id) if isElement(vehicle) then for i, vaga in ipairs (detran) do -- Para cada vaga, faça: local x, y, z, status = unpack (vaga) -- x, y, z são as coordenadas pra onde teleportar o veículo. if not status then -- Se a vaga está desocupada, então: vaga[4] = vehicle takePlayerMoney (source, 1000) setElementPosition (vehicle, x, y, z) outputMessage ("#c1c1c1O seu veiculo #00FF66"..(customCarNames[getElementModel(vehicle)] or getVehicleNameFromModel(getElementModel(vehicle))).." #c1c1c1foi entregue ao Detran.", source, 38, 122, 216, true) return end end else outputMessage ("#c1c1c1O seu veiculo não está spawnado.", source, 38, 122, 216, true) end else outputMessage ("#c1c1c1Você não tem os meios de se teletransportar para o veiculo.", source, 38, 122, 216, true) end else outputMessage ("#c1c1c1Você só poderá mudar de veiculo se sair do atual.", source, 38, 122, 216, true) end else outputMessage ("#c1c1c1Nós não podemos dirigir seu veiculo. Por favor, sair do outro veiculo.", source, 38, 122, 216, true) end end) addEvent("RecoverMyVehicle", true) addEventHandler("RecoverMyVehicle", root, function(id) if not isPedInVehicle (source) then if getElementInterior(source) == 0 then if getPlayerMoney(source) >= tonumber(1000) then local vehicle = getVehicleByID(id) if isElement(vehicle) then for i, vaga in ipairs (detran) do -- Para cada vaga, faça: local x, y, z, status = unpack (vaga) -- x, y, z são as coordenadas pra onde teleportar o veículo. if status then -- Se a vaga está ocupada, então: if (status == vehicle) then -- Se a vaga está ocupada pelo veículo correto, então: vaga[4] = false takePlayerMoney (source, 1000) warpPedIntoVehicle (source, vehicle) outputMessage ("#c1c1c1O você recuperou seu veiculo #00FF66"..(customCarNames[getElementModel(vehicle)] or getVehicleNameFromModel(getElementModel(vehicle))), source, 38, 122, 216, true) return end end end else outputMessage ("#c1c1c1O seu veiculo não está spawnado.", source, 38, 122, 216, true) end else outputMessage ("#c1c1c1Você não tem os meios de se teletransportar para o veiculo.", source, 38, 122, 216, true) end else outputMessage ("#c1c1c1Você só poderá mudar de veiculo se sair do atual.", source, 38, 122, 216, true) end else outputMessage ("#c1c1c1Nós não podemos dirigir seu veiculo. Por favor, sair do outro veiculo.", source, 38, 122, 216, true) end end)
  17. Sim, eu entendi como funciona o seu script. Inclusive fiz ele aparecer aqui. Mas tive que tirar um monte de coisa pra testar. O que não faz sentido foi como vc escreveu ele. Eu deixei dessa forma só pra testar: local screenW, screenH = guiGetScreenSize() -- local playerC = isPedInVehicle ( localPlayer ) -- local assento = getPedOccupiedVehicleSeat(localPlayer) function Hud() local v = getPedOccupiedVehicle (localPlayer) -- for i,v in ipairs(getElementsByType("vehicle")) do if getVehicleType (v) ~= "BMX" then -- if playerC then -- if assento >=0 then if v then dxDrawLine(screenW * 0.7818, screenH * 0.7266, screenW * 0.7818, screenH * 0.9427, tocolor(180, 180, 180, 130), 3, true) dxDrawLine(screenW * 0.7811, screenH * 0.7279, screenW * 0.8075, screenH * 0.7279, tocolor(180, 180, 180, 130), 3, true) dxDrawLine(screenW * 0.7811, screenH * 0.9427, screenW * 0.8075, screenH * 0.9427, tocolor(180, 180, 180, 130), 3, true) -- dxDrawImage(screenW * 0.7456, screenH * 0.7904, screenW * 0.0329, screenH * 0.0716, "FuelSzam.png", 0, 0, 0, tocolor(180, 180, 180, 255), false) local fuel = getElementData(v, "fuel") or 0 if (fuel)>=1 then dxDrawRectangle(screenW * 0.7870, screenH * 0.9219, screenW * 0.0205, screenH * 0.0156, tocolor(255, 0, 0, 130), true) if (fuel)>=10 then dxDrawRectangle(screenW * 0.7870, screenH * 0.9010, screenW * 0.0205, screenH * 0.0156, tocolor(180, 180, 180, 130), true) if (fuel)>=20 then dxDrawRectangle(screenW * 0.7870, screenH * 0.8802, screenW * 0.0205, screenH * 0.0156, tocolor(180, 180, 180, 130), true) if (fuel)>=30 then dxDrawRectangle(screenW * 0.7870, screenH * 0.8594, screenW * 0.0205, screenH * 0.0156, tocolor(180, 180, 180, 130), true) if (fuel)>=40 then dxDrawRectangle(screenW * 0.7870, screenH * 0.8385, screenW * 0.0205, screenH * 0.0156, tocolor(180, 180, 180, 130), true) if (fuel)>=50 then dxDrawRectangle(screenW * 0.7870, screenH * 0.8177, screenW * 0.0205, screenH * 0.0156, tocolor(180, 180, 180, 130), true) if (fuel)>=60 then dxDrawRectangle(screenW * 0.7870, screenH * 0.7969, screenW * 0.0205, screenH * 0.0156, tocolor(180, 180, 180, 130), true) if (fuel)>=70 then dxDrawRectangle(screenW * 0.7870, screenH * 0.7760, screenW * 0.0205, screenH * 0.0156, tocolor(180, 180, 180, 130), true) if (fuel)>=80 then dxDrawRectangle(screenW * 0.7870, screenH * 0.7552, screenW * 0.0205, screenH * 0.0156, tocolor(180, 180, 180, 130), true) if (fuel)>=90 then dxDrawRectangle(screenW * 0.7870, screenH * 0.7344, screenW * 0.0205, screenH * 0.0156, tocolor(180, 180, 180, 130), true) end end end end end end end end end end end -- end end -- end end -- addEventHandler("onClientPlayerVehicleEnter", root, Hud) addEventHandler ("onClientRender", root, Hud)
  18. Outra ideia interessante seria você salvar o veículo (elemento) naquele quarto parâmetro no lugar do false. Em vez de salvar true quando está ocupado. Depois quando quiser por exemplo buscar o veículo e tirar ele da vaga, passa um loop por todas as vagas (mais ou menos como eu fiz ali pra verificar quais estavam livres) verificando se o veículo que você quer é o mesmo daquele quarto parâmetro. Se for, teleporta o veículo para a posição do jogador e salva aquele parâmetro como false novamente. Liberando assim a vaga.
  19. Ele está reclamando que você não atribuiu valor na coluna fuel. (você colocou um ? pra ela mas não atribuiu valor a este ?) Na linha 80, depois do or 0, coloque o fuel. dbExec(db, "UPDATE VehicleList SET X = ?, Y = ?, Z = ?, RotZ = ?, HP = ?, Colors = ?, Upgrades = ?, Paintjob = ?, new_hydr = ?, fuel = ? WHERE Account = ? AND ID = ?", x, y, z, rz, getElementHealth(theVehicle), color, upgrade, Paintjob, getElementData ( theVehicle, "NewHydr") and 1 or 0, fuel, getAccountName(getPlayerAccount(Owner)), id)
×
×
  • Create New...