Замена цифр (id) на ник в чате

Жоский поцик

Участник
Автор темы
114
13
Версия SA-MP
  1. Любая
Здравствуйте, пыталюсь найти скрипт, который при написании цифр (id игрока) в чат будет заменять их на ник этого игрока, допустим: я пишу в чат 123 и он меняет на ник игрока, который находится под этим id. Такой скрипт есть у Стивена в админ буднях (0:40 - 0:47) В ЧАТЕ
 
Последнее редактирование:

trickster

Известный
116
44
через #ID, в комментариях версии с открытым кодом
 
  • Злость
Реакции: de_clain

Nerykery

Известный
512
126
 

chapo

tg/inst: @moujeek
Всефорумный модератор
9,240
12,658
ид нужно писать через @, например "@999", ид заменится на ник после того как ты поставишь пробел после ида
 

Вложения

  • idTag.lua
    533 байт · Просмотры: 53

d3sync

Активный
104
65
up

Ищю данный Скрипт под новыую арз
NickID:
function main()
    while not isSampAvailable() do
        wait(0)
    end

    local lastText = ""

    while true do
        wait(0)

        if sampIsChatInputActive() then
            local text = sampGetChatInputText()

            if text ~= lastText then
                local newText = text:gsub("@(%d+)%s", function(id)
                    id = tonumber(id)

                    if id and sampIsPlayerConnected(id) then
                        return sampGetPlayerNickname(id) .. " "
                    end

                    return "@" .. id .. " "
                end)

                if newText ~= text then
                    sampSetChatInputText(newText)
                end

                lastText = sampGetChatInputText()
            end
        else
            lastText = ""
        end
    end
end
 

Barsik_Matroskin

Известный
301
35
не работает
NickID:
function main()
    while not isSampAvailable() do
        wait(0)
    end

    local lastText = ""

    while true do
        wait(0)

        if sampIsChatInputActive() then
            local text = sampGetChatInputText()

            if text ~= lastText then
                local newText = text:gsub("@(%d+)%s", function(id)
                    id = tonumber(id)

                    if id and sampIsPlayerConnected(id) then
                        return sampGetPlayerNickname(id) .. " "
                    end

                    return "@" .. id .. " "
                end)

                if newText ~= text then
                    sampSetChatInputText(newText)
                end

                lastText = sampGetChatInputText()
            end
        else
            lastText = ""
        end
    end
end

мне нужен принцеп к примеру /id 321 - Vasua_Pupkin
чтоб за место ида 321 ставилься его ник
 

kievdrifter

Известный
281
67
не работает


мне нужен принцеп к примеру /id 321 - Vasua_Pupkin
чтоб за место ида 321 ставилься его ник
Код:
script_name("ID to Nick Simple")

function main()
    while not isSampAvailable() do
        wait(0)
    end

    while true do
        wait(3000)

        if sampIsChatInputActive() then
            local text = sampGetChatInputText()

            text = text:gsub("/id%s+(%d+)", function(id)
                id = tonumber(id)
                if id and sampIsPlayerConnected(id) then
                    local nick = sampGetPlayerNickname(id)
                    if nick then
                        return "/id " .. nick
                    end
                end
                return "/id " .. id
            end)

            sampSetChatInputText(text)
        end
    end
end
 
Последнее редактирование:

d3sync

Активный
104
65
не работает


мне нужен принцеп к примеру /id 321 - Vasua_Pupkin
чтоб за место ида 321 ставилься его ник
Ну я тебе такое и сделал.
Ты в чате пишешь любой ид через @id и оно заменяет тебе сразу же на никнейм.

Если делать это без @ ты потом цифры в час не сможешь писать никакие, а на аризоне это как бэ не вариант.
 

Barsik_Matroskin

Известный
301
35
Ну я тебе такое и сделал.
Ты в чате пишешь любой ид через @id и оно заменяет тебе сразу же на никнейм.

Если делать это без @ ты потом цифры в час не сможешь писать никакие, а на аризоне это как бэ не вариант.
так он не встовляет ник человека
 

d3sync

