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

Admin

Administrator
  • Постов

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

  • Посещение

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

  1. А что с ними? Даже сейчас какие-то проблемы?
  2. Ясно. Я похоже, уснул до того, как нажал кнопочку "обновить" Придется внеплановый рестарт сделать.
  3. Не меняли ничего с этим связанного.
  4. На самом деле, я уже давно предлагал - просто добавить шанс попадания на свою профу, например 20%. Можно с учетом очков, или без. Это ничего сильно не поменяет, но немного улучшит баланс. Очки будут в итоге распределяться более справедливо. А для проф, которые совсем ничего не могут - появится шанс заработать хотя-бы 20% от того, что получают сильные профы. Если посмотреть статистику, то это было бы очень неплохо.
  5. Проблемы с петами тоже исправлены. Точнее, целая куча проблем.
  6. Нет, наоборот, это должно исправить ситуацию. Обновление как обычно утром.
  7. Завтра вероятно станет получше, т.к. я добавил запас аж в 96 единиц (был 64) для момента, когда персонаж уже догнал цель и должна начаться атака. Хотя, и 64 должно было хватать. Но это только для случая, когда вы уже догнали цель. Если же разница в скоростях незначительная, то вы просто не успеваете ее догнать, для этого нужно упреждение, мб сейчас займусь. Так же, вернул корректировку положения чаров на поворотах (я ее убирал с неделю назад). Скорее всего, именно из за ее отсутствия были проблемы с беганием вокруг столбов и атакой как бы через столб. Но использовал на этот раз другой метод корректировки, чар при этом практически не дергается.
  8. Ну я о том, что конкретный пример на видео к этому вообще отношения не имеет, и все что показано на видео - работает именно так как спроектировано. Насчет каких-то новых проблем, связанных с коллизиями для геодаты/поиска - я планирую просто добавить повторный поиск пути без коллизий, в случае неудачного поиска с коллизиями. Это решит любые такие проблемы.
  9. Это потому, что вы кликаете не в пол, а в недоступную, недосягаемую клетку. Куда по-вашему механизм поиска должен прокладывать путь? Вы указали заранее недосягаемую точку, путь туда не находится поэтому. Вы скажете, что логично было бы прокладывать путь в точку рядом с кликом. Но в какую, с какой стороны от стены? А может, это и не стена вовсе, а вы пытаетесь залезть на вершину башни? Поиск не знает и не может знать. Я конечно когда-то давно уже, сделал механизм специальный, для коррекции целевых координат, в случае если вы кликнули в стену, и отдельный механизм на случай если вы кликнули куда-то вдаль за кучу препятствий. В первом случае он исправляет ваш косяк, и находит доступную точку рядом со стеной. Но он не может сдетектить эту проблему, если вы кликнули ниже чем 32 от пола. Вот посмотрите, как приходится извращаться, чтобы вам было удобно кликать куда попало в стену: // Корректировка целевых координат при щелчке по стене if(_moveMovement != 0 && !activeChar.isFlying() && water_z == Integer.MIN_VALUE) { int geoIndex = activeChar.getGeoIndex(); int geo_z = GeoEngine.getHeight(_targetLoc, geoIndex); if(Math.abs(geo_z - _targetLoc.z) > 32) // Щелчек по стене { GArray<Location> list = new GArray<Location>(8); // Ищем все точки вокруг list.add(new Location(_targetLoc.x - 16, _targetLoc.y - 16, _targetLoc.z).correctGeoZ(geoIndex)); list.add(new Location(_targetLoc.x - 16, _targetLoc.y, _targetLoc.z).correctGeoZ(geoIndex)); list.add(new Location(_targetLoc.x - 16, _targetLoc.y + 16, _targetLoc.z).correctGeoZ(geoIndex)); list.add(new Location(_targetLoc.x, _targetLoc.y - 16, _targetLoc.z).correctGeoZ(geoIndex)); list.add(new Location(_targetLoc.x, _targetLoc.y + 16, _targetLoc.z).correctGeoZ(geoIndex)); list.add(new Location(_targetLoc.x + 16, _targetLoc.y - 16, _targetLoc.z).correctGeoZ(geoIndex)); list.add(new Location(_targetLoc.x + 16, _targetLoc.y, _targetLoc.z).correctGeoZ(geoIndex)); list.add(new Location(_targetLoc.x + 16, _targetLoc.y + 16, _targetLoc.z).correctGeoZ(geoIndex)); GArray<Location> list2 = new GArray<Location>(8); for(Location loc : list) // Отсеиваем неподходящие точки if(loc.z <= _targetLoc.z && GeoEngine.getNSWE(loc.x, loc.y, loc.z, geoIndex) != GeoEngine.NSWE_NONE) list2.add(loc); if(!list2.isEmpty()) { Location best = null; for(Location loc : list2) if(best == null || activeChar.getDistance(loc) < activeChar.getDistance(best)) // Возможно, стоит добавить другие критерии поиска best = loc; if(best != null) _targetLoc = best; } } else _targetLoc.z = geo_z; // Клиент всегда присылает увеличенный Z, примерно на 24-32, что вредит алгоритмам движения } } Во втором случае все еще сложнее. Вы кликнули куда-то вперед, или вообще в небо. Куда идти? Путь не находится, точка недосягаема. Специальный механизм разбивает путь на проходимые отрезки, и строит маршрут к самой дальней досягаемой точке, перебирая все отрезки начиная от самого дальнего. Кликайте нормально, в пол. Или если уж кликаете куда-то в стену, то хотя-бы не в плинтус, стоя за углом этой же стены. Ну или мне придется разработать отдельный механизм, который будет пытаться сдетектить клик по плинтусу из за угла, и пытаться понять, что же на самом деле хотел сделать игрок.
  10. А можно текст ошибки сюда скопировать, для интереса?
  11. Ничего аномального здесь не увидел. Если окно было свернуто, или смотрело в другую сторону, то это нормально.
  12. Ну про имена это скорее рекомендация, чем правило. Никто за это наказывать не будет. Про аккшаринг тоже рекомендация, только вот в случае расследования какого-то нарушения вашего друга, могут быть проблемы. Причем, у вас. И мы с себя этим пунктом правил полностью снимаем ответственность. Грубо говоря, вас могут забанить по ошибке, и в этом будете виноваты только вы сами.
  13. Я ничего об этом не знаю. Это я не исправлял еще. Я про все остальное.
  14. И что, вот прямо совсем все хорошо стало, что никто даже ни на что не жалуется?
  15. Все эти вопросы не новые, поверьте. Уже второе десятилетие работаем Просто запомните - большая часть нарушителей уходит в бан, а ошибки если и бывают то достаточно редко, и всегда расследуются, в ручном режиме, а не автоматическом.
  16. Он себя так не застрахует, все равно уйдет в бан. А вы бы стали отдавать ощутимую часть своих денег (реальных) неизвестно кому? Кстати, за март было забанено 2619 аккаунтов. Но уникальных там 500-600 человек. Делайте выводы, не нарушайте.
  17. Продавцы обычно не жалуются Они молча создают новый аккаунт, или смиряются с потерями и прекращают этот "бизнес". Ну и конечно, после бана продавца, в бан уходят все его клиенты. Причем, для нашей системы нет разницы, каким образом вы передавали предмет, роняли его на землю, передавали через кучу твинков, и прочее. В бан уходят все клиенты и почти без шансов, причем банятся все аккаунты человека сразу. А если аккаунтом пользовались два человека, и трудно понять кто из них хозяин, то все аккаунты обоих людей.
  18. Нет, это мешает движению и атаке.
  19. Это решаемо, сейчас препятствия в районе начальной и конечной точки движения игнорируются в радиусе 2-х клеток. Могу увеличить это значение, нужно только подобрать оптимальное. Завтра увеличу до 3-х клеток, посмотрим.
  20. Ну как, есть какие-то результаты? Должно было стать намного лучше. Хотя, наверное надо дождаться олимпиады.
  21. Проваливания починил, проверил, теперь не проваливаются. Реализовал все-таки коллизии в геодате и поиске пути. Теперь движок будет стараться не давать вам цеплять стены. Но и запрещать к стенам подходить тоже не будет. Для этого специально разработал GUI для визуализации геодаты, прямо в сервере. Теперь будет проще дорабатывать алгоритмы движения и многое другое. До ввода коллизий, и после: На первом рисунке видно, что чар зацепит стену, хотя пройти там можно. На втором, движок обошел проблемную клетку, и даже не по соседней клетке, а через одну.
  22. Если не помогло это быстрое исправление, значит придется ждать до утра, постараюсь исправить. Очень хорошо, что есть место где легко повторить.
×
×
  • Создать...