Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

0    0    #26
16.01.2013 10:45

Morych
Модератор (+67, -8)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 523
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

WeLLWar написал:

Как сделать, чтобы после определённого действия ссылка удалялась?

Кроме одноразовых +ссылок можно использовать более извращённый способ:
Пусть $действие = 0

Код:

:: параграф
В тексте параграфа присутствует <<if $действие>>ссылка<<else>>[[ссылка|параграф {$действие = 1}]]<<endif>>.
<<if $действие>>
     От нечего делать я нажал на ссылку, и та удалилась.
<<endif>>

или без фэйда (но зато при нажатии кнопки "Отменить" вместо отмены действия вернёшься на предыдущий параграф):

Код:

:: параграф
<<clrscr>>
В тексте параграфа присутствует <<if $действие>>ссылка<<else>>[[+ссылка|параграф {$действие = 1}]]<<endif>>.
<<if $действие>>
     От нечего делать я нажал на ссылку, и та удалилась.
<<endif>>

Неактивен

0    0    #27
09.03.2013 14:01

Morych
Модератор (+67, -8)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 523
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Desfir написал:

я начал осваивать axma story maker и возникла трудность я вставил в параграф start звуковой файл но мне не надо чтобы во всех остальных он проигрывался придется создавать пустой звуковой файл или есть другой способ?

используйте макрос <<noaudio>> - он останавливает проигрывание музыки и убирает плеер.

Неактивен

0    0    #28
09.03.2013 14:20

Morych
Модератор (+67, -8)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 523
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Кстати в окне редактирования параграфа есть кнопка "макросы", по которой выпадает список всех макросов с кратким описанием их функций.

Неактивен

0    0    #29
16.03.2013 13:00

Morych
Модератор (+67, -8)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 523
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Попробуй такой код:

Код:

:: Start
[[Переход в описание игры|Help]]
[[Начало игры|Game]]

:: StoryTitle
Проверка макроса DISPLAY

:: StorySubtitle
Проверка справки по игре и работы макроса display.

:: StoryAuthor
Korwin

:: Game
Игра началась! [[И так далее...|game2]]
[[Переход в описание игры|Help]]

:: game2
Игра началась-2! [[И так далее...|game2]]
[[Переход в описание игры|Help]]

:: Help
Здесь написано как играть в эту игру
<<display 'SetFromLoc'>>
===[[Возврат|place]]===

:: place
<<display $loc>>

:: StoryMenu
[[Об этой истории|Story]]

:: Story
[[Переход в описание игры|Help]]
[[Об авторе|Author]]

:: Author
Автор этой истории:
<<display 'StoryAuthor'>>
<<display 'SetFromLoc'>>
===[[Возврат|place]]===

:: SetFromLoc
<<if ($$from neq 'place') and ($$from neq 'Help') and ($$from neq 'Author')>>
    <<set $loc = $$from>>
<<endif>>

Вроде бы, всё окей smile

UPD: Упс, не заметил один параграф. Подправил код.

Отредактировано Morych (16.03.2013 13:16)

Неактивен

0    0    #30
08.04.2013 13:52

Morych
Модератор (+67, -8)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 523
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Anderman написал:

Пожалуйста, помогите, очень нужно реализовать в программе "группу +ссылок".
===
Объясняю, что это такое:
Идет диалог персонажей, внизу три ссылки (три варианта ответов). Все три "+вые", то есть при нажатии на них результат появится на той же странице. А теперь вопрос - как же сделать так, чтобы при нажатии на одну из этих ссылок, все разом становились недоступными? Это необходимо, чтобы игрок не подглядел, что будет, если бы он выбрал другой вариант.
===
Иными словами, я хочу объединить "+ ссылку" и "невозвратную ссылку", только в совокупности с другими ссылками на этой странице.
Я знаю, что проще делать обычные невозвратные ссылки, но уж очень нужно остаться на той же странице.
Это нужно также для того, чтобы игрок не просто видел результат а виде:
1) что было
2) что он выбрал
3) результат
И все на одной страничке. Удобно.

Пока деактивировать +ссылки без нажатия невозможно. Могу предложить следующее. Создать объект $ответ = false. В параграфах, на которые ссылаются +ссылки написать:
<<if !$ответ>>
Текст параграфа
<<set $ответ = true>>
<<endif>>
Т.е. все ссылки можно будет нажать, но текст покажет только один раз.

Неактивен

0    0    #31
08.04.2013 14:09

Morych
Модератор (+67, -8)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 523
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

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

Параграф
Написано, что было
<<if $ответ eq "Вариант 1">>
Выбран 1 вариант
Результат 1
<<elseif $ответ eq "Вариант 2">>
Выбран 2 вариант
Результат 2
<<elseif $ответ eq "Вариант 3">>
Выбран 3 вариант
Результат 3
<<else>>
[[Вариант 1|Параграф {$ответ = "Вариант 1"}]]
[[Вариант 2|Параграф {$ответ = "Вариант 2"}]]
[[Вариант 3|Параграф {$ответ = "Вариант 3"}]]
<<endif>>

Неактивен

0    0    #32
22.04.2013 15:22

Morych
Модератор (+67, -8)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 523
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Oldrik написал:

Как увеличить или уменьшить элемент списка? Не присвоить новое значение, а просто изменить.

По-моему, изменяя значение элемента списка, ты и присваиваешь ему новое значение. Вот в примере выше мы присваиваем новое значение, которое больше текущего значения на 1.

Неактивен

0    0    #33
07.05.2013 15:51

Morych
Модератор (+67, -8)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 523
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

sosiskin написал:

Народ, подсобите с организацией кода, пожалуйста.
Есть такая задача, похожая на АХМА игру Asteroids, но с урезанной математикой, попроще: нужно чтоб в табличном окошке с заданной скоростью падали слова из списка (по принципу звёзд в игре Asteroids, но быстрее).

Направьте мысль в нужную сторону, плиз! Очень буду благодарен. Код "астероидов" меня сбивает с толку, гуманитарий, чо. ))

Насколько я помню, минимальный интервал таймера - 1 секунда. Чтобы слова падали быстрее, можно изменять их позицию не на одну строку, а на две, например.
Слова из списка должны падать по одному?

Неактивен

0    0    #34
07.05.2013 17:01

Morych
Модератор (+67, -8)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 523
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Хм, попробую что-нибудь придумать smile
А пока может это натолкнёт на верный путь:

Код:

:: StoryTitle
Падающие слова

:: Start
<<set $lstWords = ("Эти слова будут падать, пока не закончатся...").split(" ")>>
<<set $i = 0>>
<<set $y = 0>>
<<set $ymax = 4>>
[[Пуск!|Пуск]]

:: Пуск
<<repeat "Словопад" 1>>
<<display "Словопад">>

:: Словопад
<<clrscr>>
===''Словопад''===
<<set $j = $i + 1>><<set $p = $lstWords.length - $i - 1>><<loop $p>><<print $lstWords[$j]>> <<set $j++>><<endloop>><<br>><<loop $y>><<br>><<endloop>><<if $i lt $lstWords.length>><<print $lstWords[$i]>><<endif>><<set $p = $ymax - $y>><<loop $p>><<br>><<endloop>><<set $j = 0>><<loop $i>><<print $lstWords[$j]>> <<set $j++>><<endloop>>
<<set $y++>>
<<if $y eq $ymax>>
    <<set $i++>>
    <<set $y = 0>>
    <<if $i eq $lstWords.length + 1>>
        <<stop "Словопад">>
        ===''Конец''===
    <<elseif $i eq $lstWords.length>>
        <<set $y = $ymax - 1>>
    <<endif>>
<<endif>>

Отредактировано Morych (07.05.2013 17:10)

Неактивен

0    0    #35
07.05.2013 18:33

Morych
Модератор (+67, -8)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 523
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

sosiskin написал:

