Нужно добавить проверки в самом скрипте взятия сабов через alt+B.
Вероятно, что создатели того скрипта, о том просто не задумывались. Что будет если напрямую указывать ID.
А просто решили сделать "стрингом"....
Делов минут на 10 в самом деле то.
Сделай отдельные обозначения в самом скрипте каждому виду классов (их там не так много будет, возьми стандартную мап-часть из обычного скрипта по сабам, там обозначаются классы под каждый вариант саба - находится там же в PlayerClass.java только повыше того что ты скинул.)
Обозначения будут нечто типо: knight, mage, heler и т.д.
Затем в сам скрипт впиши на каждый под-вид проверки и сделай указание для каждого.
Например, если основа относится к списку knight`а, то тут можно или сделать, чтобы он не брал такие же или тупо вручную указать какие именно ID проф данной мапе запрещено брать.
Типо, если основа относится к knight и мы пробуем брать knight, то return; - можно даже перед ретурном отправить сообщение этому человеку аля: - "Вот тебе подарочек педик". И к примеру следом удалять чара кто попытался это сделать.
ну и так по аналогии со всеми классами и т.д. Просто постарайся не забыть указать в проверку какую-либо профу.
Тогда все будет нормально
Ну и еще там же сделай еще проверку, лучше в самом начале, что можно брать классы исключительно вторые.
(Это закроет проблему если кто-то укажет нулевые профы или третьи.)
Как это сделать? Если не можешь сделать через стандартные запросы, сделай перечислением.
Обычный инт, в который пишешь через запятую все реальные ID проф которые можно взять.
Ну, а следом уже идут проверки местечковые, которые будут смотреть на расу, или принадлежность к мапам.