Русское сообщество по скриптингу

Run time error 10: native error (native "SQL_ThreadQuery")  [Решено]

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Run time error 10: native error (native "SQL_ThreadQuery")  [Решено]

Сообщение 1kla$ » 13 апр 2018, 09:37

Код: Выделить всё
L 04/12/2018 - 22:02:48: Start of error session.
L 04/12/2018 - 22:02:48: Info (map "35hp_2") (file "addons/amxmodx/logs/error_20180101.log")
L 04/12/2018 - 22:02:48: [MySQL] Thread worker was unable to start.
L 04/12/2018 - 22:02:48: [AMXX] Displaying debug trace (plugin "ddamage.amxx", version "2.1")
L 04/12/2018 - 22:02:48: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery")
L 04/12/2018 - 22:02:48: [AMXX]    [0] ddamage.sma::up_func (line 242)
L 04/12/2018 - 22:02:48: [AMXX]    [1] ddamage.sma::cr_func (line 225)


помогите кому не трудно, спасибо, вот код:
Код: Выделить всё
stock up_func(id) {
    static szQuery[1024];
    formatex(szQuery, charsmax(szQuery), "(SELECT COUNT(id) as count FROM %s WHERE `frags` > '%d')", table, frag, table, frag);
    new data[1];
    data[0] = id;
    SQL_ThreadQuery(g_sql, "query_up", szQuery, data, sizeof(data));
}

public query_up(failstate, Handle:query, const error[], errornum, const data[], size, Float:queuetime) {
    if(failstate)
        return SQL_Error(query, error, errornum, failstate);
    if(SQL_MoreResults(query))
        g_irank = SQL_ReadResult(query, 0) + 1;
    return 0;
}

stock ld_func(id, auth[]) {
    static szQuery[1024];
    formatex(szQuery, charsmax(szQuery), "SELECT * FROM %s WHERE `auth` = '%s'", table, auth);
    new data[1];
    data[0] = id;
    SQL_ThreadQuery(g_sql, "query_ld", szQuery, data, sizeof(data));
}

public query_ld(failstate, Handle:query, const error[], errornum, const data[], size, Float:queuetime) {
    if(failstate)
        return SQL_Error(query, error, errornum, failstate);
    new id = data[0];
    if(SQL_MoreResults(query)) {
        up_func(id);
    }
    else {
        static szQuery[1024]; formatex(szQuery, charsmax(szQuery), "INSERT INTO %s (auth) VALUES ('%s')", table, auth);
        new data[1];
        data[0] = id;
        SQL_ThreadQuery(g_sql, "query_cr", szQuery, data, sizeof(data));
    }
    return 0;
}

public query_cr(failstate, Handle:query, const error[], errornum, const data[], size, Float:queuetime) {
    if(failstate)
        return SQL_Error(query, error, errornum, failstate);
    new id = data[0];
    up_func(id);
    return 0;
}
Аватара пользователя
1kla$
 
Сообщения: 122
Зарегистрирован: 19 фев 2018, 13:16
Благодарил (а): 43 раз.
Поблагодарили: 0 раз.
Опыт программирования: Меньше месяца

Re: Run time error 10: native error (native "SQL_ThreadQuery

Сообщение RevCrew » 13 апр 2018, 11:30

1kla$, плагин скинь
Аватара пользователя
RevCrew
Скриптер
 
Сообщения: 1648
Зарегистрирован: 15 июл 2013, 20:45
Благодарил (а): 273 раз.
Поблагодарили: 357 раз.
Языки программирования: Unkown

Re: Run time error 10: native error (native "SQL_ThreadQuery

Сообщение 1kla$ » 13 апр 2018, 15:52

RevCrew,

Код: Выделить всё
#include <amxmodx>
#include <sqlx>

new Handle:g_sql;
new g_irank[33];
new idsteam[33][34];

public plugin_precache() {
    g_sql = SQL_MakeDbTuple("localhost", "klass1", "", "klass1");
}

public client_putinserver(id) {
    get_user_authid(id, idsteam[id], charsmax(idsteam[]));
    load_rank(id, idsteam[id]);
}

stock load_rank(id, steamid[]) {
    static szQuery[1024];
    formatex(szQuery, charsmax(szQuery), "SELECT * FROM klass1 WHERE `auth` = '%s'", steamid);
    new data[1];
    data[0] = id;
    SQL_ThreadQuery(g_sql, "query_load", szQuery, data, sizeof(data));
}

public query_load(failstate, Handle:query, const error[], errornum, const data[], size, Float:queuetime) {
    if(failstate)
        return SQL_Error(query, error, errornum, failstate);
    new id = data[0];
    if(SQL_MoreResults(query)) {
        up_rank(id);
    }
    else {
        static szQuery[1024]; formatex(szQuery, charsmax(szQuery), "INSERT INTO klass1 (auth) VALUES ('%s')", idsteam[id]);
        new data[1];
        data[0] = id;
        SQL_ThreadQuery(g_sql, "query_create", szQuery, data, sizeof(data));
        nullStats(id);
    }
    return 0;
}

public query_create(failstate, Handle:query, const error[], errornum, const data[], size, Float:queuetime) {
    if(failstate)
        return SQL_Error(query, error, errornum, failstate);
    new id = data[0];
    g_irank[id] = SQL_GetInsertId(query);
    up_rank(id);
    return 0;
}

stock save_rank(id) {
    static szQuery[1024]; formatex(szQuery, charsmax(szQuery), "UPDATE klass1 SET rank='%d' WHERE `id`='%d'", g_irank[id]);
    SQL_ThreadQuery(g_sql, "query_hand", szQuery);
}

stock up_rank(id) {
    static szQuery[1024];
    formatex(szQuery, charsmax(szQuery), "(SELECT COUNT(id) as count FROM klass1 WHERE `rank` > '%d')", g_irank[id], g_irank[id]);
    new data[1];
    data[0] = id;
    SQL_ThreadQuery(g_sql, "query_up_rank", szQuery, data, sizeof(data));
}

public query_up_rank(failstate, Handle:query, const error[], errornum, const data[], size, Float:queuetime) {
    if(failstate)
        return SQL_Error(query, error, errornum, failstate);
    if(SQL_MoreResults(query))
        g_irank[id] = SQL_ReadResult(query, 0) + 1;
    return 0;
}

public query_hand(failstate, Handle:query, const error[], errornum, const data[], size, Float:queuetime) {
    if(failstate)
        return SQL_Error(query, error, errornum, failstate);
    return 0;
}

stock nullStats(id) {
    g_irank[id] = 0;
}


в этой строчке пишет лог
Код: Выделить всё
SQL_ThreadQuery(g_sql"query_up_rank"szQuerydatasizeof(data)); 

Код: Выделить всё
stock up_rank(id) {
    static szQuery[1024];
    formatex(szQuery, charsmax(szQuery), "(SELECT COUNT(id) as count FROM klass1 WHERE `rank` > '%d')", g_irank[id], g_irank[id]);
    new data[1];
    data[0] = id;
    SQL_ThreadQuery(g_sql, "query_up_rank", szQuery, data, sizeof(data));
}

и
Код: Выделить всё
up_rank(id); 

Код: Выделить всё
public query_create(failstate, Handle:query, const error[], errornum, const data[], size, Float:queuetime) {
    if(failstate)
        return SQL_Error(query, error, errornum, failstate);
    new id = data[0];
    g_irank[id] = SQL_GetInsertId(query);
    up_rank(id);
    return 0;
}
Аватара пользователя
1kla$
 
Сообщения: 122
Зарегистрирован: 19 фев 2018, 13:16
Благодарил (а): 43 раз.
Поблагодарили: 0 раз.
Опыт программирования: Меньше месяца

Re: Run time error 10: native error (native "SQL_ThreadQuery

Сообщение RevCrew » 13 апр 2018, 15:58

ну смотри, здесь уже вижу ошибку
Код: Выделить всё
formatex(szQuerycharsmax(szQuery), "(SELECT COUNT(id) as count FROM klass1 WHERE `rank` > '%d')"g_irank[id], g_irank[id]); 


в логе есть
Код: Выделить всё
L 04/12/2018 22:02:48: [AMXX]    [1ddamage.sma::cr_func (line 225

что это за функция? и почему ее нету в исх
Аватара пользователя
RevCrew
Скриптер
 
Сообщения: 1648
Зарегистрирован: 15 июл 2013, 20:45
Благодарил (а): 273 раз.
Поблагодарили: 357 раз.
Языки программирования: Unkown

Re: Run time error 10: native error (native "SQL_ThreadQuery

Сообщение 1kla$ » 13 апр 2018, 16:13

RevCrew, у меня 2 версии просто, 1 в осномном моде другая отдельно, та что отдельно с багами, я ипользую в моде, ты сказал дать плагин, пришлось выпилить, а там функции название разное

в это строчке ошибки же?
Код: Выделить всё
formatex(szQuery, charsmax(szQuery), "(SELECT COUNT(id) as count FROM %s WHERE `rank` > '%d')", table, g_irank[id], table, g_irank[id]);


верно будет так?
Код: Выделить всё
formatex(szQuery, charsmax(szQuery), "(SELECT COUNT(id) as count FROM %s WHERE `rank` > '%d')", table, g_irank[id]);
Аватара пользователя
1kla$
 
Сообщения: 122
Зарегистрирован: 19 фев 2018, 13:16
Благодарил (а): 43 раз.
Поблагодарили: 0 раз.
Опыт программирования: Меньше месяца

Re: Run time error 10: native error (native "SQL_ThreadQuery

Сообщение RevCrew » 13 апр 2018, 17:06

1kla$, ага
Аватара пользователя
RevCrew
Скриптер
 
Сообщения: 1648
Зарегистрирован: 15 июл 2013, 20:45
Благодарил (а): 273 раз.
Поблагодарили: 357 раз.
Языки программирования: Unkown

Re: Run time error 10: native error (native "SQL_ThreadQuery

Сообщение 1kla$ » 14 апр 2018, 19:01

RevCrew, а с этим логом поможешь?
Код: Выделить всё

L 04
/14/2018 11:48:23: [AMXX] [2ddamage.sma::query_top (line 287)
L 04/14/2018 11:48:23replace() buffer not big enough (20>=19)
L 04/14/2018 11:48:23: [AMXXDisplaying debug trace (plugin "ddamage.amxx"version "2.1")
L 04/14/2018 11:48:23: [AMXXRun time error 10native error (native "replace"


287 строка
Код: Выделить всё
new name[32]
mysql_escape_string(namenamecharsmax(name)); 


сток
Код: Выделить всё
stock mysql_escape_string(const source[],  dest[],  len) {
    
copy(dest,  len,  source);
    
replace_all(destlen"\\""\\\\");
    
replace_all(destlen"\0""\\0");
    
replace_all(destlen"\n""\\n");
    
replace_all(destlen"\\r""\\\r");
    
replace_all(destlen"\x1a""\\Z");
    
replace_all(destlen"'""\\'");
    
replace_all(destlen"`""\\`");
    
replace_all(destlen"\"""\\\"");
Аватара пользователя
1kla$
 
Сообщения: 122
Зарегистрирован: 19 фев 2018, 13:16
Благодарил (а): 43 раз.
Поблагодарили: 0 раз.
Опыт программирования: Меньше месяца

Re: Run time error 10: native error (native "SQL_ThreadQuery

Сообщение RevCrew » 14 апр 2018, 21:35

1kla$, скинь всю функцию. Ошибка мб не в этой строке, иначе цифры были бы другие
Аватара пользователя
RevCrew
Скриптер
 
Сообщения: 1648
Зарегистрирован: 15 июл 2013, 20:45
Благодарил (а): 273 раз.
Поблагодарили: 357 раз.
Языки программирования: Unkown

Re: Run time error 10: native error (native "SQL_ThreadQuery

Сообщение 1kla$ » 15 апр 2018, 16:12

RevCrew, помнишь ты мне кусок кода дал, вот эта тема Вы должны зарегистрироваться, чтобы видеть ссылки.

Я там в цикле вставил
mysql_escape_string(name, name, charsmax(name));

Может потому что я пытаюсь в эту же переменную name записать? Типа места в ней нет, надо может в другую?
Аватара пользователя
1kla$
 
Сообщения: 122
Зарегистрирован: 19 фев 2018, 13:16
Благодарил (а): 43 раз.
Поблагодарили: 0 раз.
Опыт программирования: Меньше месяца

Re: Run time error 10: native error (native "SQL_ThreadQuery

Сообщение RevCrew » 15 апр 2018, 19:04

1kla$, в лс кинькод
Аватара пользователя
RevCrew
Скриптер
 
Сообщения: 1648
Зарегистрирован: 15 июл 2013, 20:45
Благодарил (а): 273 раз.
Поблагодарили: 357 раз.
Языки программирования: Unkown

След.

Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 12