Question

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

Пытаюсь загрузить "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

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

Edited by SheikhMAN

Share this post


Link to post

9 answers to this question

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

 

Edited by Доналдо Фарекелка

Share this post


Link to post
  • 0

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

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

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

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

 

Edited by Доналдо Фарекелка

Share this post


Link to post
  • 0

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

Share this post


Link to post
  • 0

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

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

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

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

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


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

Edited by Доналдо Фарекелка

Share this post


Link to post
  • 0

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

 

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

 

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

 

Edited by angel_sinvays

Share this post


Link to post
  • 0

TS Posted (edited) · Report post

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

l9QmYRe.png

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

Edited by SheikhMAN

Share this post


Link to post
  • 0

TS Posted (edited) · Report post

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

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

 

Edited by SheikhMAN

Share this post


Link to post
  • 0

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

Share this post


Link to post
  • 0

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

Share this post


Link to post
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By d7.KrEoL
      Datalink filterscript - передача тактической информации об игроках на карту sampmap.ru
      Скачать файл Данный скрипт позволяет передавать информацию об игроках на тактическую карту проекта sampmap. Управление функциями через RCON команды, сам скрипт хоть и полностью готов к использованию, но скорее является примером, на его основе можно писать свои системы для взаимодействия с тактической картой.
      Тактическая карта проекта sampmap - это подобие даталинк системы, которая позволяет координировать действия отряда, либо просто отслеживать местоположение игроков в режиме радара. Для каждого переданного в datalink систему (на тактическую карту) игрока выводится его основная информация о скорости, азимуте, высоте, величине и направлении вектора скорости, а так же принадлежность свой/чужой
      Несколько скринов:
       
       
      Архивы:
       
      Исходники:
       
      Команды (ркон) для dlink:
      Помимо серверной версии скрипта существуют так же клиентские для обычного клиента с moonloader и для RakSAMP Lite бота. Все эти скрипты распространяются по открытой лицензии MIT, здесь находится git с исходниками. Проект открыт для ваших предложений относительно кода, или дальнейшего развития, вы можете оставить свои предложения на официальной странице github.






      Добавил d7.KrEoL Добавлено 09.12.2024 Категория Скрипты Автор d7.KrEoL  
    • By d7.KrEoL
      Данный скрипт позволяет передавать информацию об игроках на тактическую карту проекта sampmap. Управление функциями через RCON команды, сам скрипт хоть и полностью готов к использованию, но скорее является примером, на его основе можно писать свои системы для взаимодействия с тактической картой.
      Тактическая карта проекта sampmap - это подобие даталинк системы, которая позволяет координировать действия отряда, либо просто отслеживать местоположение игроков в режиме радара. Для каждого переданного в datalink систему (на тактическую карту) игрока выводится его основная информация о скорости, азимуте, высоте, величине и направлении вектора скорости, а так же принадлежность свой/чужой
      Несколько скринов:
       
       
      Архивы:
       
      Исходники:
       
      Команды (ркон) для dlink:
      Помимо серверной версии скрипта существуют так же клиентские для обычного клиента с moonloader и для RakSAMP Lite бота. Все эти скрипты распространяются по открытой лицензии MIT, здесь находится git с исходниками. Проект открыт для ваших предложений относительно кода, или дальнейшего развития, вы можете оставить свои предложения на официальной странице github.






    • By Мемен Томорли
      Как сделать табличку после бана аккаунта? Типо как на малиновке, когда тебя банят, выдают табличку(скрин приложил), и при входе на сервер такую же табличку давало??