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

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

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

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

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

Имеется много разных 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

exitWith

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 и т.п. это "архаизм" - появившийся в эпоху становления языков программирования. Когда логика программного кода еще была не продумана, и не освоена.

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

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

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

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


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

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

 

_a = 1;

_b = 1;

_c = _a + _b;

if (_c < 10) exitWith {};

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

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

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


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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

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

    • Автор: Serdce
      Данный скрипт, меняет процесс ремонта вашей техники, делая её более логичней, как было в А2.
      Для замены колеса, на нужно собственно само колесо, и тд. и тп. 
      Подробный список чего и для чего вы найдёте в файлах.
       
      Итак, преступим!
      Я не автор, я всего лишь перевожу.
      Первоисточник - https://github.com/aussie-battler/Exilemod-Super-Advanced-Repair-System-SARS
      По ссылке выше скачиваем архив, распаковываем в удобное место.
      Распаковываем ваше миссию "Exile.ваша карта"
      Из архива копируем папку "Custom" в папку вашей миссии "Exile.ваша карта"
      Открываем ваш description.ext  в нем мы ищем showHUD[] = 
      и полностью меняем на это - 
      Далее открываем ваш - initPLayerLocal.sqf
      В этом файле, сразу после строки - if (!hasInterface || isServer) exitWith {};
      Мы добавляем 
      //Bones Super Advanced Repair System (SARS)
      Bones_fnc_salvageAndRepairMenu = compileFinal preprocessFileLineNumbers "Custom\advancedRepair\Bones_fnc_salvageAndRepairMenu.sqf"; 
      Далее открываем ваш - config.cpp
      В нем мы ищем - class Car
      Внутри этого класса мы ищем
       
      И меняем на 
      Так же далее чуть ниже - class Air
      В нем мы также меняем это
      На это 
       
      Далее для если у вас есть Infistar!
      Распаковываем ваш инфистар и открываем его конфиг.
      В нём ищем     KCM = "true"; /* Just close ALL CommandingMenus */
      И меняем значение на false
      Чуть ниже в строке allowedCommandingMenus
      Мы добавляем  "#USER:ASL_Show_Repair_Options_Menu_Array"
      Ну вот и всё готово, всё сохранили и запаковали как было!
       
    • Автор: fedotovyasha
      Хочу немного изменить сообщения перед отправкой клиенту
    • Автор: fedotovyasha
      Пишу свой лаунчер на c#. Скачал клиент в котором был loader.exe. С ним работает норм, но я хочу без него запускать игру. Как это сделать? (Пиратка)
    • Автор: Miduznya
      Собственно как, как отключить battleye на сервере античит

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

      Заявку вы можете заполнить в этой же теме, либо написать мне в ЛС.
      Любые сообщения не по теме запрещены.
  • Наш выбор

×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.