• Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта 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

Helix | Whitelist фракций

Dango532

Пользователь
Регистрация
23 Фев 2022
Сообщения
21
Реакции
0
Баллы
5
Пол
Мужской
Всем доброго времени суток! Пытаюсь создать свой проект, но сам в скриптинге не разбираюсь, а знакомого кодера нет. Собственно, вопрос:
Как убрать whitelist для фракции на схеме HL2RP, при этом не делая фракцию дефолтной (то есть доступной для выбора при создании персонажа)?
Заранее спасибо.
 
Как убрать whitelist для фракции на схеме HL2RP, при этом не делая фракцию дефолтной (то есть доступной для выбора при создании персонажа)?
Добавь в профессии FACTION.isDefault = true, если я правильно понял.
 
Добавь в профессии FACTION.isDefault = true, если я правильно понял.
В том-то и дело. Если фракция имеет строку "FACTION.isDefault = true", то она доступна для выбора при создании персонажа, соответственно, игроки смогут взять ту фракцию, которая должна быть для них недоступна.
Вместо true я поставил для фракции false и могу переносить во фракцию (/plytransfer), но лишь с условием, что выдам whitelist человеку (/plywhitelist).
Может появиться вопрос: "Почему тогда просто не оставить фракции с вайтлистами и просто выдавать их?
1) Если выдать игроку whitelist на фракцию, то, возвращаясь к истокам, он сможет точно также, как и дефолтную фракцию, выбрать ее после удаления персонажа и создания нового.
2) Это, конечно же, не удобно каждый раз выдавать и забирать whitelist'ы, да и нет гарантии, что у всех их заберут.
 
В том-то и дело. Если фракция имеет строку "FACTION.isDefault = true", то она доступна для выбора при создании персонажа, соответственно, игроки смогут взять ту фракцию, которая должна быть для них недоступна.
Вместо true я поставил для фракции false и могу переносить во фракцию (/plytransfer), но лишь с условием, что выдам whitelist человеку (/plywhitelist).
Может появиться вопрос: "Почему тогда просто не оставить фракции с вайтлистами и просто выдавать их?
1) Если выдать игроку whitelist на фракцию, то, возвращаясь к истокам, он сможет точно также, как и дефолтную фракцию, выбрать ее после удаления персонажа и создания нового.
2) Это, конечно же, не удобно каждый раз выдавать и забирать whitelist'ы, да и нет гарантии, что у всех их заберут.
В Helix это не продумано, лучше добавить вторую переменную по типу FACTION.isDefault, и добавить в код исключение в whitelist-е.
 
В Helix это не продумано, лучше добавить вторую переменную по типу FACTION.isDefault, и добавить в код исключение в whitelist-е.
Проще вырезать проверку на белый лист
Данная функция на НС вообще служила для того, чтобы изначально люди могли создавать персов за определенную фраку
 
Проще вырезать проверку на белый лист
Данная функция на НС вообще служила для того, чтобы изначально люди могли создавать персов за определенную фраку
Вот это мне и нужно, выключить whitelist, но вот где искать код проверки, я так и не понял. Не мог бы подсказать, пожалуйста?
 
Вот это мне и нужно, выключить whitelist, но вот где искать код проверки, я так и не понял. Не мог бы подсказать, пожалуйста?
helix/core/libs и там либо sh_hooks или sv_hooks смотри. Где-то там эта хрень
 
helix/core/libs и там либо sh_hooks или sv_hooks смотри. Где-то там эта хрень
По пути "/garrysmod/gamemodes/helix/gamemode/core/libs" я не нашел sh_hooks и sv_hooks, но нашел их в "/core/hooks". В sv_hooks вообще нет упоминания про whitelist, а при вырезании из sh_hooks, персонаж перестал создаваться. Возможно, я что-то делаю не так, но не мог бы ты уточнить, пожалуйста, точный путь и строки?
 
По пути "/garrysmod/gamemodes/helix/gamemode/core/libs" я не нашел sh_hooks и sv_hooks, но нашел их в "/core/hooks". В sv_hooks вообще нет упоминания про whitelist, а при вырезании из sh_hooks, персонаж перестал создаваться. Возможно, я что-то делаю не так, но не мог бы ты уточнить, пожалуйста, точный путь и строки?
Для возможности заходить под персонажем, у которого не имеется вайтлиста на собственную фракцию, нужно вырезать:

Lua:
local bHasWhitelist = client:HasWhitelist(character:GetFaction())

if (!bHasWhitelist) then
     return false, "@noWhitelist"
end
в sh_hooks.lua с 433 по 437 строчку
 
Для возможности заходить под персонажем, у которого не имеется вайтлиста на собственную фракцию, нужно вырезать:

Lua:
local bHasWhitelist = client:HasWhitelist(character:GetFaction())

