Вы должны войти в систему для того, чтобы создавать сообщения и темы.

Вопрос по переменным

Привет всем. Я тотальный нуб, и только начал постигать Axmу.

Покурил мануалы про переменные. Задал глобальные. Одна из них

имя = 'Петр';

Далее в одном параграфе хочу отобразить текст:

print("Привет! Меня зовут Х")

Где Х - это моя переменная "имя". В мануалах не нашёл как именно отобразить значение этой переменной в тексте. Еще раз прошу прощения, возможно был невнимателен, но так и не нашёл.

print("Привет! Меня зовут "+имя);

Можно также дать игроку возможность самому ввести имя персонажа с помощью команды input. Принцип её работы описан в руководстве в разделе «Выбор вариантов и ввод», можно только добавить, что вашей глобальной переменной 'имя' нужно будет присвоить значение $$input.
То есть после ввода игроком имени персонажа должен быть код:
имя = $$input;
А дальше вывод текста по схеме выше.

Цитата: Obey от 14.03.19, 16:45

print("Привет! Меня зовут "+имя);

Можно также дать игроку возможность самому ввести имя персонажа с помощью команды input. Принцип её работы описан в руководстве в разделе «Выбор вариантов и ввод», можно только добавить, что вашей глобальной переменной 'имя' нужно будет присвоить значение $$input.
То есть после ввода игроком имени персонажа должен быть код:
имя = $$input;
А дальше вывод текста по схеме выше.

Огромное спасибо!

Могу ли я тогда задать вам еще один вопрос?

К примеру я создал глобальную переменную и присвоил ей значение 0:

oratory = 0;

Далее на следующей странице я делаю возможность выбора:

choice("выбор 1","выбор 2","выбор 3")

Я хочу, чтобы выбор повлиял на значение глобальной переменной oratory. Для этого ниже choice пишу условие

if ($$choice = 1) {

oratory == oratory + 1;

} else if ($$choice = 2){

oratory == oratory + 15;

} else {

oratory == oratory + 50;

}

Однако, ничего не меняется. Вывожу на следующей странице print(oratory), и его значение также остаётся 0. Что здесь не так? Ведь обращение к переменной $$choice есть. Повторюсь, что я пока ещё нуб, и учусь, поэтому не смейтесь пожалуйста.

Значение oratory не меняется, потому что у вас параграф-то уже выполнен. То есть все проверки if-else завершились ещё до того, как вы сделали выбор и изменили значение $$choice.
Навскидку вижу два варианта.

1. Попробуйте посчитать oratory в другом параграфе. А ещё код поправьте, кстати:

if ($$choice==1) {
oratory = oratory+1;
} else if ($$choice==2) {
oratory = oratory+15;
} else {
oratory = oratory+50;
}

2. Можно добавить функцию для обработки значение oratory прямо к выбору:

choice (false, "вариант1","вариант2","вариант3", function (n) {if ($$choice==1) {
oratory = oratory+1;
} else if ($$choice==2) {
oratory = oratory+15;
} else {
oratory = oratory+50;
}
});

Здесь false указывает на возможность выбора только одного варианта из предложенных. Если можно выбрать несколько вариантов, нужно писать true. Это не ваш случай, конечно, и там будут свои нюансы, но мало ли понадобится. Есть мнение, что в скобках у function (n) должно быть что-то более осмысленное. Но это неточно. :з

Я так-то тоже не профи, но что знала — вот, пожалуйста.
В любом случае, я попробовала оба способа, и значение oratory выводится корректно.

Огромное спасибо за помощь!

На самом деле вопросов еще куча, но пока пробую сам разобраться. Не всегда неудачно))

Цитата: Obey от 17.03.19, 18:05

Значение oratory не меняется, потому что у вас параграф-то уже выполнен. То есть все проверки if-else завершились ещё до того, как вы сделали выбор и изменили значение $$choice.
Навскидку вижу два варианта.

1. Попробуйте посчитать oratory в другом параграфе. А ещё код поправьте, кстати:

if ($$choice==1) {
oratory = oratory+1;
} else if ($$choice==2) {
oratory = oratory+15;
} else {
oratory = oratory+50;
}

2. Можно добавить функцию для обработки значение oratory прямо к выбору:

choice (false, "вариант1","вариант2","вариант3", function (n) {if ($$choice==1) {
oratory = oratory+1;
} else if ($$choice==2) {
oratory = oratory+15;
} else {
oratory = oratory+50;
}
});

Здесь false указывает на возможность выбора только одного варианта из предложенных. Если можно выбрать несколько вариантов, нужно писать true. Это не ваш случай, конечно, и там будут свои нюансы, но мало ли понадобится. Есть мнение, что в скобках у function (n) должно быть что-то более осмысленное. Но это неточно. :з

Я так-то тоже не профи, но что знала — вот, пожалуйста.
В любом случае, я попробовала оба способа, и значение oratory выводится корректно.

И снова я. А вы не сталкивались с проблемой, что изображение почему-то не подхватывается?

Код идёт image("bg.jpg");

Как picture и sprite всё прекрасно подхватывается и отображается. А вот в текст с помощью image почему-то нет. Не знаете в чём может быть проблема?

Загруженные файлы:
  • Вам нужно войти, чтобы просматривать прикрепленные файлы..

А чёрт его знает, если честно. Не работает оно.
Ни image("files/img.jpg"), ни <img src="files/img.jpg"> — второй способ вообще проект руинит.
Сейчас единственный способ вставить изображение непосредственно в текст — это сделать его спрайтом сначала. То есть загрузить.
После этого код будет выглядеть так:
image("имя_спрайта");

HTML-файл, конечно, изображения будут раздувать. Возможно, есть более изящное решение, но я его не нашла.

Цитата: Obey от 23.03.19, 15:06

А чёрт его знает, если честно. Не работает оно.
Ни image("files/img.jpg"), ни <img src="files/img.jpg"> — второй способ вообще проект руинит.
Сейчас единственный способ вставить изображение непосредственно в текст — это сделать его спрайтом сначала. То есть загрузить.
После этого код будет выглядеть так:
image("имя_спрайта");

HTML-файл, конечно, изображения будут раздувать. Возможно, есть более изящное решение, но я его не нашла.

Вот даже как. Ну это, конечно, серьёзный косяк. Будем ждать исправлений

Не вижу в этих функциях косяков.

Вот пример работы img src (Из шаблона, к слову):

\ [[<img src='https://online.axma.info/examples/logo.png'>|https://axma.info/ru/manual/]]

Вот пример работы image:

image('https://online.axma.info/examples/logo.png');

Оба варианта работают и в случае img src идет добавление иконки к ссылке в StoryMenu параграфе. А image просто добавляет картинку в текст.

 

Вы, конечно, можете быть со мной не согласны, но не иметь возможности вставить изображение из рабочей папки с медиафайлами — это смех, а не функционал. И да, если в руководстве предлагается шаблон <img src="путь или URL изображения">, но он не работает, то это косяк. URL работает, а «путь» нет. А это как бы и есть интересующая функция, потому что медиафайлы хорошо бы размещать в папках игры, а не в интернете.