Получаем ник по ID игрока, и выводим его в чат

Roger Camillo

Известный
Автор темы
51
7
Приветствую всех пользователей сайта 'blasthack', сегодня я решил написать такой скрипт, с помощу которого вы, сможете получать ник игрока по его ID.

Для тех кто не понял, объясню по подробней, на некоторых дрифт серверах есть такая функция типо обращение к игроку по его ID.
Выглядит это примерно так. "Roger Camillo[ID:0]: blast.hk, привет.", мы пишем в чат #ID текст.
Так вот, я решил сделать что то подобное но, только в LUA формате, если захотите попробую потом сделать под RP сервера по типу "/f", "/r"..
Может кому нибудь приходиться такая штука.

Хочу выразить благодарность @DeMoN3D, в помощи реализации..

 

Вложения

  • GetNick.luac
    925 байт · Просмотры: 133
  • Нравится
Реакции: lemonager

xsilv

Известный
216
274
Хочу выразить благодарность @DeMoN3D, в помощи реализации..
пездос, сам бы не осилил такой огромный проект?

Lua:
script_name("GetNick")
script_author("Roger")
script_version("09.06.2019")
require("lib.moonloader")

sampev = require("lib.samp.events")

function main()
    if not isSampLoaded() or not isCleoLoaded() or not isSampfuncsLoaded() then
        return
    end

    while not isSampAvailable() do
        wait(0)
    end

    sampAddChatMessage("{DAA520}[GetNick]: {FFFFFF}Автор: {DAA520}Roger", 4294967295.0)
    sampAddChatMessage("{DAA520}[GetNick]: {FFFFFF}Как использовать? {DAA520}#ID текст.", 4294967295.0)

    while true do
        wait(0)
    end
end

function sampev.onSendChat(text)
    if text:find("#(%d+)(.+)") then
        huy, na = text:match("#(%d+)(.+)")

        if sampIsPlayerConnected(tonumber(huy)) then
            sampSendChat("" .. sampGetPlayerNickname(huy) .. "" .. na)

            return false
        else
            sampAddChatMessage("{DAA520}[GetNick]: {FFFFFF}Игрока с таким ID, нету на сервере", 4294967295.0)

            return false
        end
    end
end
 

Roger Camillo

Известный
Автор темы
51
7
пездос, сам бы не осилил такой огромный проект?

Lua:
script_name("GetNick")
script_author("Roger")
script_version("09.06.2019")
require("lib.moonloader")

sampev = require("lib.samp.events")

function main()
    if not isSampLoaded() or not isCleoLoaded() or not isSampfuncsLoaded() then
        return
    end

    while not isSampAvailable() do
        wait(0)
    end

    sampAddChatMessage("{DAA520}[GetNick]: {FFFFFF}Автор: {DAA520}Roger", 4294967295.0)
    sampAddChatMessage("{DAA520}[GetNick]: {FFFFFF}Как использовать? {DAA520}#ID текст.", 4294967295.0)

    while true do
        wait(0)
    end
end

function sampev.onSendChat(text)
    if text:find("#(%d+)(.+)") then
        huy, na = text:match("#(%d+)(.+)")

        if sampIsPlayerConnected(tonumber(huy)) then
            sampSendChat("" .. sampGetPlayerNickname(huy) .. "" .. na)

            return false
        else
            sampAddChatMessage("{DAA520}[GetNick]: {FFFFFF}Игрока с таким ID, нету на сервере", 4294967295.0)

            return false
        end
    end
end
Лол бля, моих знаний в LUA не достаточно много чтобы было реализовать вот это if text:find("#(%d+)(.+)") then
 

#kweeZ

Известный
577
122
Лол бля, моих знаний в LUA не достаточно много чтобы было реализовать вот это if text:find("#(%d+)(.+)") then
Стандартные регулярные выражения, ничего сложного, даже школьник разберётся

пездос, сам бы не осилил такой огромный проект?

Lua:
script_name("GetNick")
script_author("Roger")
script_version("09.06.2019")
require("lib.moonloader")

sampev = require("lib.samp.events")

function main()
    if not isSampLoaded() or not isCleoLoaded() or not isSampfuncsLoaded() then
        return
    end

    while not isSampAvailable() do
        wait(0)
    end

    sampAddChatMessage("{DAA520}[GetNick]: {FFFFFF}Автор: {DAA520}Roger", 4294967295.0)
    sampAddChatMessage("{DAA520}[GetNick]: {FFFFFF}Как использовать? {DAA520}#ID текст.", 4294967295.0)

    while true do
        wait(0)
    end
end

function sampev.onSendChat(text)
    if text:find("#(%d+)(.+)") then
        huy, na = text:match("#(%d+)(.+)")

        if sampIsPlayerConnected(tonumber(huy)) then
            sampSendChat("" .. sampGetPlayerNickname(huy) .. "" .. na)

            return false
        else
            sampAddChatMessage("{DAA520}[GetNick]: {FFFFFF}Игрока с таким ID, нету на сервере", 4294967295.0)

            return false
        end
    end
end
Красава, я тоже воспользовался питоновским декомпилятором, но подумал, что человеку неприятно будет, что его *тру* код сюда зальют xD
 

Roger Camillo

Известный
Автор темы
51
7
Стандартные регулярные выражения, ничего сложного, даже школьник разберётся[/QUOTE
Блядь лол, если бы я не упомянул его в теме, вы бы хер узнали что мне он помог, не так ли?
А сидеть и писать всякую хуйню все могут, не устраивает что то, не смотри..
 

ThomaSS

Новичок
5
3
Зачем вы набрасываетесь на нуба в программировании? Лучше бы подсказал как правильно, если делать нечего.
Уделить две минуты на страничку справки по регуляркам оказалось для тебя сложнее
 
  • Нравится
Реакции: k0lenval и Roger Camillo

The Spark

Известный
654
666
Записать видео, делать 2 строчки авторских прав в чат и создавать целую тему для этого не стоило. А так молодец!
 

#kweeZ

Известный
577
122
Вы совсем ёбнулись, кто набрасывался то? Я сказал зачем код закрывать, другой человек сказал, что там нет ничего сложного, вот собственно и всё
 

imring

Ride the Lightning
Всефорумный модератор
2,353
2,512
чот не удобно, когда можно использовать ток вначале. держи:
Lua:
local samp = require 'samp.events'

function main() wait(-1) end

local function replace_id(msg)
    local res = msg:gsub('#(%d+)', function(id)
        id = tonumber(id)
        if sampIsPlayerConnected(id) then return sampGetPlayerNickname(id) end
    end)
    return res
end

function samp.onSendChat(msg)
    return { replace_id(msg) }
end

function samp.onSendCommand(msg)
    return { replace_id(msg) }
end
а так для первого скрипта норм
 

rraggerr

проверенный какой-то
1,626
845
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Один вопрос. Зачем такое публиковать? Понимаю, что ты только начинаешь писать скрипты, но в крайнем бы случае кинул в "Полезные сниппеты и функции", а не отдельную тему создавать.
только в сниппетах нам 2000000 реализаций ID + ник не хватало
 
  • Нравится
Реакции: atizoff и Fyger

AnWu

Guardian of Order
Всефорумный модератор
4,683
5,129
так фип делал уже такое
 

d3x.m4nt1s

Потрачен
48
59
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Жду версию с имгуи
 
  • Нравится
Реакции: donaks.