Привязка к IP сервера

luxfero_

Известный
Автор темы
22
0
Версия MoonLoader
.026-beta
Привет ребят!
Весь форум облазил, но так и не нашёл.

Может кто рассказать о том, как привязать скрипт к определенному IP сервера.
Подобная привязка есть в Arizona Admin Tools
И нечто похожее есть в MVD Helper

Заранее благодарен <3
 
Решение
Lua:
local ips = {
    Phoenix = '185.169.134.3:7777',
    Tucson = '185.169.134.4:7777',
    Scottdale = '185.169.134.43:7777'
}

local function checkip()
    local ip, port = sampGetCurrentServerAddress()
    for key, value in pairs(ips) do
        if value == ip..':'..port then
            sampAddChatMessage('Вы зашли на сервер '..key, -1)
            return true
        end
    end
    sampAddChatMessage('скрипт тут не работает', -1)
    error()
end

function main()
    repeat wait(0) until isSampAvailable()
    checkip()
    sampAddChatMessage('Скрипт загружен', -1)
    wait(-1)
end

luxfero_

Известный
Автор темы
22
0
Lua:
function main()
    repeat wait(0) until isSampAvailable()
    local ip, port = sampGetCurrentServerAddress()
    if ip ~= '185.169.134.4' and port ~= '7777' then
        sampAddChatMessage('Скрипт тут не работает', -1)
        error()
    end
    sampAddChatMessage('Скрипт загружен', -1)
    wait(-1)
end
Сделал немного по другому:
Код:
local server_ip = {
    "ip1",
    "ip2",
    "ip3"
}

function main()

if sampGetCurrentServerAddress() ~= server_ip[2] then
        sampAddChatMessage(nazv.."Вы указали не свой сервер!",-1)
        sampAddChatMessage(msgerror..error.."Скрипт принудительно завершил свою работу!", -1)
(IP заменил на "ip1-3")

Не подскажешь, как сделать на несколько IP'ов?
 

sᴀxᴏɴ

#Mary
Всефорумный модератор
791
846
Сделал немного по другому:
Код:
local server_ip = {
    "ip1",
    "ip2",
    "ip3"
}

function main()

if sampGetCurrentServerAddress() ~= server_ip[2] then
        sampAddChatMessage(nazv.."Вы указали не свой сервер!",-1)
        sampAddChatMessage(msgerror..error.."Скрипт принудительно завершил свою работу!", -1)
(IP заменил на "ip1-3")

Не подскажешь, как сделать на несколько IP'ов?
Lua:
local ips = {
    '185.169.134.3:7777',
    '185.169.134.4:7777',
    '185.169.134.43:7777'
}

local function checkip()
    local ip, port = sampGetCurrentServerAddress()
    for i = 1, #ips do
        if ips[i] == ip..':'..port then return true end
    end
    return false
end

function main()
    repeat wait(0) until isSampAvailable()
    if not checkip() then
        sampAddChatMessage('скрипт тут не работает', -1)
        error()
    end
    sampAddChatMessage('Скрипт загружен', -1)
    wait(-1)
end
 
  • Нравится
Реакции: Iskon

luxfero_

Известный
Автор темы
22
0
Lua:
local ips = {
    '185.169.134.3:7777',
    '185.169.134.4:7777',
    '185.169.134.43:7777'
}

local function checkip()
    local ip, port = sampGetCurrentServerAddress()
    for i = 1, #ips do
        if ips[i] == ip..':'..port then return true end
    end
    return false
end

function main()
    repeat wait(0) until isSampAvailable()
    if not checkip() then
        sampAddChatMessage('скрипт тут не работает', -1)
        error()
    end
    sampAddChatMessage('Скрипт загружен', -1)
    wait(-1)
end
Огромное спасибо, но ещё один вопросик.
Как этому IP'у дать название, чтобы он выводился, когда я захожу на сервер.

Lua:
local servers_list = {
    "Test",
    "Test",
    "Test"
}

function main()
    if not checkip() then
        sampAddChatMessage(nazv.."Вы указали не свой сервер!",-1)
        sampAddChatMessage(msgerror..error.."Скрипт принудительно завершил свою работу!", -1)
        error()
    else
        sampAddChatMessage(nazv.."Вы зашли на сервер: "..ctext..servers_list[2],-1)
    end
Чтобы в предпоследней строке server_list[2] была динамической в зависимости от IP
 

sᴀxᴏɴ

#Mary
Всефорумный модератор
791
846
Lua:
local ips = {
    Phoenix = '185.169.134.3:7777',
    Tucson = '185.169.134.4:7777',
    Scottdale = '185.169.134.43:7777'
}

local function checkip()
    local ip, port = sampGetCurrentServerAddress()
    for key, value in pairs(ips) do
        if value == ip..':'..port then
            sampAddChatMessage('Вы зашли на сервер '..key, -1)
            return true
        end
    end
    sampAddChatMessage('скрипт тут не работает', -1)
    error()
end

function main()
    repeat wait(0) until isSampAvailable()
    checkip()
    sampAddChatMessage('Скрипт загружен', -1)
    wait(-1)
end
 
  • Нравится
Реакции: luxfero_

luxfero_

Известный
Автор темы
22
0
Lua:
local ips = {
    Phoenix = '185.169.134.3:7777',
    Tucson = '185.169.134.4:7777',
    Scottdale = '185.169.134.43:7777'
}

local function checkip()
    local ip, port = sampGetCurrentServerAddress()
    for key, value in pairs(ips) do
        if value == ip..':'..port then
            sampAddChatMessage('Вы зашли на сервер '..key, -1)
            return true
        end
    end
    sampAddChatMessage('скрипт тут не работает', -1)
    error()
end

function main()
    repeat wait(0) until isSampAvailable()
    checkip()
    sampAddChatMessage('Скрипт загружен', -1)
    wait(-1)
end
Огромное спасибо :)
Lua:
local ips = {
    Phoenix = '185.169.134.3:7777',
    Tucson = '185.169.134.4:7777',
    Scottdale = '185.169.134.43:7777'
}

local function checkip()
    local ip, port = sampGetCurrentServerAddress()
    for key, value in pairs(ips) do
        if value == ip..':'..port then
            sampAddChatMessage('Вы зашли на сервер '..key, -1)
            return true
        end
    end
    sampAddChatMessage('скрипт тут не работает', -1)
    error()
end

function main()
    repeat wait(0) until isSampAvailable()
    checkip()
    sampAddChatMessage('Скрипт загружен', -1)
    wait(-1)
end
Дичайше извиняюсь за такое огромное количество просьб, но.
Не подскажешь, как вписывать более 2х слов в название? Ибо в некоторых моментах это пригодится
 
Последнее редактирование: