Big Smoker Posted June 16, 2017 Share Posted June 16, 2017 Boa Tarde, precisava de uma ajuda nesse sistema que eu fiz ele cria uma caixa com as cordenadas da tabela e cria um blip marcando local onde esta a caixa SpwanLoot = { {252.67047,1802.4464,7.4140625}, {219.33887,1826.9991,6.4140625}, {261.08423,1853.5132,8.7578125}, {280.4285,1838.0157,17.648058}, } function removeLootsMilitarys (blip,Military,LootMility) if isElement(blip) then destroyElement(blip) end if isElement(Military) then destroyElement(Military) end if isElement(LootMility) then destroyElement(LootMility) end end function LootMilitarys () local item_id = math.random( 3,#SpwanLoot ) local x,y,z = SpwanLoot[item_id][1], SpwanLoot[item_id][2], SpwanLoot[item_id][3], SpwanLoot[item_id][4] Military = createObject(964,x,y,z, 0, 0, 0) outputChatBox("CRIADO") blip = createBlip ( x,y,z, 23 ) LootMility = createColSphere(x,y,z,3) attachElements(LootMility, Military, 0, 0, 0) setElementData(Military,"parent",LootMility) setElementData(LootMility,"parent",Military) setElementData(LootMility,"Loot Militar",true) setElementData(LootMility,"MAX_Slots",0) setElementData(LootMility, "MAX_Slots", 0) setTimer(removeLootsMilitarys,120000,1,blip,Military,LootMility) end setTimer(LootMilitarys,120000,0) O problema é que ele só cria 1 caixa, eu queria que ela cria-se 3 caixa (usando 3 cordenadas da tabela) Tentei usar esse aqui ate local item_id = math.random( 3,#SpwanLoot ) Obrigado Link to comment
Pedro861 Posted June 17, 2017 Share Posted June 17, 2017 (edited) Tente: -- Neste caso esse "math.random" não serve para nada, como você quer criar 3 caixa em lugares diferentes você deve usar for[..] local item_id = math.random( #SpwanLoot ) -- como ficaria com for: for i, pos in ipairs(SpwanLoot) do ... -- ficando o seguinte: function LootMilitarys () for i, pos in ipairs(SpwanLoot) do Military = createObject(964,pos[1],pos[2],pos[3], 0, 0, 0) outputChatBox("CRIADO") blip = createBlip ( x,y,z, 23 ) LootMility = createColSphere(x,y,z,3) attachElements(LootMility, Military, 0, 0, 0) setElementData(Military,"parent",LootMility) setElementData(LootMility,"parent",Military) setElementData(LootMility,"Loot Militar",true) setElementData(LootMility,"MAX_Slots",0) setElementData(LootMility, "MAX_Slots", 0) setTimer(removeLootsMilitarys,120000,1,blip,Military,LootMility) end end setTimer(LootMilitarys,120000,0) Outra coisa eu a alguns meses atras fiz um recurso semelhante, caso ajude: https://www.dropbox.com/s/uc3zjpaq5v0jevd/military.rar?dl=0 Edited June 17, 2017 by Pedro861 Link to comment
Other Languages Moderators Lord Henry Posted June 17, 2017 Other Languages Moderators Share Posted June 17, 2017 16 hours ago, Pedro861 said: Outra coisa eu a alguns meses atras fiz um recurso semelhante, caso ajude: https://www.dropbox.com/s/uc3zjpaq5v0jevd/military.rar?dl=0 Da próxima vez, deixe seu resource no https://community.multitheftauto.com/ para não ficar dando link de sites de terceiros aqui no fórum. Link to comment
Pedro861 Posted June 17, 2017 Share Posted June 17, 2017 1 hour ago, Lord Henry said: Da próxima vez, deixe seu resource no https://community.multitheftauto.com/ para não ficar dando link de sites de terceiros aqui no fórum. Afirmativo! Link to comment
DNL291 Posted June 18, 2017 Share Posted June 18, 2017 Se você quer criar em 3 locais em vez de todos, você precisa de um loop; o math.random que você usou está errado porque estava o mesmo que isto: math.random( 3, 4 ). Tente isto: SpwanLoot = { {252.67047,1802.4464,7.4140625}, {219.33887,1826.9991,6.4140625}, {261.08423,1853.5132,8.7578125}, {280.4285,1838.0157,17.648058}, } function removeLootsMilitarys (blip,Military,LootMility) if isElement(blip) then destroyElement(blip) end if isElement(Military) then destroyElement(Military) end if isElement(LootMility) then destroyElement(LootMility) end end function LootMilitarys() for i=1, 3 do local ri = math.random( #SpwanLoot ) local x,y,z = SpwanLoot[ri][1], SpwanLoot[ri][2], SpwanLoot[ri][3] local Military = createObject(964,x,y,z, 0, 0, 0) outputChatBox("CRIADO") local blip = createBlip ( x,y,z, 23 ) local LootMility = createColSphere(x,y,z,3) attachElements(LootMility, Military, 0, 0, 0) setElementData(Military,"parent",LootMility) setElementData(LootMility,"parent",Military) setElementData(LootMility,"Loot Militar",true) setElementData(LootMility,"MAX_Slots",0) setElementData(LootMility, "MAX_Slots", 0) setTimer(removeLootsMilitarys,120000,1,blip,Military,LootMility) end end setTimer(LootMilitarys,120000,0) Me avise se essas posições aleatórias tiver que ser uma diferente da outra, aí nesse caso vai precisar fazer uma mudança pro math.random. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now