Перейти к содержанию

Quo

Пользователи
  • Публикаций

    92
  • Зарегистрирован

  • Посещение

  • Победитель дней

    1
  • Отзывы

    0%

Весь контент Quo

  1. В 166 протоколе можно их выключить в инишке, UseAutoMacroLive=false. Но как Гайкотсу и написал, без защиты, эти правки не имеют смысла.
  2. Хоть какое-то тз есть? Или полная свобода действий? И версия игры какая ("Хроники")?
  3. Quo

    Нужен кодер по Т3

    Работы тьма конечно. Платите то хоть прилично? И что по срокам?
  4. может глад комбосет собрал?
  5. Хм, как это поможет, если лагает клиент а не сервер ?)
  6. Quo

    Mortal Blow High Five

    Вы клиентом не поправите, только в сервере это правится, в пакете MagicSkillUse.
  7. пакетку переписывайте. А так же ветки енчанта.
  8. абнормал от скилла 30517
  9. горе советчики. В скиле должен быть метод checkcondition смотреть где в аи оно вызывается и фиксить.
  10. Quo

    Мешки 1-6 уровень

    Кому нужна ваша репутация? Кармадрочерам? Думаю, никто за плюсики реализовывать это не будет.
  11. Quo

    Шара *L2Scripts - Ertheia*

    на l2scripts? перекодировать нужно под свой ип. Ну или крякать класс отвечающий за привязку в geoeng_l2s.jar. Скрипт который я выложил, только отвязывает саму геодату, и позволяет использовать ее на другой сборке.
  12. забавная шара тогда получается. шара шары
  13. странно, чет это нифига не эртэя, хб - старый, дв - старое, бенон - просто вода.
  14. что-то я не пойму, как пакет который шлется клиенту, может положить сервак? только уж говнокод.
  15. Quo

    Шара *L2Scripts - Ertheia*

    сорь, промохал, удалите пост.
  16. Quo

    Шара *L2Scripts - Ertheia*

    с геодатой сборку запустить не удастся, там она закодирована на только определенный ип.
  17. Quo

    Шара *L2Scripts - Ertheia*

    package test; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.io.RandomAccessFile; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.channels.Channels; import java.nio.channels.FileChannel; import java.nio.channels.WritableByteChannel; import java.util.regex.Matcher; import java.util.regex.Pattern; public class ConvertGeo { public static void main(String arg[]) throws IOException { convertGeo(); } public static void convertGeo() throws IOException { File f = new File("C:/", "geodata"); if (!f.exists() || !f.isDirectory()) { System.out.println("GeoEngine: Files missing, loading aborted."); return; } int counter = 0; Pattern p = Pattern.compile("(\\d{2}_\\d{2})\\.l2s"); for (File q : f.listFiles()) { if (q.isDirectory()) { continue; } String fn = q.getName(); Matcher m = p.matcher(fn); if (m.matches()) { fn = fn.substring(0, 5); String[] xy = fn.split("_"); byte rx = Byte.parseByte(xy[0]); byte ry = Byte.parseByte(xy[1]); loadgeo(rx, ry); counter++; } } System.out.println("GeoEngine: Loaded " + counter + " map(s)"); } public static void loadgeo(int x, int y) throws IOException { String fname = "geodata/" + x + "_" + y + ".l2s"; File geoFile = new File("C:/", fname); try { @SuppressWarnings("resource") FileChannel roChannel = new RandomAccessFile(geoFile, "r").getChannel(); int size = (int)roChannel.size() - 4; ByteBuffer buf = ByteBuffer.allocate(size); buf.limit(4); byte[] addrBytes = "195.211.223.110".trim().getBytes(); int checkSum = -2126429781; for (int addrByteIdx = 0; addrByteIdx < addrBytes.length; addrByteIdx++) { checkSum ^= addrBytes[addrByteIdx]; checkSum = checkSum >>> 1 | checkSum << 31; } buf.order(ByteOrder.LITTLE_ENDIAN); roChannel.read(buf); buf.rewind(); checkSum ^= buf.getInt(); byte xorByte = (byte)(checkSum >> 24 & 0xFF ^ checkSum >> 16 & 0xFF ^ checkSum >> 8 & 0xFF ^ checkSum >> 0 & 0xFF); buf.clear(); roChannel.read(buf); buf.rewind(); while (buf.hasRemaining()) { buf.put(buf.position(), (byte)(buf.get() ^ xorByte)); checkSum -= (xorByte = buf.get(buf.position() - 1)); } buf.rewind(); if (checkSum != 0) { System.out.println("Invalid geodata!"); } OutputStream outputStream = new FileOutputStream("C:/geoconv/" + x + "_" + y + ".l2j"); writeBuffer(buf, outputStream); outputStream.close(); } catch (IOException e) { System.out.println(e); } } public static void writeBuffer(ByteBuffer buffer, OutputStream stream) throws IOException { WritableByteChannel channel = Channels.newChannel(stream); channel.write(buffer); } } Вот накалякал. Кому надо - изменит под себя. Бегло пробежался по квадратам - хб старый, бенон и иное измерение новое. Если у кого-то завалялся квадрат 19_25 скиньте пожалуйста =) з.ы. куда кнопка спойлера делась?!
  18. Я бы посоветовал не ставить это. Возможен дюп.
  19. гуглите Это : error: duplicate class:
  20. Если честно - похоже, кот в мешке. Ни описания, ни видео, ничего.
  21. гляньте в формулах еще раз, там должно быть нечто похожее info.damage += Math.max(0., skill.getPower(target) * attacker.calcStat(Stats.SKILL_POWER, 1, null, null));
×
×
  • Создать...