нужно чтобы они падали вниз (или вверх) толпой, как старые текстовые скринсейверы, словно медленный снег из слов.  Причём список хотелось бы подставлять динамически.

Вот:

Код:

:: StoryTitle
Падающие слова

:: Start
[[Скринсейвер|Пуск2]]

:: Пуск2
<<set $lstWords = ["AXMA Story Maker", "DoubleDragon", "Morych", "sosiskin", "Суперскринсейвер"]>>
<<set $lstLines = []>>
<<set $newWord = "">>
<<loop 10>>
    <<set $lstLines.push(" ")>>
<<endloop>>
<<repeat "Словопад2" 1>>
<<display "Словопад2">>

:: Словопад2
<<set $r = Math.round(Math.random() * ($lstWords.length - 1))>>
<<set $x = Math.round(Math.random() * (40 - $lstWords[$r].length))>>
<<set $k = "">>
<<loop $x>><<set $k = $k + "&nbsp;">><<endloop>>
<<if Math.round(Math.random())>>
    <<set $lstLines.unshift($k + $lstWords[$r])>>
<<else>>
    <<set $lstLines.unshift($lstWords[$r] + $k)>>
<<endif>>
<<set $k = $lstLines.pop()>>
<<clrscr>>
----
<<set $i = 0>>
<<loop $lstLines.length>>==={{{<<print $lstLines[$i] + "<br>">>}}}===<<set $i++>><<endloop>>
----
[[Добавить слов|Добавить {$newWord = ""}]]

:: Добавить
<<if not $newWord.length>>
    <<stop "Словопад2">>
    Новое слово:
    <<input "Добавить" $newWord>>
<<else>>
    <<set $lstWords.push($newWord)>>
    <<repeat "Словопад2" 1>>
    <<display "Словопад2">>
<<endif>>

Текстовый скринсейвер (можно динамически добавлять слова).

Неактивен

0    0    #36
07.05.2013 20:31

Morych
Модератор (+67, -8)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 523
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

sosiskin написал:

Morych написал:

А пока может это натолкнёт на верный путь:

я чёто не могу понять, как сделать, чтоб целиком набор слов не виден было изначально, и чтобы они не по порядку один за другим падали по левому краю, а на разном отступе.
Может, всё-таки через списки (массив) как-то можно сделать?

В общем, я пока кое-как запилил на основе кода Астероидов, вставив туда списки.

А как же моё предыдущее сообщение #194? Там через списки, изначально не видно ничего, не по порядку и на разном отступе.

Неактивен

0    0    #37
08.05.2013 12:38

Morych
Модератор (+67, -8)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 523
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Вета, хочу уточнить, "перемещения" - это вкладка с перечнем выходов из данной локации?

UPD: Если да, то что-то вроде того:

Код:

:: StoryTitle
Интерфейс на вкладках

:: Start
[[Старт|Лок1 {$main = true}]]

:: Обновить
<<clrscr>>
<<display $loc>>

:: Лок1
<<set $loc = 'Лок1'>>
<<display 'служ'>>
<<if $main>> 
    Это локация 1.
<<else>>
    [[Пойти на локацию 2|Лок2 {$main = true}]]
    [[Пойти на локацию 3|Лок3 {$main = true}]]
<<endif>>

:: Лок2
<<set $loc = 'Лок2'>>
<<display 'служ'>>
<<if $main>> 
    Вы находитесь на локации 2.
<<else>>
    [[Вернуться на локацию 1|Лок1 {$main = true}]]
<<endif>>

:: Лок3
<<set $loc = 'Лок3'>>
<<display 'служ'>>
<<if $main>> 
    А это локация 3.
<<else>>
    [[Идти на локацию 2|Лок2 {$main = true}]]
<<endif>>

:: статус
===[[ГЛАВНАЯ|Обновить {$main = true}]] | СТАТУС | [[ПЕРЕМЕЩЕНИЯ|Обновить {$main = false}]]===
----
Имя: ''Вета''
Класс: ''Волшебница''
Жизнь: ''100/100''
Мана: ''90/200''

:: служ
<<if $main>>
    ===ГЛАВНАЯ | [[СТАТУС|статус]] | [[ПЕРЕМЕЩЕНИЯ|Обновить {$main = false}]]===
<<else>>
    ===[[ГЛАВНАЯ|Обновить {$main = true}]] | [[СТАТУС|статус]] | ПЕРЕМЕЩЕНИЯ===
<<endif>>
----

Отредактировано Morych (08.05.2013 13:22)

Неактивен

0    0    #38
09.05.2013 00:02

Morych
Модератор (+67, -8)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 523
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Пока мы не вызовем макрос <<stop>>, параграф, указанный ранее в макросе <<repeat>>, будет вызываться снова и снова. Поле ввода можно показать и на параграфе со словопадом, но и в этом случае нужно остановить таймер, иначе через 1 секунду экран обновится, и будет показано новое поле ввода. Всё, что мы за эту секунду туда ввели, естественно, пропадёт. Ниже приведён вариант кода, где поле ввода отображается на главном экране. Добавил ещё ссылку "отмена", если вводить новые слова расхотелось.

Код:

:: StoryTitle
Падающие слова

:: Start
[[Скринсэйвер|Пуск2]]

:: Пуск2
<<set $lstWords = ["AXMA Story Maker", "DoubleDragon", "Morych", "sosiskin", "Суперскринсэйвер"]>>
<<set $lstLines = []>>
<<set $newWord = "-">>
<<loop 20>>
    <<set $lstLines.push(" ")>>
<<endloop>>
<<repeat "Словопад2" 1>>
<<display "Словопад2">>

:: Словопад2
<<if not $newWord.length>>
    <<stop "Словопад2">>
<<else>>
    <<set $r = Math.round(Math.random() * ($lstWords.length - 1))>>
    <<set $x = Math.round(Math.random() * (40 - $lstWords[$r].length))>>
    <<set $k = "">>
    <<loop $x>><<set $k = $k + "&nbsp;">><<endloop>>
    <<if Math.round(Math.random())>>
        <<set $lstLines.unshift($k + $lstWords[$r])>>
    <<else>>
        <<set $lstLines.unshift($lstWords[$r] + $k)>>
    <<endif>>
    <<set $k = $lstLines.pop()>>
<<endif>>
<<clrscr>>
----
<<set $i = 0>>
<<loop $lstLines.length>>==={{{<<print $lstLines[$i] + "<br>">>}}}===<<set $i++>><<endloop>>
----
<<if $newWord.length>>
    [[Добавить слово|Словопад2 {$newWord = ""}]]
<<else>>
    Новое слово:
    <<input "Добавить" $newWord>>
    [[Отмена]]
<<endif>>

:: Добавить
<<set $lstWords.push($newWord)>>
<<repeat "Словопад2" 1>>
<<display "Словопад2">>

:: Отмена
<<set $newWord = "-">>
<<repeat "Словопад2" 1>>
<<display "Словопад2">>

Неактивен

0    0    #39
09.05.2013 03:03

Morych
Модератор (+67, -8)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 523
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

sosiskin написал:

А где задаётся количество строк в словопаде? Как сделать их меньше и, например, сам колодец уже? Я что-то в коде не могу врубиться, где это задаётся.

Количество строк - это число элементов списка $lstLines, задаётся в параграфе "Пуск2". Там где оператор цикла, мы 20 раз добавляем новый элемент в список.
Чтобы сузить "колодец" нужно поменять в строке
<<set $x = Math.round(Math.random() * (40 - $lstWords[$r].length))>>
число 40 на меньшее. Вообще $x - это число неразрывных пробелов, которые добавляются к слову справа или слева.

Неактивен

0    0    #40
09.05.2013 16:45

Morych
Модератор (+67, -8)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 523
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Можно сделать случайное число слов в строке. Как освобожусь немного, постараюсь набросать код.

Неактивен

0    0    #41
13.05.2013 10:18

Morych
Модератор (+67, -8)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 523
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Вета, в том примере так и сделано. Суть такова. На каждом параграфе-сцене, где есть описание, ты устанавливаешь значение переменной $loc равным названию параграфа. А ссылка "Главная" ведёт на служебный параграф "Обновить", который очищает экран и показывает параграф-сцену:

:: Обновить
<<clrscr>>
<<display $loc>>

Неактивен

0    0    #42
13.05.2013 10:29

Morych
Модератор (+67, -8)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 523
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

DoubleDragon написал:

Можно, кстати, использовать системную переменную $$title, которая содержит имя текущего параграфа:

Код:

:: Обновить
<<clrscr>>
<<display $$title>>

Это так для обновления текущего параграфа. Но если Вета походит по вкладкам "Статус" и "Перемещения", а потом нажмёт "Главная":

===[[ГЛАВНАЯ|Обновить]] | [[СТАТУС|статус]] | [[ПЕРЕМЕЩЕНИЯ|перемещения]]===

то вновь окажется в обновлённом Статусе или Перемещениях. Поэтому нужно запоминать название параграфа-сцены, где описание.

Неактивен

1    0    #43
27.05.2013 14:00

Morych
Модератор (+67, -8)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 523
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

В редакторе есть кнопочка "Тёмная тема". Наде её нажать.

Неактивен

0    0    #44
04.06.2013 13:13

Morych
Модератор (+67, -8)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 523
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Korwin написал:

В анонсе версии 2.0 прочел о возможности конвертации в ePub. Отсюда вопрос - какие требования к квесту предъявляются, чтобы его можно было конвертировать в данный формат? Только картинки и гиперссылки? Условия и объекты уже нельзя?

Насколько я знаю, будут разрешены макросы «display» и «br». Больше ничего нельзя, только текст, картинки и ссылки.

Неактивен

1    0    #45
18.06.2013 03:42

Morych
Модератор (+67, -8)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 523
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

NekronMono написал:

При возвращении на предыдущий экран... обстановка вновь рандомится.

Если речь идёт о кнопке "Отменить" в левом верхнем углу экрана (и макросе «back»), то избежать перегенерации комнаты можно, только воспользовавшись вариантом А от Ergistal-а. Вариант Б поможет при обычном повторном переходе в комнату, но от кнопки "Отменить" не спасёт.

Неактивен

0    0    #46
20.06.2013 13:05

Morych
Модератор (+67, -8)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 523
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

NekronMono написал:

Спасибо большое.
Есть еще такой вопрос.
У нас есть деревня разбитая на координаты. Количество домов  в каждой клеточке рандомируются во время старта вместе с генерированием вариантов домов (то есть у меня написано 10 вариантов обустройства дома, персонажи и события в нем, программа рандомно выбирает какой из вариантов выбрать). Но нужно добиться такого результата, чтобы при повторении варианта, переменные не смешивались и не сбивались, то есть если я разбил окно в доме номер 1, то в доме номер 8 (где у меня попался такой же вариант развития событий) окно стояла на месте, но у первого окно оставалось разбитым. Неужели придётся каждой координате, дому и варианту писать одинаковые скрипты, только с разными переменными?

Одинаковые скрипты точно писать не надо. Попробуем разобраться. Ergistal правильно подсказал насчёт списков и циклов. Все свойства дома можно поместить в списки. Например список, который отвечает за состояние окна во всех домах:

Код:

<<set $window = [true, true, true]>>

Пусть у нас есть три дома, а true означает, что окно целое. Теперь разбиваем окно в первом доме:

Код:

<<set $window[0] = false>>

Индекс первого дома = 0. И разобьем окно в третьем доме:

Код:

<<set $window[2] = false>>

Теперь можно задать другой список с другим свойством. Цвет стен, например:

Код:

<<set $color = ["синие", "чёрные", "красные"]>>

Теперь нам надо знать в который по счёту дом мы зашли. Индекс дома занесём в переменную $n, тогда для любого дома:

Код:

