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

Helix | Whitelist фракций

Dango532

Пользователь
Регистрация
23 Фев 2022
Сообщения
21
Реакции
0
Баллы
5
Пол
Мужской
Всем доброго времени суток! Пытаюсь создать свой проект, но сам в скриптинге не разбираюсь, а знакомого кодера нет. Собственно, вопрос:
Как убрать whitelist для фракции на схеме HL2RP, при этом не делая фракцию дефолтной (то есть доступной для выбора при создании персонажа)?
Заранее спасибо.
 

InTeaReable

Модератор
Команда форума
Регистрация
3 Апр 2020
Сообщения
214
Реакции
8
Баллы
52
Возраст
25
Клан-тег
RCN-NV
Пол
Мужской
Семейное положение
Женат
Род занятий
Mapping Source Engine, Python/Lua programmist, Designer, FL Studio Enjoyer.
Как убрать whitelist для фракции на схеме HL2RP, при этом не делая фракцию дефолтной (то есть доступной для выбора при создании персонажа)?
Добавь в профессии FACTION.isDefault = true, если я правильно понял.
 

Dango532

Пользователь
Регистрация
23 Фев 2022
Сообщения
21
Реакции
0
Баллы
5
Пол
Мужской
Добавь в профессии FACTION.isDefault = true, если я правильно понял.
В том-то и дело. Если фракция имеет строку "FACTION.isDefault = true", то она доступна для выбора при создании персонажа, соответственно, игроки смогут взять ту фракцию, которая должна быть для них недоступна.
Вместо true я поставил для фракции false и могу переносить во фракцию (/plytransfer), но лишь с условием, что выдам whitelist человеку (/plywhitelist).
Может появиться вопрос: "Почему тогда просто не оставить фракции с вайтлистами и просто выдавать их?
1) Если выдать игроку whitelist на фракцию, то, возвращаясь к истокам, он сможет точно также, как и дефолтную фракцию, выбрать ее после удаления персонажа и создания нового.
2) Это, конечно же, не удобно каждый раз выдавать и забирать whitelist'ы, да и нет гарантии, что у всех их заберут.
 

InTeaReable

Модератор
Команда форума
Регистрация
3 Апр 2020
Сообщения
214
Реакции
8
Баллы
52
Возраст
25
Клан-тег
RCN-NV
Пол
Мужской
Семейное положение
Женат
Род занятий
Mapping Source Engine, Python/Lua programmist, Designer, FL Studio Enjoyer.
В том-то и дело. Если фракция имеет строку "FACTION.isDefault = true", то она доступна для выбора при создании персонажа, соответственно, игроки смогут взять ту фракцию, которая должна быть для них недоступна.
Вместо true я поставил для фракции false и могу переносить во фракцию (/plytransfer), но лишь с условием, что выдам whitelist человеку (/plywhitelist).
Может появиться вопрос: "Почему тогда просто не оставить фракции с вайтлистами и просто выдавать их?
1) Если выдать игроку whitelist на фракцию, то, возвращаясь к истокам, он сможет точно также, как и дефолтную фракцию, выбрать ее после удаления персонажа и создания нового.
2) Это, конечно же, не удобно каждый раз выдавать и забирать whitelist'ы, да и нет гарантии, что у всех их заберут.
В Helix это не продумано, лучше добавить вторую переменную по типу FACTION.isDefault, и добавить в код исключение в whitelist-е.
 

ASHERA

Пользователь
Регистрация
7 Янв 2017
Сообщения
96
Реакции
0
Баллы
19
Клан-тег
OstlandProject
Пол
Мужской
В Helix это не продумано, лучше добавить вторую переменную по типу FACTION.isDefault, и добавить в код исключение в whitelist-е.
Проще вырезать проверку на белый лист
Данная функция на НС вообще служила для того, чтобы изначально люди могли создавать персов за определенную фраку
 

Dango532

Пользователь
Регистрация
23 Фев 2022
Сообщения
21
Реакции
0
Баллы
5
Пол
Мужской
Проще вырезать проверку на белый лист
Данная функция на НС вообще служила для того, чтобы изначально люди могли создавать персов за определенную фраку
Вот это мне и нужно, выключить whitelist, но вот где искать код проверки, я так и не понял. Не мог бы подсказать, пожалуйста?
 

ASHERA

Пользователь
Регистрация
7 Янв 2017
Сообщения
96
Реакции
0
Баллы
19
Клан-тег
OstlandProject
Пол
Мужской
Вот это мне и нужно, выключить whitelist, но вот где искать код проверки, я так и не понял. Не мог бы подсказать, пожалуйста?
helix/core/libs и там либо sh_hooks или sv_hooks смотри. Где-то там эта хрень
 

Dango532

Пользователь
Регистрация
23 Фев 2022
Сообщения
21
Реакции
0
Баллы
5
Пол
Мужской
helix/core/libs и там либо sh_hooks или sv_hooks смотри. Где-то там эта хрень
По пути "/garrysmod/gamemodes/helix/gamemode/core/libs" я не нашел sh_hooks и sv_hooks, но нашел их в "/core/hooks". В sv_hooks вообще нет упоминания про whitelist, а при вырезании из sh_hooks, персонаж перестал создаваться. Возможно, я что-то делаю не так, но не мог бы ты уточнить, пожалуйста, точный путь и строки?
 

Gaurussel

Пользователь
Регистрация
10 Янв 2019
Сообщения
110
Реакции
3
Баллы
35
Пол
Мужской
По пути "/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 строчку
 

