Проблема при использовании samp_db
#1

Решил я для своих целей склепать скрипт который сохраняет в БД обьекты на сервер и чтоб загружались с него обьекты. Создал, вроде всё работает. Запустил усебя на компе, проверил, всё нормально.
Залил на хостинг, но данный FS не хочет загружаться, вернее загружается, но никаких действий не выполняет, такое ощущение что его нет.
[15:10:26] Loading filterscript 'objects.amx'...
[15:10:26] Loaded 1 filterscripts.

Думал сначала с какими либо функциями мода или другими FS конфликтует. Вставил содержимое написанного скрипта в мод, скомпилировал без ошибок. У меня на пк всё запускается и работает. Загружаю на хостинг, отключаю все FS и вижу такую картину:
[15:10:26] Script[gamemodes/Gamemode.amx]: Run time error 19: "File or function is not found"
[15:10:26] Number of vehicle models: 0

Такое ощущение что samp_db функции не поддерживаются хостингом.
Другие FS которые связаны с samp_db тоже отказываются работать на хостинге.
Кто сталкивался с подобным подскажите, есть ли решение данной проблемы.
Reply
#2

Дай разрешение на запись
Reply
#3

А запись и не ограничена, да и подобной функции в ПУ хостинга вроде не предусмотрено. Ведь обычная запись текстовых файлов без проблем же происходит. Обычная система аккаунтов работает же без проблем.
Ну или даже если есть подобная возможность как это вообще делается для мода?
Reply
#4

В db_open регистр символов точно совпадает с названием файла базы?
Reply
#5

Quote:
Originally Posted by stabker
View Post
В db_open регистр символов точно совпадает с названием файла базы?
Это же простая система SQLite.
При старте скрипт проверяет наличие файла БД в scriptfiles и создаёт его при отсутствии:

В начало скрипта:
PHP Code:
new DB:Database
Вставляю в OnFilterScriptInit
PHP Code:
Database db_open("objects.db");
    if(
Database)
    {
        new 
query[456];
        
query "CREATE TABLE IF NOT EXISTS `object_info` (`id` INTEGER,\
        `objmodel` INTEGER,\
        `text` TEXT,\
        `matindex` INTEGER,\
        `matsize` INTEGER,\
        `fontface` TEXT,\
        `fontsize` INTEGER,\
        `bold` NUMERIC,\
        `fontcolor` INTEGER,\
        `backgcolor` INTEGER,\
        `textalign` INTEGER,\
        `x` REAL,\
        `y` REAL,\
        `z` REAL,\
        `rx` REAL,\
        `ry` REAL,\
        `rz` REAL,\
        `vworld` INTEGER,\
        `interior` INTEGER,\
        `distance` REAL)"
;
         
db_free_result(db_query(Databasequery));
         print(
"Хранилище обьектов создано");
    } 
Вообщем то и всё. На моём пк эта система работает без проблем. Не хочет ни в какую загружаться при запуске на хостинге. Пробовал даже готовую созданную БД на серв кидать. Толку не дало.
Я могу конечно сделать БД на MXini или тому подобный файловый менеджер, но последовательная загрузка с такой системы будет очень долгой при количестве записей более 1000
Reply
#6

Сервер на хостинге встретил какие-то неизвестные нативы в скрипте. Советую поставить crashdetect, чтобы узнать, какие именно
Reply
#7

Quote:
Originally Posted by DartfoL
View Post
Сервер на хостинге встретил какие-то неизвестные нативы в скрипте. Советую поставить crashdetect, чтобы узнать, какие именно
Поставил крашдетект плагин, добавил инклуд в мод в который вставлял вышеописанный скрипт, перекомпилировал.
вот лог:


[08:50:34] [debug] Run time error 19: "File or function is not found"
[08:50:34] [debug] db_get_field_int
[08:50:34] [debug] db_get_field_float
[08:50:34] [debug] Run time error 19: "File or function is not found"
[08:50:34] [debug] db_get_field_int
[08:50:34] [debug] db_get_field_float
[08:50:34] Script[gamemodes/Gamemode.amx]: Run time error 19: "File or function is not found"
[08:50:34] Number of vehicle models: 0

Из лога видно что db_get_field_float и db_get_field_int по какой то причине неизвестны серверу.
Думаю эти функции можно заменить db_get_field, то есть строковой функцией, а потом при чтении БД извлекать из прочитанного Int и Float. Посмотрим что из этого выйдет.
Reply
#8

Блин это звездец какой то.
При любом раскладе при попытке любого запроса db_qwery серв ложится с ошибкой в логе
PHP Code:
[08:50:34] [debugdb_get_field
[08:50:34] [debugRun time error 19"File or function is not found" 
Как такое может быть, если функции sqlite заложены в самом сервере?!!!
Я просто фигею со всего этого. MySQL танцы с бубном для настройки и создания одного единственного файла, SQLite вообще не запускается (на хостинге), а ини ридеры слишком медленные для последовательного чтения большого количества строк. Мдааа.....
Почему не придумают способа чтения/записи данных чтоб без танцев с бубном как в случае с mysql, простой в использовании как в случае с dini и хорошая скорость чтения как в случае с sqlite?
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)