Jump to content

Vazern

Members
  • Posts

    94
  • Joined

  • Last visited

Everything posted by Vazern

  1. Na verdade não, após adicionar o evento, se no addEventHandler for para root/getRootElement() o evento pode ser ligado por outro recurso, caso esteja como resourceRoot/getResourceRoot(), o evento só pode ser utilizado dentro do recurso.
  2. Não são recursos que se encontra assim na internet amigo, os donos de servidores bons que criam estes recursos. Se deseja criar uma gamemode PUBG, aprenda a programar, pois da sua maneira atual, será só mais um pra somar na lista de servidores.
  3. Hello! Does anyone have that mod of car blinkers per marker?
  4. Desculpe estar deixando minha resposta como usuário do fórum bem atrasada, sou muito ocupado. Recomendo utilizar o recurso Slothbot.
  5. Você deve verificar utilizando getDistanceBetweenPoints3D. Um exemplo: addCommandHandler("reparar", function() for index, veh in ipairs(getElementsByType("vehicle") do if getDistanceBetweenPoints3D(Vector3(getElementPosition(source)), Vector3(getElementPosition(veh)) <= 3 then --## Funções de reparar end end end )
  6. Melhor sistema de ID é por data-base, além de ficar mais simples, cada jogador fica com um ID fixo.
  7. Por isso o @Lord Henry sugeriu que estude melhor a estrutura da linguagem, para que aprender a LER o código, no seu estado atual, é como se um semi-analfabeto tentasse ler um artigo penal. Mas o código pronto com a função do @MaligNos seria somente: function qtsElementData(dataname) local qtd = 0 for _,p in ipairs(getElementsByType("player")) do if getElementData(p,dataname) then qtd = qtd + 1 end end return qtd end function Verifica_Roubo(source) if isElementWithinMarker( source, Atendente) then --guarda1 = exports.slothbot:spawnBot (865.3115234375, -1368.9912109375, 14.996451377869, 270, 113, 0, 0, policial, 31, "waiting", true ) local theTeam = getTeamFromName("PM") if theTeam then if countPlayersInTeam(theTeam) >= 0 then if qtsElementData("nomeDaData") == 5 then --if getElementModel( element ,theElement ) setElementPosition( Atendente, 854.6572265625, -1372.029296875, 14.996742248535 -5 ) setPedAnimation(source, "SHOP", "ROB_Loop_Threat", 10000, true, false, false, false) setPedRotation(source, 360 ) setPedAnimation( ped, "SHOP", "SHP_Rob_HandsUp") BancoRoubado = createBlipAttachedTo(Atendente, 36) setTimer (function() outputChatBox("#000000[#FF0000ATENÇÃO#000000]#FFFFFFO Portão abrira em #FF000030 segundos#FFFFFF!!!", source, 0, 255, 0, true) setTimer(function() outputChatBox("#000000[#FF0000ATENÇÃO#000000]#FFFFFFO Portão abrira em #FF000020 segundos#FFFFFF!!!", source, 0, 255, 0, true) setTimer(function() outputChatBox("#000000[#FF0000ATENÇÃO#000000]#FFFFFFO Portão abrira em #FF000010 segundos#FFFFFF!!!", source, 0, 255, 0, true) moveObject( Porta1, 2930, 854.40002441406, -1368.5, 16.60000038147) moveObject( Porta2, 2930, 870.09997558594, -1368.5, 16.60000038147) outputChatBox("#000000[#FF0000ATENÇÃO#000000]#FFFFFFO Portão abriu!!!", source, 0, 255, 0, true) Cofre = createObject(2634, 850.2998046875, -1375, 23, 0, 0, 90) Marker_Cofre = createMarker(849.7685546875, -1375, 22.9964427948 -1, "cylinder", 2, 255 ,0 ,0, 255) triggerClientEvent ( root, "roubar", root) end, 30000, 1) end, 20000, 1) end, 10000, 1) else exports.dxmessages:outputDx(source,"#FF0000[ATENÇÃO] #FFFFFFÉ necessário 5 jogadores no marker para realizar o assalto.", source, 255, 255, 255, true) end else exports.dxmessages:outputDx(source,"#FF0000[ATENÇÃO] #FFFFFFPrecisa ter 5 PM online para roubar!!!", source, 255, 255, 255, true) end end end end addCommandHandler("assaltar", Verifica_Roubo)
  8. Hello guys! Does anyone know a way to return values with a trigger, or is there another method? (I'm trying to completely stop using element-data, but I'm not sure how to return values, just how to set, since the trigger functions only return nil, false, or true)
  9. Olá pessoal! Alguém sabe uma maneira de retornar valores com um trigger, ou se há outro método? (Estou tentando parar completamente de usar element-data, mas não sei como retornar valores, só como definir, já que as funções de trigger só retornam nil, false ou true)
  10. time = {} time[source] = setTimer(function() -- blá, blá, blá end, 4000, 1) if isTimer(time[source]) then
  11. Você cria um loop com todos os jogadores do servidor, e verifica se estão em tal grupo da ACL. Exemplo: addCommandHandler("msg", function() for index, players in ipairs(getElementsByType("player")) do if isObjectInAclGroup("user."..getAccountName(getPlayerAccount(players)), aclGetGroup("GrupoACL")) then -- ## Aqui as funções que você queira que sejam executadas. end end end )
  12. Eu quero alguém meu servidor de programação no Exchange por dinheiro, mas para ter um profissional com as provas e imagens de lésbica exclusivamente By: Translate google
  13. Hello guys! I started with shaders today, I made a script to apply a texture to the weapons fire, but it is not working, nor does it give any error in the debug. Client-side shader = dxCreateShader("shader/shader.fx") fire_fx = dxCreateTexture("files/fire.png") function replaceFireFX() engineApplyShaderToWorldTexture(shader, "muzzle_texture4") dxSetShaderValue(shader, "gTexture", fire_fx) end addEventHandler("onClientResourceStart", resourceRoot, replaceFireFX) addEventHandler("onClientPlayerJoin", root, replaceFireFX) FX-Code texture gTexture; technique TexReplace { pass P0 { Texture[0] = gTexture; } } fire.png
  14. Bom, da um trabalhinho a mais do que usar element-data, mas para ter um servidor bom, esforços são necessários.
  15. Amigo, não havia imaginado que era tão fácil, as vezes acontece de dar uma "falta de lógica" na minha mente, rs. (Element-data abandonado de vez, rs) (Como usei no meu sistema de gasolina) Client-side (funções para obter, e definir dados da tabela): addEvent("setVehicleFuel", true) addEventHandler("setVehicleFuel", root, function(localPlayer, fuelData) local veh = localPlayer:getOccupiedVehicle() if type(fuelData) == "number" then data.fuel[veh] = fuelData return fuelData end end ) addEvent("getVehicleFuel", true) addEventHandler("getVehicleFuel", root, function() local veh = localPlayer:getOccupiedVehicle() return data.fuel[veh] end ) Server-side (exemplo que usei para definir o dado da tabela que está no client-side): addCommandHandler("fuel", function() outputChatBox(tostring(triggerClientEvent("getVehicleFuel", source))) end ) Testei todas as funções que fiz, e estão funcionando normalmente. Obrigado!
  16. Muito obrigado maninho! Assim que possível testo, qualquer coisa retorno um erro.
  17. Olá pessoal! Como eu posso obter dados de uma tabela em server-side, no client-side (ou vice-versa)? Imaginei que poderia ser utilizando um trigger, mas não sei como utilizá-lo para tal. (Estou fazendo isto para tentar parar de utilizar o element-data o máximo possível)
  18. Put the variable r, g, b inside the check, like this: local player_vehicle = getPedOccupiedVehicle(localPlayer) if (player_vehicle) then local r, g, b = getVehicleHeadLightColor(player_vehicle) dxDrawText("", x*0, y*39.5, x*1366 + x*1128, y*768, tocolor(r,g,b), 1, font_icons, "center", "top", false, false, false, true, false) dxDrawText("", x*0, y*39.5, x*1366 + x*908, y*768, tocolor(r,g,b), 1, font_icons, "center", "top", false, false, false, true, false) else dxDrawText("", x*0, y*39.5, x*1366 + x*1128, y*768, tocolor(255,165,0), 1, font_icons, "center", "top", false, false, false, true, false) dxDrawText("", x*0, y*39.5, x*1366 + x*908, y*768, tocolor(127,255,212), 1, font_icons, "center", "top", false, false, false, true, false) end The variable is out of the check if the player is in the car, that is, how he is using onClientRender (event that is every second working), he tries to get the light function of the vehicle, but if he is not in the car, give error then, so have to check inside.
  19. Não tem nada haver, o erro, é que você não fez uma verificação (como esta do @Lord Henry om o Mfim3[elemento]).
  20. o veh é uma tabela, você provavelmente não entendeu o que ele disse. Quando ele fala "parâmetro", quer dizer aquilo que fica dentro do () da função, que no caso seria thePlayer, não havia necessidade daquilo, e poderia trocar o elemento thePlayer por source nas funções. Pelo que notei, aparente está utilizando mods editados da net, no seu lugar, começaria a estudar mais, e tentar fazer meus próprios mods, do 0. A função que o @DNL291 chamou com o evento onPlayerQuit, destrói os elementos (caso eles existam, ou seja, utilizando isElement). Na sua primeira função, você utilizava o evento, com as funções de destroyElement e deixava as tabelas nulas, porém, não fazia uma verificação, causando erros desnecessário toda vez que um jogador saísse do servidor.
  21. Não entendi isto, porque pelo o que eu li no dbConnect, a única diferença é que o MySQL tem alguns argumentos a mais (dbname, host, porta, usuário, senha), nos outros aspectos, utiliza as mesmas funções que usamos para SQLite (dbQuery, dbExec, dbPoll e etc)
  22. Primeiramente, obrigado @DNL291. Sim, eu sabia que havia tutoriais assim, mas não observei nenhum em português, por isto, abri este tópico, para ser útil tanto para mim, quanto para outros usuários.
  23. Entendi perfeitamente. Obrigado! No caso, a utilidade do MySQL, seria somente uma maneira mais segura de manter os dados salvos, não é?
  24. Amigo, isto aí cabe a quem está aprendendo, ele me deu o código, mas acha que eu utilizei sem nem sequer aprender? Com a explicação eu aprendi perfeitamente, e graças ao código, entendi como posso aplicar, e assim fazer meus loops sem nenhuma consulta. Acho que você deveria rever seus métodos-críticos. E obrigado pela ajuda! Se dar código juntamente com a explicação, então a Wiki, e os sites de tutoriais em Lua estão errados?
×
×
  • Create New...