Нужна помощь с сокращением команд. [SAMP]

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

VladislavKermit

Новичок
Автор темы
23
0
Всем привет. Написал белиберду, нужна помощь.

samp = require 'samp.events'

cmds = {
['/slap'] = '/sl'
['/spawn'] = '/sp'
['/unjail'] = '/uj'
['/getstats'] = '/st'
['/astats'] = '/ast'
['/agm'] = '/gm'
['/togpone'] = '/togp'
['/freeze'] = '/fr'
['/unfreeze'] = '/ufr'
['/mute'] = '/mt'
['/rmute'] = '/rmt'
['/jail'] = '/j'
['/forceskin'] = '/frsk'
['/fuelcars'] = '/fc'
['/spveh'] = '/sph'
['/kickpb'] = '/kpb'
['/mpwin'] = '/mw'
['/givegun'] = '/ggun'
['/agm'] = '/gm'
['/agm'] = '/gm'

}

function samp.onSendCommand(cmd)
local c = cmd:match('^(.*)%s-.-$')
if cmds[c] then
cmd = cmd:gsub(c, cmds[c], 1)
end
return { cmd }
end

Вообщем для некоторых команд нужно вводить айди. Помогите. (Плохо шарю в Lua)
 
Решение
Lua:
local samp = require 'samp.events'
cmds = {
    ['/slap'] = '/sl',
    ['/spawn'] = '/sp',
    ['/unjail'] = '/uj',
    ['/getstats'] = '/st',
    ['/astats'] = '/ast',
    ['/agm'] = '/gm',
    ['/togpone'] = '/togp',
    ['/freeze'] = '/fr',
    ['/unfreeze'] = '/ufr',
    ['/mute'] = '/mt',
    ['/rmute'] = '/rmt',
    ['/jail'] = '/j',
    ['/forceskin'] = '/frsk',
    ['/fuelcars'] = '/fc',
    ['/spveh'] = '/sph',
    ['/kickpb'] = '/kpb',
    ['/mpwin'] = '/mw',
    ['/givegun'] = '/ggun'
}

function samp.onSendCommand(CMD)
    for k, v in pairs(cmds) do
        if CMD:find(v) then
            CMD = CMD:gsub(v, k)
            return {CMD}
        end
    end
end
попробуй так

VladislavKermit

Новичок
Автор темы
23
0
Lua:
function samp.onSendCommand(cmd)
local c = cmd:match('^(.*)%s-.-$')
if cmds[c] then
cmd = cmd:gsub(c, cmds[c], 1)
end
return { cmd }
end
Зачем это?
Без этого можно как бы
Вк есть? там помогу тебе сделать

Было бы прекрасно)
 
463
825
Lua:
local samp = require 'samp.events'
cmds = {
    ['/slap'] = '/sl',
    ['/spawn'] = '/sp',
    ['/unjail'] = '/uj',
    ['/getstats'] = '/st',
    ['/astats'] = '/ast',
    ['/agm'] = '/gm',
    ['/togpone'] = '/togp',
    ['/freeze'] = '/fr',
    ['/unfreeze'] = '/ufr',
    ['/mute'] = '/mt',
    ['/rmute'] = '/rmt',
    ['/jail'] = '/j',
    ['/forceskin'] = '/frsk',
    ['/fuelcars'] = '/fc',
    ['/spveh'] = '/sph',
    ['/kickpb'] = '/kpb',
    ['/mpwin'] = '/mw',
    ['/givegun'] = '/ggun'
}

function samp.onSendCommand(CMD)
    for k, v in pairs(cmds) do
        if CMD:find(v) then
            CMD = CMD:gsub(v, k)
            return {CMD}
        end
    end
end
попробуй так
 
Последнее редактирование:
  • Нравится
Реакции: Qsany

#Northn

Police Helper «Reborn» — уже ШЕСТЬ лет!
Всефорумный модератор
2,634
2,483
Lua:
local samp = require 'samp.events'
cmds = {
    ['/slap'] = '/sl',
    ['/spawn'] = '/sp',
    ['/unjail'] = '/uj',
    ['/getstats'] = '/st',
    ['/astats'] = '/ast',
    ['/agm'] = '/gm',
    ['/togpone'] = '/togp',
    ['/freeze'] = '/fr',
    ['/unfreeze'] = '/ufr',
    ['/mute'] = '/mt',
    ['/rmute'] = '/rmt',
    ['/jail'] = '/j',
    ['/forceskin'] = '/frsk',
    ['/fuelcars'] = '/fc',
    ['/spveh'] = '/sph',
    ['/kickpb'] = '/kpb',
    ['/mpwin'] = '/mw',
    ['/givegun'] = '/ggun'
}

function samp.onSendCommand(CMD)
    for k, v in pairs(cmds) do
        if CMD:find(v) then
            CMD = CMD:gsub(v, k)
            return {CMD}
        end
    end
end
попробуй так
if CMD:find('^'..v) then для большей точности
 
Статус
В этой теме нельзя размещать новые ответы.