Не удается скомпилировать плагин

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
57
Реакции
5
Ошибка
1.sma(10) : error 034: argument does not have a default value (argument 3)
1.sma(10) : error 020: invalid symbol name "_"
1.sma(10) : error 029: invalid expression, assumed zero
1.sma(10) : fatal error 107: too many error messages on one line
Компилятор
Локальный
Amx Mod X
1.9.0
Исходный код
#include <amxmodx>

// Задаем константы
#define CVAR_NAME "cl_minmodels"
#define CVAR_VALUE "0"

// Обработчик события подключения клиента
public client_connected(id)
{
new queryCvarHandle = query_client_cvar(id, CVAR_NAME, _, _, _, sizeof(_)); // Получаем хэндл квара

if (queryCvarHandle != INVALID_HANDLE)
{
new cvarValue[32];
get_cvar_string(queryCvarHandle, cvarValue, sizeof(cvarValue)); // Получаем значение квара

// Если значение равно "1", устанавливаем значение "0"
if (!strcmp(cvarValue, "1"))
{
set_cvar_string(queryCvarHandle, CVAR_VALUE);
}
}
}

public plugin_init()
{
register_plugin("test", "1.0", "test");
}

public plugin_end()
{
}
Привет всем, прошу помощи в компилировании данного плагина.
p.s мои первые попытки что-то написать, буду рад советам для дальнейшего изучения коддинга.
 
В этой теме было размещено решение! Перейти к решению.
Сообщения
649
Реакции
556
Помог
9 раз(а)
Сообщения
57
Реакции
5
Vaqtincha, поменял, появились другие ошибки :D


1.sma(10) : error 034: argument does not have a default value (argument 3)
1.sma(10) : error 020: invalid symbol name ""
1.sma(15) : error 035: argument type mismatch (argument 1)
1.sma(15) : error 035: argument type mismatch (argument 2)
1.sma(18) : warning 217: loose indentation
1.sma(20) : error 035: argument type mismatch (argument 1)
 
Сообщения
1,082
Реакции
58
Помог
11 раз(а)
Проверь передующие аргументы
 
Сообщения
57
Реакции
5
Code_0xABC, понял, уже часа 2-3 сижу думаю в чем траблы.
уже по другому использование query_client_cvar сделал, ошибки все равно те же самые, перепроверил весь код xd
 
Сообщения
667
Реакции
143
Помог
11 раз(а)
Может, так?

Код:
#include <amxmodx>

// Задаем константы
#define CVAR_NAME "cl_minmodels"
#define CVAR_VALUE "0"

// Обработчик события подключения клиента
public client_connected(id)
{
    new cvarValue[32];
    new queryCvarHandle = query_client_cvar(id, CVAR_NAME, cvarValue, sizeof(cvarValue)); // Получаем значение квара

    if (queryCvarHandle != INVALID_HANDLE)
    {
        // Если значение равно "1", устанавливаем значение "0"
        if (!strcmp(cvarValue, "1"))
        {
            client_cmd(id, "say Changing cl_minmodels to 0");
            client_cmd(id, "cl_minmodels 0");
        }
    }
}

public plugin_init()
{
    register_plugin("test", "0.1", "test");
}

public plugin_end()
{
}
 
Сообщения
667
Реакции
143
Помог
11 раз(а)
press2p, проверь работоспособность плагина

Исправлен query_client_cvar для получения значения cvar. Ща query_client_cvar используется сразу для получения значения, и переменной cvarValue присваивается полученное значение.
Заменен set_cvar_string на client_cmd для изменения значения cl_minmodels на стороне клиента.
 
Сообщения
1,082
Реакции
58
Помог
11 раз(а)
press2p, проблема в том, что вы не смотрите синтаксис нативов, количество аргументов и тип аргументов
 
Сообщения
667
Реакции
143
Помог
11 раз(а)
Code_0xABC, он же просит помощи с компиляцией, а не написанием плагина. Может, он не скриптер вообще.
 
Сообщения
1,082
Реакции
58
Помог
11 раз(а)
Там перевести достаточно, если он что то менял, значит должен понимать
 
Сообщения
57
Реакции
5
wood-grouse, в консоли плагин исправно работает, после подключения к серверу квар так же стоит с цифрой 1
 
Сообщения
1,082
Реакции
58
Помог
11 раз(а)
wood-grouse,
cvarValue, sizeof(cvarValue);
Вопрос можно? А чего именно sizeof? Может charsmax?
И есть ли возращаемое значение у этого натива? Там же выдаст ошибку, если индекс игрока в не диапазоне от 1 до MaxClients
3 Янв 2024
Код:
public client_connected(id)
{
    if(!is_user_connected(id))
        return;

    query_client_cvar(id, CVAR_NAME, "cvar_query_callback");
}
public cvar_query_callback(id, const cvar[], const value[])
{
    log_amx("User: '%n', cvar: '%s', value: '%s'", id, cvar, value);
 
    if (cvarValue[0] == '1')
    {
         // выставляй значение
    }
}
Может так, поправте
 
Последнее редактирование:
Сообщения
57
Реакции
5
Code_0xABC, попробую.
квар все равно не меняется, попробую так:
client_cmd(id, "setinfo %s %s", CVAR_NAME, CVAR_VALUE);
 
Сообщения
57
Реакции
5
Code_0xABC, я конечно все понимаю, опыта у меня в скриптинге нету, я и решил попросить помощи у знающих людей.
у меня так и остается проблема, значение квара попросту не меняется
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу