Координаты текстдрава

TieXoP

Известный
Автор темы
133
27
Версия MoonLoader
.026-beta
Доброго времени суток.
Бродил по фуруму. Что удалось выудить:
Lua:
local x, y = 50,100

for i = 0, 4096 do
             if sampTextdrawIsExists(i) then
                    posX, posY = sampTextdrawGetPos(i)
                    print(posX,posY)
                    if posX == x and posY == y then sampSendClickTextdraw(i)
                    end
            end
        end
Отдельно "sampSendClickTextdraw(i)"- работает безотказно. Но как дело доходит до данного блока, все умирает. Скрипт не крашится, не ругается в лог мунлоадера и соответственно не дает положительного результата.
Знающие, с низким поклоном прошу помощи разобраться
 

TieXoP

Известный
Автор темы
133
27
я не знаю, почему подобная проверка не проходит, у меня также всегда; но зато так будет работать:
Lua:
if tostring(posX):find(x)
Сразу вспомнил про цело-численные данные. Без "tostring" скрипт видит значение с драконьим хвостом) Спасибо за помощь!
 

chapo

чопа сребдс // @moujeek
Модератор
8,935
11,705
я не знаю, почему подобная проверка не проходит, у меня также всегда; но зато так будет работать:
Lua:
if tostring(posX):find(x)
колхоз, лучше юзать
Lua:
math.floor(x)
а в идеале вообще так
Lua:
local targetPos = {
    x = 50,
    y = 100
}

function sampev.onShowTextDraw(id, data)
    local x, y = math.floor(data.position.x), math.floor(data.position.y)

    if x == targetPos.x and y == targetPos.y then
       -- code
    end
end
 
  • Нравится
Реакции: TieXoP

TieXoP

Известный
Автор темы
133
27
колхоз, лучше юзать
Lua:
math.floor(x)
а в идеале вообще так
Lua:
local targetPos = {
    x = 50,
    y = 100
}

function sampev.onShowTextDraw(id, data)
    local x, y = math.floor(data.position.x), math.floor(data.position.y)

    if x == targetPos.x and y == targetPos.y then
       -- code
    end
end
Как всегда на высоте. Спасибо💪