Nico Yazawa
Бывший MrChester =(
- Сообщения
- 326
- Реакции
- 303
Всем привет!
Решил заняться делом и поделиться своим опытом хранения переменных для каждого игрока.
Иногда, в плагинах приходится хранить переменные, которые для каждого игрока будут свои.
Возьмем, к примеру, монеты. У каждого игрока это свое кол-во, значит надо создать 64 таких переменных. В каждой будет кол-во монет 1 клиента.
Можно сделать так, как целый массив:
Тогда обращаться к ник мы будем так: (прибавим всем по 1 монетке):
А представим, что таких переменных будет много, я думаю будет не очень удобно ими управлять.
И я хочу предложить вам мой способ.
Сначала, создадим что-то вроде структуры:
Теперь, объявим данную структуру, как глобальную:
В данном случае player_info, это название нашей недоструктуры.
Отлично, давайте добавим в player несколько переменных. Это может быть любой тип: от int до Handle.
Теперь у нас есть по 3 переменных, на каждого игрока.
Как же к ним обращаться?
Тут все просто, пишем наше название недоструктуры player_info, после в квадратных скобках пишем индекс игрока и через точку нашу переменную:
Полный гайд об структурах в языке (на англ)
Я лишь предложил способ, которым всегда пользуюсь и которым мне правда удобнее всего.
Буду рад услышать Вашу критику или отзыв, если это Вам реально как-то помогло =)
Решил заняться делом и поделиться своим опытом хранения переменных для каждого игрока.
Вступление
Для начала, хотел бы объяснить, что это и как вообще.
Иногда, в плагинах приходится хранить переменные, которые для каждого игрока будут свои.
Возьмем, к примеру, монеты. У каждого игрока это свое кол-во, значит надо создать 64 таких переменных. В каждой будет кол-во монет 1 клиента.
Можно сделать так, как целый массив:
C-подобный:
int coins[MAXPLAYERS+1];
Тогда обращаться к ник мы будем так: (прибавим всем по 1 монетке):
C-подобный:
for(int i = 1; i <= MaxClients; i++)
{
coins[i] += 1;
}
И я хочу предложить вам мой способ.
Сначала, создадим что-то вроде структуры:
C-подобный:
enum struct player
{
}
Теперь, объявим данную структуру, как глобальную:
C-подобный:
player player_info[MAXPLAYERS + 1];
Отлично, давайте добавим в player несколько переменных. Это может быть любой тип: от int до Handle.
C-подобный:
enum struct player
{
int coins;
int money;
int gold;
// И так далее
}
Как же к ним обращаться?
Тут все просто, пишем наше название недоструктуры player_info, после в квадратных скобках пишем индекс игрока и через точку нашу переменную:
C-подобный:
PrintToChat(client, "Твои монетки: %i", player_info[client].coins);
PrintToChat(client, "Твои денюжки: %i", player_info[client].money);
PrintToChat(client, "Твоё золото: %i", player_info[client].gold);
Полный гайд об структурах в языке (на англ)
Заключение
Этот способ не является чем-то обязательным в Вашем коде. Кто-то как хочет, так и прогает.
Я лишь предложил способ, которым всегда пользуюсь и которым мне правда удобнее всего.
Буду рад услышать Вашу критику или отзыв, если это Вам реально как-то помогло =)
Последнее редактирование: