На старый версиях Warcraft 3 всё прекрасно работало, героев можно было загружать и сохранять в моей карте. Но перешёл на обновлённый Warcraft 3 отчасти ради 24-х игроков, свою карту перенёс, а тут такое (см. изображение xgm.guru/files/100/230489/2019-07-09_18-28-54.png)... :(
Прошу, помогите решить проблему! :3

Принятый ответ

у тебя выше i задана как integer, а ниже как real
Нет. Функции разные, переменные разные. Тут никакого конфликта нет.

Ты возвращаешь integer, а надо real. После единицы поставь точку, и всё заработает.
Я давно задавал подобный вопрос, вот твой случай.

Желательно ещё поставить нормальный pjass.exe. В папке с JassHelper сделать папку pjass, кинуть туда pjass.exe отсюда, и в jasshelper.conf написать вместо pjass.exe вот это: pjass\pjass.exe.
`
ОЖИДАНИЕ РЕКЛАМЫ...
1
26
5 лет назад
1
Схожий вопрос уже задавали, у тебя выше i задана как integer, а ниже как real. Нужно переименовать одну из них, да и вообще не рекомендуют использовать такие короткие переменные из одной буквы, так как в игре они обычно всюду заняты.
Вроде бы в старых версиях за это cjass отвечает, который переименовывает эти переменные в другие для корректной работы.
1
28
5 лет назад
Отредактирован PT153
1
у тебя выше i задана как integer, а ниже как real
Нет. Функции разные, переменные разные. Тут никакого конфликта нет.

Ты возвращаешь integer, а надо real. После единицы поставь точку, и всё заработает.
Я давно задавал подобный вопрос, вот твой случай.

Желательно ещё поставить нормальный pjass.exe. В папке с JassHelper сделать папку pjass, кинуть туда pjass.exe отсюда, и в jasshelper.conf написать вместо pjass.exe вот это: pjass\pjass.exe.
Принятый ответ
0
26
5 лет назад
0
PT153, вот тот вопрос:
0
28
5 лет назад
Отредактирован PT153
0
8gabriel8, мда, это вообще разные вопросы. Там у ФУНКЦИИ и ПЕРЕМЕННОЙ одинаковые имена. Конечно конфликт будет. А тут проблема вообще в другом (возврат 1, а не 1.), я уже описал решение выше.

nazarpunk уже где-то говорил про область видимости. В JASS она тоже есть. Локальные переменные и аргументы у разных функций могут иметь одинаковые имена, потому что они видны только для той функции, где они определены. А вот глобальные переменные и функции должны иметь разные имена, потому что они видны везде. Локальные переменные не должны дублировать имена функций, но могут дублировать имена глобалок (по крайней мере в vJass), однако при этом глобалка не будет доступна внутри функции с такой локальной переменной. В некоторых ЯП подобное вообще запрещается (дублировать идентификатор во вложенной области видимости).
7
16
5 лет назад
Отредактирован DracoL1ch
7
спойлер, у жаса нет деления на локальные и глобальные, это shadowing и запись в ту же область памяти (общую для всех переменных), это основа мемхака. Поэтому крайне не рекомендую иметь одинаковые имена на глобалках и локалках, не говорю уже о том, что их типы должны совпадать, иначе возможно всё, что угодно
Чтобы оставить комментарий, пожалуйста, войдите на сайт.