Всем привет. Решил открыть и потыкать свою старую карту, последний раз в 2018 открывал. И получаю при сохранении ошибки c локалками. Сначала вот это, перелопатил все локалки подвинул их наверх. После этого редактор уже ругается на undeclared locals. Приведу пример:
у меня локалки идут внутри группы функций. Если их вытащить наверх, то соответственно редактор будет ругаться на то что переменные не объявлены. Есть ощущение, будто редактор просто решил докопаться до всего, ибо потом после того как я решил просто выключить все проблемные триггеры, то начинает ругаться на ошибки синтаксиса. Но ведь карта сохранилась до того?
До того использовал JNGP 1.4
Сейчас разные редакторы перепробовал, получаю ошибки на всех. Из перепробованных: китайский YDWE, JNGP 1.4 , 2.0.10 (скрины с него собсна)
Карту прикрепил, не знаю будет ли кому охота там копаться, но пошерстив вопросы вижу что просят. Я просто хочу понять, что это такое. Надо перелопачивать то, что работало 5 лет назад? (раз сохранилось, думаю что таки проблема в редакторе)

Перенеси все строки, где личный сценарий local xxx = xxxx, в самый верх действий, перед All remove, и все ок будет
И да, саму All remove , без udg_, редактор будет ругать как необъявленную, либо сделай её тоже как local
`
ОЖИДАНИЕ РЕКЛАМЫ...
18
Мб использовал одну из фишек jngp, не помню что там именно было, какая-то галочка которая автоматом все локалки в начало перемещает и автоматом их очищает. Покопайся в vjass/cjass менюшке.
25
Ну конкретно на скрине ошибка супер-очевидная. Как и написано - локальная должна быть объявлена в начале функции, а не в конце где используется, в стандартном джассе. Возможно после преобразования у тебя так и получалось, что объявление локалки было в начале функции, а после твоих махинаций уже не в начале.
Триггеры же часто создают много новых функций, и поэтому в триггерах у тебя локалки могут быть и не в начале триггера.
И ты показал 2 абсолютно разных участков кода на скринах, которые не сравнить.

Даже не знаю, как у тебя сохранялось раньше, и отчего начало выводить ошибки. Мб что-то таки изменил и забыл.
23
Перенеси все строки, где личный сценарий local xxx = xxxx, в самый верх действий, перед All remove, и все ок будет
И да, саму All remove , без udg_, редактор будет ругать как необъявленную, либо сделай её тоже как local
Принятый ответ
4
после return нельзя писать даже set не то что local кроме елсеиф либо ифов
Ответы (1)
23
Purgatorius, set можно, просто оно не исполнится, если return не в if стоит )
1
Спасибо большое за ответы. Буду переделывать)
Чтобы оставить комментарий, пожалуйста, войдите на сайт.