Активный
104
65
так он не встовляет ник человека
Все работает.

1779204290735.gif
 

Barsik_Matroskin

Известный
301
35
что ты нажимашь чтоб впесалось ник игрока ?

Код:
script_name("ID to Nick Simple")

function main()
    while not isSampAvailable() do
        wait(0)
    end

    while true do
        wait(3000)

        if sampIsChatInputActive() then
            local text = sampGetChatInputText()

            text = text:gsub("/id%s+(%d+)", function(id)
                id = tonumber(id)
                if id and sampIsPlayerConnected(id) then
                    local nick = sampGetPlayerNickname(id)
                    if nick then
                        return "/id " .. nick
                    end
                end
                return "/id " .. id
            end)

            sampSetChatInputText(text)
        end
    end
end
во работает спасибо

Код:
script_name("ID to Nick Simple")

function main()
    while not isSampAvailable() do
        wait(0)
    end

    while true do
        wait(3000)

        if sampIsChatInputActive() then
            local text = sampGetChatInputText()

            text = text:gsub("/id%s+(%d+)", function(id)
                id = tonumber(id)
                if id and sampIsPlayerConnected(id) then
                    local nick = sampGetPlayerNickname(id)
                    if nick then
                        return "/id " .. nick
                    end
                end
                return "/id " .. id
            end)

            sampSetChatInputText(text)
        end
    end
end
можите добавить при нажатие Таба будет вписывотся его ник, а то так не удобно
 
Последнее редактирование:

d3sync

Активный
104
65
что ты нажимашь чтоб впесалось ник игрока ?


во работает спасибо


можите добавить при нажатие Таба будет вписывотся его ник, а то так не удобно
id:
require "lib.moonloader"
local vkeys = require "vkeys"

function main()
    while not isSampAvailable() do
        wait(0)
    end

    while true do
        wait(0)

        if sampIsChatInputActive() then
            if isKeyJustPressed(vkeys.VK_TAB) then
                local text = sampGetChatInputText()

                local cmd, id = text:match("^(/id)%s+(%d+)$")

                if cmd and id then
                    id = tonumber(id)

                    if sampIsPlayerConnected(id) then
                        local nick = sampGetPlayerNickname(id)

                        if nick then
                            sampSetChatInputText(cmd .. " " .. nick .. " ")
                        end
                    end
                end
            end
        end
    end
end
 
  • Нравится
Реакции: Barsik_Matroskin

Barsik_Matroskin

Известный
301
35
Спасибо
id:
require "lib.moonloader"
local vkeys = require "vkeys"

function main()
    while not isSampAvailable() do
        wait(0)
    end

    while true do
        wait(0)

        if sampIsChatInputActive() then
            if isKeyJustPressed(vkeys.VK_TAB) then
                local text = sampGetChatInputText()

                local cmd, id = text:match("^(/id)%s+(%d+)$")

                if cmd and id then
                    id = tonumber(id)

                    if sampIsPlayerConnected(id) then
                        local nick = sampGetPlayerNickname(id)

                        if nick then
                            sampSetChatInputText(cmd .. " " .. nick .. " ")
                        end
                    end
                end
            end
        end
    end
end

id:
require "lib.moonloader"
local vkeys = require "vkeys"

function main()
    while not isSampAvailable() do
        wait(0)
    end

    while true do
        wait(0)

        if sampIsChatInputActive() then
            if isKeyJustPressed(vkeys.VK_TAB) then
                local text = sampGetChatInputText()

                local cmd, id = text:match("^(/id)%s+(%d+)$")

                if cmd and id then
                    id = tonumber(id)

                    if sampIsPlayerConnected(id) then
                        local nick = sampGetPlayerNickname(id)

                        if nick then
                            sampSetChatInputText(cmd .. " " .. nick .. " ")
                        end
                    end
                end
            end
        end
    end
end
можите сделать когда пишешь кокойнебуть ид к примеру 123 то при нажатии таба ставится его ник без /id а просто когда ты пишешь цифры ида и просто жмёшь таб то ставится ник игрока
 
Последнее редактирование: