МартаХелп, люди добрые, если тут есть кто живой!
Помогите написать простейший скрипт. Я не знаю почему, но не работает ни один вариант.
Только не надо писать "читай учебник", я его читала неоднократно, и один из вариантов как раз оттуда.
Элементарное действие, - чтобы ГГ, прикоснувшись к предмету (а лучше бы, зайдя в определённую зону, но пока и предмет не выходит), телепортировался в определённую точку.
Не работают скрипты:
function PobegF (heroname)
SetObjectPosition((heroname), 88, 102, floor -1);
end;
Trigger(OBJECT_TOUCH_TRIGGER, "Proba", "PobegF");
Пишут, attempt to perform arithmetic on a functioh value.
------
function PobegF (heroname)
SetObjectPosition(heroname, 88, 102, floor -1);
end;
Trigger(4, "Proba", "PobegF");
Пишут то же самое.
------
function PobegF ()
SetObjectPosition("Raelag", 88, 102, floor -1);
end;
Trigger(OBJECT_TOUCH_TRIGGER, "Proba", "PobegF");
Такая же фигня.
------
function PobegF ()
SetObjectPosition("Raelag", 88, 102, floor);
end;
Trigger(OBJECT_TOUCH_TRIGGER, "Proba", "PobegF");
Пишут, Wrong type of argument 4, when calling function SetObjectPosition.
------
function PobegF ()
SetObjectPosition("Raelag", destination_151, 138, floor -1);
end;
Trigger(OBJECT_TOUCH_TRIGGER, "Proba", "PobegF");
Пишут, attempt to perform arithmetic on a functioh value.
------
function PobegF ()
SetObjectPosition("Raelag", destination_151, 138, floor);
end;
Trigger(OBJECT_TOUCH_TRIGGER, "Proba", "PobegF");
Пишут, Wrong type of argument 4, when calling function SetObjectPosition.
ЧЯДНТ?
Не думаю, что вы где-то обьявляли переменную floor, а потому вопрос: зачем вы ее используете при вызове функций SetObjectPos? Вместо нее надо написать 0 (поверхность) или 1 (подземка), например, SetObjectPosition("Raelag", 182, 71, 0). Поясню, откуда взялась ошибка. floor — встроенная функция округления вверх. Перед "-1" у вас нет запятой, а потому игра пытается вычесть из floor единицу. Но floor это функция! А из функций вычитать числа пока не научились. Поэтому и появилась ошибка

Так же, странная строчка destination_151, опять-таки, у вас была обьявлена переменная с таким именем? Вряд ли. Если вы хотели указать координату, то оставьте просто 151.
Итоговый вариант скрипта:
function PobegF (heroname)
SetObjectPosition(heroname, 88, 102, 0, -1);
end;
Trigger(OBJECT_TOUCH_TRIGGER, "Proba", "PobegF")