Baziron AC
Пользователь
Нужен Job Whitelist
Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.
Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта 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
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);
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, пробуй.
Код: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)
В первом случае, неправильный индекс в таблице.
Во втором случае, неправильное применение в таблице. По этому и не работало. Ну я накидал свой вариант, должен работать, но это не точно.
по поводу вайтлиста, тебе нужно чтобы только TEAM_HELIX могли открывать? если да, то должно работать только для TEAM_HELIX ну или тех кто в таблице отмечен.Сейчас испробую...
по поводу вайтлиста, тебе нужно чтобы только TEAM_HELIX могли открывать? если да, то должно работать только для TEAM_HELIX ну или тех кто в таблице отмечен.
По поводу индекса TEAM_HELIX, уверен что правильно?
Смотреть в создание работы т.е TEAM_CITIZEN = DarkRP.createJob -- TEAM_CITIZEN это индекс работы.
добавишь в вайтлист таблицу вручную, вот сюдаТак,мне нужно чтобы их открывать могли не только хеликсы, мне нужны разные комбайны.
Хеликса я взял в пример.
local tblWhiteList = {
[TEAM_HELIX] = true,
}
local tblWhiteList = { -- индексы работ, тип кто может открывать дверь.
[TEAM_HELIX] = true,
[TEAM_CITIZEN] = true,
}
добавишь в вайтлист таблицу вручную, вот сюда
Код:local tblWhiteList = { [TEAM_HELIX] = true, }
пример более лучший
Код:local tblWhiteList = { -- индексы работ, тип кто может открывать дверь. [TEAM_HELIX] = true, [TEAM_CITIZEN] = true, }
Тима хеликс существует?Ну, сам скрипт не работает, я только что проверил на хеликсе и нифига
Тима хеликс существует?
Скинь сюда как именно ты создаешь эту работу, мб индекс неправильный или что еще.
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
})
А ты ккуда закидываешь скрипт который я тебе кидал? в lua/autorun/server или в моде добавляешь?
Вообщем это все странно, но мой вариант должен работать, я даже и не знаю. Может быть когда-то сделаю другое решение, но пока что нет идей. (кроме абсурдных, которые нагружают сервер)lua/autorun/server/combinedoors.lua
Вообщем это все странно, но мой вариант должен работать, я даже и не знаю. Может быть когда-то сделаю другое решение, но пока что нет идей. (кроме абсурдных, которые нагружают сервер)
Ладно, может кто то еще допишет твой скрипт. Спасибо!
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)
Код: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: что-то
а чистый работает? Если чистый работает, то повторюсь, это бред, в консоли должно было выводить индекс команды именно сервера, если не выводит то кнопка (е по дефолту) не нажата или сам скрипт нерабочий, а может конфликтует с чем то другим.В консоли ничего не пишет,скрипт не работает.