Как сдвинуть insert в обычном диалоге? (type|style = 1)

Kvisk

Известный
Автор темы
205
209
Версия MoonLoader
.026-beta
Каким методом\способом можно сдвинуть insert в дефолтном диалоге?
JtpVPsJ.png

Например на несколько символов влево, что бы поместился между кавычками?
 
Решение
Каким методом\способом можно сдвинуть insert в дефолтном диалоге?
JtpVPsJ.png

Например на несколько символов влево, что бы поместился между кавычками?
Если я правильно понял - вот функция которая ставит Insert на указаный тобой номер символа:
Lua:
-- Для R1
function setDialogCursorPos(position)
    local pDialog = memory.getuint32(samp + 0x21A0B8, true)
    local m_pEditbox = memory.getuint32(pDialog + 0x24, true)
    memory.setuint8(m_pEditbox + 0x119, position, true)
    memory.setuint8(m_pEditbox + 0x11E, position, true)
end

-- Для R3
function setDialogCursorPos(position)
    local pDialog = memory.getuint32(samp + 0x26E898, true)
    local m_pEditbox = memory.getuint32(pDialog + 0x24, true)...

Kvisk

Известный
Автор темы
205
209
получаешт корды первой кавычки с помощью sub, потом получаешь корды второй кавычки, также с помоью sub, далее тем же sub получаешь ких корды и ставишь курсор между ними
Эм, Веня я может чего не знаю? Но насколько мне известно srt.sub возвращает номер символа и вообще работает со строкой, какие координаты???

p.s. Если что, мне нужен способ ПЕРЕДВИНУТЬ курсор, а куда и как я сам метод найду)
 

VRush

https://t.me/vrushscript
2,395
1,148
Эм, Веня я может чего не знаю? Но насколько мне известно srt.sub возвращает номер символа и вообще работает со строкой, какие координаты???

p.s. Если что, мне нужен способ ПЕРЕДВИНУТЬ курсор, а куда и как я сам метод найду)
через for делаешь
t = text:sub(i, i)
if t == "\"" then
так получаешь кавычку

Ой, сори, я думал надо найти где находятся эти кавычки
Lua:
text = 'kvisk " 123 '

if text:find('"') then
    pos = -1
    for i = 1, #text do
       if text:sub(i, i) == "\"" then
            pos = i
            break
       end
    end
end

print(pos)
 
Последнее редактирование:
  • Эм
Реакции: Kvisk

Kvisk

Известный
Автор темы
205
209
через for делаешь
t = text:sub(i, i)
if t == "\"" then
так получаешь кавычку

Ой, сори, я думал надо найти где находятся эти кавычки
[CODE = lua]text = 'kvisk " 123 '

if text:find('"') then
pos = -1
for i = 1, #text do
if text:sub(i, i) == "\"" then
pos = i
break
end
end
end

print(pos)[/CODE]
Понятно.. Но если что, твой способ работать не будет. кириллица 2 байта, латиница 1 байт, некоторые символы № по 4 байта..
 

ARMOR

kjor32 is legend
Модератор
4,850
6,122
Каким методом\способом можно сдвинуть insert в дефолтном диалоге?
JtpVPsJ.png

Например на несколько символов влево, что бы поместился между кавычками?
Если я правильно понял - вот функция которая ставит Insert на указаный тобой номер символа:
Lua:
-- Для R1
function setDialogCursorPos(position)
    local pDialog = memory.getuint32(samp + 0x21A0B8, true)
    local m_pEditbox = memory.getuint32(pDialog + 0x24, true)
    memory.setuint8(m_pEditbox + 0x119, position, true)
    memory.setuint8(m_pEditbox + 0x11E, position, true)
end

-- Для R3
function setDialogCursorPos(position)
    local pDialog = memory.getuint32(samp + 0x26E898, true)
    local m_pEditbox = memory.getuint32(pDialog + 0x24, true)
    memory.setuint8(m_pEditbox + 0x119, position, true)
    memory.setuint8(m_pEditbox + 0x11E, position, true)
end

Пример исопльзования:
Lua:
setDialogCursorPosition(5)
 
  • Влюблен
Реакции: Kvisk