Авторизация  
PINGVIN

Проверка серийного номера

В теме 9 сообщений

Здравствуйте! Помогите пожалуйста. Надо написать скрипт на проверку серийника. Если серийника и логина в списке нет - человека кикает

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, PINGVIN сказал:

Здравствуйте! Помогите пожалуйста. Надо написать скрипт на проверку серийника. Если серийника и логина в списке нет - человека кикает

Код есть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, HomoS сказал:

Код есть?

Нет, надо написать готовый, чтоб взять и просто вставить логины и серийники))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С wiki, немного переделал:

local allowedAccountSerials =
{
    ["3ash8"] = {"9C9F3B55D9D7BB7135FF274D3BF444E4"},
    ["test5"] = {"1D6F76CF8D7193792D13789849498452"},
}

addEventHandler("onPlayerLogin", root,
    function(_, account)
        local playerSerial, allowedSerials = getPlayerSerial(source), allowedAccountSerials[getAccountName(account)] or {}
        
        for i = 1, #allowedSerials do
            if allowedSerials[i] == playerSerial then
                return
            end
        end
        
        kickPlayer(source)
    	cancelEvent()
    end
)

И дать права ресурсу в ACL.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Спойлер
34 минуты назад, HomoS сказал:

С wiki, немного переделал:



local allowedAccountSerials =
{
    ["3ash8"] = {"9C9F3B55D9D7BB7135FF274D3BF444E4"},
    ["test5"] = {"1D6F76CF8D7193792D13789849498452"},
}

addEventHandler("onPlayerLogin", root,
    function(_, account)
        local playerSerial, allowedSerials = getPlayerSerial(source), allowedAccountSerials[getAccountName(account)] or {}
        
        for i = 1, #allowedSerials do
            if allowedSerials[i] == playerSerial then
                return
            end
        end
        
        kickPlayer(source)
    	cancelEvent()
    end
)

 

Спасибо

Спойлер
34 минуты назад, HomoS сказал:

С wiki, немного переделал:



local allowedAccountSerials =
{
    ["3ash8"] = {"9C9F3B55D9D7BB7135FF274D3BF444E4"},
    ["test5"] = {"1D6F76CF8D7193792D13789849498452"},
}

addEventHandler("onPlayerLogin", root,
    function(_, account)
        local playerSerial, allowedSerials = getPlayerSerial(source), allowedAccountSerials[getAccountName(account)] or {}
        
        for i = 1, #allowedSerials do
            if allowedSerials[i] == playerSerial then
                return
            end
        end
        
        kickPlayer(source)
    	cancelEvent()
    end
)

 

А как можно сделать уведомление человеку, чтоб при кике - ему выдавало ошибку "У вас нет доступа к подключению!"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@PINGVIN

wiki:

bool kickPlayer ( player kickedPlayer, [ player/string responsiblePlayer, string reason = "" ] )

Замени kickPlayer на:
 

kickPlayer(source, "Причина")

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
8 минут назад, HomoS сказал:

@PINGVIN

wiki:


bool kickPlayer ( player kickedPlayer, [ player/string responsiblePlayer, string reason = "" ] )

Замени kickPlayer на:
 


kickPlayer(source, "Причина")

 

спасибо большое

47 минут назад, HomoS сказал:

@PINGVIN

wiki:


bool kickPlayer ( player kickedPlayer, [ player/string responsiblePlayer, string reason = "" ] )

Замени kickPlayer на:
 


kickPlayer(source, "Причина")

 

По итогу не работает, ресурс прописан в ацл, логин и серийник закомментированы, но я могу свободно играть на сервере

_Ev3d29Nizw.jpg

  • xD 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
10 минут назад, HomoS сказал:

@PINGVIN потому что скрипт написан для тех, кто логинится.


local allowedAccountSerials = {['HomoS'] = {"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"}}

addEventHandler("onPlayerJoin", root,
    function ()
        local playerSerial, allowedSerials = getPlayerSerial(source), allowedAccountSerials[getPlayerName(source)] or {}
        
        if #allowedSerials > 0 then
            for i = 1, #allowedSerials do
                if allowedSerials[i] == playerSerial then
                    return
                end
            end
        end
        
        kickPlayer(source, "Вашего Serial нет в базе.")
        cancelEvent()
    end)

 

mta-serial-script.PNG

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация