Lua Сокращение команд (Помогите со скриптом)

Статус
В этой теме нельзя размещать новые ответы.

#JD

Известный
Автор темы
40
1
Ребят, нужен скрипт подобия сокращения команд как это было в cleo только на lua.
По принципу работы с ID игрока: /fd [ID] <=> /find [ID].
Знаю что пишется это все, грубо говоря, в пару строк, но моих мозгов и рук на это не хватит (было бы что-то сложнее, то я бы не просил :) ) Заранее спасибо
 

Azller Lollison

я узбек
Друг
1,342
2,266
Ребят, нужен скрипт подобия сокращения команд как это было в cleo только на lua.
По принципу работы с ID игрока: /fd [ID] <=> /find [ID].
Знаю что пишется это все, грубо говоря, в пару строк, но моих мозгов и рук на это не хватит (было бы что-то сложнее, то я бы не просил :) ) Заранее спасибо
Lua:
sampRegisterChatCommand('fd', function(param) sampSendChat('/find '..param) end)
Вот тот костыль, но как сказал рандаззо - лучше хукать сенд комманд и там уже мутить все.
 
  • Нравится
Реакции: #JD и NIngaro

imring

Ride the Lightning
Всефорумный модератор
2,355
2,516
лучше ловить в onSendCommand, чем регистрировать миллион сокращений.
Lua:
samp = require 'samp.events'

cmds = {
    ['/find'] = '/fd'
}

function samp.onSendCommand(cmd)
  local c = cmd:match('^(.*)%s-.-$')
  if cmds[c] then
    cmd = cmd:gsub(c, cmds[c], 1)
  end
  return { cmd }
end
 
  • Нравится
Реакции: #JD

#JD

Известный
Автор темы
40
1
Lua:
samp = require 'samp.events'

cmds = {
    ['/find'] = '/fd'
}

function samp.onSendCommand(cmd)
  local c = cmd:match('^(.*)%s-.-$')
  if cmds[c] then
    cmd = cmd:gsub(c, cmds[c], 1)
  end
  return { cmd }
end
при вводе команды без ID, сервер регистрирует свою полную команду find, но при вводе /fd 50(например) - Unknown command
 
Статус
В этой теме нельзя размещать новые ответы.