Помощь по коду

W1ll04eison

Участник
Автор темы
328
19
Версия MoonLoader
.026-beta
12:
sampRegisterChatCommand('id', function(param) -- id
local id = sampGetPlayerIdByNickname(param)
score = sampGetPlayerScore(id)
ping = sampGetPlayerPing(id)
if id then sampAddChatMessage('*  Ник:{FFFFFF} ' ..param.. ' {00BFFF}| ID:{FFFFFF} ' ..id.. " {00BFFF}| Уровень:{FFFFFF} " ..score.. " {00BFFF}| Ping:{FFFFFF} " ..ping, 0x00BFFF) end
end)


Подскажите как сделать так что бы, при вводе /id (часть ника / id игрока) высвечивалась информация по типу(скрин ниже)
 

Вложения

  • AckYnmz1iyw.jpg
    AckYnmz1iyw.jpg
    16.4 KB · Просмотры: 35
Последнее редактирование:
Решение
Lua:
function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while not isSampAvailable() do wait(100) end  
    sampRegisterChatCommand('getinfo', function(pam)
        if #pam ~= 0 then
            for k, v in pairs(getAllIds()) do
                if string.lower(v.nick):find(string.lower(pam)) then
                    sampAddChatMessage('*  Ник:{FFFFFF} ' ..v.nick:gsub(pam, "{00BFFF}"..pam.."{FFFFFF}").. ' {00BFFF}| ID:{FFFFFF} ' ..k.. " {00BFFF}| Уровень:{FFFFFF} " ..v.score.. " {00BFFF}| Ping:{FFFFFF} " ..v.ping, 0x00BFFF)
                end
                if k == tonumber(pam) then
                    sampAddChatMessage('*  Ник:{FFFFFF} ' ..v.nick.. ' {00BFFF}| ID:{FFFFFF} ' ..k.. " {00BFFF}|...

W1ll04eison

Участник
Автор темы
328
19
Маленько не понял в чем проблема. Ты не знаешь, как этот отрывок вставить в скрипт или же при выполнении этого отрывка скрипт крашится?
Нет, он у меня в скрипте, при вводе /id Nick_Name - у меня выводиться ник токо чей я написал, а мне надо шо бы при вводе /id (часть ника, допустим "Max") мне выводились все ники игроков в чьём нике содержится те самые 3 буквы
 

TimeLordRu

Известный
151
38
sampRegisterChatCommand('id', function(param) -- id
for id = 0, 999, 1 do
local nick = sampGetPlayerNickname(id)
if nick:find(tostring(param)) then
score = sampGetPlayerScore(id)
ping = sampGetPlayerPing(id)
sampAddChatMessage('* Ник:{FFFFFF} ' ..nick.. ' {00BFFF}| ID:{FFFFFF} ' ..id.. " {00BFFF}| Уровень:{FFFFFF} " ..score.. " {00BFFF}| Ping:{FFFFFF} " ..ping, 0x00BFFF)
end
end
end)
должно работать
 
Последнее редактирование:

W1ll04eison

Участник
Автор темы
328
19
sampRegisterChatCommand('id', function(param) -- id
for id = 0, 999, 1 do
local nick = sampGetPlayerNickname(id)
if nick:find(tostring(param)) then
score = sampGetPlayerScore(id)
ping = sampGetPlayerPing(id)
sampAddChatMessage('* Ник:{FFFFFF} ' ..nick.. ' {00BFFF}| ID:{FFFFFF} ' ..id.. " {00BFFF}| Уровень:{FFFFFF} " ..score.. " {00BFFF}| Ping:{FFFFFF} " ..ping, 0x00BFFF)
end
end
end)
должно работать
Нет, не работает, при вводе /id (Nick_Name/ id) крашит
 

wulfandr

Известный
636
260
Lua:
function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while not isSampAvailable() do wait(100) end  
    sampRegisterChatCommand('getinfo', function(pam)
        if #pam ~= 0 then
            for k, v in pairs(getAllIds()) do
                if string.lower(v.nick):find(string.lower(pam)) then
                    sampAddChatMessage('*  Ник:{FFFFFF} ' ..v.nick:gsub(pam, "{00BFFF}"..pam.."{FFFFFF}").. ' {00BFFF}| ID:{FFFFFF} ' ..k.. " {00BFFF}| Уровень:{FFFFFF} " ..v.score.. " {00BFFF}| Ping:{FFFFFF} " ..v.ping, 0x00BFFF)
                end
                if k == tonumber(pam) then
                    sampAddChatMessage('*  Ник:{FFFFFF} ' ..v.nick.. ' {00BFFF}| ID:{FFFFFF} ' ..k.. " {00BFFF}| Уровень:{FFFFFF} " ..v.score.. " {00BFFF}| Ping:{FFFFFF} " ..v.ping, 0x00BFFF)
                end
            end
        else
            sampAddChatMessage('Используйте: /getinfo [id or nick]', -1)
        end
    end)
    wait(-1)
end

function getAllIds()
    local table = {}
    for i = 0, 1000 do
        if sampIsPlayerConnected(i) and sampGetPlayerNickname(i) then
            table[i] = {
                nick = sampGetPlayerNickname(i),
                score = sampGetPlayerScore(i),
                ping = sampGetPlayerPing(i)
            }
        end
    end
    return table
end
 
Последнее редактирование: