Код скрипта

MrRever111

Новичок
Автор темы
2
0
Версия MoonLoader
.027.0-preview
Нейронка дала такой скрипт, который при обнаружении комбинации никнейма + слова прописывает в чат команду. В целом рабочий? И что можно было бы улучшить/Исправить?

Код:
local e = require "samp.events"



function e.onServerMessage(_, msg)

    local lowerMsg = msg:lower()

  

    if lowerMsg:find("Nick_Name") and (lowerMsg:find("строй") or lowerMsg:find("построение") or lowerMsg:find("задний двор")) then

        sampSendChat("/rec 100")

    elseif lowerMsg:find("Nick_Name") and (lowerMsg:find("строй") or lowerMsg:find("построение")) then

        sampSendChat("/rec 100")

    end

end
 

sanyazuumav

Новичок
9
0
Нейронка дала такой скрипт, который при обнаружении комбинации никнейма + слова прописывает в чат команду. В целом рабочий? И что можно было бы улучшить/Исправить?

Код:
local e = require "samp.events"



function e.onServerMessage(_, msg)

    local lowerMsg = msg:lower()

 

    if lowerMsg:find("Nick_Name") and (lowerMsg:find("строй") or lowerMsg:find("построение") or lowerMsg:find("задний двор")) then

        sampSendChat("/rec 100")

    elseif lowerMsg:find("Nick_Name") and (lowerMsg:find("строй") or lowerMsg:find("построение")) then

        sampSendChat("/rec 100")

    end

end
Перестаньте уже писать скрипты с нейронки, нейронка не имеет отношения к написанию кода для moonloader, пиши лучше сам. А так в целом, я бы не сказал, что скрипт написан правильно. Во первых, для чего тут вторая строка "elseif lowerMsg:find("Nick_Name") and (lowerMsg:find("строй") or lowerMsg:find("построение")) then", если в первой все тоже самое. Во вторых, вместо lowerMsg:find пишется text:find и поставь в e.onServerMessage(color, text). В третьих, лишние скобки
 

chapo

чопа сребдс // TG/IG: @moujeek
Модератор
9,016
11,842
Перестаньте уже писать скрипты с нейронки, нейронка не имеет отношения к написанию кода для moonloader, пиши лучше сам. А так в целом, я бы не сказал, что скрипт написан правильно. Во первых, для чего тут вторая строка "elseif lowerMsg:find("Nick_Name") and (lowerMsg:find("строй") or lowerMsg:find("построение")) then", если в первой все тоже самое. Во вторых, вместо lowerMsg:find пишется text:find и поставь в e.onServerMessage(color, text). В третьих, лишние скобки
В данном случае нейронка написала нормальный рабочий код, за исключением пары моментов:
1. приведение к нижнему регистру тут было бы очень к месту, но данном случае оно бесполезно, так как в луа из коробки оно не работает с кириллицей,
2. второе условие не нужно
3. ты приводишь строку в нижний регистр, но затем в find все ровно указываешь заглавную букву в Nick_Name, хотя заглавных букв там быть не может
юВ третьих, лишние скобки
если ты про скобки в условиях, то они обязательны и в корне меняют логику.
поставь в e.onServerMessage(color, text).
че? какая разница? Заменять неиспользуемые переменные на _ - хороший тон, а до msg доебываться нет смысла так как подходит и то и то, следовательно нейминг нормальный
вместо lowerMsg:find пишется text:find
нахера ему приводить строку в нижний регистр и потом ее не использовать?
 

sanyazuumav

Новичок
9
0
че? какая разница? Заменять неиспользуемые переменные на _ - хороший тон, а до msg доебываться нет смысла так как подходит и то и то, следовательно нейминг нормальный
если человек пишет с нейронки и тут понятно, что он новичок, ему нельзя показать, что может использоваться color? ему это в будущем обязательно пригодится, ты говоришь, что он заменяет неиспользуемые параметры функции, а он в свою очередь потом пойдет на форум спрашивать, что это за параметр.
1. приведение к нижнему регистру тут было бы очень к месту, но данном случае оно бесполезно, так как в луа из коробки оно не работает с кириллицей,

нахера ему приводить строку в нижний регистр и потом ее не использовать?
ты противоречишь своему первому пункту
 

Похожие темы

  1. Ответы
    22
    Просмотры
    2M
  2. Ответы
    67
    Просмотры
    56K