Перейти к содержанию
Авторизация  
ncsSpawN

Баг на euro-pvp и lucera 1.7 от ncs.SpawN

Рекомендуемые сообщения

не change_class байпас случаем?)

через него можно 75 взять 3 профу на пв

естественно )

а есть другие ещё ?))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в общем, такая штука не работает на акисах. Ни через точку, ни со слешом, вообще ничего не происходит

На ацисах не работает, там не реализованы воискоманды. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На ацисах не работает, там не реализованы воискоманды. 

войс да но не кто не запрещал байпасы )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

войс да но не кто не запрещал байпасы )

А с этого момента по подробней=)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А с этого момента по подробней=)

Да что тут писать просто в html вставляем свои байпасы

можно в l2text

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А нельзя это решить путем удаления или запретом команды? Ну типо чтоб только у нпц брали проф?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А нельзя это решить путем удаления или запретом команды? Ну типо чтоб только у нпц брали проф?

Если запретить команду, не что не помешает подменить байпас в памяти или через клиент.

Для этого нужно пилить шифрацию и и реализовать прием только зашифрованных байпасов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если запретить команду, не что не помешает подменить байпас в памяти или через клиент.Для этого нужно пилить шифрацию и и реализовать прием только зашифрованных байпасов.

легче убрать награду))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прощай один из самых легких багов ((((

еще скажи что ты его знал))))))))))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

как такое в 2016 может работать?

если в сборках л2ж

тот же ла2бейс

стоит проверка на лвл

level >= 20 && jobLevel == 0 ) || (level >= 40 && jobLevel == 1 ) || (level >= 76 && jobLevel == 2

это вообще бред, команду либо специально такой сделали либо допустили ошибку

веселый баг на х100

ты просто не представляешь сколько всего работает)))))))))     

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да у меня свой проект есть, а фейлить других чтоб потом вернулось в тройне не по мне)

Я хотел показать что сервер euro-pvp это просто раскрученный проект, есть сборки намного круче моей или ихней и на них не так много онлайна бегает.

Но по моим меркам хоть и с маленьким онлайном именно они лидеры по сборкам.

твоя то круче чем у евро,  я за день ковыряний в евро нахожу что то 100%,  а  в твоей с*к   за неделю не мог нини найти) 

Изменено пользователем DeadForzz

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

еще скажи что ты его знал))))))))))

 

Нет не знал, доволен? Ты агр? Теперь будешь выслеживать мои сообщения и цеплять их?  :fool:  :fool:  :fool:

Изменено пользователем Lightning

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет не знал, доволен? Ты агр? Теперь будешь выслеживать мои сообщения и цеплять их?  :fool:  :fool:  :fool:

причем тут ты чайка,  но на счет цеплять тебя я теперь всегда буду))) тут ты прав,  я просто тему спавна читал и вижу твой глупый как и все твои коменты   и решил ответить 

п.с. так что ты меня зря тронул чайка)))

Изменено пользователем DeadForzz

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

твоя то круче чем у евро,  я за день ковыряний в евро нахожу что то 100%,  а  в твоей с*к   за неделю не мог нини найти)

Недавно нашел ещё одну но уже серьезную уязвимость под дюп, работает практически везде на java)

И на том же эвро пвп, на пакетном уровне.

Везде и всегда можно найти баги, не только в серверах л2 но в тех же банковских системах или обычных домофонах.

Пока у нас нет искусственного интеллекта который сможет самообучатся и обрабатывать космические данные за короткий срок времени.

У нас всегда будут присутствовать баги и дыры во всем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

причем тут ты чайка,  но на счет цеплять тебя я теперь всегда буду))) тут ты прав,  я просто тему спавна читал и вижу твой глупый как и все твои коменты   и решил ответить 

п.с. так что ты меня зря тронул)))

 

Хороший мальчик, возьми булочку с полки. Когда окончишь школу, покажешь мне аттестат? И может тогда я и вступлю с тобой в дальнейшем в дискуссию, а пока я надеюсь - это будет мое последнее сообщение адресованное тебе. Я не против, что ты полагаешь мои все комментарии тупыми, но, в таком случае считайся с тем, что у тебя сообщений оставленных на форуме куда больше, чем у меня. А сколько реков? верно, на парочку больше чем у меня. А это что означает? Снова верно, что ты дружочек мой меньший, куда больше оставляешь "тупых" и не имеющих смысловой нагрузки сообщений. О чем даже свидетельствует та тема "акуме)". Таким образом, хочу подчеркнуть, что ты послан на три буквы. Удачи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хороший мальчик, возьми булочку с полки. Когда окончишь школу, покажешь мне аттестат? И может тогда я и вступлю с тобой в дальнейшем в дискуссию, а пока я надеюсь - это будет мое последнее сообщение адресованное тебе. Я не против, что ты полагаешь мои все комментарии тупыми, но, в таком случае считайся с тем, что у тебя сообщений оставленных на форуме куда больше, чем у меня. А сколько реков? верно, на парочку больше чем у меня. А это что означает? Снова верно, что ты дружочек мой меньший, куда больше оставляешь "тупых" и не имеющих смысловой нагрузки сообщений. О чем даже свидетельствует та тема "акуме)". Таким образом, хочу подчеркнуть, что ты послан на три буквы. Удачи.

много букв,  ты просто пишешь бред всякий, ты просто меньше набивай сообщений ненужными ответами в теме),все не флуди чайка

Изменено пользователем DeadForzz

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

много букв,  ты просто пишешь бред всякий, ты просто меньше набивай сообщений ненужными ответами в теме),все не флуди чайка

 

Ты посмотри на дату моей регистрации "Регистрация: 25 Feb 2013"  Все еще считаешь, что 730 сообщений в течении 3 лет, это набивание постов? ))) Я же говорю ты гений  :rofl:.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ты посмотри на дату моей регистрации "Регистрация: 25 Feb 2013"  Все еще считаешь, что 730 сообщений в течении 3 лет, это набивание постов? ))) Я же говорю ты гений  :rofl:.

я сужу по последних 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ищем:

for (Integer _itemId : Config.CLASS_MASTER_SETTINGS.getRequireItems(newJobLevel).keySet())

Выше добавляем:

if ((((level >= 20 && jobLevel == 0) || (level >= 40 && jobLevel == 1) || (level >= 76 && jobLevel == 2)) && Config.CLASS_MASTER_SETTINGS.isAllowed(newJobLevel))) {

Закрываем } перед return process(player, "",false);

 

В итоге к примеру на 40 уровне сс пишем в чат .classmaster 103 получаем:

198d886b730f.jpg

Можно подробнее, нужен именно такой результат, но не могу разобраться. Шифрование и прочее не нужны. Вот код classmaster.java при котором баг воспроизводится:

package handlers.voice;
import javolution.text.TextBuilder;
import ru.catssoftware.Config;
import ru.catssoftware.gameserver.communitybbs.CommunityBoard;
import ru.catssoftware.gameserver.communitybbs.IBBSHandler;
import ru.catssoftware.gameserver.datatables.CharTemplateTable;
import ru.catssoftware.gameserver.datatables.ItemTable;
import ru.catssoftware.gameserver.handler.IVoicedCommandHandler;
import ru.catssoftware.gameserver.handler.VoicedCommandHandler;
import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance;
import ru.catssoftware.gameserver.model.base.ClassId;
import ru.catssoftware.gameserver.model.olympiad.Olympiad;
import ru.catssoftware.gameserver.network.SystemMessageId;
import ru.catssoftware.gameserver.network.serverpackets.NpcHtmlMessage;
import ru.catssoftware.gameserver.network.serverpackets.SystemMessage;

public class ClassMaster implements IVoicedCommandHandler,IBBSHandler {

private static final String NOT_ALLOWED = "<html><body><br><br><center>Not allowed now</center></body></html>";

public ClassMaster() {
VoicedCommandHandler.getInstance()._classMasterHandler = this;
}
@Override
public String getDescription(String command) {
return "Вызов диалога классмастера";
}

@Override
public String[] getVoicedCommandList() {
return new String[] {"classmaster"};
}

@Override
public boolean useVoicedCommand(String command, L2PcInstance activeChar,
String target) {
NpcHtmlMessage msg = new NpcHtmlMessage(0);
try {
Integer.parseInt(target);
} catch(NumberFormatException e) {
target = null;
}
msg.setHtml(process(activeChar, target,false));
activeChar.sendPacket(msg);
return false;
}

public String process(L2PcInstance player, String args, boolean isBBS) {
if (player._event!=null || Olympiad.getInstance().isRegistered(player) ||
Olympiad.getInstance().isRegisteredInComp(player)) {
return NOT_ALLOWED;
}

if(args==null || args.length()==0) {
TextBuilder sb = new TextBuilder();
sb.append("<html><body><center><br><br><br><font color=\"006600\">Class Master:</font><br>");
ClassId classId = player.getClassId();
int level = player.getLevel();
int jobLevel = classId.level();
int newJobLevel = jobLevel + 1;

if ((((level >= 20 && jobLevel == 0) || (level >= 40 && jobLevel == 1) || (level >= 76 && jobLevel == 2)) && Config.CLASS_MASTER_SETTINGS.isAllowed(newJobLevel)))
{
if (((level >= 20 && jobLevel == 0) || (level >= 40 && jobLevel == 1) || (level >= 76 && jobLevel == 2)) && Config.CLASS_MASTER_SETTINGS.isAllowed(newJobLevel))
{
sb.append("Avaliable classes:<br>");

for (ClassId child : ClassId.values())
{
if (child.childOf(classId) && child.level() == newJobLevel)
sb.append("<br><a action=\"bypass " +(isBBS?"_bbschange_class ":"voice_classmaster ")
+ (child.getId()) + "\"> " + CharTemplateTable.getClassNameById(child.getId()) + "</a>");
}

if (Config.CLASS_MASTER_SETTINGS.getRequireItems(newJobLevel) != null && !Config.CLASS_MASTER_SETTINGS.getRequireItems(newJobLevel).isEmpty())
{
sb.append("<br><br>Required items:");
sb.append("<table width=270>");
for (Integer _itemId : Config.CLASS_MASTER_SETTINGS.getRequireItems(newJobLevel).keySet())
{
int _count = Config.CLASS_MASTER_SETTINGS.getRequireItems(newJobLevel).get(_itemId);
sb.append("<tr><td><font color=\"LEVEL\">" + _count + "</font></td><td>" + ItemTable.getInstance().getTemplate(_itemId).getName() + "</td></tr>");
}
sb.append("</table>");
}
}

sb.append("<br>");
}
else
{
switch (jobLevel)
{
case 0:
if (Config.CLASS_MASTER_SETTINGS.isAllowed(1))
sb.append("Call me after <font color=\"LEVEL\">20</font> level.<br>");
else if (Config.CLASS_MASTER_SETTINGS.isAllowed(2))
sb.append("Call me after 1st class transfer.<br>");
else if (Config.CLASS_MASTER_SETTINGS.isAllowed(3))
sb.append("Call me after 2nd class transfer.<br>");
else
sb.append("You can't change your profession.<br>");
break;
case 1:
if (Config.CLASS_MASTER_SETTINGS.isAllowed(2))
sb.append("Call me after <font color=\"LEVEL\">40</font> level.<br>");
else if (Config.CLASS_MASTER_SETTINGS.isAllowed(3))
sb.append("Call me after 2nd class transfer.<br>");
else
sb.append("You can't change your profession.<br>");
break;
case 2:
if (Config.CLASS_MASTER_SETTINGS.isAllowed(3))
sb.append("Call me after <font color=\"LEVEL\">76</font> level.<br>");
else
sb.append("You can't change your profession.<br>");
break;
case 3:
sb.append("You reach top class.<br>");
break;
}
sb.append("<br>");
}
sb.append("</center></body></html>");
return sb.toString();

} else {
int val = Integer.parseInt(args);

ClassId classId = player.getClassId();
ClassId newClassId = ClassId.values()[val];

int level = player.getLevel();
int jobLevel = classId.level();
int newJobLevel = newClassId.level();

if (!Config.CLASS_MASTER_SETTINGS.isAllowed(newJobLevel))
return NOT_ALLOWED;
if (!newClassId.childOf(classId))
return NOT_ALLOWED;
if (newJobLevel != jobLevel + 1)
return NOT_ALLOWED;
if (level < 20 && newJobLevel > 1)
return NOT_ALLOWED;
if (level < 40 && newJobLevel > 2)
return NOT_ALLOWED;
if (level < 76 && newJobLevel > 3)
return NOT_ALLOWED;

// Weight/Inventory check
if(!Config.CLASS_MASTER_SETTINGS.getRewardItems(newJobLevel).isEmpty())
{
if (player.getWeightPenalty() >= 3 || (player.getInventoryLimit() * 0.8 <= player.getInventory().getSize()))
{
player.sendPacket(new SystemMessage(SystemMessageId.INVENTORY_LESS_THAN_80_PERCENT));
return NOT_ALLOWED;
}
}

for (Integer _itemId : Config.CLASS_MASTER_SETTINGS.getRequireItems(newJobLevel).keySet())
{
int _count = Config.CLASS_MASTER_SETTINGS.getRequireItems(newJobLevel).get(_itemId);
if (player.getInventory().getInventoryItemCount(_itemId, -1) < _count)
{
player.sendPacket(SystemMessageId.NOT_ENOUGH_ITEMS);
return NOT_ALLOWED;
}
}
for (Integer _itemId : Config.CLASS_MASTER_SETTINGS.getRequireItems(newJobLevel).keySet())
{
int _count = Config.CLASS_MASTER_SETTINGS.getRequireItems(newJobLevel).get(_itemId);
player.destroyItemByItemId("ClassMaster", _itemId, _count, player, true);
}
for (Integer _itemId : Config.CLASS_MASTER_SETTINGS.getRewardItems(newJobLevel).keySet())
{
int _count = Config.CLASS_MASTER_SETTINGS.getRewardItems(newJobLevel).get(_itemId);
player.addItem("ClassMaster", _itemId, _count, player, true);
}

changeClass(player, val);

player.rewardSkills();

if (newJobLevel == 3)
player.sendPacket(SystemMessageId.THIRD_CLASS_TRANSFER);
else
player.sendPacket(SystemMessageId.CLASS_TRANSFER);

TextBuilder sb = new TextBuilder();
sb.append("<html><body>");
sb.append("<br><br><center>");
sb.append("Поздравляю, Вы получили класс: <font color=\"LEVEL\">" + CharTemplateTable.getClassNameById(player.getClassId().getId()) + "</font>.");
sb.append("</center></body></html>");
player.refreshOverloaded();
player.refreshExpertisePenalty();
player.broadcastFullInfo();
return sb.toString();
}
}

private void changeClass(L2PcInstance player, int val)
{
player.setClassId(val);

if (player.isSubClassActive())
player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass());
else
player.setBaseClass(player.getActiveClass());

player.broadcastUserInfo();
player.broadcastClassIcon();
}

@Override
public String[] getCommands() {
return new String [] {"change_class"};
}
@Override
public String handleCommand(L2PcInstance activeChar, String command, String args) {
return process(activeChar,args,true);
}
public static void main(String [] args) {
if(Config.SPAWN_CLASS_MASTER) {
ClassMaster cm = new ClassMaster();
VoicedCommandHandler.getInstance().registerVoicedCommandHandler(cm);
CommunityBoard.getInstance().registerBBSHandler(cm);
}
}
} 

Дело в том, что если искать

for (Integer _itemId : Config.CLASS_MASTER_SETTINGS.getRequireItems(newJobLevel).keySet())

то находится 3 таких строки, а 

 

 

Закрываем } перед return process(player, "",false);

return process(player, "",false); - такого нет вообще.

 

Если делаю копипасту из шапки, то получаю неработоспособного классмастера и ClassMaster.java.error.log следующего содержания:

Error on: X:\SERVER\game\data\scripts\handlers\voice\ClassMaster.java.error.log
Line: -1 - Column: -1

compilation failed
Изменено пользователем advanced

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

тоже проблема решил скинь в пм фикс или ктонебуть у кого готово 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

тоже проблема решил скинь в пм фикс или ктонебуть у кого готово 

Не нужно выдумывать в шапке полностью рабочий скрипт, смотрите лог ошибки если что не так у вас в ядре.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не нужно выдумывать в шапке полностью рабочий скрипт, смотрите лог ошибки если что не так у вас в ядре.

бьет ошьбку проверял могу вылошить в пм ее поэтому и порасил минемальный фикс

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

глянте

Изменено пользователем Firs

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...