Вопросы

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

Пытаюсь загрузить "Password" в итоге он не загружается по каким-то причинам. Вот сам код.

new rows;
    cache_get_row_count(rows);
    cache_get_value_name(0"Password", player_info[playerid][S_PASSWORD], 32);
    if(rows) ShowLogin(playerid);
    else ShowRegistration(playerid)

Ошибка находится в
 

public OnPlayerConnect(playerid)
{
    GetPlayerName(playerid, player_info[playerid][S_NAME], MAX_PLAYER_NAME);
    static const fmt_query[] = "SELECT `id` FROM `users` WHERE `name` = '%s'";
    new query[sizeof(fmt_query)+(-2+MAX_PLAYER_NAME)];
    format(query, sizeof(query), fmt_query, player_info[playerid][S_NAME]);
    mysql_tquery(dbHandle, query, "CheckRegistration""i", playerid);
    return 1;
}
    new rows;
    cache_get_row_count(rows);
    cache_get_value_name(0"Password", player_info[playerid][S_PASSWORD], 32);
    if(rows) ShowLogin(playerid);
    else ShowRegistration(playerid);

 

cache_get_value_name(0"Password", player_info[playerid][S_PASSWORD], 32);

Код ошибки 

[04/28/24 12:46:40] [ERROR] cache_get_value_name: field 'Password' not found

Буду рад всем помогающим, желаю всем добра!

Отредактировано пользователем SheikhMAN

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


Ссылка на сообщение

9 ответов на этот вопрос

  • 0

@angel_sinvays Сойдёт как один из вариантов, просто задача была запретить писать, вот и пришло в голову об муте, функционал один и тот же)

 

@SheikhMAN Попробуй:

 

static const fmt_query[] = "SELECT `Password` FROM `accounts` WHERE `Name` ='%s'";

 

UPD ( ПОСЛЕ РЕШЕНИЯ ):

Было:

 

new rows;
    cache_get_row_count(rows);
    cache_get_value_name(0"Password", player_info[playerid][S_PASSWORD], 32);
    if(rows) ShowLogin(playerid);
    else ShowRegistration(playerid)


Стало:

 

new rows;
if(rows)
{
    cache_get_value_name(0"Password", player_info[playerid][S_PASSWORD], 32);
    ShowLogin(playerid);
}
else ShowRegistration(playerid);

 

Отредактировано пользователем Доналдо Фарекелка

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


Ссылка на сообщение
  • 0

@SheikhMAN Привет, 
вот перевод ошибки

cache_get_value_name: поле 'Пароль' не найдено

Попробуй сделать:
 

static const fmt_query[] = "SELECT `Password` FROM `users` WHERE `name` = '%s'";

 

Отредактировано пользователем Доналдо Фарекелка

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


Ссылка на сообщение
  • 0

@Доналдо Фарекелка Помогло, не мог бы еще подсказать, как сделать чтобы во время авторизации никто не мог писать в чат?

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


Ссылка на сообщение
  • 0

@SheikhMAN Просто во время авторизации \ регистрации выдайте им мут ( /mute )

Как пример ( Не проверял )

if(PlayerInfo[playerid][pMuteTime] = 60)

После того как прошёл регистрацию \ авторизацию

if(PlayerInfo[playerid][pMuteTime] = 0)


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

Отредактировано пользователем Доналдо Фарекелка

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


Ссылка на сообщение
  • 0

@Доналдо Фарекелка  Нет необходимости в выдаче мута. Вместо этого, можно сделать отправку сообщения что они не авторизованы/зарегистрированы и запретить выполнение дальнейших действий на сервере пока они не пройдут этап авторизации/регистрации.

 

@SheikhMAN Можешь отталкиваться от моего примера, вписывай его в паблик OnPlayerCommandReceived

 

if(gPlayerLogging[playerid] == 0 || !IsPlayerConnected(playerid))
{
  SendClientMessage(playerid,-1, !"Вы не авторизованы.");
  return 0// передать плагину, чтобы он не выполнял команду
}

 

Отредактировано пользователем angel_sinvays

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


Ссылка на сообщение
  • 0

@Доналдо Фарекелка Не совсем помогло. Код ошибки (другой) внизу.

l9QmYRe.png

[ERROR] cache_get_value_name: invalid row index '1' (number of rows: '0')

Отредактировано пользователем SheikhMAN

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


Ссылка на сообщение
  • 0

@Доналдо Фарекелка Всё так-же. Может быть дадите ТГ-ВК ? Посмотрите.

[04/28/24 22:55:18] [ERROR] cache_get_value_name: invalid row index '0' (number of rows: '0')

 

Отредактировано пользователем SheikhMAN

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


Ссылка на сообщение
  • 0

@SheikhMAN в профиле написан

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


Ссылка на сообщение
  • 0

@Доналдо Фарекелка ПОМОГЛО, СПАСИБО!!!

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


Ссылка на сообщение
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

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

  • Похожий контент

    • От MrNARTI
      всем привет можете пожалуйста подсказать с командой от анти слива /aban
       
      чтобы банило и администратора который использовал эту кмд и адм которого указал в айди. 
    • От MrNARTI
      всем привет.
       
      появился баг раньше не было.
       
      когда захожу должно появляться окно для адм авторизации но почему то перестало.
      так же когда когда ввожу /car  показывает что тс загружен хотя я его не загружал и у меня его вообще нет
       
      кто может помогите:
      тг: aboba_qq