[ Урок ] Основы Скриптинга 0.2

Здравствуйте, в этом уроке я расскажу вам про "Массивы" и "Условные конструкции".

Массивы

это большие места для хранения данных, виртуальные таблицы. Вы можете иметь одномерные и многомерные массивы. Вам нужно создать новый массив вещественного или логического типа так же, как вы создаете переменные, не массивы, использую предопределенные имена тегов (bool:, Float:).

• Одномерный массив - это один столбец, разбитый на указанное число ячеек.

Пример:

new test[3] = {4, 6, 7}; // Тут число "3" в [] скобках показывает, сколько ячеек выделено для хранения данных

Теперь я покажу как это можно использовать:

if(strcmp(cmd, "/test", true) == 0)
{
if(IsPlayerConnected(playerid))
{
new strinn[32];//создаем массив
new rand = random(sizeof(test)); // Получаем случайное число для ячейки
format(strinn,sizeof(strinn),"Вам выпало число %d", rand);
SendClientMessage(playerid,COLOR_GREEN,strinn);//показываем его в чате
}
return 1;
}

• Двумерный массив - позволяет вам иметь много строк и столбцов.

Пример:

new Float:poscar[3][2] = {
{50.0, 40.5}, // Столбец номер 0
{10.81, 71.34}, // Столбец номер 1
{20.12, 19.23}, // Столбец номер 2
};

И мы можем с помощью данного массива, дать координаты например транспорту:

SetVehiclePos(0, poscar[1][2], poscar[2][2], poscar[3][2]); // 0 это ид авто!

Условные конструкции

позволяют вам посмотреть, удоволетворяют ли данные условиям, а затем в зависимости от результата выполнить код. Наиболее распространенный тип условных конструкций - if/else-конструкция, но помимо нее есть много других: case, цикл for и цикл while.

Примеры:

1)

new test = 1;
if(test != 1)
{
SendClientMessage(playerid,COLOR_GREEN,"Переменная test не равно 1");
return 1;
}

2)

new test[MAX_PLAYERS];
// и например при конектe"Public OnPlayerConnect(playerid)" ставим значение переменной 1
test[playerid] = 1;
// теперь ставим проверку
if(test[playerid] == 1)
{
SendClientMessage(playerid,COLOR_GREEN,"Переменная test равно 1");
return 1;
}

3)

new test = 1;
new test1 = 1;
if(test != 1 && test1 != 1)
{
SendClientMessage(playerid,COLOR_GREEN,"Переменныe test и test1 не равны 1");
return 1;
}

Вот на этом и закончу! Информация частично взята с wiki!

Автор: Mike/Maikkk

516 views·4 shares