Doongogar Posted October 4, 2021 Share Posted October 4, 2021 ola, gostaria de saber como faz para criar Markers de spawn de carro, spawn de skin, spawn de colete e vida e etc, por comando, ex: /markercarro (id do carro)*criar marker de spawn de carro com o id do veiculo espeficicado nas minhas coordenadas, seria um script para facilitar e não precisar ficar pegando coordenadas e mudando diretamente em um script Link to comment
eqFoxim Posted October 6, 2021 Share Posted October 6, 2021 Você ira ter que usar addCommandHandler tambem mecher com tabelas e tera que usar algum salvamento para salvar a posição do marker, e qual tipo ele é, oque ele vai fazer pegar etc voce pode fazer isso ultilizando ElementData e salvando com setAccountData Ou usando database. Realmente é um sistema bastante complexo mas tente pelo menos começar o seu projeto depois mande aqui que poderemos te ajudar a finaliza-lo Link to comment
Other Languages Moderators androksi Posted October 7, 2021 Other Languages Moderators Share Posted October 7, 2021 (edited) Olá! Eu fiz um código e não testei, mas acredito que deve funcionar: Spoiler -- Local tables local markers = { available_types = { ["carro"] = true, ["skin"] = true, ["arma"] = true }, elements = {}, event_element = createElement("auto_markers"), created_vehicles = {} } -- Local functions local function setMarkerAssets(marker, type, id) markers.elements[marker] = { type = type, id = id } end local function destroyVehicle(player) local veh = markers.created_vehicles[player] if veh then if isElement(veh) then destroyElement(veh) end markers.created_vehicles[player] = nil end end -- Commands addCommandHandler("marker", function(player, _, ...) local args = { ... } if #args > 0 then local markerType = args[1] local markerValue = tonumber(args[2]) if markerType and markers.available_types[markerType] then if markerValue then local x, y, z = getElementPosition(player) local marker = createMarker(x, y, z - 1, "cylinder", 1.2, 255, 0, 0, 100) setElementParent(marker, markers.event_element) setMarkerAssets(marker, markerType, markerValue) else print("* O ID precisa ser válido.") end else print("* O tipo não é válido.") end else print("* Comando: /marker <tipo> <id referente ao tipo>") end end) -- MTA Events addEventHandler("onMarkerHit", markers.event_element, function(hitElement, matchingDimension) if getElementType(hitElement) == "player" and matchingDimension then local data = markers.elements[source] if data then local x, y, z = getElementPosition(hitElement) if data.type == "carro" then destroyVehicle(hitElement) markers.created_vehicles[hitElement] = createVehicle(data.id, x, y, z) elseif data.type == "skin" then setElementModel(hitElement, data.id) elseif data.type == "arma" then giveWeapon(hitElement, data.id, 9999, true) end end end end) addEventHandler("onPlayerQuit", root, function() destroyVehicle(source) end) Recomendo que você salve os dados em um banco de dados, pois dessa forma atual que fiz, assim que o resource é reiniciado, eles irão sumir. O comando pra testar é: /marker <tipo> <id referente ao tipo>. Por exemplo: /marker carro 411, /marker skin 1, /marker arma 30 Edited October 10, 2021 by androksi Link to comment
Doongogar Posted October 10, 2021 Author Share Posted October 10, 2021 esta dando este erro ERROR: marker/script.lua52: attempt to index global 'marker' (a nil value) oque faço para conzertar Link to comment
Other Languages Moderators androksi Posted October 10, 2021 Other Languages Moderators Share Posted October 10, 2021 Editei o código. Errei uma letra. 1 1 Link to comment
Doongogar Posted October 10, 2021 Author Share Posted October 10, 2021 muito obrigado funcionou! 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