Что нового?

1.5.Х Количество игроков в группе

  • Автор темы Автор темы enemy
  • Дата начала Дата начала

enemy

Пользователь
Подскажите как и где можно ввести ограничение на размер группы, в 1.5.5 размер группы 10 человек, как вернуть размер в 6 человек?
 
Подскажите как и где можно ввести ограничение на размер группы, в 1.5.5 размер группы 10 человек, как вернуть размер в 6 человек?
Может, проще уж отключить вход в локацию в 10 тел? Чтоб не вынуждать людей, объединятся в группы из 10 человек
 
gs.conf
player_per_instance 6-15 // это в таких строчках напротив нужной карты
так же проверь квесты связанные с местом/событием куда идешь как написал человек выше убрать ограничение в 10 тел
 
gs.conf
player_per_instance 6-15 // это в таких строчках напротив нужной карты
так же проверь квесты связанные с местом/событием куда идешь как написал человек выше убрать ограничение в 10 тел
Да! Только пусть не путает! Это не отменит создание патек из 10 тел, НО! Не пустит в данж 10 чел из одной группы. Только из 6 человек
 
player_per_instance насколько я понимаю это ограничение на количество человек в данже, но в мировой локации так не сделать, да и этот костыль слишком кривой,
допустим пати их 10 чел. захочет войти в данж, то их то одного то другого будет выкидывать из данжа, не в клиенте и/или в гс должна быть константа с макс количеством.
 
я все еще плохо читаю ассемблер так что могут быть ошибки
1761866267278.png
игрок который являеться лидером может приглашать в отряд кол-во? при режиме сбора предметов
сорян что так долго мой 6ти ведерный дегенерат не мог ядро прогрузить(хотя я не лучше XD)
 
Это не та функция что нужна, она не меняется то 1.4.2 до 1.5.5, это вероятнее всего функция распределения дропа в группе
 
Это dispatcher который инфу в клиент отправляет о том что лидер приглашает в отряд
 
ну тогда тут должна быть проверка, кол-во игроков в группе меньше или равно десяти (шести) игроков, но я этого не увидел
 
ну тогда тут должна быть проверка, кол-во игроков в группе меньше или равно десяти (шести) игроков, но я этого не увидел
Нет конечно эта функция только отправляет инфу клиенту
 
Открываем файлы исходного кода:
1761906753062.png
Данный стейтмент сообщает компилятору кол-во мемберов в группе
C++:
#define TEAM_MEMBER_CAPACITY    10
В аиде этого не будет. Нужно порыть исходники.

Первое упоминание в autoteamman.cpp (тут и так ясно что это автопати, если юзаем = меняем):
1761908220780.png
Роем дальше
1761908436647.png
Заветное, проверка кол-ва....
Учти, количество мемберов разбросано по гейму. Насколько критично оно для ядра и где эта дрять на что влияет разбираться времени нет - занимайся:
1761908482917.png


PS Если я допустил ошибку илли не учел что-то - прошу прощения. Времени на глубокое изучение просто нет! Ключ для поиска в аиде можно поддобрать на основе используемых методов в условиях
C++:
if(map.size() + GetTeam(pTeam).member_count >= TEAM_MEMBER_CAPACITY) // Сво-во member_count хороший ключ
 
Скриншот 31-10-2025 175941.jpgСкриншот 31-10-2025 180303.jpgСкриншот 31-10-2025 180218.jpg

Похоже я нашел что искал, правда нашел в GS от 1.4.4, теперь нужно проверить в 1.5.5
 
team_count.jpg
А вот эта функция в 1.5.5)
тут смотрю не только количество в группе задается но и количество рас. очень интересно
 
Беда печаль, это не та функция, нужно искать исходники GS и рыть их, потом уже рыть сам GS
Скриншот 31-10-2025 204340.jpg
 
в ядре для 1.5.5

для копипаста адрес 08184С0С или искать по имени team_control_normal::CliInviteOther

1761951410027.png

искать дальше мотивации нет
вообщем... удачи мистер сапер XD
 
в ядре для 1.5.5

для копипаста адрес 08184С0С или искать по имени team_control_normal::CliInviteOther

Посмотреть вложение 1839

искать дальше мотивации нет
вообщем... удачи мистер сапер XD
просмотрев данную функцию я вообще не увидел ни чего что могло бы мне помочь, это вообще по моему "левая функция", она вероятно очень нужна для каких то целей, но для решения моей проблемы она вряд ли подходит
 
скачал исходники 1.5.2, нашел там файл config.h с содержанием:
confif.h.jpg
как видно на скрине, тут происходит объявление константы, подскажите как мне теперь найти этот "файл" config.h в GS?
В IDAда и в С++ откровенно сказать не силен(
 
Перевод комментария строки: #define TEAM_MEMBER_CAPACITY 10 //组队的最大人数 перевод: Максимальное количество команд
 
скачал исходники 1.5.2, нашел там файл config.h с содержанием:
Посмотреть вложение 1840
как видно на скрине, тут происходит объявление константы, подскажите как мне теперь найти этот "файл" config.h в GS?
В IDAда и в С++ откровенно сказать не силен(
Выше писал же, это иструкция для компилятора, ты ищи метод где она используется
Открываем файлы исходного кода:
Посмотреть вложение 1829
Данный стейтмент сообщает компилятору кол-во мемберов в группе
C++:
#define TEAM_MEMBER_CAPACITY    10
В аиде этого не будет. Нужно порыть исходники.

Первое упоминание в autoteamman.cpp (тут и так ясно что это автопати, если юзаем = меняем):
Посмотреть вложение 1830
Роем дальше
Посмотреть вложение 1831
Заветное, проверка кол-ва....
Учти, количество мемберов разбросано по гейму. Насколько критично оно для ядра и где эта дрять на что влияет разбираться времени нет - занимайся:
Посмотреть вложение 1832


PS Если я допустил ошибку илли не учел что-то - прошу прощения. Времени на глубокое изучение просто нет! Ключ для поиска в аиде можно поддобрать на основе используемых методов в условиях
C++:
if(map.size() + GetTeam(pTeam).member_count >= TEAM_MEMBER_CAPACITY) // Сво-во member_count хороший ключ
 
в ядре для 1.5.5

для копипаста адрес 08184С0С или искать по имени team_control_normal::CliInviteOther

Посмотреть вложение 1839

искать дальше мотивации нет
вообщем... удачи мистер сапер XD
просмотрев данную функцию я вообще не увидел ни чего что могло бы мне помочь, это вообще по моему "левая функция", она вероятно очень нужна для каких то целей, но для решения моей проблемы она вряд ли подходит
Прошу прощения, судя по всему был не прав(
 
подскажите как мне теперь найти этот "файл" config.h в GS?
никак это не объявление а макрос который просто подставляет это значение при сборке,
скачай сорсы какие-то любые, найди нотпадом все TEAM_MEMBER_CAPACITY, потом каждую функцию по названию ищи и меняй
 
то есть функцию player_teamplate::SetTeamBonus я нашел верно, то есть в gs данная константа объявлена не один раз а несколько?
Когда компилятор видит эту "константу" он подставляет значение объявленное выше. Получается что тебе необходимо заменить значение 10 в условии выше упомянутого метода.
 
Сверху