DOC_tr Опубликовано 29 июля, 2015 Жалоба Поделиться Опубликовано 29 июля, 2015 (изменено) От нечего делать, а от безделья как всем известно тупеешь, решил набросать плагин для FluxCP. Он добавляет к простым базам - базу карт с монстрами на них обитающими, и к монстрам добавляет список на каких картах они обитают (а-ля ratemyserver) Вы спросите - зачем это? Есть же другие базы данных. Это очень удобно, если вы любитель добавлять новых монстров, менять их локации, менять их время респа, итд итп Скрин для затравки возьму пользователя rathena.org (который уже умудрился поставить его себе), а то они у меня не слишком получились (но их вы обязательно увидите ниже). GitHub - https://github.com/F...l/monster_spawn Собственно в папке maps_spawn лежит сам аддон - класть в addons (addons/maps_spawn) а в папкеdata изображения всех карт - совместить с вашей папкой data Все, плагин установлен и готов к использованию. Перейдем к настройке. В админ меню появляется пункт "Map Database Edit" (http://your.site/?module=admin_spawn) Все на английском, но не думаю что это будет большой проблемой. После создания таблицы приступаем к ее заполнению - а вот тут можно расписать подробнее. Карты генерируются из файла *Athena/db/(re|pre-re)/map_cache.dat (форма справа снизу). Если вы туда добавили кастомную карту, то она тоже попадет в базу. Монстры генерируются из файлов с монстрами - для успешной загрузки всех их нужно собрать в один архив (ТОЛЬКО ZIP!!!) и залить - например архивируем папку *Athena/npc/re/mobs, добавляем туда файлы в которых у вас прописаны кастомные монстры, и заливаем. Конечно можно было бы архивировать всю папку npc, но это плохая идея, так как есть куча монстров в неподключенных файлах (например в кастомных эвентах) и они очень мешают работать. Все - теперь можно наслаждаться базой данных со всеми вашими монстрами. Тестировалось все на последней версии Flux (на 29.07), и на Linux - как поведет себя на винде не могу точно сказать. И, напоследок, еще парочка скринов всего этого дела. Изменено 30 июля, 2015 пользователем DOC_tr 10 Ссылка на комментарий Поделиться на другие сайты Поделиться
Elmiria Опубликовано 29 июля, 2015 Жалоба Поделиться Опубликовано 29 июля, 2015 (изменено) О, как раз то, чего не хватало)с меня плюсик, ток попозже поставлю. С мобильной версии не ставится((( Поставила Изменено 30 июля, 2015 пользователем Elmiria Ссылка на комментарий Поделиться на другие сайты Поделиться
Кеник Опубликовано 29 июля, 2015 Жалоба Поделиться Опубликовано 29 июля, 2015 Дядя, вовремя ты запилил штуковину) Как раз думал нечто подобное уже делать. Плюсик лови, спасибо (: Ссылка на комментарий Поделиться на другие сайты Поделиться
DOC_tr Опубликовано 30 июля, 2015 Автор Жалоба Поделиться Опубликовано 30 июля, 2015 (изменено) UPD. Распарсил наконец бинарник с кэшем карт (я в шоке от того что php умеет это делать О_О), и теперь на равне с названиями карт доступны еще и их размеры, а это позволяет указывать места спавна монстров (если они конечно заданы). Вместо map_index.txt теперь грузим map_cahe.dat для генерации карт. GitHub обновлен. И вот что получилось - (проверил сходство с ratemyserver - разница в несколько пикселей и то из-за верстки. ) PS. НПС с варпами добавлять ннннннада? Изменено 30 июля, 2015 пользователем DOC_tr 3 Ссылка на комментарий Поделиться на другие сайты Поделиться
Elmiria Опубликовано 30 июля, 2015 Жалоба Поделиться Опубликовано 30 июля, 2015 PS.НПС с варпами добавлять ннннннада?А чего только с варпами, давай всех уж, коль предложил ;3 Ссылка на комментарий Поделиться на другие сайты Поделиться
DOC_tr Опубликовано 30 июля, 2015 Автор Жалоба Поделиться Опубликовано 30 июля, 2015 (изменено) Я имел ввиду НПС И варпы, но уже мой альтруизм поиссяк - но интерес еще не остыл. Думаю последнее что я сделаю это отрисовка локаций которых нету в базе (по точкам по которым можно ходить - карты будут как в подземельях) и отображение тех же координат по которым ходить можно, а по которым нет. Ну и думаю, переведу все это дело на что нибудь побыстрее типа canvasa, а то сейчас рисует ну очень долго Изменено 30 июля, 2015 пользователем DOC_tr Ссылка на комментарий Поделиться на другие сайты Поделиться
DOC_tr Опубликовано 31 июля, 2015 Автор Жалоба Поделиться Опубликовано 31 июля, 2015 (изменено) Сгенерировал все изображения для всех стандартных карт. Так как рисовалось все автоматически и по клеткам можно ходить/нельзя они получились однообразными типа Но ради исключения (так как в кэше почемуто не только нули и единицы, а еще куча разных цифр) сделал цвет пикселя в зависимости от цифры из кэша и получились даже разноцветные карты (если так можно назвать градации серого) типа таких Все это разумеется уже валяется на гитхабе, также сделал pull-reauest разрабам, так что возможно, в скором времени (а может и не в скором - последний пул реквест был одобрен 2 месяца назад), карты появятся в офицальнйо версии FluxCP. P.S. Для тех у кого есть кастомные карты - выкачивайте код не из ветки master а из ветки test. Там правда нету сгенеренных карт (их можно взять из мастера), но там есть код, который генерирует карту (512х512) и маленькое изображение для базы монстров и списка карт (100х100) если не может найти изображение данной карты. Это будет полезно тем, у кого много кастомных карт. Если кастомных карт только парочка то проще руками создать файлы MAP_NAME.png (Именно PNG а не BMP которые хранятся в клиенте 512х512 и 100х100) и положить ее в папки data/maps/map/ и data/maps/map_sm/ соответственно. Изменено 31 июля, 2015 пользователем DOC_tr 4 Ссылка на комментарий Поделиться на другие сайты Поделиться
botka4aet Опубликовано 31 июля, 2015 Жалоба Поделиться Опубликовано 31 июля, 2015 Еще можно воду отмечать(проходимые + вода) Ссылка на комментарий Поделиться на другие сайты Поделиться
DOC_tr Опубликовано 31 июля, 2015 Автор Жалоба Поделиться Опубликовано 31 июля, 2015 (изменено) Это либо отмечено градациями серого, либо никак не фиксируется в кэше. Вода - это просто текстура карты на клиенте, и, поидее, у нее нет отдельного статуса (циферк) А вообще я глянул на примере каты SWORD_3-1, то цветом #393939 отмечена вода, а цветом #696969 отмечен песок. (на глаз между ними практически не видно разницы, да и не думаю что ктото будет настолько докапываться) На изображении - нижний лабиринт - вода, верхняя горизонтальная полоса - песок Остальные цвета - если хотите сами тестите UPD Дизайнер и подборщик цветов из меня так себе Изменено 31 июля, 2015 пользователем DOC_tr 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
botka4aet Опубликовано 2 августа, 2015 Жалоба Поделиться Опубликовано 2 августа, 2015 Браво Ссылка на комментарий Поделиться на другие сайты Поделиться
DOC_tr Опубликовано 20 августа, 2015 Автор Жалоба Поделиться Опубликовано 20 августа, 2015 Вернулся из отпуска, и решил допилить аддон, в связи с чем вопрос - Что за зеленые варпы, и где они прописаны, и варпы ли это вообще? На ratemyserver они не обозначены как точки перемещения. Ссылка на комментарий Поделиться на другие сайты Поделиться
botka4aet Опубликовано 20 августа, 2015 Жалоба Поделиться Опубликовано 20 августа, 2015 Вроде как в клоктауре есть рандомные телепорты(к в хайден лабиринт) Ссылка на комментарий Поделиться на другие сайты Поделиться
DOC_tr Опубликовано 21 августа, 2015 Автор Жалоба Поделиться Опубликовано 21 августа, 2015 (изменено) Как я уже писал - вернулся из отпуска, и решил допилить скрипт. Добавлены варпы Добавлены НПС Добавлены магазины Оптимизирована загрузка монстров Теперь нужно загружать заархивированную папку (e|r)athena/npc Я сделал парсинг основного конфигурационного файла - (e|r)athena/npc/(re|pre-re)/scripts_main.conf, из которого подтягиваются все остальные файлы, в следствии чего в базе мы получаем точную копию НПС, варпов и мобов сервера. Ни один скрипт не останется не замеченным Выгружать re или pre-re определяем на основе конфига сайта. Варпы на карте - ссылки, перейдя по которым вы попадете туда, куда они ведут. Есть конечно небольшие косяки которые исправить можно только руками (но яж програмист - мне лень делать чтото руками) - например на карте prontera рисунок немного не соответствует координатам, или на картах c_tower* зеленые точки на рисунках карты - это НПС со спрайтом варпа. Потыкать в живую это все можно здесь Все это по прежнему валяется в виде аддона здесь Изменено 24 августа, 2015 пользователем DOC_tr 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
ocelote Опубликовано 21 августа, 2015 Жалоба Поделиться Опубликовано 21 августа, 2015 После загрузки папки npc (в .zip) ничего не происходит. Просто идет перезагрузка страницы. Есть идеи?+ после загрузки mapcache.dat пишет что добавлено 0 мап. Ссылка на комментарий Поделиться на другие сайты Поделиться
DOC_tr Опубликовано 21 августа, 2015 Автор Жалоба Поделиться Опубликовано 21 августа, 2015 (изменено) Права на запись и создание файлов проверить. apache/nginx должен иметь право на создание папок.PHP >= 5.2.0 с классом ZipArchiveПроверить размер файла. Не смотря на то что я сделал проверку могут быть небольшие косяки.По поводу map_cache - слабо представляю в чем может быть проблема - кода там достаточно мало и он относительно простой, чтобы в нем были ошибки.Единственная идея - если ревизия не слишком новая, то могла измениться формат данных в map_cache. Если хотите - можете скинуть мне ваш map_cache (по идее он не содержат никаких приватных данных) - я все проверю.Можете потестить все это здесь - http://test.phpbl.ru...le=admin_spawn.Логин/Пароль - 1234/1234UPDИзменение формата map_cache - отпадает. Последнее изменение файла было больше года назад, а доков больше двух лет. Не думаю что у кого-то сохранились такие мамонты. Изменено 21 августа, 2015 пользователем DOC_tr Ссылка на комментарий Поделиться на другие сайты Поделиться
ocelote Опубликовано 21 августа, 2015 Жалоба Поделиться Опубликовано 21 августа, 2015 Через твой сайт все ок. Мапкеш залился. Total maps - 1144Может быть проблема из-за того, что флюкса стоит у меня на компе? Все делаю через vertrigo + на диске С Ссылка на комментарий Поделиться на другие сайты Поделиться
DOC_tr Опубликовано 21 августа, 2015 Автор Жалоба Поделиться Опубликовано 21 августа, 2015 (изменено) Тестировалось все на последней версии Flux (на 29.07), и на Linux - как поведет себя на винде не могу точно сказать. 2 из 2х. Бинго Для начала попробуйте самую последнюю версию - https://github.com/rathena/FluxCP Но из за flux - навряд ли. Если пишет что "загружено хоть сколько карт (в вашем случае 0)", то файл получает и обрабатывает. Если в корне сайта НЕ создается папка upload_npc, то косяк скорее всего в старой версии php или отсутствии класса ZipArchive. Если создается, то тут я уже слабо представляю почему может не работать. А по поводу map_cache - файл не обрабатывается должным образом (защита от различных атак, и всей фигни - так как доступ только у админа, не вижу в этом особого смысла) и тянется сразу из временной директории. А на винде скорее всего временные дириктории для файлов отличаются, но как - не знаю. Вечером попробую на виртуалке потестить - отпишусь, а заодно добавлю подробные логи, чтобы избежать в дальнейшем неизвестных ошибок Изменено 21 августа, 2015 пользователем DOC_tr Ссылка на комментарий Поделиться на другие сайты Поделиться
ocelote Опубликовано 21 августа, 2015 Жалоба Поделиться Опубликовано 21 августа, 2015 (изменено) Флюкса только скачанная, свежая Окей, тоже ещё пороюсь, посмотрю. update: поставил на впске, все ок. только мапы не ищет :< ну и в mob database(new) не прогружаются скиллы мобов (в стандартной ок) http://kubix-service.ru/?module=map и http://kubix-service.ru/?module=monster_new&action=view&id=1012 < monster NEW и http://kubix-service.ru/?module=monster&action=view&id=1012 < monster standart Изменено 21 августа, 2015 пользователем ocelote Ссылка на комментарий Поделиться на другие сайты Поделиться
DOC_tr Опубликовано 22 августа, 2015 Автор Жалоба Поделиться Опубликовано 22 августа, 2015 (изменено) Благодаря вашему сайту проблема сразуже и выявилась. http://kubix-service...ap=06guild_03�� - ссыка на одну из карт. Как выяснилось винда плохо работает с бинарниками (в нашем случае map_cache) и создает куеву тучу артефактов в виде не раскодированных символов которые мы можем наблюдать в ссылке, но, к счастью, это все достаточно просто фиксится. Также исправил баг с загрузкой варпов, нпс и магазинов, и фикс уже валяется на гитхабе. А по поводу monster_new - это не панацея. В modules/monster_new/view.php и themes/default/monster_new/view.php есть блоки (достаточно маленькие) /* MOB SPAWN */ и <!-- MOB SPAWN --> соответственно. Они и отвечают за отображение карт обитания монстров. Эти блоки кода переставляем в стандартный модуль monster и все работает Изменено 22 августа, 2015 пользователем DOC_tr 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
ocelote Опубликовано 22 августа, 2015 Жалоба Поделиться Опубликовано 22 августа, 2015 Да теперь все ок. Спасибо.На винде не проверял. Ссылка на комментарий Поделиться на другие сайты Поделиться
DOC_tr Опубликовано 24 августа, 2015 Автор Жалоба Поделиться Опубликовано 24 августа, 2015 Последняя версия скрипта готова Произведен рефакторинг кода Код отформатировал максимально приближенным стилем к Flux Добавлено более подробное логирование - теперь на практически каждое действие выскакивает сообщение. Такого что вроде все ок, но нихрена не работает поидее быть не должно. Добавлена защита от атаки с помощью файловой загрузки (хотя доступ поидее только у админа - а ему оно надо? Но на всякий случай сделал, да и для приличия) Добавлены список НПС У вещей добавлено у кого их можно купить. При просмотре карт у магазинов можно сразуже посмотреть что они продают. Ну и вообще теперь это больше похоже на готовый продукт нежели раньше. Потыркать можно здесь - http://test.phpbl.ru/?module=npcs Протестировано на линухе и на винде (vertrigo) И напоследок скрины - Всем спасибо за внимание. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
ocelote Опубликовано 28 августа, 2015 Жалоба Поделиться Опубликовано 28 августа, 2015 (изменено) При включенном дебаге есть жалобы на переменные)https://gyazo.com/f2...e78538daaf2d289Вот кусок : 25 > if ($monsters && count($monsters) === 1 && $authorized && Flux::config('SingleMatchRedirectMobs')) { 26 > $this->redirect($this->url('npcs', 'view', array('id' => $monsters[0]->monster_id))); 27> } Изменено 28 августа, 2015 пользователем ocelote Ссылка на комментарий Поделиться на другие сайты Поделиться
DOC_tr Опубликовано 28 августа, 2015 Автор Жалоба Поделиться Опубликовано 28 августа, 2015 Эмммм... ну и что? Ссылка на комментарий Поделиться на другие сайты Поделиться
ocelote Опубликовано 28 августа, 2015 Жалоба Поделиться Опубликовано 28 августа, 2015 Эмммм... ну и что?Да ничего О.оПросто сообщил -) Ссылка на комментарий Поделиться на другие сайты Поделиться
DOC_tr Опубликовано 29 августа, 2015 Автор Жалоба Поделиться Опубликовано 29 августа, 2015 Этот кусок кода вообще можно удалить - данное условие, находящееся в npc/index.php все равно никогда не будет исполнено. Видимо забыл удалить Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения