Jump to content

Tabela para markers


Recommended Posts

Como faço para abrir uma tabela para markers? para não ficar tendo que copiar e colocar o mesmo script várias vezes?
Tenho o seguinte código:

 

pegarT = createMarker(-2409.32764, -600.28540, 132.64844 -1, "cylinder", 1.1,255,255,255,50)  -- Marker Policial
createPickup(-2409.32764, -600.28540, 132.64844 , 3, 1247, 1)
------------------------------------------

function salariopm(player) -- Policial
if isElementWithinMarker(player, pegarT) then
if isObjectInACLGroup ( "user." ..getAccountName(getPlayerAccount(player)), aclGetGroup ( Grupo1 )) then
if getElementData(player, "TrabalhoPolicial") then 
setElementData(player, "TrabalhoPolicial", false)
outputChatBox("Você #ff0000saiu #009affde serviço!", player, 0, 154, 255, true)
setElementModel(player, 0)
else
setElementData(player, "TrabalhoPolicial", true)
outputChatBox("Você #006effentrou #009affem serviço, bom trabalho!", player, 0, 154, 255, true)
setElementModel(player, 283)
end
else
outputChatBox("Você não tem permissão para isso.", source, 255,0,0, true)
end
end
end
addCommandHandler("trabalhar", salariopm)
-------------------------------------------- MENSAGEM MARKER POLICIAL
addEventHandler("onMarkerHit", pegarT,
function(player)
    if getElementType(player) == "player" then
	outputChatBox(" ", player, 255,255,255, true)
	outputChatBox("Para começar a trabalhar, digite #ffff00/trabalhar ", player, 255,255,255, true)
	outputChatBox(" ", player, 255,255,255, true) 
    end
end)

Atualmente oque estou fazendo é copiando e colando, mudando o nome da função e do marker, queria saber como faço para colocar uma tabela com os markers, para não ter que tá fazendo isso e deixando o código longo.

Link to comment
On 27/02/2023 at 13:17, wesssley said:

Como faço para abrir uma tabela para markers? para não ficar tendo que copiar e colocar o mesmo script várias vezes?
Tenho o seguinte código:

 

pegarT = createMarker(-2409.32764, -600.28540, 132.64844 -1, "cylinder", 1.1,255,255,255,50)  -- Marker Policial
createPickup(-2409.32764, -600.28540, 132.64844 , 3, 1247, 1)
------------------------------------------

function salariopm(player) -- Policial
if isElementWithinMarker(player, pegarT) then
if isObjectInACLGroup ( "user." ..getAccountName(getPlayerAccount(player)), aclGetGroup ( Grupo1 )) then
if getElementData(player, "TrabalhoPolicial") then 
setElementData(player, "TrabalhoPolicial", false)
outputChatBox("Você #ff0000saiu #009affde serviço!", player, 0, 154, 255, true)
setElementModel(player, 0)
else
setElementData(player, "TrabalhoPolicial", true)
outputChatBox("Você #006effentrou #009affem serviço, bom trabalho!", player, 0, 154, 255, true)
setElementModel(player, 283)
end
else
outputChatBox("Você não tem permissão para isso.", source, 255,0,0, true)
end
end
end
addCommandHandler("trabalhar", salariopm)
-------------------------------------------- MENSAGEM MARKER POLICIAL
addEventHandler("onMarkerHit", pegarT,
function(player)
    if getElementType(player) == "player" then
	outputChatBox(" ", player, 255,255,255, true)
	outputChatBox("Para começar a trabalhar, digite #ffff00/trabalhar ", player, 255,255,255, true)
	outputChatBox(" ", player, 255,255,255, true) 
    end
end)

Atualmente oque estou fazendo é copiando e colando, mudando o nome da função e do marker, queria saber como faço para colocar uma tabela com os markers, para não ter que tá fazendo isso e deixando o código longo.

local markers = { 
    -- X, y, z, se true cria o blip, se false não.
	{1212.459, -1312.881, 13.556, true},
}

addEventHandler ("onResourceStart", resourceRoot, function()
	for _,pos in ipairs(markers) do
		local marker = createMarker(pos[1], pos[2], pos[3] -1, 'cylinder', 1.2, 255, 255, 255, 255) -- Tamanho/cor do marker pode alterar.
		addEventHandler ("onMarkerHit", marker, FuncTeste) -- Adiciona o evento ao marker.
        if pos[4] == true then 
            local blip = createBlipAttachedTo(marker, 56) -- Cria o blip em cima do marker.
            setBlipVisibleDistance(blip, 500) -- Distancia que é visto o blip no radar.
        end
    end
end)

local FuncTeste = function()
    if getElementType(source) == "player" then
        outputChatBox(" ", source, 255,255,255, true)
        outputChatBox("Para começar a trabalhar, digite #ffff00/trabalhar ", source, 255,255,255, true)
        outputChatBox(" ", source, 255,255,255, true) 
    end
end

Assim cria os markers e adiciona uma função a ele, testa certin para ver se funciona, pois não testei.

Link to comment
4 hours ago, FelipeX said:
local markers = { 
    -- X, y, z, se true cria o blip, se false não.
	{1212.459, -1312.881, 13.556, true},
}

addEventHandler ("onResourceStart", resourceRoot, function()
	for _,pos in ipairs(markers) do
		local marker = createMarker(pos[1], pos[2], pos[3] -1, 'cylinder', 1.2, 255, 255, 255, 255) -- Tamanho/cor do marker pode alterar.
		addEventHandler ("onMarkerHit", marker, FuncTeste) -- Adiciona o evento ao marker.
        if pos[4] == true then 
            local blip = createBlipAttachedTo(marker, 56) -- Cria o blip em cima do marker.
            setBlipVisibleDistance(blip, 500) -- Distancia que é visto o blip no radar.
        end
    end
end)

local FuncTeste = function()
    if getElementType(source) == "player" then
        outputChatBox(" ", source, 255,255,255, true)
        outputChatBox("Para começar a trabalhar, digite #ffff00/trabalhar ", source, 255,255,255, true)
        outputChatBox(" ", source, 255,255,255, true) 
    end
end

Assim cria os markers e adiciona uma função a ele, testa certin para ver se funciona, pois não testei.

Isso não funcionaria, pois 'source' em 'onMarkerHit' é o elemento marker.

  • Like 1
Link to comment

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...