Приведи несколько примеров работы с Char массивом
Приведи несколько примеров работы с Char массивом
PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..
25% времени в программировании уходит на размышления о том, что пользователь может сделать не так.[HR]/Брайан Хьюмс/
#FIXSAMP
При использовании char мы устанавливаем границы каждой ячейки массива: от 0 и до 255.
Каждая ячейка может принимать 256 значений.
А также с помощью char можно уменьшить размер размера ( в 4 раза ).
Например создали массива из MAX_PLAYERS ячеек ( по умолчанию 500 игроков ), то при использовании мы используем не 2000 байт ( 500 * 4 ( каждая ячейка 4 байта ) ), а уже 500 ( 2000 / 4 = 500 ).
Создадим например команду для выдачи админки, также сделаем проверку, чтобы нельзя было поставить меньше 0 и больше 255.PHP код:
new
player_admin_level[MAX_PLAYERS char];
// здесь будет храниться уровень админа
Очень полезно использовать такие массивы, когда значение не достигает предела для char-массивов.PHP код:
CMD:setadmin(playerid, params[])
{
if(player_admin_level{playerid} < 5)
// для проверки значения из ячейки char-массива,
// используются не квадратные скобки ( [ и ] ) а ( { и } )
return SendClientMessage(playerid, -1, "У вас нет прав на выполнение данной команды.");
new
targetid,
level;
if(sscanf(params, "ii", targetid, level))
return SendClientMessage(playerid, -1, "Используйте: /setadmin [targetid] [level]");
if(!(0 <= level <= 255))
// если указанный игроком уровень меньше 0 или больше 255,
// то не даём ему выдать админку
return SendClientMessage(playerid, -1, "Уровень только от 0 и до 255.");
player_admin_level{targetid} = level;
// выдали игроку уровень админки,
// не забываем указывать фигурные скобки,
// иначе будут проблемы
return SendClientMessage(playerid, -1, "Уровень администратирования выдан.");
}
Например для массива с деньгами уже данный способ не пригодится. Денег может быть очень много, явно больше чем 255.
Последний раз редактировалось L0ndl3m; 15.12.2014 в 17:12.
PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..
25% времени в программировании уходит на размышления о том, что пользователь может сделать не так.[HR]/Брайан Хьюмс/
#FIXSAMP
PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..
25% времени в программировании уходит на размышления о том, что пользователь может сделать не так.[HR]/Брайан Хьюмс/
#FIXSAMP
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)