Всё о сервере, форум!
Основы программирования
ИНФОРМАЦИОННО-РАЗВЛЕКАТЕЛЬНЫЙ ПОРТАЛ

PrR[ Проект SAMP - Romashka [0.3e] ™18+™

Pawn :: Основы скриптинга
Условные конструкции if-else-elseif

             Условные конструкции позволяют Вам проверить, удовлетворяют ли данным условиям выражения или нет и в зависимости от результата, выполняет соответствующий код. Для того чтобы работать с условными конструкциями, сначала нужно знать операторы сравнения или условные операторы, с помощью которых ставится условие для определенной конструкции. В приведенной ниже таблице приведены все условные операторы и их применение.

&& И if(a && b)
|| ИЛИ if(a || b)
! НЕ if(!a)
== РАВНО if(a==b)
!= НЕ РАВНО if(a!=b)
>= БОЛЬШЕ ИЛИ РАВНО if(a>=b)
<= МЕНЬШЕ ИЛИ РАВНО  if(a<=b)
> БОЛЬШЕ if(a>b)
< МЕНЬШЕ  if(a<b)
  НЕ ИЛИ if(!(Left || Right))
  НЕ И if(!(Left && Right))
  ИЛИ ИЛИ if((Left && !Right)||(!Left && Right))
  НЕ ИЛИ ИЛИ if(!((Left && !Right)||(!Left && Right)))
 
If – это условный оператор, в скобках перед оператором пишется условие. После скобок точка с запятой не ставится. В фигурных скобках пишется код который выполнится, если условие истинно. Если условие ложно, код не выполнится.

Else – это также условный оператор, но он выполняет свои функции, только в том случае, если условие в if ложно.

То есть, оператор if можно назвать как оператор «если», а еlse как оператор «иначе».

Давайте поставим простейшее условие. У нас есть две заранее проинициализированных переменных:
 
new a = 5;
new b = 25;

Поставим такое условие, если a < b, в консоль сервера выведется текст: «a меньше b». Если же значение переменной a не меньше b, в консоль сервера выведется текст: «a больше b».
 
if(a < b)
{
print(“a меньше b”);
}
else
{
print(“a больше b”);
}

В данном примере выполнится кол в if, так как 5 меньше 25. Но что если a равно b. Тогда мы поступим следующим образом: (между 4-5 строкой) вставим, операторы else if и условие, в общем, так как показано на примере ниже:
 
if(a < b)
{
print(“a меньше b”);
}
else if (a == b)
{
print(“a равно b”);
}
else
{
print(“a больше b”);
}

Для некоторых случаев совсем необязателен оператор else, например, в командах чата. Например, случай такой, нам нужно, чтобы команда не выполнялась до тех пор, пока игрок не авторизуется на сервере. Мы пишем условие внутри команды, при котором команда не выполнится, и ставим в конце кода return 1. В приведенном ниже примере Return завершает работу функции OnPlayerCommandText и не дает ей выполниться до конца. Под данным условием уже можно будет писать код команды.
 
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/mycommand", cmdtext, true, 10) == 0)
{
if (pLogged[playerid] == false)
{
SendClientMessage(playerid,0xAA3333AA,”Вы не авторизованы на сервере);
return 1; // Если это условие истинно, функция прекращает работу на этом месте
}
// Код команды
return 1;
}
return 0;
}
 
 


Логин: Пароль:
Забыли пароль?Регистрация
При копировании материала с сайта активная ссылка обязательна!
Сайт управляется SiNG cms © 2010-2015