В идеале и там и там, но если так нельзя то можно только на картеМаркер должен физически находится на указанной точке, или только на карте?
Описание: Ставит чекпоинт с указанным типом, координатами, радиусом. Также ставит метку на карте с указанным цветом.
Код:
Пример использования:Lua:function setMarker(type, x, y, z, radius, color) deleteCheckpoint(marker) removeBlip(checkpoint) checkpoint = addBlipForCoord(x, y, z) marker = createCheckpoint(type, x, y, z, 1, 1, 1, radius) changeBlipColour(checkpoint, color) lua_thread.create(function() repeat wait(0) local x1, y1, z1 = getCharCoordinates(PLAYER_PED) until getDistanceBetweenCoords3d(x, y, z, x1, y1, z1) < radius or not doesBlipExist(checkpoint) deleteCheckpoint(marker) removeBlip(checkpoint) addOneOffSound(0, 0, 0, 1149) end) end
Lua:setMarker(1, 1939.0338, 2021.2542, 10.3043, 20, 0xFFFFFFFF)
Только 1 чекпоинт можно поставитьДа! То что нужно! Спасибо большое! Отдельно спасибо за пример!
А такой вопрос - если нужно что бы появились несколько маркеров - как тогда быть?
Я вызвал метод 2 раза но у меня только 1 маркер стоит, последний который
Как вариант, поставить маркер под себя, и поднять его.А можно сделать так, чтоб он выключался?
А можно сделать так, чтоб он выключался?
не помогаетЧтобы не париться, попробуй когда хочешь удалить маркер вызвать его на свои координаты.
Выключить - это удалить, а потом поставить новый. Что именно ты пытаешься и что не выходит?не помогает
marker = addSpriteBlipForContactPoint(X, Y, Z, type id)
removeBlip(marker)
Возможно очень тупой вопрос, но как занести этот marker в таблицу? Мне нужно чтобы у меня у меня при активации создавалось 5 чекпоинтов одновременно и потом удалялись по типу:Я обычно это использую. Создает чекпоинт красный небольшой в мире и на карте маркер ставит. Тип метки можно здесь посмотреть для Gta SA соответственно: https://sampwiki.blast.hk/wiki/MapIcons
marker = addSpriteBlipForContactPoint(X, Y, Z, type id)
Только учти, при создании метки, тебе надо marker в таблицу какую-то занести, чтобы удалить потом функциейremoveBlip(marker)
--Я в начале пытался создать таблицу
zona = {marker}
if status then
marker = addSpriteBlipForContactPoint(X, Y, Z, type id)
marker = addSpriteBlipForContactPoint(X, Y, Z, type id)
marker = addSpriteBlipForContactPoint(X, Y, Z, type id)
marker = addSpriteBlipForContactPoint(X, Y, Z, type id)
marker = addSpriteBlipForContactPoint(X, Y, Z, type id)
else
removeBlip(marker)
end
local tMarkers = {} -- Таблица для хранения маркеров.
-- Где-то добавляешь маркер
local marker = addSpriteBlipForContactPoint(X, Y, Z, type id)
-- И заносишь в таблицу:
table.insert(tMarkers, marker)
-- Потом тебе для удаления маркеров используешь цикл:
for i,v in ipairs(tMarkers) do
removeBlip(v) -- В цикле перебираются все маркеры и удаляются.
v = nil -- обнуляем значение в таблице
end