- Версия SA-MP
-
- Другая
Как реализовать клик на текстдрайв "Использовать"? Получилось только кликнуть на предмет в инвентаре (оружие) благодаря data.modelId (по модельке обьекта), остальные попытки кликнуть на надпись "Использовать" при помощи data.position (координат), data.color (цвету), айди 2301 и по айди текстдрайвов ниже, которые показывает раксамп - не увенчались успехом
[12:16:34] [SELECTABLE-TEXTDRAW] ID: 2167, Text: LD_SPAC:white X: 287.56 Y: 130.60.
[12:16:34] [SELECTABLE-TEXTDRAW] ID: 2168, Text: LD_SPAC:white X: 287.56 Y: 156.67.
[12:16:34] [SELECTABLE-TEXTDRAW] ID: 2169, Text: LD_SPAC:white X: 287.56 Y: 182.73.
[12:16:34] [SELECTABLE-TEXTDRAW] ID: 2170, Text: LD_SPAC:white X: 310.28 Y: 130.60.
[12:16:34] [SELECTABLE-TEXTDRAW] ID: 2171, Text: LD_SPAC:white X: 310.28 Y: 156.67.
[12:16:34] [SELECTABLE-TEXTDRAW] ID: 2172, Text: LD_SPAC:white X: 310.28 Y: 182.73.
Код
Lua:
local sampev = require("samp.events")
require("addon")
function sampev.onServerMessage(color, text)
if text:find('Советуем получить паспорт') then -- После подключения к серверу на новореге появляется надпись в чате
newTask(function()
print('Снимаем баг инвентаря')
sendInput('/mn')
wait(2500)
print('Открываем инвентарь')
sendInput('/invent')
end)
end
end
function sampev.onShowDialog(id, style, title, btn1, btn2, text) -- Функция, закрывающая диалог после использования команды /mn в коде выше
if title:find('Игровое меню') then sendDialogResponse(id, 0, 0, '') end
return false
end
function sampev.onShowTextDraw(id, data) -- Функция, отвечающая за нажатие по самой 1 ячейке инвентаря
if data.modelId == 1649 then
sendClickTextdraw(id)
end
if id == 2302 then -- USE (позиция меняется, data.text соответствует обычной ячейке)
sendClickTextdraw(id)
end
end
if data.position.x == 479.85 and data.position.y == 146.17 then
if data.text == ИСПОЛЬЗОBАТЬ then
Не нашёл на форуме решения, в голове варианты как решить проблему следующие:
1. Найти модель обьекта, но её вероятно нет, потому что пишет Model: 0
2. Кликнуть на текстдрайв благодаря координатам/тексту/айди и так далее, но если не работает, возможно проблема в неправильном айди объекта, но тогда почему раксамп показывает 6 текстдрайвов (выше) - что почти соответствует количеству надписям (ИСПОЛЬЗОBАТЬ, РАЗДЕЛИТЬ, BЫБРОСИТЬ, ИНФОРМАЦИЯ, ЗАКРЫТЬ)
3. Bозможно проблема в том, что эта менюшка с выбором действий с предметом открывается по разному и данные текстдрайва полученные в игре с лаунчера - могут отличаться с данными из раксампа. Соответственно попытки взаимодействия с координатами может не увенчаться успехом
4. Странно то, что текст текстдрайва в игре и в раксамп не совпадает (если в игре текст - ИСПОЛЬЗОBАТЬ, то в раксамп LD_SPAC:white X)