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

База данных карт и обитания монстров.


DOC_tr

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

Кто нибудь ставил под виндой? Ибо при загрузке архива с нпц возникает ошибка:

Error: Flux_Error

Message: file scripts_main.conf not found

Изменено пользователем Victor
Ссылка на комментарий
Поделиться на другие сайты

Кто нибудь ставил под виндой? Ибо при загрузке архива с нпц возникает ошибка:

Error: Flux_Error

Message: file scripts_main.conf not found

сделал?


All your scripts (*Athena/npc) you must create zip archive, and upload to admin.

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

  • 1 месяц спустя...

По поводу всех ошибок которые возникали и могут возникать - мой пул реквест одобрили и подпилили по мелочам. Так что в версии от 03.11.2015 должны быть исправлены баги и в том числе с виндой (сам не знаю, не проверял, но раз одобрили значит все ок)

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

  • 6 месяцев спустя...

Ошибка выше возникла и у меня 

Message: file scripts_main.conf not found

никакие манипуляции не спасли. Сменить флюкс не вариант. Обновление до последней версии с гитхаба не обновило версию до 03.11.2015
Где ее взять?

В базу не подгружаются ни нпс, ни карты.

 

Critical Error

An error was encountered during the lifetime of the application.

This could be due to a variety of problems, such as a bug in the application.

However, normally it is caused by misconfiguration.

Exception Details

Error: Flux_Error

Message: file scripts_main.conf not found

File: /var/www/ro/data/www/site.ru/addons/maps_spawn/modules/admin_spawn/parse.php:43

File	Line	Function/Method
/var/www/ro/data/www/site.ru/addons/maps_spawn/modules/admin_spawn/index.php	179	parse::getFiles()
/var/www/ro/data/www/site.ru/lib/Flux/Template.php	337	include()
/var/www/ro/data/www/site.ru/lib/Flux/Dispatcher.php	168	Flux_Template::render()
/var/www/ro/data/www/site.ru/index.php	175	Flux_Dispatcher::dispatch()
Exception Trace As String

#0 /var/www/ro/data/www/site.ru/addons/maps_spawn/modules/admin_spawn/index.php(179): parse->getFiles()
#1 /var/www/ro/data/www/site.ru/lib/Flux/Template.php(337): include('/var/www/ro/dat...')
#2 /var/www/ro/data/www/site.ru/lib/Flux/Dispatcher.php(168): Flux_Template->render()
#3 /var/www/ro/data/www/site.ru/index.php(175): Flux_Dispatcher->dispatch(Array)
#4 {main}

 

Изменено пользователем Elmiria
Ссылка на комментарий
Поделиться на другие сайты

Ап! Обновилась до флюкса, где этот модуль встроен. Там он все также версии десятимесячной давности. Локации все также успешно загружаются без ошибок, но не попадают в базу, НПС продолжает упорно настаивать, что нет файла scripts_main.conf

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

files in the archive not found

Successfull load 0 files



// upload and parse all npcs.
if($files->get('npc_zip')) {
    $npc_zip = FLUX_ROOT . '/npc_zip.zip';
    $is_loaded = $flieLoad->load($files->get('npc_zip'), $npc_zip);
    if($is_loaded === true) {
        $dirExtract = FLUX_ROOT . '/upload_npc';
        $zip = new ZipArchive;
        if ($zip->open($npc_zip) === true) {
            $zip->extractTo($dirExtract);    // Дальше и происходит косяк...
            $zip->close();    
            $parse = new parse($server);
            $file = $parse->getFiles();
            $successMessage = 'Successfull load ' . sizeof($file) . ' files';
        } else {
            $errorMessage = 'file must be ZIP ARCHIVE';
        }
        if (sizeof($file) == 0) {
            $errorMessage = 'files in the archive not found';
        }
        $flieLoad->delete();
    } else {
        $errorMessage = $is_loaded;
    }
}

Вот что еще пищут на рАфине, но что-то я не догоняю как это применить. Точнее в каких конкретно местах.

BTW, for some reason, the getFiles function in modules/admin_spawn/parse.php is not working for my npc scripts.
I have to change $item to 
trim($item)

to make sure the files are correctly loaded.


 function getFiles($path = false){
        $files = array();
        if(!$path) {
         $path = FLUX_ROOT . '/upload_npc/npc/' . $this->pref . '/scripts_main.conf';
            if(!file_exists($path)){
            throw new Flux_Error('file scripts_main.conf not found');    //второй стопор тут
            }
        }
        if(!file_exists($path)){
            return array();
        }
        $data = file_get_contents($path);
        preg_match_all('/(.*)(npc|import): (.*)/', $data, $match);
        foreach($match[3] as $key => $item){
            if(trim($match[1][$key]) == '//'){
                continue;
            }
            switch(trim($match[2][$key])){
                case 'npc':
                    $files[] = FLUX_ROOT . '/upload_npc/' . $item;
                    break;
                case 'import':
                    $files = array_merge($files, $this->getFiles(FLUX_ROOT . '/upload_npc/' . $item));
                    break;
            }
        }
        return $files;
    }

 

 

 

Изменено пользователем Elmiria
Ссылка на комментарий
Поделиться на другие сайты

/modules/admin_spawn/parse.php

Меняем

$path = FLUX_ROOT . '/upload_npc/npc/' . $this->pref . '/scripts_main.conf';

На

$path = FLUX_ROOT . '/upload_npc/npc/scripts_main.conf';

Находим

$files[] = FLUX_ROOT . '/upload_npc/' . $item;

Заменяем на

$files[] = FLUX_ROOT . '/upload_npc/' . trim($item);

Ищем

$files = array_merge($files, $this->getFiles(FLUX_ROOT . '/upload_npc/' . $item));

И вместо этого пишем

$files = array_merge($files, $this->getFiles(FLUX_ROOT . '/upload_npc/' . trim($item)));

Должно помочь. У меня так работает.

  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

12 часа назад, Victor сказал:

/modules/admin_spawn/parse.php

Меняем


$path = FLUX_ROOT . '/upload_npc/npc/' . $this->pref . '/scripts_main.conf';

На


$path = FLUX_ROOT . '/upload_npc/npc/scripts_main.conf';

Находим


$files[] = FLUX_ROOT . '/upload_npc/' . $item;

Заменяем на


$files[] = FLUX_ROOT . '/upload_npc/' . trim($item);

Ищем


$files = array_merge($files, $this->getFiles(FLUX_ROOT . '/upload_npc/' . $item));

И вместо этого пишем


$files = array_merge($files, $this->getFiles(FLUX_ROOT . '/upload_npc/' . trim($item)));

Должно помочь. У меня так работает.

Премного благодарна, с нижними то догадалась, а вот первую строчку не додумала) Действительно все работает.

Касательно мап кэша - у меня оказалась какая-то подбитая версия стоит, где 2 файла дублируются, и об них спотыкался скрипт. Взяла мапкэш постарее - там все нормально.

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

Еще проблемка возникла. На старом флюксе не работает функция mapImage ни в каком виде. Куда бы я ее не втыкала - результат тот же, локации не отображаются на страничках монстров. 

решила! 
require __DIR__ . '/../../mapImage.php';
добавила второй строчкой в modules/monster/view.php

Изменено пользователем Elmiria
Ссылка на комментарий
Поделиться на другие сайты

Отправил pull-request с тримами. Тут да, согласен, забыл учесть мелочи.

А по поводу замены 

$path = FLUX_ROOT . '/upload_npc/npc/' . $this->pref . '/scripts_main.conf';

Так делать нужно только в старых клиентах, где нет папок re и pre-re.

По поводу mapImage не совсем понимаю. Это же встроенная в класс функция. 

При чем здесь файл 

require __DIR__ . '/../../mapImage.php';

?

Такого файла даже нету.

UPD.

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

Изменено пользователем DOC_tr
Ссылка на комментарий
Поделиться на другие сайты

у меня был откуда-то) И он был нужен, так как в темплейте его не было. Возможно это из-за того что у меня очень старый, да еще и модифицированный флюкс, в котором я не разбиралась. В общем я справилась почти со всеми проблемами. Пришлось правда пораскинуть мозгами.

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

Не со всеми.

На странице с картой ошибка

Uncaught TypeError: $(...).dropit is not a function

Что немного затрудняет поиск NPC. Та же ошибка и на списке с картами, что делает невозможным фильтрацию карт.

Разумеется я имею ввиду timelessro

Изменено пользователем DOC_tr
Ссылка на комментарий
Поделиться на другие сайты

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

Из самого странного - это что не работают вкладки на картах для незалогиненых пользователей. (по крайней мере у меня так на компе)

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

×
×
  • Создать...
Яндекс.Метрика