if (!bHasWhitelist) then
     return false, "@noWhitelist"
end
в sh_hooks.lua с 433 по 437 строчку
Никакого результата не дало, от слова совсем. Персонажа также нельзя перенести во фракцию, преждевременно не выдав ему whitelist. При создании персонажа эта фракция также недоступна (я подумал, что при вырезании whitelist'а откроются все фракции и решил проверить).
Для проверки вырезал следующие строки:
local bHasWhitelist = client:HasWhitelist(character:GetFaction())

if (!bHasWhitelist) then
return false, "@noWhitelist"
end
по пути "/garrysmod/gamemodes/helix/gamemode/core/hooks/sh_hooks.lua", однако как сказал ранее, результата не дало.
Сообщение автоматически объединено:

Сперва строки закомментировал. Сохранил файл, перезапустил сервер. Когда не получилось, грешил на свою криворукость и решил вырезать совсем, сохранил, перезагрузил, но результат тот же.
 
То ли у тебя версия какая-то другая, то ли что, но у меня всё нормально работало после комментирования этих строк
 
Привет можешь посмотреть в гугл т.к тут мало кто знает потому что тут только скачивают аддоны.
Я этим первым делом занялся, чтобы людей зря не дергать. Перелазил интернет, подобной темы не нашел. Прошерстил все, что нашло про whitelist на netzona, но ничего того, что мне нужно нет.
 
Я этим первым делом занялся, чтобы людей зря не дергать. Перелазил интернет, подобной темы не нашел. Прошерстил все, что нашло про whitelist на
helix/core/sh_commands.lua -> ищешь команду plytransfer и убираешь проверку на белый лист. После этого всё заработает. Я не с компа тебе отвечаю, поэтому без подробностей описываю. На счёт версии вообще не заморачивайся, херня это все. Главное убрать проверку.
 
helix/core/sh_commands.lua -> ищешь команду plytransfer и убираешь проверку на белый лист. После этого всё заработает. Я не с компа тебе отвечаю, поэтому без подробностей описываю. На счёт версии вообще не заморачивайся, херня это все. Главное убрать проверку.
Спасибо, все получилось.
Правда есть один ньанс: Я попробовал вырезать, но в силу того, что я только начал знакомиться с lua, я так и не смог разобраться, какие именно строки нужно вырезать, но я сделал немного иначе. Просто поставил в else такой же аргумент, как и в if then, соответственно правда и ложь имеют одинаковый код, а значит whitelist больше не нужен и при первом заходе человек не может выбрать другие фракции.
 
На счёт версии вообще не заморачивайся, херня это все.
Ну я говорил основываясь на своей версии (как я понял, она у меня старая), а конкретно (слева старая, справа новая): 1654157712990.png
 
Ну я говорил основываясь на своей версии (как я понял, она у меня старая), а конкретно (слева старая, справа новая): Посмотреть вложение 5084
Ты точно не забыл что убрал? Сколько помню, эта херня была. Исключение конечно же хеликс 18 года… но там даже хеликсом нельзя было назвать.
Сообщение автоматически объединено:

Спасибо, все получилось.
Правда есть один ньанс: Я попробовал вырезать, но в силу того, что я только начал знакомиться с lua, я так и не смог разобраться, какие именно строки нужно вырезать, но я сделал немного иначе. Просто поставил в else такой же аргумент, как и в if then, соответственно правда и ложь имеют одинаковый код, а значит whitelist больше не нужен и при первом заходе человек не может выбрать другие фракции.
Там просто надо вырезать if bHasWhitelist then. Но если и так работает, то хрен с ним.
 
Ты точно не забыл что убрал? Сколько помню, эта херня была. Исключение конечно же хеликс 18 года… но там даже хеликсом нельзя было назвать.
Блэт, а и не подумал. Видимо забыл уже o_O
 
После исправления команды /plytransfer обнаружил, что нельзя заходить уже перенесенным персонажем за ту фракцию, на которую нет whitelist'а. Помогло это:
Для возможности заходить под персонажем, у которого не имеется вайтлиста на собственную фракцию, нужно вырезать:

Lua:
local bHasWhitelist = client:HasWhitelist(character:GetFaction())

if (!bHasWhitelist) then
     return false, "@noWhitelist"
end
в sh_hooks.lua с 433 по 437 строчку
 
После исправления команды /plytransfer обнаружил, что нельзя заходить уже перенесенным персонажем за ту фракцию, на которую нет whitelist'а. Помогло это:
Ну так в хуке убирается проверка белого листа для выбора персонажа, а в команде убирается проверка для того, чтобы перекидывать персонажей в другие фракции. Поэтому данные махинации делаются последовательно.
Я же не просто так написал сначала про хук, а потом про команду...
 
Главная Регистрация
Назад
Сверху