:: Дома
Вы зашли в дом номер <<print $n>>.
У этого дома <<print $color[$n]>> стены. Окно <<if $window[$n]>>целёхонько<<else>>разбито<<endif>>.

А переходы в разные дома могут выглядеть так:

Код:

[[Идти в первый дом|Дома {$n = 0}]]
[[Идти во второй дом|Дома {$n = 1}]]
[[Идти в третий дом|Дома {$n = 2}]]

Неактивен

0    0    #47
08.07.2013 23:05

Morych
Модератор (+67, -8)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 523
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Nabusan написал:

Если вопросы были отвечены, я спрошу еще раз, уж простите)


1. Я хочу, что бы игрок нашел предмет, но он мог поленится и не зайти. Дальше я делаю проверку с if, т.е есть предмет\нету предмета, но мне выдает ошибку. Уточните как правильно это сделать пжста

2. Я хочу, что бы игрок ввел свое имя с клавиатуры, как мне сделать так, что бы по ходу квесте, нпс к нему обращались и запомнили его имя

1. В начале игры пишем <<set $predmet = 0>> это будет означать, что предмета у гг нет. Там, где он его находит, пишем <<set $predmet = 1>> Тогда проверка наличия предмета:

Код:

<<if $predmet>>
Предмет есть.
<<else>>
Нет предмета.
<<endif>>

2. Например:

Код:

:: ВводИмени
Как звать-то тебя, дружище?
<<input 'Нпц' $name>>

:: Нпц
Ну привет, <<print $name>>!

А вообще советую посмотреть учебник в блоге "Гиперкниги", там про все это подробно писано. smile Например, в этой главе кроме всего прочего говорится, что делать, если игрок вздумает ввести имя капсом.

Неактивен

0    0    #48
09.07.2013 09:28

Morych
Модератор (+67, -8)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 523
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Nabusan написал:

Но вот ситуация:
в окне, герою нужно щелкнуть на обыск, не нажал-не нашел.
А у меня почему то все равно находит

Код:

Осталось послднее - Ваш Класс
Хотя, человечеческие закрома полны сюрпризов
[[+Обыскать закрома|Меч {$Меч=1}]]
 <<set $Меч = 1>>    <--- так вот поэтому и находит :)
[[-Воин|Воин]]
[[-Маг|Маг]]
[[-Вор|Вор]]

При построении страницы весь код параграфа выполняется последовательно и до конца. Т.е. когда вы видите на экране текст со ссылками, объект $меч уже равен 1. А вот присваивание значений в ссылках (в фигурных скобках) выполняется только при нажатии на ссылку.

Неактивен

0    0    #49
10.07.2013 15:36

Morych
Модератор (+67, -8)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 523
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

plusova написал:

Приветствую, уважаемые!! Я новичок.
Пытаюсь сделать на платформе AXMA Story Maker интерактивный тренинг.
В тренинге есть задания, на которые пользователь может ответить письменно прямо в тексте, онлайн.
Подскажите как сделать, чтобы текст, который вводит пользователь сохранялся. И как реализовать возможность распечатки сохраненных пользователем результатов, отправки на e-mail

Добро пожаловать в сообщество Аксмавторов!
Значения всех объектов (в том числе и те, которые вводит пользователь) сохраняются при нажатии кнопки "Сохранить состояние" в Меню.
Распечатку можно реализовать средствами браузера, в котором будет проигрываться тренинг. Если вы будете использовать "Хром", то там, знаю, можно
распечатать в pdf-файл. А вот автоматическую отправку на почту, боюсь, реализовать невозможно. Если только кто-нибудь не подскажет нестандартное решение. smile

Неактивен

0    0    #50
10.07.2013 15:53

Morych
Модератор (+67, -8)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 523
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Нажатие, извините, чего? smile
Ссылку под окошком ввода никак не сделаешь, она всегда в определённом месте. Можно только сообщить пользователю про такую возможность. Вообще я говорю про сохранение значений между сеансами. Т.е. сохранение значений после закрытия браузера. А текущие значения объектов и так хранятся в памяти, их можно показывать макросом «print».

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru