Форум HeroesWorld-а - Показать сообщение отдельно - Текущие вопросы и ответы по редактору карт
Показать сообщение отдельно
#5325
Старый 21.08.2021, 00:32
  #5325
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 2056
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 2056
Выставка наград
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

МартаХелп, люди добрые, если тут есть кто живой!
Помогите написать простейший скрипт. Я не знаю почему, но не работает ни один вариант.
Только не надо писать "читай учебник", я его читала неоднократно, и один из вариантов как раз оттуда.
Элементарное действие, - чтобы ГГ, прикоснувшись к предмету (а лучше бы, зайдя в определённую зону, но пока и предмет не выходит), телепортировался в определённую точку.

Не работают скрипты:

    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 это функция! А из функций вычитать числа пока не научились. Поэтому и появилась ошибка smile

Так же, странная строчка destination_151, опять-таки, у вас была обьявлена переменная с таким именем? Вряд ли. Если вы хотели указать координату, то оставьте просто 151.
Итоговый вариант скрипта:
function PobegF (heroname)
    SetObjectPosition(heroname, 88, 102, 0, -1);
end;
    
    Trigger(OBJECT_TOUCH_TRIGGER, "Proba", "PobegF")
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием