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

Заказать скрипт

☢stalker39☢

Пользователь
Регистрация
28 Июл 2017
Сообщения
280
Реакции
0
Баллы
30
Адрес
S.T.A.L.K.E.R. RP
Веб-сайт
netzona.org
Клан-тег
LEGION
Род занятий
Форумный червь
@☢stalker39☢, тема на запрос на выкладывание скриптов это бесплатно. Либо можно договориться о написании на заказ
Понятно,меня на данный монмент интересует только один скрипт или аддон на лидера фракции для NS.
 

$Angel$

Пользователь
Регистрация
18 Сен 2017
Сообщения
12
Реакции
0
Баллы
13
Возраст
35
Пол
нужен скрипт vending machine
 

Baziron AC

Пользователь
Регистрация
13 Сен 2017
Сообщения
8
Реакции
0
Баллы
13
Возраст
21
Адрес
Russia
Пол
Нужен Job Whitelist
 

HikkaSurito

Пользователь
Регистрация
21 Авг 2017
Сообщения
33
Реакции
0
Баллы
15
Возраст
24
Адрес
Parts Unknown
Пол
Мне нужен маленький скриптик для дарк рп.
Ну, или скорее корректировка.
Вот на хл2рп есть карты, типа сити 17 и прочее. Там есть слайдер двери, которые нельзя открыть. Сделано это для того, чтобы потом подставить скрипт, дабы их могли открывать только комбайны. Но вот проблема, у меня есть чистый скрипт на открывание этих дверей, но чистый он потому, что в нем нет вайтлиста для комбайнов, их могут открывать все, в т.ч. гражданские.
А вот мне нужен этот самый вайтлист. Когда я пытался обратиться за этим на форум фейспанч, мне попытались помочь. Написали такие скрипты, но они не работали. Комбайны просто не могли открыть эти двери, как и гражданские. То есть, скрипт переставал работать. Так что если тут есть хорошие скриптеры, надеюсь на помощь в починке этих скриптов.

P.S. Да, мне нужен вайтлист на работы, типа эти двери может открывать только team_helix и т.д.

А теперь, сами скрипты:

Чистый:

Код:
function KeyPressedUse (ply, key)
    if key == IN_USE then 
        local t = {}   
        t.start = ply:GetPos()   
        t.endpos = ply:GetShootPos() + ply:GetAimVector() * 100   
        t.filter = ply
        local trace = util.TraceLine(t)          
        if trace.Entity and trace.Entity:IsValid() and (trace.Entity:GetClass() == "func_door" or trace.Entity:GetClass() == "prop_door_rotating" or trace.Entity:GetClass() == "prop_dynamic") then
            trace.Entity:Fire("Open")
        end
    end
end
hook.Add( "KeyPress", "KeyPressedUse", KeyPressedUse  )

Первая попытка:

Код:
local jobs = { TEAM_WFYUED,
               TEAM_GYUIO };

function KeyPressedUse (ply, key)
    if key == IN_USE then
        if( !table.HasValue( jobs, _p:Team() ) ) then
            _p:ChatPrint( "Incorrect job" );
            return;
           end
        local t = {}   
        t.start = ply:GetPos()   
        t.endpos = ply:GetShootPos() + ply:GetAimVector() * 100   
        t.filter = ply
        local trace = util.TraceLine(t)          
        if trace.Entity and trace.Entity:IsValid() and (trace.Entity:GetClass() == "func_door" or trace.Entity:GetClass() == "prop_door_rotating" or trace.Entity:GetClass() == "prop_dynamic") then
            trace.Entity:Fire("Open")
        end
    end
end
hook.Add( "KeyPress", "KeyPressedUse", KeyPressedUse  )

Вторая попытка:

Код:
local foo = {
timer.Simple(1, function()
   foo[1] = TEAM_HELIX
   foo[2] = TEAM_CMD_SEC
end)}
local tbl = {
    jobs = ["TEAM_HELIX"] = true,
    doors = {
        ["func_door"] = true,
        ["prop_door_rotating"] = true,
        ["prop_dynamic"] = true
    }
}

-- Jobs does not exist until the gamemode has loaded, so we're gonna do it in here.
hook.Add("InitPostEntity", "insertJobs", function()
    local jobs = {
        [TEAM_HELIX] = true,
    }

    table.Merge(tbl.jobs, jobs);
end);

hook.Add("PlayerUse", "openDoors", function(ply, ent)
    if (not IsValid(ply) or not IsValid(ent)) then return; end

    local tr = util.TraceLine({
        start = ply:GetPos(),
        endpos = ply:GetShootPos() + ply:GetAimVector() * 100,
        filter = ply
    });

    if (IsValid(tr.Entity) and tbl.doors[tr.Entity:GetClass()]) then
        if (tbl.jobs[ply:Team()]) then
            -- If the door is locked then it won't open, uncomment this to make the doors unlock and open
            -- tr.Entity:Fire("unlock");
            tr.Entity:Fire("open", "", .5);
        end
    end
end);

Все, надеюсь на помощь, на русском я хотя бы свободно могу расписать все как есть.
 

Hikka

