DOC_tr

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

37 сообщений в этой теме

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

Error: Flux_Error

Message: file scripts_main.conf not found

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

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


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

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

Error: Flux_Error

Message: file scripts_main.conf not found

сделал?


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

0

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


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

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

0

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


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

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

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
0

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


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

Ап! Обновилась до флюкса, где этот модуль встроен. Там он все также версии десятимесячной давности. Локации все также успешно загружаются без ошибок, но не попадают в базу, НПС продолжает упорно настаивать, что нет файла 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
0

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


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

/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)));

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

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 файла дублируются, и об них спотыкался скрипт. Взяла мапкэш постарее - там все нормально.

0

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


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

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

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

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

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


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

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

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

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

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

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

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

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

?

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

UPD.

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

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

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


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

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

0

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


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

Не со всеми.

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

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

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

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

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

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


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

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

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

0

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


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

Создайте аккаунт или войдите для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас