Welcome to Сообщество игровых серверов NETZONA.ORG

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям. Зарегистрировавшись и войдя в систему, вы сможете создавать темы, публиковать ответы в существующих темах, давать репутацию другим участникам, получать собственный личный мессенджер и многое другое. Это также быстро и совершенно бесплатно, так чего же вы ждете?
  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта 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

Помощь по CID Карте

Blackwood

Пользователь
Проверенный
Регистрация
26 Ноя 2022
Сообщения
41
Реакции
0
Баллы
5
мне нужен скрипт, который через С меню будет показывать CID Карту ( для определённых профессий )
Похожая фигня на URF.IM
 

Dog

Пользователь
Проверенный
Регистрация
28 Июл 2022
Сообщения
35
Реакции
0
Баллы
5
Клан-тег
Doggy
Пол
Мужской
Семейное положение
Не женат
Род занятий
cheating, scripting
Создай функцию в С-Меню с названием показать Сид и внутрь её вставь:

Код:
if self.Owner:Team() == TEAM_PRIB then
         DarkRP.talkToRange(self.Owner, "[CID] " .. self.Owner:GetName(), "Предъявил CID карту. ID #"..self.Owner:GetNWInt("PlayerCID") or "ERROR" ..". Город прибытия #"..self.Owner.City or 14 , 90) -- вместо 14 вставь свой  номер сити
         else
         DarkRP.talkToRange(self.Owner, "[CID] " .. self.Owner:GetName(), "Предъявил CID карту. ID #"..self.Owner:GetNWInt("PlayerCID") or "ERROR", 90)
         end
    end

А это в sv часть:

hook.Add("PlayerSpawn","setplayeronspawn",function(ply)
timer.Simple(120, function()
ply:SetNWInt("PlayerCID", math.random(10000, 99999))
end)
end)

(код принадлежит https://netzona.org/members/hotwolf.7311/)
 
Последнее редактирование:

Blackwood

Пользователь
Проверенный
Регистрация
26 Ноя 2022
Сообщения
41
Реакции
0
Баллы
5
Не могу найти sv часть, где она?

Создай функцию в С-Меню с названием показать Сид и внутрь её вставь:

Код:
if self.Owner:Team() == TEAM_PRIB then
         DarkRP.talkToRange(self.Owner, "[CID] " .. self.Owner:GetName(), "Предъявил CID карту. ID #"..self.Owner:GetNWInt("PlayerCID") or "ERROR" ..". Статья #"..self.Owner.City or 14 , 90)
         else
         DarkRP.talkToRange(self.Owner, "[CID] " .. self.Owner:GetName(), "Предъявил CID карту. ID #"..self.Owner:GetNWInt("PlayerCID") or "ERROR", 90)
         end
    end

А это в sv часть:

hook.Add("PlayerSpawn","setplayeronspawn",function(ply)
timer.Simple(120, function()
ply:SetNWInt("PlayerCID", math.random(10000, 99999))
end)
end)

(код принадлежит https://netzona.org/members/hotwolf.7311/)
 

Dog

Пользователь
Проверенный
Регистрация
28 Июл 2022
Сообщения
35
Реакции
0
Баллы
5
Клан-тег
Doggy
Пол
Мужской
Семейное положение
Не женат
Род занятий
cheating, scripting
Не могу найти sv часть, где она?
lua/autorun/server, создаёшь луа файл с любым названием (не на русском) и вставляешь в него код:

hook.Add("PlayerSpawn","setplayeronspawn",function(ply)
timer.Simple(120, function()
ply:SetNWInt("PlayerCID", math.random(10000, 99999))
end)
end)
 

Blackwood

Пользователь
Проверенный
Регистрация
26 Ноя 2022
Сообщения
41
Реакции
0
Баллы
5
lua/autorun/server, создаёшь луа файл с любым названием (не на русском) и вставляешь в него код:

hook.Add("PlayerSpawn","setplayeronspawn",function(ply)
timer.Simple(120, function()
ply:SetNWInt("PlayerCID", math.random(10000, 99999))
end)
end)
А табуляция есть готовая? Или так тоже сойдёт?
Сообщение автоматически объединено:

lua/autorun/server, создаёшь луа файл с любым названием (не на русском) и вставляешь в него код:

hook.Add("PlayerSpawn","setplayeronspawn",function(ply)
timer.Simple(120, function()
ply:SetNWInt("PlayerCID", math.random(10000, 99999))
end)
end)
получилось это, не внушает доверия, что сделать?1672425653869.png
 

Blackwood

Пользователь
Проверенный
Регистрация
26 Ноя 2022
Сообщения
41
Реакции
0
Баллы
5
это я в C меню вставил если чё
 

Dog

Пользователь
Проверенный
Регистрация
28 Июл 2022
Сообщения
35
Реакции
0
Баллы
5
Клан-тег
Doggy
Пол
Мужской
Семейное положение
Не женат
Род занятий
cheating, scripting
А табуляция есть готовая? Или так тоже сойдёт?
Сообщение автоматически объединено:


получилось это, не внушает доверия, что сделать?Посмотреть вложение 6058
просто не красиво стоят, выравни и проверь. Будут ошибки - скинь их сюда, я сам не тестил

Код:
hook.Add("PlayerSpawn","setplayeronspawn",function(ply)
     timer.Simple(120, function()
          ply:SetNWInt("PlayerCID", math.random(10000, 99999))
     end)
end)
 
Последнее редактирование:

Dog

Пользователь
Проверенный
Регистрация
28 Июл 2022
Сообщения
35
Реакции
0
Баллы
5
Клан-тег
Doggy
Пол
Мужской
Семейное положение
Не женат
Род занятий
cheating, scripting
А табуляция есть готовая? Или так тоже сойдёт?
Сообщение автоматически объединено:


получилось это, не внушает доверия, что сделать?Посмотреть вложение 6058
чтобы показывать сид могла не только одна профессия а и другие тогда создай таблицу в самом начале кода

тут пишешь свои профессии, которые могут показывать cid карту через С-меню

local profi = {
[TEAM_TEST1] = true,
[TEAM_TEST2] = true,
[TEAM_TEST3] = true
-- в последней профессии в таблице, запятую не ставь
}

=============
а также вместо if self.Owner:Team() == TEAM_PRIB then вставь:

if profi[target.Owner:Team()] then
 

Gaurussel

Пользователь
Регистрация
10 Янв 2019
Сообщения
110
Реакции
3
Баллы
35
Пол
Мужской
Зачем на PlayerSpawn спустя две минуты выдавать CID?
Можно один раз при первом спавне выдать его и всё. И вместо генерации числа можно использовать AccountID, так он уникальный и примерно той же длины (+2-3 символа где-то)
 

Blackwood

Пользователь
Проверенный
Регистрация
26 Ноя 2022
Сообщения
41
Реакции
0
Баллы
5
чтобы показывать сид могла не только одна профессия а и другие тогда создай таблицу в самом начале кода

тут пишешь свои профессии, которые могут показывать cid карту через С-меню

local profi = {
[TEAM_TEST1] = true,
[TEAM_TEST2] = true,
[TEAM_TEST3] = true
-- в последней профессии в таблице, запятую не ставь
}

=============
а также вместо if self.Owner:Team() == TEAM_PRIB then вставь:

if profi[target.Owner:Team()] then
после получившегося С меню просто пропало, что я делаю не так? 1672481870420.png
 

Levanchik

Пользователь
Регистрация
3 Апр 2020
Сообщения
360
Реакции
2
Баллы
38
Что я вижу. Тебе нужно в начале всего скрипта сделать local profi, а не после условия.
 

Dog

Пользователь
Проверенный
Регистрация
28 Июл 2022
Сообщения
35
Реакции
0
Баллы
5
Клан-тег
Doggy
Пол
Мужской
Семейное положение
Не женат
Род занятий
cheating, scripting

Blackwood

Пользователь
Проверенный
Регистрация
26 Ноя 2022
Сообщения
41
Реакции
0
Баллы
5
Код:
local FatedContext_config = {
    {
        title = 'Основное',
        content = {
            {
                name = 'Включить 3-е лицо.',
                func = function()
                    RunConsoleCommand('thirdperson_toggle', '1')
                end,
                icon = 'icon16/book_open.png',
            },
            {
                name = 'Выключить 3-е лицо.',
                func = function()
                    RunConsoleCommand('thirdperson_toggle', '0')
                end,
                icon = 'icon16/book_open.png',
            },
            {
                name = 'Использовать промокод.',
                func = function()
                    RunConsoleCommand('fades_promocodes')
                end,
                icon = 'icon16/book_open.png',
            },
            {
            name = 'Выбросить оружие в руках.',
                func = function()
                    RunConsoleCommand('say', '/drop')
                end,
                icon = 'icon16/book_open.png',
            }
        },
    },
    {
        title = 'Другое',
        content = {
            {
                name = 'Выключить все звуки',
                func = function()
                    RunConsoleCommand('stopsound')
                end,
                icon = 'icon16/sound_delete.png',
            },
            {
                name = 'Открыть Меню',
                func = function()
                    RunConsoleCommand('say', '!menu')
                end,
                icon = 'gui/silkicons/shield.png',
            },
            {
                name = 'Включить Спектейт',
                func = function()
                    RunConsoleCommand('say', '!spectate')
                end,
                icon = 'gui/silkicons/shield.png',
            },
            {
                name = 'Открыть Логи',
                func = function()
                    RunConsoleCommand('say', '!blogs')
                end,
                icon = 'gui/silkicons/shield.png',
            }
        }
    }
}

surface.CreateFont('FatedContext.category', {
    font = 'Roboto Regular',
    size = 22,
    weight = 300,
    extended = true,
})

surface.CreateFont('FatedContext.action', {
    font = 'Roboto Regular',
    size = 23,
    weight = 300,
    extended = true,
})

local color_white = Color(255,255,255)
local color_black = Color(0,0,0)
local color_background = Color(56,56,56)
local color_background_panel = Color(31,31,31)
local color_btn = Color(78,78,78)
local color_btn_hover = Color(150,150,150)
local color_vbar = Color(63,66,102)

local function CreateFatedContext()
    Fated_context = vgui.Create('DFrame')
    Fated_context:SetSize(370, ScrH() * 0.5)
    Fated_context:SetPos(25, 0)
    Fated_context:CenterVertical()
    Fated_context:MakePopup()
    Fated_context:SetTitle('')
    Fated_context:ShowCloseButton(false)
    Fated_context:DockPadding(0, 0, 0, 0)
    Fated_context.Paint = function(self, w, h)
        draw.RoundedBox(8, 0, 0, w, h, color_background)
    end
    Fated_context:SetSizable(true)
    Fated_context:SetMinHeight(300)
    Fated_context:SetMinWidth(370)

    Fated_context.panel = vgui.Create('DPanel', Fated_context)
    Fated_context.panel:Dock(FILL)
    Fated_context.panel:DockMargin(6, 6, 6, 6)
    Fated_context.panel.Paint = function(_, w, h)
        draw.RoundedBox(8, 0, 0, w, h, color_background_panel)
    end

    Fated_context.panel.sp = vgui.Create('DScrollPanel', Fated_context.panel)
    Fated_context.panel.sp:Dock(FILL)
    Fated_context.panel.sp:DockMargin(6, 6, 6, 6)
    
    local vbar = Fated_context.panel.sp:GetVBar()
    vbar:SetWide(18)
    vbar.Paint = nil
    vbar.btnDown.Paint = nil
    vbar.btnUp.Paint = nil
    vbar.btnGrip.Paint = function(_, w, h)
        draw.RoundedBox(6, 6, 0, w - 6, h, color_vbar)
    end

    for catID = 1, #FatedContext_config do
        local cat = FatedContext_config[catID]

        local cat_name = vgui.Create('DPanel', Fated_context.panel.sp)
        cat_name:Dock(TOP)
        cat_name:DockMargin(0, 0, 0, 6)
        cat_name:SetTall(30)
        cat_name.Paint = function(_, w, h)
            draw.SimpleText(cat.title, 'FatedContext.category', w * 0.5, h * 0.5, color_white, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER)
        end

        local cmds_count = #cat.content

        for cmdID = 1, cmds_count do
            local cmd = cat.content[cmdID]

            local cmd_btn = vgui.Create('DButton', Fated_context.panel.sp)
            cmd_btn:Dock(TOP)
            cmd_btn:DockMargin(0, 0, 0, 6)
            cmd_btn:SetTall(36)
            cmd_btn:SetText('')

            local cmd_mat = Material(cmd.icon)

            cmd_btn.Paint = function(self, w, h)
                draw.RoundedBox(6, 0, 0, w, h, self:IsHovered() and color_btn_hover or color_btn)

                draw.SimpleText(cmd.name, 'FatedContext.action', w * 0.5, h * 0.5, self:IsHovered() and color_black or color_white, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER)

                surface.SetDrawColor(color_white)
                surface.SetMaterial(cmd_mat)
                surface.DrawTexturedRect(10, 10, 16, 16)
            end
            cmd_btn.DoClick = function()
                cmd.func()
            end
        end
    end
end

hook.Add('OnContextMenuOpen', 'FatedContextOpen', function()
    if IsValid(Fated_context) then
        Fated_context:SetVisible(true)
    else
        CreateFatedContext()
    end
end)

hook.Add('OnContextMenuClose', 'FatedContextClose', function()
    Fated_context:SetVisible(false)
end)
не в начало функции, а в начало кода, тоесть где начинается код, в самом вверху
Сообщение автоматически объединено:

вообще будет лучше если ты скинешь весь код своего с-меню, а я тебе готовый
 

Dog

Пользователь
Проверенный
Регистрация
28 Июл 2022
Сообщения
35
Реакции
0
Баллы
5
Клан-тег
Doggy
Пол
Мужской
Семейное положение
Не женат
Род занятий
cheating, scripting
Lua:
local profi = {
  [TEAM_GMAN] = true,
  [TEAM_LOYC] = true,
  [TEAM_CITIZEN] = true
}

local FatedContext_config = {
    {
        title = 'Основное',
        content = {
            {
                name = 'Включить 3-е лицо.',
                func = function()
                    RunConsoleCommand('thirdperson_toggle', '1')
                end,
                icon = 'icon16/book_open.png',
            },
            {
                name = 'Выключить 3-е лицо.',
                func = function()
                    RunConsoleCommand('thirdperson_toggle', '0')
                end,
                icon = 'icon16/book_open.png',
            },
            {
                name = 'Использовать промокод.',
                func = function()
                    RunConsoleCommand('fades_promocodes')
                end,
                icon = 'icon16/book_open.png',
            },
            {
            name = 'Выбросить оружие в руках.',
                func = function()
                    RunConsoleCommand('say', '/drop')
                end,
                icon = 'icon16/book_open.png',
            },
            {
                name = 'Показать CID.',
                func = function()
                 if self.Owner:Team() == TEAM_PRIB then
                   DarkRP.talkToRange(self.Owner, "[CID] " .. self.Owner:GetName(), "Показал CID карту. ID #"..self.Owner:GetNWInt("PlayerCID") or "ERROR" ..". Город прибытия #"..self.Owner.City or 14 , 90) -- вместо 14 вставь свой  номер сити
                 else
                  DarkRP.talkToRange(self.Owner, "[CID] " .. self.Owner:GetName(), "Показал CID карту. ID #"..self.Owner:GetNWInt("PlayerCID") or "ERROR", 90)
                    end
                  end
                end,
                icon = 'icon16/book_open.png',
            }
        },
    },
    {
        title = 'Другое',
        content = {
            {
                name = 'Выключить все звуки',
                func = function()
                    RunConsoleCommand('stopsound')
                end,
                icon = 'icon16/sound_delete.png',
            },
            {
                name = 'Открыть Меню',
                func = function()
                    RunConsoleCommand('say', '!menu')
                end,
                icon = 'gui/silkicons/shield.png',
            },
            {
                name = 'Включить Спектейт',
                func = function()
                    RunConsoleCommand('say', '!spectate')
                end,
                icon = 'gui/silkicons/shield.png',
            },
            {
                name = 'Открыть Логи',
                func = function()
                    RunConsoleCommand('say', '!blogs')
                end,
                icon = 'gui/silkicons/shield.png',
            }
        }
    }
}

surface.CreateFont('FatedContext.category', {
    font = 'Roboto Regular',
    size = 22,
    weight = 300,
    extended = true,
})

surface.CreateFont('FatedContext.action', {
    font = 'Roboto Regular',
    size = 23,
    weight = 300,
    extended = true,
})

local color_white = Color(255,255,255)
local color_black = Color(0,0,0)
local color_background = Color(56,56,56)
local color_background_panel = Color(31,31,31)
local color_btn = Color(78,78,78)
local color_btn_hover = Color(150,150,150)
local color_vbar = Color(63,66,102)

local function CreateFatedContext()
    Fated_context = vgui.Create('DFrame')
    Fated_context:SetSize(370, ScrH() * 0.5)
    Fated_context:SetPos(25, 0)
    Fated_context:CenterVertical()
    Fated_context:MakePopup()
    Fated_context:SetTitle('')
    Fated_context:ShowCloseButton(false)
    Fated_context:DockPadding(0, 0, 0, 0)
    Fated_context.Paint = function(self, w, h)
        draw.RoundedBox(8, 0, 0, w, h, color_background)
    end
    Fated_context:SetSizable(true)
    Fated_context:SetMinHeight(300)
    Fated_context:SetMinWidth(370)

    Fated_context.panel = vgui.Create('DPanel', Fated_context)
    Fated_context.panel:Dock(FILL)
    Fated_context.panel:DockMargin(6, 6, 6, 6)
    Fated_context.panel.Paint = function(_, w, h)
        draw.RoundedBox(8, 0, 0, w, h, color_background_panel)
    end

    Fated_context.panel.sp = vgui.Create('DScrollPanel', Fated_context.panel)
    Fated_context.panel.sp:Dock(FILL)
    Fated_context.panel.sp:DockMargin(6, 6, 6, 6)
   
    local vbar = Fated_context.panel.sp:GetVBar()
    vbar:SetWide(18)
    vbar.Paint = nil
    vbar.btnDown.Paint = nil
    vbar.btnUp.Paint = nil
    vbar.btnGrip.Paint = function(_, w, h)
        draw.RoundedBox(6, 6, 0, w - 6, h, color_vbar)
    end

    for catID = 1, #FatedContext_config do
        local cat = FatedContext_config[catID]

        local cat_name = vgui.Create('DPanel', Fated_context.panel.sp)
        cat_name:Dock(TOP)
        cat_name:DockMargin(0, 0, 0, 6)
        cat_name:SetTall(30)
        cat_name.Paint = function(_, w, h)
            draw.SimpleText(cat.title, 'FatedContext.category', w * 0.5, h * 0.5, color_white, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER)
        end

        local cmds_count = #cat.content

        for cmdID = 1, cmds_count do
            local cmd = cat.content[cmdID]

            local cmd_btn = vgui.Create('DButton', Fated_context.panel.sp)
            cmd_btn:Dock(TOP)
            cmd_btn:DockMargin(0, 0, 0, 6)
            cmd_btn:SetTall(36)
            cmd_btn:SetText('')

            local cmd_mat = Material(cmd.icon)

            cmd_btn.Paint = function(self, w, h)
                draw.RoundedBox(6, 0, 0, w, h, self:IsHovered() and color_btn_hover or color_btn)

                draw.SimpleText(cmd.name, 'FatedContext.action', w * 0.5, h * 0.5, self:IsHovered() and color_black or color_white, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER)

                surface.SetDrawColor(color_white)
                surface.SetMaterial(cmd_mat)
                surface.DrawTexturedRect(10, 10, 16, 16)
            end
            cmd_btn.DoClick = function()
                cmd.func()
            end
        end
    end
end

hook.Add('OnContextMenuOpen', 'FatedContextOpen', function()
    if IsValid(Fated_context) then
        Fated_context:SetVisible(true)
    else
        CreateFatedContext()
    end
end)

hook.Add('OnContextMenuClose', 'FatedContextClose', function()
    Fated_context:SetVisible(false)
end)
 
Назад
Сверху Снизу