• Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта NetZONA.org: https://netzona.org/help/public-offer/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами использования Ваших файлов cookie на Проекте NetZONA.org: https://netzona.org/help/cookies/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с Политикой конфиденциальности Проекта NetZONA.org: https://netzona.org/pages/privacy-policy/

  • Ответы на основные вопросы: https://netzona.org/threads/populjarnye-voprosy-i-otvety-na-nix.6122/

  • Приветствуем на сайте, Гость! Приобрести (купить) Информационную услугу (в том числе группу "Проверенный") на Проекте NetZONA.org: https://netzona.org/account/upgrades

Имена при заходе

  • Автор темы Автор темы shPeanut
  • Дата начала Дата начала
Статус
В этой теме нельзя размещать новые ответы.

shPeanut

Пользователь
Регистрация
28 Мар 2020
Сообщения
18
Реакции
0
Баллы
13
Как сделать, чтобы при первом заходе на сервер, игроку выдавался рандомный ролевой ник?
 
Кодом и руками. Не буду тебе делать код - просто хук - PlayerSpawn. Всё. Остальное сам. Самопис примерно 5 минут с учётом написания имён и фам.
 
Кодом и руками. Не буду тебе делать код - просто хук - PlayerSpawn. Всё. Остальное сам. Самопис примерно 5 минут с учётом написания имён и фам.
Браво, но то что хук PlayerSpawn - это я знаю. Просто если сделать допустим, при заходе игрок в консоль вписывал say "/name " и рандомные имена из списка, то имя при спавне будет постоянно сбиваться, это не круто. А вот как сделать иначе, я не совсем понимаю, ибо в lua не сильно шарю.
 
Lua:
local firstName = {
    "Иван",
    "Биван"
}

local secondName = {
    "Иванов",
    "Биванов"
}

local function GetSomeRandomShitFromTable(tbl)
    return tbl[math.random(1, #tbl)]
end

local function GetSomeShittyName(firstName, secondName)
    local name1 = GetSomeRandomShitFromTable(firstName)
    local name2 = GetSomeRandomShitFromTable(secondName)
    return name1 .. " " .. name2
end

hook.Add("PlayerSpawn", "Server.SomeShittyNameForIdiots", function(ply)
    ply:setRPName(GetSomeShittyName(firstName, secondName))
end)
 
Lua:
-- autorun/server/nick.lua

function SetRandomName(ply,gender)

    http.Fetch("https://api.randomdatatools.ru/?params=FirstName,LastName&gender="..gender,function(body,len,headers,code)

        local data = assert(util.JSONToTable(body))

        if code == 200 then

            if data.FirstName then

                DarkRP.storeRPName(ply,data.FirstName.." "..data.LastName)

            end

        end

    end)

end

hook.Add("PlayerInitialSpawn","CheckRandomName",function(ply)

    local Nick = ply:GetPData("RandomNick")

    if (Nick == nil) then -- чекер на проверку, установлено ли имя, устанавливает 1 раз

        ply:SetPData("RandomNick",1)

        SetRandomName(ply,"man") -- man или woman

    end

end)
 
Статус
В этой теме нельзя размещать новые ответы.
Главная Регистрация
Назад
Сверху