Jump to content

ber

Members
  • Posts

    167
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by ber

  1. Também adoraria saber como funcionam essas funções, to me matando pra criar uma progress bar pra um script de assalto a banco...
  2. Use o setElementData para setar o emprego dele na agência, e no marker use o getElementData para ver qual o emprego dele
  3. É padrão do GTA ligar o carro quando você entrar nele, então uma coisa que pode fazer é desligar o carro depois de entrar. Você vai precisar ir na função de ligar o carro e colocar um setElementData para definir se ele está ligado ou não. E crie uma função que ao entrar no carro vai checar o elementData do veículo e se tiver com motor desligado ele vai desligar, e se tiver com motor ligado ele não vai fazer nada
  4. No dxDrawText o penúltimo parâmetro é o ColorCoded, ele converte as cores, basta mudar de false para true que irá funcionar! Ficará assim: dxDrawText(""..nome.. "", screenW * 0.7971, screenH * 0.0651, screenW * 0.9926, screenH * 0.1003, tocolor(0, 0, 0, 254), 1.20, "default-bold", "center", "center", false, false, false, true, false)
  5. local fome = getElementData(source, "fome") setElementData(source, "fome", fome + 10)
  6. Olá a todos. Fiz um sistema de cinto de segurança que impede o player de sair do carro caso ele esteja com o cinto de segurança, através dessa função: function saiuv(thePlayer, seat, jacked) if getVehicleType(getPedOccupiedVehicle(thePlayer)) == "Bike" or getVehicleType(getPedOccupiedVehicle(thePlayer)) == "BMX" or getVehicleType(getPedOccupiedVehicle(thePlayer)) == "Quad" then return end if getElementData(thePlayer, "Cinto") == true then if jacked == thePlayer then cancelEvent() exports._infobox:addNotification(thePlayer, "Você esta com o cinto de segurança", "error") else setElementData(thePlayer, "Cinto", false) end end end addEventHandler("onVehicleStartExit", getRootElement(), saiuv) Porém, quando alguém rouba um carro e o motorista está com o cinto, a ação é cancelada, o player que está tentando roubar e o que está dentro do carro bugam e não conseguem mais entrar ou sair em nenhum outro carro até que o veículo que gerou o bug seja destruído. Tentei usar o parâmetro 'jacked' para ver se o player que está saindo é o mesmo que causou a ação mas não funcionou. Até agora a única idéia que tive foi essa: function enterv() if getVehicleType(source) == "Automobile" then local driver = getVehicleController(source) if getElementData(driver, "Cinto") == true then setElementData(source, "Cinto", false) end end end addEventHandler("onVehicleStartEnter", getRootElement(), enterv) Porém achei que ficou meio gambiarra e com essa função se o player tentar entrar no carro e o outro acelerar e a entrada não acontecer, o player já vai ter perdido o data do Cinto... Não sei como corrigir isso, quem puder ajudar vou ficar mto agradecido
  7. Olá a todos, não sou muito familiarizado com tabelas e estou levando uma surra pra fazer um script de desmanche de veículos. Queria que o valor que o player ganhasse ao desmanchar seria 1/5 do valor que o veículo custa na concessionária, porém não sei por onde começar para fazer isso. A relação de ID > Valor dos veículos é essa: 581 = 10000 468 = 20000 461 = 30000 521 = 30000 586 = 80000 522 = 120000 589 = 4000 587 = 9000 421 = 11000 445 = 13000 496 = 15000 492 = 17000 422 = 20000 405 = 20000 547 = 25000 529 = 30000 426 = 30000 507 = 35000 600 = 35000 551 = 40000 561 = 45000 550 = 45000 516 = 60000 560 = 70000 579 = 90000 458 = 120000 400 = 500000 402 = 650000 415 = 850000 565 = 1300000 451 = 2000000 429 = 3000000 541 = 30000000 Quem puder me ajudar ficarei muito grato, pois estou quase me rendendo ao jeito porco porém mais "fácil" que seria usando 50 elseif getElementModel kkkkkk
  8. Tente assim: if Armamentos == 31 then local stats = ✔ else local stats = ✖ end dxDrawText("M4: "..stats, 105, 218, 216, 240, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, true, false, false)
  9. Como faço para reproduzir um som para todos os players que estão perto? Já pensei de todas as maneiras e não consigo entender pois o som é Client-Side e você não declara o alvo... Basicamente estou fazendo um sistema de painel de veículos e queria que os sons de trancar veículo, colocar cinto, puxar freio e tal todos os players que estiverem próximo do veículo escutem e não apenas o source.
  10. Alguém tem algum pack ou um site em que contém veículos brasileiros ORIGINAIS? Estou montando um server 100% RP mas na internet só encontro carro cheio de som, rebaixado, sem placa e tal e isso ficaria estranho no server. Se alguém puder ajudar com um site que contém esse tipo de skin ficarei muito agradecido
  11. Onde essas estatísticas são exibidas? No Scoreboard? Se sim, basta você ver no código dele onde que ele pega essas informações para exibir, ai você vai conseguir fazer isso, pois eu tenho quase certeza que esse tipo de dado não fica armazenado no AccountData.
  12. É simples, toda vez que der restart no servidor (fechar e abri-lo novamente) você precisa dar um start editor no console, esperar tudo carregar e depois stop editor, quando voltar provavelmente você estará bugado no ar então basta startar a sua gamemode (pode ser as do próprio MTA também como 'play' ou 'freeroam') e depois se suicidar setando vida para 0 aí você renascerá normalmente. Claro, só vai fazer isso quando não tiver nenhum player no server. E não esqueça de sempre que abrir o servidor terá que fazer isso.
  13. Na linha 5 precisa-se de um not ou false, pois desse jeito ela só está kikando os players que estão deslogados.
  14. ber

    AJUDA

    Não testei mas creio que funcione: function getPlayerID(id) v = false for i, player in ipairs (getElementsByType("player")) do if getElementData(player, "ID") == id then v = player break end end return v end function verMoney(player, command, id, ...) if hasObjectPermissionTo("player", "command.ban") == false then return end if(id) then local playerID = tonumber(id) if(playerID) then local Player2 = getPlayerID(playerID) if(Player2) then local money = getPlayerMoney(Player2) outputChatBox("O jogador "..Player2.." possui: $"..money, player, 255, 255, 255, true) end end end end addCommandHandler("ve", verMoney) Você pode alterar o hasObjectPermissionTo por isObjectInACLGroup caso ache melhor.
  15. Substitua a função gpsVehicle do Client.lua por essa: 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 local x, y, z = getElementPosition(localPlayer) local ex, ey, ez = getElementPosition(value) if getDistanceBetweenPoints3D(x, y, z, ex, ey, ez) <= 10 then setElementData(value,"veiculo.garagem", true) triggerServerEvent("guardar", localPlayer, vehicleId) else outputChatBox("#9ACD32[BOT] #ffffffVeiculo distante da garagem",0,0,0,true) end 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 Não testei mas creio que funcione, apenas adicionei: getDistanceBetweenPoints3D
  16. O script parou automaticamente. Deve ter acontecido pois ele precisa de permissão Admin para funcionar. Abra o painel P > Resources > Manage ACL > Admin > Create Object > resource.NOMEDOSCRIPT
  17. Boa tarde, procurei na internet e não consegui achar um sistema de recoil igual do BGO ou de servidores Battle Royale, no qual você atira e a mira vai aleatoriamente para os lados, porém os tiros são precisos e não precisa ficar parado ou agachado para acertar. O mod de no-recoil eu já tenho, agora só preciso de uma função que quando o player atira a mira dele move um pouco para os lados, sabem qual função eu posso utilizar pra fazer isso?
  18. Não tenho certeza mas creio que isso remove tudo, se não for o suficiente tente: https://wiki.multitheftauto.com/wiki/SetPlayerHudComponentVisible
  19. Não cheguei a testar, mas ta ae: function getPlayerID(id) v = false for i, player in ipairs (getElementsByType("player")) do if getElementData(player, "ID") == id then v = player break end end return v end function levantarP(player, command, id, ...) if hasObjectPermissionTo("player", "command.kick") == false then return end if(id) then local playerID = tonumber(id) if(playerID) then local Player2 = getPlayerID(playerID) if(Player2) then local x, y, z = getElementPosition(Player2) setElementPosition(Player2, x, y, z + 2) outputChatBox("Você levantou o jogador "..Player2, player, 255, 0, 0, true) end end end end addCommandHandler("levantar", levantarP) Só digitar /levantar ID (apenas staffs conseguem usar o comando)
  20. Entendi, então é comum as garagens funcionarem dessa maneira? Eu achava que a maioria destruía e re-spawnava os carros toda hora que o player a usava
  21. Aparentemente o que tinha de errado no seu script é que ele está checando se o som está rodando no seu Client e não no veículo, para alterar isso ao invés de usar um 'if (sound)' use um if getElementData(source, "alarm") Não testei mas creio que está funcionando: function colission( force ) local x,y,z = getElementPosition(source) local fDamageMultiplier = getVehicleHandling(source).collisionDamageMultiplier local hitforce = force*fDamageMultiplier if (hitforce > 5) then if (getVehicleEngineState(source) == false) then if getElementData(source, "alarm") == false then sound = playSound3D("alarm.mp3", x, y, z, false) setSoundMaxDistance(sound,70) attachElements(sound,source) setElementData(source, "alarm", true) setTimer(function() setElementData(source, "alarm", false) end, 30000, 1) -- < ALTERE PARA O TEMPO QUE DURA O ALARME end end end end addEventHandler("onClientVehicleCollision", root, colission) Espero ter ajudado
  22. function removeNametag() setPlayerNametagShowing(source, false) end addEventHandler("onPlayerLogin", root, removeNametag)
  23. Coloque aqui o seu script de voice local para que possamos ver o que está errado e lhe ajudar.
  24. Só achar a função que é acionada pelo botão "R" e colocar nas primeiras linhas: local veiculo = getPedOccupiedVehicle(source) if getVehicleType(veiculo) ~= "Automobile" then return end
×
×
  • Create New...