Вопросы

Добрый день, уважаемые скриптеры.

Вопрос мой таков: как использовать значение переменной в качестве ключа массива?

 

Пример кода:

enum pInfo
{
	pID,
	pName,
	pPassword,
};
new PlayerInfo[MAX_PLAYERS][pInfo];

// Тут массив заплняется значениями

new key[24] = "pPassword"; // Допустим, это ввел пользователь

print(PlayerInfo[playerid][key]); // ???

Но при таком раскладе функция ищет ключ "key" вместо ключа "pPassword".

 

Я использую такой костыль для вывода данных, которые запросит пользователь.

 

Второй день не могу найти ответ на этот простой вопрос (я новичок).

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


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

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

  • 0

@irtf у массивов нет ключей, это индексы. enum введен просто для удобства, чтобы вместо цифр указывать буквы, людям программистам так проще. 

Поэтому Ваше обращение аналогично 

PlayerInfo[0][2] // получить pPassword для игрока с playerid = 0 

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

Функция для сравнения срок - strcmp (альт. википедия)

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


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

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

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

    • Helados
      От Helados
      Короче, мы протестировали наш GTA на другом хостинге — голосовой чат там работает, всё включается нормально. Также проверили на другом хостинге с нашим игровым модом — voice chat тоже работает.
      Но на нашем личном хостинге, который мы купили на OVH и установили панель, не получается запустить голосовой чат. Похоже, проблема связана с портами. После перезапуска сервер почему-то случайным образом выбирает порты сам и мы не можем это исправить.
      Если кто-то знает человека, который может помочь разобраться с этой проблемой, буду благодарен.