Модератор
Команда форума
Проверенный
Регистрация
29 Сен 2016
Сообщения
555
Реакции
1
Баллы
60
Возраст
30
Пол
@HikkaSurito, пробуй.

Код:
local tblWhiteList = {
    [TEAM_HELIX] = true,
}

function KeyPressedUse(ply, key)
    if key == IN_USE and tblWhiteList[ply:Team()] then
        local t = {}  
        t.start = ply:GetPos()  
        t.endpos = ply:GetShootPos() + ply:GetAimVector() * 100  
        t.filter = ply
        local trace = util.TraceLine(t)
        local tEntity = trace.Entity
        if IsValid(tEntity) and (tEntity:GetClass() == "func_door" or tEntity:GetClass() == "prop_door_rotating" or tEntity:GetClass() == "prop_dynamic") then
            tEntity:Fire("Open")
        end
    end
end
hook.Add("KeyPress", "KeyPressedUse", KeyPressedUse)

В первом случае, неправильный индекс в таблице.
Во втором случае, неправильное применение в таблице. По этому и не работало. Ну я накидал свой вариант, должен работать, но это не точно.
 

HikkaSurito

Пользователь
Регистрация
21 Авг 2017
Сообщения
33
Реакции
0
Баллы
15
Возраст
24
Адрес
Parts Unknown
Пол
@HikkaSurito, пробуй.

Код:
local tblWhiteList = {
    [TEAM_HELIX] = true,
}

function KeyPressedUse(ply, key)
    if key == IN_USE and tblWhiteList[ply:Team()] then
        local t = {}
        t.start = ply:GetPos()
        t.endpos = ply:GetShootPos() + ply:GetAimVector() * 100
        t.filter = ply
        local trace = util.TraceLine(t)     
        if trace.Entity and trace.Entity:IsValid() and (trace.Entity:GetClass() == "func_door" or trace.Entity:GetClass() == "prop_door_rotating" or trace.Entity:GetClass() == "prop_dynamic") then
            trace.Entity:Fire("Open")
        end
    end
end
hook.Add("KeyPress", "KeyPressedUse", KeyPressedUse)

В первом случае, неправильный индекс в таблице.
Во втором случае, неправильное применение в таблице. По этому и не работало. Ну я накидал свой вариант, должен работать, но это не точно.


Сейчас испробую...
Не, не работает
 

Hikka

Модератор
Команда форума
Проверенный
Регистрация
29 Сен 2016
Сообщения
555
Реакции
1
Баллы
60
Возраст
30
Пол
Сейчас испробую...
по поводу вайтлиста, тебе нужно чтобы только TEAM_HELIX могли открывать? если да, то должно работать только для TEAM_HELIX ну или тех кто в таблице отмечен.
По поводу индекса TEAM_HELIX, уверен что правильно?
Смотреть в создание работы т.е TEAM_CITIZEN = DarkRP.createJob -- TEAM_CITIZEN это индекс работы.
 

HikkaSurito

Пользователь
Регистрация
21 Авг 2017
Сообщения
33
Реакции
0
Баллы
15
Возраст
24
Адрес
Parts Unknown
Пол
по поводу вайтлиста, тебе нужно чтобы только TEAM_HELIX могли открывать? если да, то должно работать только для TEAM_HELIX ну или тех кто в таблице отмечен.
По поводу индекса TEAM_HELIX, уверен что правильно?
Смотреть в создание работы т.е TEAM_CITIZEN = DarkRP.createJob -- TEAM_CITIZEN это индекс работы.

Так,мне нужно чтобы их открывать могли не только хеликсы, мне нужны разные комбайны.
Хеликса я взял в пример.

