-
Posts
980 -
Joined
-
Last visited
-
Days Won
1
Everything posted by manawydan
-
funcionou, muito obrigado novamente.
-
como dnl disse voce pode usar "addCommandHandler". aqui um exemplo simples. eu não testei mas, acredito que funcione. para abrir digite: /abrir para fechar: /fechar local object = createObject(980,2061.1999511719,2438.1999511719,12.60000038147) function portaomb1() moveObject(object,5000,2061.1999511719,2438.1999511719,4.5) end addCommandHandler("abrir", portaomb1) function fecharPortao() moveObject(object,5000,2061.1999511719,2438.1999511719,12.60000038147) end addCommandHandler("fechar", fecharPortao) voce pode ver um pequeno "tutorial" que eu criei para facher portões https://forum.multitheftauto.com/viewto ... 21f1d5d6fd
-
testei esse script que voce passou. tinha dado erro no argumento 3 (acredito que seja por a função zzzz não tinha carregado. então eu fiz assim: local objetosItens = {} local pistolaCol = {} local pistola = { {2478.615234375, -1676.2136230469, 13.336660385132}, {2475.51953125, -1698.0883789063, 13.522142410278}, {311.80181884766, 1809.5435791016, 17.640625}, {280.9345703125, 1954.8565673828, 17.640625}, {246.69946289063, 1385.6153564453, 23.37028503418}, {-176.94442749023, 1149.9345703125, 19.598318099976}, {816.51824951172, 856.54290771484, 12.7890625}, {1207.6088867188, 2125.2395019531, 6.734375}, {2323.6633300781, 1283.0540771484, 97.438095092773}, {-1931.8199462891, 656.82000732422, 46.5625}, {2615.3359375, 1816.1739501953, 10.8203125}, {1764.2044677734, 2085.2583007813, 20.972038269043}, {-1381.1610107422, 493.40637207031, 27.694522857666}, {2383.6462402344, 2757.1452636719, 13.105983734131}, {1587.9537353516, 752.60015869141, 10.8203125}, {2820.8581542969, 2271.759765625, 14.661463737488}, {2314.1103515625, -4.8270263671875, 32.53125}, {1272.0865478516, 294.79476928711, 20.656307220459}, {187.23028564453, -90.492126464844, 8.8986940383911}, {-1123.1042480469, -924.32379150391, 129.21875}, {-2337.7961425781, -1617.6987304688, 483.71405029297}, {-2228.8112792969, -1744.6583251953, 480.88488769531}, {-2328.6296386719, 1537.9274902344, 17.328125}, {-1633.8870849609, -2237.8508300781, 31.4765625}, {2494.7124023438, -1689.0024414063, 21.675098419189}, {2244.6433105469, -1324.0946044922, 41.259601593018}, {894.87707519531, -1453.7999267578, 21.178594589233}, {1623.6677246094, -1041.9099121094, 27.201309204102}, {387.02029418945, -2029.3041992188, 22.108934402466}, {-65.270530700684, -1587.7954101563, 2.6171875}, {-656.64978027344, -2184.2194824219, 16.19390296936}, {-429.22280883789, 1405.0031738281, 17.471927642822}, {-2413.8935546875, 802.74127197266, 35.1796875}, {-1357.7237548828, -26.7275390625, 14.1484375} } function zzzz(hitElement) if (getElementType(hitElement) == "player") then for i=1, #pistola do if (getElementParent(source) == objetosItens[i]) then destroyElement(objetosItens[i]) if not i == #pistola then break end end end end end do for i=1, #pistola do objetosItens[i] = createObject(1463, pistola[i][1], pistola[i][2], pistola[i][3]-0.93) setObjectScale(objetosItens[i], 3) setElementCollisionsEnabled(objetosItens[i], false) setElementFrozen(objetosItens[i], true) pistolaCol[i] = createColCuboid(pistola[i][1], pistola[i][2], pistola[i][3], 0.1977, 0.4053, 1.0003) attachElements(pistolaCol[i], objetosItens[i], 0, 0, 0) setElementParent(pistolaCol[i], objetosItens[i]) addEventHandler("onColShapeHit", pistolaCol[i], zzzz) end end funciona, porem aparece um erro: bad argument getElementParent [expected element at argument 1]
-
tambem não funcionou!
-
obrigado. eu fiz de outro modo porem o cubo e o objeto nao sao destruidos. local pistola = { {2478.615234375, -1676.2136230469, 13.336660385132}, {2475.51953125, -1698.0883789063, 13.522142410278}, {311.80181884766, 1809.5435791016, 17.640625}, {280.9345703125, 1954.8565673828, 17.640625}, {246.69946289063, 1385.6153564453, 23.37028503418}, {-176.94442749023, 1149.9345703125, 19.598318099976}, {816.51824951172, 856.54290771484, 12.7890625}, {1207.6088867188, 2125.2395019531, 6.734375}, {2323.6633300781, 1283.0540771484, 97.438095092773}, {-1931.8199462891, 656.82000732422, 46.5625}, {2615.3359375, 1816.1739501953, 10.8203125}, {1764.2044677734, 2085.2583007813, 20.972038269043}, {-1381.1610107422, 493.40637207031, 27.694522857666}, {2383.6462402344, 2757.1452636719, 13.105983734131}, {1587.9537353516, 752.60015869141, 10.8203125}, {2820.8581542969, 2271.759765625, 14.661463737488}, {2314.1103515625, -4.8270263671875, 32.53125}, {1272.0865478516, 294.79476928711, 20.656307220459}, {187.23028564453, -90.492126464844, 8.8986940383911}, {-1123.1042480469, -924.32379150391, 129.21875}, {-2337.7961425781, -1617.6987304688, 483.71405029297}, {-2228.8112792969, -1744.6583251953, 480.88488769531}, {-2328.6296386719, 1537.9274902344, 17.328125}, {-1633.8870849609, -2237.8508300781, 31.4765625}, {2494.7124023438, -1689.0024414063, 21.675098419189}, {2244.6433105469, -1324.0946044922, 41.259601593018}, {894.87707519531, -1453.7999267578, 21.178594589233}, {1623.6677246094, -1041.9099121094, 27.201309204102}, {387.02029418945, -2029.3041992188, 22.108934402466}, {-65.270530700684, -1587.7954101563, 2.6171875}, {-656.64978027344, -2184.2194824219, 16.19390296936}, {-429.22280883789, 1405.0031738281, 17.471927642822}, {-2413.8935546875, 802.74127197266, 35.1796875}, {-1357.7237548828, -26.7275390625, 14.1484375} } for k,v in ipairs( pistola ) do local objetosItens = createObject(1463, v[1], v[2], v[3]-0.93) setObjectScale(objetosItens, 3) setElementCollisionsEnabled(objetosItens, false) setElementFrozen(objetosItens, true) col = createColCuboid ( v[1], v[2], v[3], 0.19775390625, 0.4053955078125, 1.0003938436508 ) attachElements ( col, objetosItens, 0, 0, 0 ) setElementParent ( col, objetosItens ) end function zzzz() destroyElement(source) end addEventHandler ( "onColShapeHit", col, zzzz )
-
lol. you are using the most current version?
-
function pickupsByManawydan() local pistola = { {2470.7863769531, -1698.5581054688, 13.516083717346}, {2475.51953125, -1698.0883789063, 13.522142410278}, {311.80181884766, 1809.5435791016, 17.640625}, {280.9345703125, 1954.8565673828, 17.640625}, {246.69946289063, 1385.6153564453, 23.37028503418}, {-176.94442749023, 1149.9345703125, 19.598318099976}, {816.51824951172, 856.54290771484, 12.7890625}, {1207.6088867188, 2125.2395019531, 6.734375}, {2323.6633300781, 1283.0540771484, 97.438095092773}, {-1931.8199462891, 656.82000732422, 46.5625}, {2615.3359375, 1816.1739501953, 10.8203125}, {1764.2044677734, 2085.2583007813, 20.972038269043}, {-1381.1610107422, 493.40637207031, 27.694522857666}, {2383.6462402344, 2757.1452636719, 13.105983734131}, {1587.9537353516, 752.60015869141, 10.8203125}, {2820.8581542969, 2271.759765625, 14.661463737488}, {2314.1103515625, -4.8270263671875, 32.53125}, {1272.0865478516, 294.79476928711, 20.656307220459}, {187.23028564453, -90.492126464844, 8.8986940383911}, {-1123.1042480469, -924.32379150391, 129.21875}, {-2337.7961425781, -1617.6987304688, 483.71405029297}, {-2228.8112792969, -1744.6583251953, 480.88488769531}, {-2328.6296386719, 1537.9274902344, 17.328125}, {-1633.8870849609, -2237.8508300781, 31.4765625}, {2494.7124023438, -1689.0024414063, 21.675098419189}, {2244.6433105469, -1324.0946044922, 41.259601593018}, {894.87707519531, -1453.7999267578, 21.178594589233}, {1623.6677246094, -1041.9099121094, 27.201309204102}, {387.02029418945, -2029.3041992188, 22.108934402466}, {-65.270530700684, -1587.7954101563, 2.6171875}, {-656.64978027344, -2184.2194824219, 16.19390296936}, {-429.22280883789, 1405.0031738281, 17.471927642822}, {-2413.8935546875, 802.74127197266, 35.1796875}, {-1357.7237548828, -26.7275390625, 14.1484375}, } for i=1, #pistola do createPickup(unpack(pistola[i]), 2, 22, 80000, 17) end end addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), pickupsByManawydan) eu tentei com o "do" e sem ele e mesmo assim as pickups não foram criadas.
-
can be useful. use /debugscript 3 setDevelopmentMode ( true ) showcol
-
I hope to help. see example gate = createObject(980, 212.19999694824, 1875.3000488281, 12.39999961853) col = createColCuboid(205, 1870.3000488281, 9.39999961853, 14, 10,8) function hit(player) if getElementType(player) == "player" then moveObject(gate, 5900, 223.19999694824, 1875.3000488281, 12.39999961853) end end addEventHandler("onColShapeHit", col, hit) function leave(player) if getElementType(player) == "player" then moveObject(gate, 5900, 212.19999694824, 1875.3000488281, 12.39999961853) end end addEventHandler("onColShapeLeave", col, leave)
-
use the map editor. I think
-
ola, eu queria saber como posso criar pickups com tabela (não sei quase nada sobre tabela). local pistola = { [1] = {214.42886352539, 1866.5386962891, 13.140625 }, [2] = {234.71018981934, 1935.3835449219, 33.8984375 }, [3] = {311.80181884766, 1809.5435791016, 17.640625 }, [4] = {280.9345703125, 1954.8565673828, 17.640625 }, [5] = {246.69946289063, 1385.6153564453, 23.37028503418 }, [6] = {-176.94442749023, 1149.9345703125, 19.598318099976 }, [7] = {816.51824951172, 856.54290771484, 12.7890625 }, [8] = {1207.6088867188, 2125.2395019531, 6.734375 }, [9] = {2323.6633300781, 1283.0540771484, 97.438095092773 }, [10] = {-1931.8199462891, 656.82000732422, 46.5625 }, [11] = {2615.3359375, 1816.1739501953, 10.8203125 }, [12] = {1764.2044677734, 2085.2583007813, 20.972038269043 }, [13] = {-1381.1610107422, 493.40637207031, 27.694522857666 }, [14] = {2383.6462402344, 2757.1452636719, 13.105983734131 }, [15] = {1587.9537353516, 752.60015869141, 10.8203125 }, [16] = {2820.8581542969, 2271.759765625, 14.661463737488 }, [17] = {2314.1103515625, -4.8270263671875, 32.53125 }, [18] = {1272.0865478516, 294.79476928711, 20.656307220459 }, [19] = {187.23028564453, -90.492126464844, 8.8986940383911 }, [20] = {-1123.1042480469, -924.32379150391, 129.21875 }, [21] = {-2337.7961425781, -1617.6987304688, 483.71405029297 }, [22] = {-2228.8112792969, -1744.6583251953, 480.88488769531 }, [23] = {-2328.6296386719, 1537.9274902344, 17.328125 }, [24] = {-1633.8870849609, -2237.8508300781, 31.4765625 }, [25] = {2494.7124023438, -1689.0024414063, 21.675098419189 }, [26] = {2244.6433105469, -1324.0946044922, 41.259601593018 }, [27] = {894.87707519531, -1453.7999267578, 21.178594589233 }, [28] = {1623.6677246094, -1041.9099121094, 27.201309204102 }, [29] = {387.02029418945, -2029.3041992188, 22.108934402466 }, [30] = {-65.270530700684, -1587.7954101563, 2.6171875 }, [31] = {-656.64978027344, -2184.2194824219, 16.19390296936 }, [32] = {-429.22280883789, 1405.0031738281, 17.471927642822 }, [33] = {-2413.8935546875, 802.74127197266, 35.1796875 }, [34] = {-1357.7237548828, -26.7275390625, 14.1484375 } } como posso fazer essas 34 pickups usando esta tabela?
-
realmente muito obrigado! quando eu manda para a comunidade vou colocar créditos para voce tambem (minimo que posso fazer, voce fez o script mais que eu). novamente obrigado!
-
o missel se moveu, porem foi coisa de uns 5 metros e paro de se mover. e o aviao estava bem alto para o missel mover pouco.
-
ola pessoal, estou aqui para fazer um tutorial simples, mas aprofundado. client function sound() local sound = playSound3D ("open.mp3", 212.19999694824, 1875.3000488281, 12.39999961853, false)--vamos criar o som. open é o nome dele. .mp3 é o formato, esses numeros são x, y, z, o local onde vamos criar o som setSoundMaxDistance ( sound, 10 )-- define a distancia maxima do som. sound = nome do som criado anteriormente. 10 é um numero que representa a distancia end addEvent( "playsound", true )--"Na função para criar um evento customizado (addEvent), o segundo argumento, que no caso está definido como true, é para permitir que este evento [ou event] seja chamado remotamente com as funções triggerClientEvent e triggerServerEvent". addEventHandler( "playsound", getRootElement(),sound )-- criamos o manipulador de eventos. playsound é o nome dele. sound é a função que esta anexada a ele. resumindo quando chamarmos o evento playsound, o evento playsound vai chamar a função sound criado por nois-- --[[ funções usadas playSound3D ( soundPath, x, y, z, [ looped ] ) cria um som em um certo local. soundPath = nome do arquivo do som. exemplo "som.mp3" x, y, z = posição em que o som sera criado. [ looped ] não é obrigatorio. ele define se o som vai se repetir. false = nao, true = sim ********** setSoundMaxDistance ( sound, distance ) coloca uma distancia maxima que o som podera ser ouvido. sound = o som que temos que criar e colocar em uma variavel. distance = distancia maxima. é um numero, o padrão é 10 ******** addEvent ( eventName [, allowRemoteTrigger ] ) cria um evento personalizado. eventName = nome do evento. exemplo "MeuExemplo" allowRemoteTrigger = define se o evento podera ser chamado remotamente com "triggerClientEvent" ou "triggerServerEvent". false = nao, true = sim ****** addEventHandler ( eventName, attachedTo, handlerFunction) cria um manipulador de evento. eventName = nome do evento. attachedTo = "O elemento que você deseja anexar o manipulador. O manipulador só será chamado quando o evento está ligado a é acionado para este elemento, ou um de seus filhos. Muitas vezes, isso pode ser o elemento raiz (ou seja, o manipulador será chamado quando o evento é acionado para qualquer elemento)." handlerFunction = função que ele vai executar. ]]-- Server gate = createObject(980, 212.19999694824, 1875.3000488281, 12.39999961853) -- 980 é o id do objeto, ja os outros numero sao as posicoes x y e z-- col = createColCuboid(205, 1870.3000488281, 9.39999961853, 14, 10,8) -- isso cria um cubo invisivel envolta do portao-- function hit(player) if getElementType(player) == "player" then -- se o elemento é um jogador entao-- moveObject(gate, 5900, 223.19999694824, 1875.3000488281, 12.39999961853) -- mover o portao, 5900 é o tempo em milisegundo para o portao se abrir-- triggerClientEvent ( "playsound", getRootElement()) -- aq um evento do client é chamado, no caso ele faz um som depois q o portao se abre-- end end addEventHandler("onColShapeHit", col, hit) -- ativa a função "hit" quando um elemento entra em um cubo. col = nome do cubo. function leave(player) if getElementType(player) == "player" then -- se o elemento é um jogador entao-- moveObject(gate, 5900, 212.19999694824, 1875.3000488281, 12.39999961853) -- depois q o jogador sai do cubo invisivel o portao volta a posicao inicial-- triggerClientEvent ( "playsound", getRootElement())-- aq chamamos o mesmo evento do client que no nosso caso ativa nosso som-- end end addEventHandler("onColShapeLeave", col, leave)-- ativa a função "leave" quando um elemento sai do cubo. col = nome do cubo.
-
eu testei e não funciono. segundo o debug: Bad Argument @ 'triggerServerEvent' [expected element at argument 2, got string 'shot']
-
talvez eu possa te ajudar um pouco. o evento addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()), onResourceStart) faz com que quando o recurso carrega a musica fica ligada. você usou bindKey("m","down","radio") nao vi a função radio.
-
obrigado pela dica! agora acredito que a duvida final: como vou fazer o missel se mover( é claro moveObject) mas como calcular? nunca usei getGroundPosition. Client addEvent("ControlState", true) addEvent("AnalogControlState", true) addEventHandler("onClientResourceStart", resourceRoot, function() setTimer(triggerServerEvent, 50, 1, "onTriggerHydraBot", localPlayer) end ) addEventHandler ( "ControlState", root, function ( thePed, control, bol ) setPedControlState ( thePed, control, bol ) end ) addEventHandler ( "AnalogControlState", root, function ( thePed, control, Time ) setPedAnalogControlState ( thePed, control, Time ) end ) function AtualizarPositionPedPilot() local peds = getElementsByType ( "ped" ) for theKey,thePed in ipairs(peds) do if getElementData(thePed, "PilotHydra") == true then local xp, yp, zp = getElementPosition(thePed) local zzz = getGroundPosition ( xp, yp, zp ) end end end addEventHandler ( "onClientRender", getRootElement (), AtualizarPositionPedPilot ) server misselRecarregado = 1 --86 ou 90 id dos misseis function MisselEmpty() misselRecarregado = 0 end function MisselReload() setTimer( function() misselRecarregado = 1 missel = createObject(3786, 0, 0, 0) attachElements ( missel, aviao, 0, 0, -2.12, 0, -90, 0 ) end, 10000, 1) end addEvent("onTriggerHydraBot", true) addEventHandler("onTriggerHydraBot", root, function() aviao = createVehicle ( 520, 2051.0708007813, -2494.2114257813, 14.546875, 0, 0, 90 ) pedPilot = createPed ( 287, 2050.0708007813, -2493.2114257813, 13.546875 ) setElementData(pedPilot, "PilotHydra", true) warpPedIntoVehicle ( pedPilot, aviao ) triggerClientEvent ( "ControlState", root, pedPilot, "accelerate", true ) setTimer( function() triggerClientEvent( "AnalogControlState", root, pedPilot, "special_control_up", 0.4 ) setVehicleLandingGearDown(aviao, false) missel = createObject(3786, 2050.0708007813, -2493.2114257813, 25.546875) attachElements ( missel, aviao, 0, 0, -2.12, 0, -90, 0 ) end, 10000, 1 ) end ) function ShotNow() if aviao and pedPilot then if (misselRecarregado == 1) then detachElements ( missel, aviao ) setElementRotation(missel,0,-90,0) MisselEmpty() MisselReload() end end end addCommandHandler("shot", ShotNow)
-
obrigado dnl!! criei uma função para atualizar a posição do ped. function AtualizarPositionPedPilot() local peds = getElementsByType ( "ped" ) for theKey,thePed in ipairs(peds) do if getElementData(thePed, "PilotHydra") == true then local xp, yp, zp = getElementPosition(thePed) local z = getGroundPosition ( xp, yp, zp ) end end end addEventHandler ( "onClientRender", getRootElement (), AtualizarPositionPedPilot ) ela é necesaria?
-
testei e não funciono. o ped nao voa. o debug diz que os eventos "triggerados" pelo server não esta adicionado no lado do client.
-
Client addEventHandler("ControlState", root, function (thePed, control, bol) setPedControlState( thePed, control, bol ) end) addEventHandler("AnalogControlState", root, function (thePed, control, Time) setPedAnalogControlState( thePed, control, Time ) end) addEventHandler( "onClientResourceStart", getRootElement( ), function() addEvent ( "ControlState", true ) addEvent ( "AnalogControlState", true ) end) Server function PedHelpHydraStart() aviao = createVehicle(520, 2051.0708007813, -2494.2114257813, 14.546875, 0, 0, 90) pedPilot = createPed(287, 2050.0708007813, -2493.2114257813, 13.546875) warpPedIntoVehicle(pedPilot, aviao) triggerClientEvent ( "ControlState", root, pedPilo, "accelerate", true) triggerClientEvent ( "AnalogControlState", root, pedPilo, "special_control_up", 0.5) end addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), PedHelpHydraStart)
-
eu tentei esse antes e não tinha funcionado.