Dango532

Пользователь
Регистрация
23 Фев 2022
Сообщения
21
Реакции
0
Баллы
5
Пол
Мужской
Для возможности заходить под персонажем, у которого не имеется вайтлиста на собственную фракцию, нужно вырезать:

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", однако как сказал ранее, результата не дало.
Сообщение автоматически объединено:

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

Gaurussel

Пользователь
Регистрация
10 Янв 2019
Сообщения
110
Реакции
3
Баллы
35
Пол
Мужской
То ли у тебя версия какая-то другая, то ли что, но у меня всё нормально работало после комментирования этих строк
 

Dango532

Пользователь
Регистрация
23 Фев 2022
Сообщения
21
Реакции
0
Баллы
5
Пол
Мужской
Привет можешь посмотреть в гугл т.к тут мало кто знает потому что тут только скачивают аддоны.
Я этим первым делом занялся, чтобы людей зря не дергать. Перелазил интернет, подобной темы не нашел. Прошерстил все, что нашло про whitelist на netzona, но ничего того, что мне нужно нет.
 

ASHERA

Пользователь
Регистрация
7 Янв 2017
Сообщения
96
Реакции
0
Баллы
19
Клан-тег
OstlandProject
Пол
Мужской
Я этим первым делом занялся, чтобы людей зря не дергать. Перелазил интернет, подобной темы не нашел. Прошерстил все, что нашло про whitelist на
helix/core/sh_commands.lua -> ищешь команду plytransfer и убираешь проверку на белый лист. После этого всё заработает. Я не с компа тебе отвечаю, поэтому без подробностей описываю. На счёт версии вообще не заморачивайся, херня это все. Главное убрать проверку.
 

Dango532

Пользователь
Регистрация
23 Фев 2022
Сообщения
21
Реакции
0
Баллы
5
Пол
Мужской
helix/core/sh_commands.lua -> ищешь команду plytransfer и убираешь проверку на белый лист. После этого всё заработает. Я не с компа тебе отвечаю, поэтому без подробностей описываю. На счёт версии вообще не заморачивайся, херня это все. Главное убрать проверку.
Спасибо, все получилось.
Правда есть один ньанс: Я попробовал вырезать, но в силу того, что я только начал знакомиться с lua, я так и не смог разобраться, какие именно строки нужно вырезать, но я сделал немного иначе. Просто поставил в else такой же аргумент, как и в if then, соответственно правда и ложь имеют одинаковый код, а значит whitelist больше не нужен и при первом заходе человек не может выбрать другие фракции.
 

Gaurussel

Пользователь
Регистрация
10 Янв 2019
Сообщения
110
Реакции
3
Баллы
35
Пол
Мужской
На счёт версии вообще не заморачивайся, херня это все.
Ну я говорил основываясь на своей версии (как я понял, она у меня старая), а конкретно (слева старая, справа новая): 1654157712990.png
 

ASHERA

Пользователь
Регистрация
7 Янв 2017
Сообщения
96
Реакции
0
Баллы
19
Клан-тег
OstlandProject
Пол
Мужской
Ну я говорил основываясь на своей версии (как я понял, она у меня старая), а конкретно (слева старая, справа новая): Посмотреть вложение 5084
Ты точно не забыл что убрал? Сколько помню, эта херня была. Исключение конечно же хеликс 18 года… но там даже хеликсом нельзя было назвать.
Сообщение автоматически объединено:

Спасибо, все получилось.
Правда есть один ньанс: Я попробовал вырезать, но в силу того, что я только начал знакомиться с lua, я так и не смог разобраться, какие именно строки нужно вырезать, но я сделал немного иначе. Просто поставил в else такой же аргумент, как и в if then, соответственно правда и ложь имеют одинаковый код, а значит whitelist больше не нужен и при первом заходе человек не может выбрать другие фракции.
Там просто надо вырезать if bHasWhitelist then. Но если и так работает, то хрен с ним.
 

Gaurussel

Пользователь
Регистрация
10 Янв 2019
Сообщения
110
Реакции
3
Баллы
35
Пол
Мужской
Ты точно не забыл что убрал? Сколько помню, эта херня была. Исключение конечно же хеликс 18 года… но там даже хеликсом нельзя было назвать.
Блэт, а и не подумал. Видимо забыл уже o_O
 

Dango532

Пользователь
Регистрация
23 Фев 2022
Сообщения
21
Реакции
0
Баллы
5
Пол
Мужской
После исправления команды /plytransfer обнаружил, что нельзя заходить уже перенесенным персонажем за ту фракцию, на которую нет whitelist'а. Помогло это:
Для возможности заходить под персонажем, у которого не имеется вайтлиста на собственную фракцию, нужно вырезать:

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

if (!bHasWhitelist) then
     return false, "@noWhitelist"
end
в sh_hooks.lua с 433 по 437 строчку
 

ASHERA

Пользователь
Регистрация
7 Янв 2017
Сообщения
96
Реакции
0
Баллы
19
Клан-тег
OstlandProject
Пол
Мужской
После исправления команды /plytransfer обнаружил, что нельзя заходить уже перенесенным персонажем за ту фракцию, на которую нет whitelist'а. Помогло это:
Ну так в хуке убирается проверка белого листа для выбора персонажа, а в команде убирается проверка для того, чтобы перекидывать персонажей в другие фракции. Поэтому данные махинации делаются последовательно.
Я же не просто так написал сначала про хук, а потом про команду...
 
Назад
Сверху Снизу