Jump to content

Ajuda nas Cordenadas


Recommended Posts

Posted

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 ;)

Posted (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 by Pedro861
Posted

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.

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...