Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • Не хотите БАН?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок
  • Загляните на рынок

    Там вы можете продать или купить
    Всё что касается игровых серверов

Вопрос

Имеется много разных IFов и других циклов в скрипте. 

1. Как в любом месте закончить выполнение скрипта?

2. Как использовать Goto?

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


Ссылка на сообщение
Поделиться на других сайтах

Рекомендованные сообщения

  • 0

P.S.

1.

Если в скрипте множество циклов, в ходе выполнения которых, при определенных условиях, так же должны быть осуществлен выход -

добавь переменную _exit, и ставь ее в true

а по выходу из цикла проверяй.

Пример:

 

_exit = false;

while {true} do

{

  if (_a > _b) exitWith {}; // выйдет из цикла while

  {

    if (_x < _a) exitWith {_exit = true;}; // выйдет из цикла forEach, - поэтому чтобы выйти из цикла while ставим переменную _exit в true

  } forEach _xxx;

if (_exit) exitWith {}; // выйдет из цикла while, если _exit - true

  sleep 1;

};

 

*В множестве вложенных циклов, все точно так же - по завршению цикла достаточно будет проверять переменную _exit

2. использование всяких GoTo, BreakOut и т.п. это "архаизм" - появившийся в эпоху становления языков программирования. Когда логика программного кода еще была не продумана, и не освоена.

Любое использование гото в компании - производителя софта, = увольнению. т.к. говнокодинг. - Следствие не правильной логики приложения, и попытки извернутся, вместо правильного написания.

хоть процедурно, хоть используя ООП - надо правильно составить логику кода, и проблем не будет.

Изменено пользователем NoNameUltima (история изменений)

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


Ссылка на сообщение
Поделиться на других сайтах
Забронировать это рекламное место


  • 0

P.S.

1.

Если в скрипте множество циклов, в ходе выполнения которых, при определенных условиях, так же должны быть осуществлен выход -

добавь переменную _exit, и ставь ее в true

а по выходу из цикла проверяй.

Пример:

 

_exit = false;

while {true} do

{

  if (_a > _b) exitWith {}; // выйдет из цикла while

  {

    if (_x < _a) exitWith {_exit = true;}; // выйдет из цикла forEach, - поэтому чтобы выйти из цикла while ставим переменную _exit в true

  } forEach _xxx;

if (_exit) exitWith {}; // выйдет из цикла while, если _exit - true

  sleep 1;

};

 

*В множестве вложенных циклов, все точно так же - по завршению цикла достаточно будет проверять переменную _exit

2. использование всяких GoTo, BreakOut и т.п. это "архаизм" - появившийся в эпоху становления языков программирования. Когда логика программного кода еще была не продумана, и не освоена.

Любое использование гото в компании - производителя софта, = увольнению. т.к. говнокодинг. - Следствие не правильной логики приложения, и попытки извернутся, вместо правильного написания.

хоть процедурно, хоть используя ООП - надо правильно составить логику кода, и проблем не будет.

Благодарю за подробный ответ. Только один вопрос: ExitWith выходит же только из цикла, в котором он находится?

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0

из текущего кода  выходит.

 

_a = 1;

_b = 1;

_c = _a + _b;

if (_c < 10) exitWith {};

_a = 5; // выполнено не будет

Изменено пользователем NoNameUltima (история изменений)

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


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Похожие публикации

    • Автор: fedotovyasha
      Хочу немного изменить сообщения перед отправкой клиенту
    • Автор: fedotovyasha
      Пишу свой лаунчер на c#. Скачал клиент в котором был loader.exe. С ним работает норм, но я хочу без него запускать игру. Как это сделать? (Пиратка)
    • Автор: Miduznya
      Собственно как, как отключить battleye на сервере античит

      параметр BattlEye=0; не работает я так понял 
    • Автор: DrTauren
      На нашем сайте предусмотрена возможность рекламирования вашего игрового сервера/сайта/програмного обеспечения при помощи баннеров и ссылок.
       
      Баннеры под первым сообщением темы ↓
       
      Баннер на главной странице (над чатом) ↓
       
      Ссылки над первым сообщением темы ↓
       
      Ссылка на главной странице (над чатом) ↓
       
       

      Заявку вы можете заполнить в этой же теме, либо написать мне в ЛС.
      Любые сообщения не по теме запрещены.
    • Автор: Miduznya
      Всем привет, чет не нашел не где как можно в ручную обновить через .bat или .cmd файл
      если есть у кого такой поделитесь плиз. Прошу сильно не пинать если есть такая тема дайте ссылку
×
×
  • Создать...