- Версия MoonLoader
- .026-beta
Требуется при создании потока выделять ему личные переменные имеющие одинаковый смысл выполнения (знаю что написал херню)
В общем исходя из того, что потоки могут читать и перезаписывать переменные объявленные вне потока, делаю вывод, что в моём случае, если одно и то же действие произойдет, то потоки будут друг другу перезаписывать переменные. Мне же требуется, чтобы у каждого потока были строго выделенные переменные, и никто, кроме их самих не перезаписывал их.
Lua:
function sampev.onCreate3DText(idObject, color, position, distance, testLOS, attachedPlayerId, attachedVehicleId, text)
if activate then
if text:find('То что ищется', 1, true) then
lua_thread.create(function()
id = idObject
while not activate_thr or not sampIs3dTextDefined(id) do
wait(100)
end
run = true
sampAddChatMessage('Запуск отслеживания координат', -1)
print(sampIs3dTextDefined(id))
while run and sampIs3dTextDefined(id) do
_, _, X, Y, _, _, _, _, _ = sampGet3dTextInfoById(id)
x, y, _ = getCharCoordinates(playerPed)
print(getDistanceBetweenCoords2d(x, y, X, Y))
if getDistanceBetweenCoords2d(x, y, X, Y) < 2 then
sampAddChatMessage('Делаю', -1)
setVirtualKeyDown(vkeys.VK_N, true)
wait(200)
setVirtualKeyDown(vkeys.VK_N, false)
run = false
end
wait(100)
end
end)
end
end
В общем исходя из того, что потоки могут читать и перезаписывать переменные объявленные вне потока, делаю вывод, что в моём случае, если одно и то же действие произойдет, то потоки будут друг другу перезаписывать переменные. Мне же требуется, чтобы у каждого потока были строго выделенные переменные, и никто, кроме их самих не перезаписывал их.