100 автозамен для Чата и Диалога!

serhiyrubin

Известный
Автор темы
396
106
Описание скрипта
ini файл создается в 'Документы > GTA San Andreas User Files > SAMP > AutoReplace.ini'.
В нем примерно такие настройки:

Код:
[Text]
1=Ку
2=Рек1
[Replace]
1=Привет
2=[Реклама] Свободная строка объявлений на SAN NEWS

Если вы напишите в чат/диалог(1) слово 'Ку', то оно моментом заменится на слово 'Привет'
Так же если вы напишете 'Джон Ку', оно заменится на 'Джон Привет' (Чувствителен к регистру!)
Это можно использовать как вам угодно, даже для News чтобы быстро отправлять объявления с рекламой.
Или же для быстрой РП отыгровки. Примерно так - 'Арест1' > '/me достал наручники' и т.д.

Делал для себя такое клео, но оно жрало 30 фпс при открытом Чате/Диалоге
Я очень обрадовался что на Lua все работает идеально и не жрет ни одного ФПС.
Пользуйтесь!)

Код:
script_name('AutoReplace')
script_author("JackBanana")
script_dependencies("SAMPFUNCS, SAMP")
require "lib.moonloader"
local inicfg = require 'inicfg'
local mem = require "memory"

local dir = os.getenv('USERPROFILE') .. '\\Documents\\GTA San Andreas User Files\\SAMP\\AutoReplace.ini'
if not doesFileExist(dir) then
local text = "[Text]\n"
local replace = "[Replace]\n"
    for i = 1, 100 do
    text = text..i.."=Text\n"
    replace = replace..i.."=Replace\n"
    end
local file = io.open(dir, "a")   
file:write(text..replace)
file:flush()
io.close(file)
end

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    while true do
    wait(0)
        if sampIsChatInputActive() then
            local inifiles = inicfg.load(nil,dir)
            for n = 1, 100 do
                if string.find(sampGetChatInputText(), inifiles.Text[n]) then
                local text1, text2 = string.match(sampGetChatInputText(), "(.*)"..inifiles.Text[n].."(.*)")
                sampSetChatInputText(text1..inifiles.Replace[n])
                local chatInfoPtr = sampGetInputInfoPtr()
                local chatBoxInfo = getStructElement(chatInfoPtr, 0x8, 4)
                local lastPos = mem.getint8(chatBoxInfo + 0x11E)
                sampSetChatInputText(text1..inifiles.Replace[n]..text2)
                mem.setint8(chatBoxInfo + 0x11E, lastPos)
                mem.setint8(chatBoxInfo + 0x119, lastPos)
                end
            end
        end
        if sampIsDialogActive() and sampGetCurrentDialogType() == 1 then
            local inifiles = inicfg.load(nil,dir)
            for n = 1, 100 do
                if string.find(sampGetCurrentDialogEditboxText(), inifiles.Text[n]) then
                local text1, text2 = string.match(sampGetCurrentDialogEditboxText(), "(.*)"..inifiles.Text[n].."(.*)")
                sampSetCurrentDialogEditboxText(text1..inifiles.Replace[n])
                local chatInfoPtr = sampGetInputInfoPtr()
                local chatBoxInfo = getStructElement(chatInfoPtr, 0x8, 4)
                local lastPos = mem.getint8(chatBoxInfo + 0x11E)
                sampSetCurrentDialogEditboxText(text1..inifiles.Replace[n]..text2)
                mem.setint8(chatBoxInfo + 0x11E, lastPos)
                mem.setint8(chatBoxInfo + 0x119, lastPos)
                end
            end
        end
    end
end
 

Вложения

  • AutoReplace.lua
    2.1 KB · Просмотры: 431
Последнее редактирование:

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
прям как тот пацанчик что очистку чата делал вот так
CLEO:
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
 

serhiyrubin

Известный
Автор темы
396
106
прям как тот пацанчик что очистку чата делал вот так
CLEO:
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
Можно сделать проще как то? Я пока не очень шарю
 

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
та я тоже в луа не ебу че да как
но скорее всего можно было бы через массив и цикл
 
  • Нравится
Реакции: user116675 и deddosouru

deddosouru

Смотрю аниме, служу Сатане
Друг
2,036
1,323
Или стринг матч и перехват чата или введенного текста
 

serhiyrubin

Известный
Автор темы
396
106
Или стринг матч и перехват чата или введенного текста
Если делать через RPC, то в editbox'е не будет видно на что заменяется текст
Ясно будет только после отправки (если это сообщение можно будет как то увидать), так же нельзя дополнить/отредактировать замену в editbox'e - если делать через RPC
 

optimist228

Участник
58
6
прям как тот пацанчик что очистку чата делал вот так
CLEO:
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
0AF8: samp add_message_to_chat "" color -1
ето я:(
На самом деле там не было color -1)
 

Lord

Новичок
236
42
Не создается файл .ini.

Разобрался.
Такое себе конечно. Пишешь например в чат какой-нибудь, то оно не реагирует в нем, только обычный. А каждый чат добавлять не вариант.
 
Последнее редактирование модератором:

serhiyrubin

Известный
Автор темы
396
106
Разобрался.
Такое себе конечно. Пишешь например в чат какой-нибудь, то оно не реагирует в нем, только обычный. А каждый чат добавлять не вариант.
Исправил, заливаю новую версию, жди ))
 
Последнее редактирование:

AnWu

Известный
Всефорумный модератор
4,777
5,400
sampSetChatInputText() при изменении текста ставит курсор в конец строки, тоесть в середине текста анриал что либо изменить. Я эту траблу решал в InputHelper. Ищи на форуме.
 

serhiyrubin

Известный
Автор темы
396
106
sampSetChatInputText() при изменении текста ставит курсор в конец строки, тоесть в середине текста анриал что либо изменить. Я эту траблу решал в InputHelper. Ищи на форуме.
Когда набираю и текст заменяется, я могу двигать курсор и дописывать что надо
Даже если у меня автозамена на 'Ку' > 'Привет'
Я могу писать это Ку 350 раз и оно заменится 350 раз и с пробелами между словами и без них тоже работает
Скачай сам проверь - все норма работает, или я тебя не понял(
 

AnWu

Известный
Всефорумный модератор
4,777
5,400
Когда набираю и текст заменяется, я могу двигать курсор и дописывать что надо
Даже если у меня автозамена на 'Ку' > 'Привет'
Я могу писать это Ку 350 раз и оно заменится 350 раз и с пробелами между словами и без них тоже работает
Скачай сам проверь - все норма работает, или я тебя не понял(
введи текст, поставь курсор в начало строки и введи "ку"
 

Lord

Новичок
236
42
Уже исправил, скоро обновлю тему
После обновления вовсе не реагирует на комбинации.
0WsUFe_HTI63xAA6DFfw7w.png
После ввода комбинации.