Lua Точки в конце предложенние.

l0ver)

Потрачен
36
13
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Извиняюсь, ну это бесполезная дичь
 
  • Нравится
Реакции: ylyanovmaxim2202

coffi5514

Новичок
5
0
И так, решил выложить свой, так сказать, слегка улучшенный код. Давайте узнаем что изменилось.
  • Более не имеется зависимости в виде всеми любимого SAMP-LUA, как же без этого.
  • Появилась проверка на восклицательный и вопросительный знак в конце предложения.
  • Появился универсальный паттерн, что облегчило добавление собственных команд и снизило количество говнокода.
  • Пропало огромное количество условных выражений, которые наблюдались у некоторых выше.
Код открыт, можете изучать, брать что-то для своих проектов, если кто-то о чём-то не знал. Буду не против, если добавят в первый пост.
Комментарии в коде оставлены, если встретите что-то непонятное, можете просто прочитать то, что я написал рядом.
У тебя ставит точки в /me /do cамостоятельно, убери и перезалей плес
 

Pakulichev

Software Developer & System Administrator
Друг
1,789
2,131
У тебя ставит точки в /me /do cамостоятельно, убери и перезалей плес
Оно так и должно делать, это же скрипт для автоматического добавления точек в конце предложения.
Если именно эти команды не нужны, открой файл любым текстовым редактором и на 9-ой строке убери эти команды из списка.
wtf.jpg
 

Carrentine

Потрачен
569
460
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
людям настооолько лень нажать ебучую точку, но не лень написать целый скрипт 🤦‍♂️
 
  • Нравится
Реакции: coffi5514

Argent0173

Новичок
8
0
И так, решил выложить свой, так сказать, слегка улучшенный код. Давайте узнаем что изменилось.
  • Более не имеется зависимости в виде всеми любимого SAMP-LUA, как же без этого.
  • Появилась проверка на восклицательный и вопросительный знак в конце предложения.
  • Появился универсальный паттерн, что облегчило добавление собственных команд и снизило количество говнокода.
  • Пропало огромное количество условных выражений, которые наблюдались у некоторых выше.
Код открыт, можете изучать, брать что-то для своих проектов, если кто-то о чём-то не знал. Буду не против, если добавят в первый пост.
Комментарии в коде оставлены, если встретите что-то непонятное, можете просто прочитать то, что я написал рядом.
Здесь точки в обычном чате не ставит
Здесь точки в обычном чате не ставит
Как сделать чтобы ставил?
 
Последнее редактирование:

Usufik

Активный
100
57
Скрипт хуйня честно говоря, ставишь знак вопроса - ебашит точку. Ставишь сам точку, он добавляет ещё одну. В ame точку не ставит. Короче сыро.
 

threesixteen

Известный
7
0
Pakulichev
И так, решил выложить свой, так сказать, слегка улучшенный код. Давайте узнаем что изменилось.
  • Более не имеется зависимости в виде всеми любимого SAMP-LUA, как же без этого.
  • Появилась проверка на восклицательный и вопросительный знак в конце предложения.
  • Появился универсальный паттерн, что облегчило добавление собственных команд и снизило количество говнокода.
  • Пропало огромное количество условных выражений, которые наблюдались у некоторых выше.
Код открыт, можете изучать, брать что-то для своих проектов, если кто-то о чём-то не знал. Буду не против, если добавят в первый пост.
Комментарии в коде оставлены, если встретите что-то непонятное, можете просто прочитать то, что я написал рядом.
У меня точки только ставится в отыгровках. Как мне сделать чтобы точка ставилась после простого сообщения в чат?
 
Последнее редактирование:

flxgnwy

Новичок
26
0
Привет!
Раз всё - таки существует авто акцент, дак дайте жизнь тогда авто точкам.
Суть скрипта такова, в конце каждого вашего предложенние ставит точку, чат, /fam /b /vr /rb /r /f /fb
Демонстрация снизу.
Требует библеотеку Samp.Events
1 СКРИПТ С ТОЧКАМИ В ОТЫГРОВКУ /ME /DO
2. 2 СКРИПТ БЕЗ НИХ.
3. Скрипт не мой, я не знаю чего его не добавил, авто Pakulichev он гораздо лучше чем прошлый 2 версии, и не требует библиотеки samp.Events
Можно передать скрипт так - что бы ставил точки в рп чате?
 

Стэнфорд

Потрачен
1,058
540
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
По просьбам трудящихся выше, доделал код. Теперь после обычных сообщениях пишет точку (Если в конце нет "?" или "!"), убрал точку на конце /me и /do
Lua:
local sampev = require'lib.samp.events'
function main()
    if not isSampLoaded() then return end
    while not isSampAvailable() do wait(0) end
    sampAddChatMessage("автоматическая точка в конце предложения короче", -1)
    wait(-1)
end

local function processCommand(command)
    local allowedCommands, commandListed = {"b", "r", "rb", "f", "fb", "vr", "fam"}, false
    for i, v in ipairs(allowedCommands) do
        if command:match(("^/%s .+[^.!?]$"):format(v)) then
            commandListed = true
            break
        end
    end
    if not commandListed then return false end -- Если нет подходящей команды, игнорируем
    return command .. '.' -- Добавляем точку в конец, если это нужно
end

function onSendRpc(id, bs)
    if id == 50 then -- RPC_SERVERCOMMAND [ID: 50]
        local commandLenght = raknetBitStreamReadInt32(bs) -- UINT32_T[4]
        local commandText = raknetBitStreamReadString(bs, commandLenght) -- CHAR[128]
        if processCommand(commandText) ~= false then -- Передаём полученную команду в локальный обработчик
            commandText = processCommand(commandText) -- Получаем новую отредактированную строку
            raknetBitStreamSetWriteOffset(bs, 0) -- Начинаем читать BitStream с самого начала
            raknetBitStreamWriteInt32(bs, commandText:len()) -- Записываем новую длину строки, т.к. она изменилась
            raknetBitStreamWriteString(bs, commandText) -- Записываем новую строку в наш BitStream
            return true, id, bs -- Передаём новые результаты в обработчик RPC
        end
    end
end

function sampev.onSendChat(text)
    if not text:find('!')and not text:find('?') then return {text.."."}
end
end
 
  • Нравится
Реакции: Alexsdfg