SAMP | Изменение текста в серверном TextDraw

Mashra

Новичок
Автор темы
17
2
Версия MoonLoader
.026-beta
Привет всем,

Есть ли возможность изменить текст, который отображен на серверном textdraw?

Код:
 function sampev.onShowTextDraw(txid, data)
    file = io.open(getGameDirectory().."//moonloader//mylog.txt", "a")
    io.output(file)
    for key, val in pairs(data) do
           tval = tostring(val)
           tip = type(val)
           file:write(key.." : "..tval.. "   type - "..tip, "\n")
       end
    sampAddChatMessage("The end", -1)
    texid = txid
    io.close(file)
    data.text = "150"
    return {txid, data}
 end

Я ловлю TextDraw при открытии, получаю текст и возвращаю измененный. Он меняется обратно на серверное значение буквально через секунду.

Есть ли какой-нибудь функционал, который позволяет взаимодействовать (и изменять?) открытый TextDraw, а не взаимодействовать с ним только при открытии.

Спасибо!

Upd.: Знаю про функцию sampTextdrawGetString - она корректно возвращает значение, но она не отправляет?
 

chapo

чопа сребдс // @moujeek
Модератор
8,948
11,730
Можешь привести пример, пожалуйста? как должна выглядеть строка для записи/получения?
тебе выше уже приводили пример
Да

Вот ещё пример получения позиции текстдрава( проверка по координатам намного лучше чем по id )
Lua:
local ev = require 'lib.samp.events'

function ev.onShowTextDraw(id, data)
    if id == ид твоего текстдрава then
        print("X: " .. data.position.x .. " | Y: " .. data.position.y ) -- в результате в консоль сампфункса выводятся координаты текстдрава
    end
end
я если что про data.position.x