TEAM_HELIX = DarkRP.createJob("C24 MPF SU HELIX", {

Первая строчка работы хеликса
 

Hikka

Модератор
Команда форума
Проверенный
Регистрация
29 Сен 2016
Сообщения
555
Реакции
1
Баллы
60
Возраст
30
Пол
Так,мне нужно чтобы их открывать могли не только хеликсы, мне нужны разные комбайны.
Хеликса я взял в пример.
добавишь в вайтлист таблицу вручную, вот сюда
Код:
local tblWhiteList = {
    [TEAM_HELIX] = true,
}

пример более лучший
Код:
local tblWhiteList = { -- индексы работ, тип кто может открывать дверь.
    [TEAM_HELIX] = true,
    [TEAM_CITIZEN] = true,
}
 

HikkaSurito

Пользователь
Регистрация
21 Авг 2017
Сообщения
33
Реакции
0
Баллы
15
Возраст
24
Адрес
Parts Unknown
Пол
добавишь в вайтлист таблицу вручную, вот сюда
Код:
local tblWhiteList = {
    [TEAM_HELIX] = true,
}

пример более лучший
Код:
local tblWhiteList = { -- индексы работ, тип кто может открывать дверь.
    [TEAM_HELIX] = true,
    [TEAM_CITIZEN] = true,
}

Ну, сам скрипт не работает, я только что проверил на хеликсе и нифига
 

Hikka

Модератор
Команда форума
Проверенный
Регистрация
29 Сен 2016
Сообщения
555
Реакции
1
Баллы
60
Возраст
30
Пол
Ну, сам скрипт не работает, я только что проверил на хеликсе и нифига
Тима хеликс существует?
Скинь сюда как именно ты создаешь эту работу, мб индекс неправильный или что еще.
 

HikkaSurito

Пользователь
Регистрация
21 Авг 2017
Сообщения
33
Реакции
0
Баллы
15
Возраст
24
Адрес
Parts Unknown
Пол
Тима хеликс существует?
Скинь сюда как именно ты создаешь эту работу, мб индекс неправильный или что еще.
Код:
TEAM_HELIX = DarkRP.createJob("C24 MPF SU HELIX", {
color = Color(0, 0, 255, 255),
model = {"models/DPFilms/Metropolice/Playermodels/pm_civil_medic.mdl"},
description = [[Юнит ГО подразделения ХЕЛИКС, медик альянса]],
weapons = {"weapon_medkit",
    "fas2_cweaponry_pmp",
    "weapon_cuff_rope",
    "swep_radiodevice"
    , "stunstick", "battering_ram", "weapon_stunweap"},
command = "HELIX",
max = 2,
salary = 700,
admin = 0,
vote = false,
hasLicense = false,
candemote = false,
category = "SU",
PlayerLoadout = function(ply)
ply:SetHealth(110) -- ХП
ply:SetArmor(75) -- Броня
end,
            type = "SU", --— type of team
requireUnlock = TEAM_01, --— job that need to be unlocked firsy
unlockCost = 75000 --— unlock cost
})

Весь код профы, профа идеально работает
 

Hikka

Модератор
Команда форума
Проверенный
Регистрация
29 Сен 2016
Сообщения
555
Реакции
1
Баллы
60
Возраст
30
Пол
А ты ккуда закидываешь скрипт который я тебе кидал? в lua/autorun/server или в моде добавляешь?
 

Hikka

Модератор
Команда форума
Проверенный
Регистрация
29 Сен 2016
Сообщения
555
Реакции
1
Баллы
60
Возраст
30
Пол
lua/autorun/server/combinedoors.lua
Вообщем это все странно, но мой вариант должен работать, я даже и не знаю. Может быть когда-то сделаю другое решение, но пока что нет идей. (кроме абсурдных, которые нагружают сервер)
 

HikkaSurito

Пользователь
Регистрация
21 Авг 2017
Сообщения
33
Реакции
0
Баллы
15
Возраст
24
Адрес
Parts Unknown
Пол
Вообщем это все странно, но мой вариант должен работать, я даже и не знаю. Может быть когда-то сделаю другое решение, но пока что нет идей. (кроме абсурдных, которые нагружают сервер)

Ладно, может кто то еще допишет твой скрипт. Спасибо!
 

Hikka

Модератор
Команда форума
Проверенный
Регистрация
29 Сен 2016
Сообщения
555
Реакции
1
Баллы
60
Возраст
30
Пол
Ладно, может кто то еще допишет твой скрипт. Спасибо!

Код:
local tblWhiteList = {
    [TEAM_HELIX] = true,
}

local function KeyPressedUse(ply, key)
    if key == IN_USE then
        print("IN_USE: "..ply:Team())
        local t = {}
        t.start = ply:GetPos()
        t.endpos = ply:GetShootPos() + ply:GetAimVector() * 100
        t.filter = ply
        local trace = util.TraceLine(t)
        local tEntity = trace.Entity
        if (IsValid(tEntity) and (tEntity:GetClass() == "func_door" or tEntity:GetClass() == "prop_door_rotating" or tEntity:GetClass() == "prop_dynamic") and tblWhiteList[ply:Team()]) then
            tEntity:Fire("Open")
        end
    end
end
hook.Add("KeyPress", "KeyPressedUse", KeyPressedUse)

попробуй еще так.
и что тебе будет в консоль сервера писать типо IN_USE: что-то
 

HikkaSurito

Пользователь
Регистрация
21 Авг 2017
Сообщения
33
Реакции
0
Баллы
15
Возраст
24
Адрес
Parts Unknown
Пол
Код:
local tblWhiteList = {
    [TEAM_HELIX] = true,
}

local function KeyPressedUse(ply, key)
    if key == IN_USE then
        print("IN_USE: "..ply:Team())
        local t = {}
        t.start = ply:GetPos()
        t.endpos = ply:GetShootPos() + ply:GetAimVector() * 100
        t.filter = ply
        local trace = util.TraceLine(t)
        local tEntity = trace.Entity
        if (IsValid(tEntity) and (tEntity:GetClass() == "func_door" or tEntity:GetClass() == "prop_door_rotating" or tEntity:GetClass() == "prop_dynamic") and tblWhiteList[ply:Team()]) then
            tEntity:Fire("Open")
        end
    end
end
hook.Add("KeyPress", "KeyPressedUse", KeyPressedUse)

попробуй еще так.
и что тебе будет в консоль сервера писать типо IN_USE: что-то


В консоли ничего не пишет,скрипт не работает.
Сейчас попробую скрипт из треда который мне написал другой парень, секунду.
 
Назад
Сверху Снизу