по луа

Vespan

хинкали это большие пельмени
Автор темы
Проверенный
2,140
1,900
Версия SA-MP
  1. 0.3.7-R2
я бы хотел что когда пишут /qq пишеться команда,и хотел что-бы когда я писал /qqq то писало в чат.Пишу код этот и lua не работает,шо делать?
Lua:
require "lib.moonloader"
function main()
    while not isSampAvailable() do wait(100) end
    sampregisterChatCommand('g', cmd_g)
    function cmd_g
    sampAddChatMessage('Люблю сасат',0x00DD00)
    end
    sampRegisterChatCommand('qq', function() sampSendChat("/mm") end)
    wait(-1)
    end
 

Refraktor

Известный
136
73
я бы хотел что когда пишут /qq пишеться команда,и хотел что-бы когда я писал /qqq то писало в чат.Пишу код этот и lua не работает,шо делать?
Lua:
require "lib.moonloader"
function main()
    while not isSampAvailable() do wait(100) end
    sampregisterChatCommand('g', cmd_g)
    function cmd_g
    sampAddChatMessage('Люблю сасат',0x00DD00)
    end
    sampRegisterChatCommand('qq', function() sampSendChat("/mm") end)
    wait(-1)
    end
Lua:
local sampev = require "lib.samp.events"

function sampev.onSendCommand(cmd)
    if cmd == "/qq" then
        sampSendChat("/mm")
        return false
    elseif cmd == "/g" then
        sampAddChatMessage("Изучи основы Lua!", 0xFF0000)
        return false
    end
    return cmd
end
 
Последнее редактирование:

Vespan

хинкали это большие пельмени
Автор темы
Проверенный
2,140
1,900
Lua:
local sampev = require "lib.samp.events"

function sampev.onSendCommand(cmd)
    if cmd == "/qq" then
        sampSendChat("/mm")
        return false
    elseif cmd == "/g" then
        sampAddChatMessage("Изучи основы Lua!", 0xFFFF0000)
        return false
    end
    return cmd
end
Я учу язык Lua,иногда я не понимаю шо вы там питаите
 

Refraktor

Известный
136
73
Я учу язык Lua,иногда я не понимаю шо вы там питаите
Ну в целом у тебя 60% верно. Но для таких мелких команд лучше вместо регистрации новых, делать через хук с использованием SAMP.lua (т.к. команды не безгранично можно регистрировать).
Также не забывай при работе с функциями скобки ().
И сами функции надо определять вне main() и других функций.
 

Vespan

хинкали это большие пельмени
Автор темы
Проверенный
2,140
1,900
Ну в целом у тебя 60% верно. Но для таких мелких команд лучше вместо регистрации новых, делать через хук с использованием SAMP.lua (т.к. команды не безгранично можно регистрировать).
Также не забывай при работе с функциями скобки ().
И сами функции надо определять вне main() и других функций.
Я ещё один вопрос тебе задам
Lua:
require "lib.moonloader"
function main()
    while not isSampAvailable() do wait(100) end
        sampRegisterChatCommand('log', function() sampSendChat('/log [Мой пароль]') end)
        wait(-1)
    end
И когда я пишу /log через F6 в чат когда логинусь то не получаеться.В чем дело.Подскажешь?
 

Refraktor

Известный
136
73
Я ещё один вопрос тебе задам
Lua:
require "lib.moonloader"
function main()
    while not isSampAvailable() do wait(100) end
        sampRegisterChatCommand('log', function() sampSendChat('/log [Мой пароль]') end)
        wait(-1)
    end
И когда я пишу /log через F6 в чат когда логинусь то не получаеться.В чем дело.Подскажешь?
Ну чтобы командой авторизовываться, сервер должен это поддерживать. А если ты какой-то плагин/скрипт типа антистиллера используешь, для входа по /log, то sampSendChat() не сработает, потому что текст отправляется сразу на сервер. Надо открывать чат скриптом, вставлять туда текст и сразу нажимать Enter. Тогда сработает. Вроде для этого нужна эта функция: https://blast.hk/wiki/lua:sampprocesschatinput
 

deddosouru

Смотрю аниме, служу Сатане
Друг
2,034
1,339
Lua:
require "lib.moonloader"
function main()
    while not isSampAvailable() do wait(100) end
    sampregisterChatCommand('g', cmd_g)
        sampRegisterChatCommand('qq', function() sampSendChat("/mm") end)
end   
function cmd_g
  sampAddChatMessage('Люблю сасат',0x00DD00)
end
я починил братик. сравни свой код и мой. я убрал wait(-1) потому что он нахер не нужен , вынес выщываемую коммандой фунцию отдельно как и подобовает, и проставил табуляцию. ну там разберешься