Forum.iFiction.Ru

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

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

Вы не зашли.

0    0    #51
10.07.2013 16:15

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

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

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

Неактивен

0    0    #52
10.07.2013 17:08

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

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

plusova написал:

Есть описание задания данное автором.

Под ним  окошко для ввода текста пользователем.

Задача 1: чтобы введенный пользователем текст сразу отображался на этой же странице и был виден пользователю (в принципе вы это объяснили, но я пока не разобралась как объект создать).

Задача 2: чтобы у меня была возможность посмотреть что написал пользователь

Создать объект можно при помощи макроса «set». Пример задачи 1:

Код:

:: Start   (<-- это название параграфа)
# Создаем объект «$ответ», изначально его значение равно пустой строке
<<set $ответ = "">>
[[Приступить к выполнению задания|Задание]]

:: Задание
Описание задания.
<<if $ответ eq "">>
     # Если ответа ещё не было, показываем текстовое поле ввода
     Введите ваш ответ:
     <<input "Задание" $ответ>>
<<else>>
     # Иначе показываем ответ пользователя
     Ваш ответ: <<print $ответ>>
<<endif>>

По поводу задачи 2, вы сможете посмотреть, что написал пользователь, только если будете сидеть рядом с пользователем и смотреть на его монитор. smile Наверно, вы хотели отправлять лог работы пользователя себе на e-mail? Если такая фича и будет реализована, не думаю, что это произойдёт скоро.

Неактивен

0    0    #53
10.07.2013 22:46

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

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

plusova написал:

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

А дайте посмотреть код вашей истории. Если не хотите светить текст заданий, можно в личку или замените всю секретную инфу.

Неактивен

0    0    #54
11.07.2013 09:45

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

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

Пока вы не зададите set или не присвоите переменным $ответ..$ответ3 значения каким-нибудь другим способом (через фигурные скобки в ссылке или макросом input) значения этих переменных буду равны undefined (не определённое значение).

Имелось ввиду, что можно сделать так:

Код:

:: Start
[[День 1]]

:: День 1
Здравствуй, дорогой друг!
начнем выполнение упражнения!
1. первый замечательный вопрос?
<<if !($ответ)>>
     Введите ваш ответ:
     <<input "день 1" $ответ>>
<<else>>
     Ваш ответ: <<print $ответ>>
<<endif>>
2. второй замечательный вопрос?
<<if !($ответ2)>>
     Введите ваш ответ:
     <<input "день 1" $ответ2>>
<<else>>
     Ваш ответ: <<print $ответ2>>
<<endif>>
3. третий замечательный вопрос?
<<if !($ответ3)>>
     Введите ваш ответ:
     <<input "день 1" $ответ3>>
<<else>>
     Ваш ответ: <<print $ответ3>>
<<endif>>

Т.е. в параграфе Start ничего не задаём, никаких set, там только ссылка на параграф День 1. А условия меняем в параграфе День 1 (условия — это if). Может вам будет удобней использовать вместо восклицательного знака в условии оператор not:
<<if !($ответ3)>> то же самое что и <<if not $ответ3>>

Неактивен

0    0    #55
11.07.2013 09:51

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

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

Что же касается видеоуроков, то их делает Илья Богомолов, ссылки есть в соседней теме.

Также на сайте «Гиперкниги» есть специальный раздел помощи для авторов.

Неактивен

0    0    #56
16.07.2013 01:25

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

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

Alina написал:

Гайз, простите блондинковопрос, но я сейчас свихнусь. Что-то нажала, и пропала визуализация ссылок (белые стрелочки). Сейчас отображаются только ссылки, ведущие из активного параграфа (желтые стрелочки). Как вернуть белые стрелочки?

Смею предположить, вы только что создали сто первый параграф. Именно при таком числе параграфов (более сотни) визуализация стрелок-связей автоматически отключается. Но, возможно, разработчик пофиксит эту фичу в следующей версии программы.

Неактивен

0    0    #57
30.07.2013 23:02

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

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

Вета написал:

как сделать условие на наименование  локации ... если тайтл=комната, то

$$title — системная переменная, в которой хранится название текущего параграфа. А игровая локация или сцена может состоять из нескольких параграфов, и наоборот, в один параграф можно запихнуть несколько локаций. Поэтому лучшим решением будет завести дополнительную переменную, в которой будет храниться название именно локации, сцены. Тут уж ты сможешь единолично контролировать изменение значения этой переменной. Т.е. в нужном месте сделаешь <<set $curloc = "комната">> и все условия будут работать.

В твоём примере подозреваю, что $$title всегда равно "инвентарь". Можно это проверить макросом print или в консоли.

Неактивен

0    0    #58
31.07.2013 13:26

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

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

Вета написал:

Жаль, что в аксме нет резкого goto, чтобы сразу уходил на другой параграф, иногда бы пригодилось. smile

А как же последовательность макросов:
<<clrscr>>
<<display 'GoToLocation'>>

Единственное, тут уже будут нюансы с переменной $$title (она не поменяется) и с кнопкой "Отмена" (соответственно и с макросами back и return). Просто физически мы остаёмся на том же параграфе. А можно пример, для чего нужен оператор goto?

Ну и всплывающие подменю в ссылках, конечно. Хотя, может, с помощью явы скрипта их и можно как-то реализовать.

Меню по ссылке, как в куспе, конечно, пока нет, но можно сделать аналог. Задача какая? Я нажимаю ссылку и появляются несколько дополнительных действий. Верно? Попробуй как-то так:

Код:

:: локация
Вы в своей комнате. Тут есть [[*окно|меню {$объект = "окно"}]].

:: меню
<<if $объект eq "окно">>
    ----
    [[посмотреть в окно]]
    [[открыть окно]]
    [[выпрыгнуть из окна]]
<<endif>>

Неактивен

0    0    #59
31.07.2013 17:04

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

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

Так можешь попробовать в "Кодексе" сделать внутри условия вместо ссылки очистку экрана и следом display 'праздник'. smile Или в параграфе "праздник" первой строкой поставь очистку экрана.

Насчёт подменю, оно будет меняться при выборе разных предметов (при наличии у предметов каких-то действий). А убирать без последствий его можно при выборе того же самого предмета второй раз подряд: нажал предмет — появились действия, нажал ещё раз — исчезли. И экран не загромождается. smile Для этого просто надо будет запоминать последний выбранный предмет.

Неактивен

0    0    #60
07.08.2013 15:13

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

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

WeLLWar написал:

Помогите сделать боевую систему... думал сделать что-то типа поставить на рандом объект сила и если у персонажа есть меч он увеличает урон, а броня снижает получаемый урон, плюс удача, которая позволяет увернуться от удара, мастерство отбить и прочее. Вот только все это реализовать не получается я в АСМе ньюби:(

Попробую набросать пример поединка по предложенному техзаданию. smile

Неактивен

0    0    #61
11.08.2013 19:55

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

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

WeLLWar, не переживай, я про тебя не забыл! smile Уже доделываю демку, почти готово. Думаю, тебе понравится smile

Неактивен

0    0    #62
13.08.2013 18:29

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

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

А DD как всегда меня опередил smile
Ну в общем да. Там боевая система «Арена», а обсуждения боевых систем предлагаю перенести в эту тему.

Неактивен

0    0    #63
20.08.2013 09:32

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

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

Ergistal написал:

Вот такой код из двух параграфов.

Отличный пример! Я бы через <<loop>> делал smile

Неактивен

0    0    #64
20.08.2013 10:32

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

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

Ergistal написал:

А через Loop сразу попробовал, но там есть очень хитрая загвоздочка в тех-задании.  Попробуй.

У меня вот что получилось:

Код:

:: Start
[[Test]]

:: Test
# Начальное значение счётчика
<<set $time = 0>>
# Запускаем повтор параграфа1 с интервалом 1 сек.
<<repeat 'Passage1' 1>>
# И сразу же показываем параграф
<<display 'Passage1'>>

:: Passage1
# Очистка экрана (т.к. параграф по таймеру добавляется к текущему)
<<clrscr>>
# Увеличиваем счётчик на 1
<<set $time++>>
<<if $time eq 6>>
    # Если параграф1 вызывается 6-й раз (нарисовано уже 5 точек) останавливаем повторение
    <<stop 'Passage1'>>
    # И показываем параграф2
    <<display 'Passage2'>>
<<else>>
    # Иначе выводим точки в цикле. Который раз вызывается параграф1, столько и точек
    Loading<<loop $time>>.<<endloop>>
<<endif>>

:: Passage2
Hello world!

Неактивен

0    0    #65
20.08.2013 15:05

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

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

Вета написал:

Как можно в ссылке сделать переход на переменную?

<<if $сутки eq 1>>
__===''День [[(сменить)| {$сутки=2}$curloc]]''===__
<<else>>
__===''Ночь [[(сменить)| {$сутки=1}$curloc]]''===    __
<<endif>>

$curloc - переменная наименования локации задана в каждой локации.

напр.

#горы

<<set $curloc = 'горы'>>

-----------------------------

#лес

<<set $curloc = 'лес'>>

Я давно мечтаю про такую фичу))
Сейчас можно сделать таким образом:

Код:

:: горы
<<set $curloc = 'горы'>>
===''Ночь [[(сменить)|Переход {$сутки=1}]]''===

:: Переход
<<clrscr>>
<<display $curloc>>

Неактивен

0    0    #66
20.08.2013 16:33

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

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

Вета написал:

А вообще такая фича планируется?
А то у меня внезапно игра на КРИЛ на Аксме без нее перекочует на кусп, ибо альтернативной замены я не вижу, чтобы не порушилась конструкция геймплея.

Итак, Вета пустила в ход мягкий шантаж, что же будет дальше? smile
Если не опасаешься, что я похищу твою идею для КРИЛа, можешь мне куда-нибудь в личку полный код игры показать. Так, по кусочку трудно сказать, где баг.

Неактивен

0    0    #67
21.08.2013 10:13

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

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

Вета написал:

Морыч, ты можешь это для Драгона правильно сформулировать?

Попробовал сформулировать здесь. Посмотри и дополни при необходимости, а то ведь я написал, чего мне хочется. Вдруг, ты другое имела ввиду smile

Неактивен

0    0    #68
22.08.2013 16:01

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

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

Cheshire написал:

А можно как-нибудь отключить затухание/проявление текста при переходе? В определённых условиях очень мешает это «мигание».

Я у себя использую такую хитрость, как переход по добавляющей ссылке (с плюсом) и очистку экрана. При этом обязательно нужно передавать в ссылке параметр. Например:

Код:

:: Passage1
<<clrscr>>
===Text 1===
[[+Go to 2|Passage2 {$a = $a}]]

:: Passage2
<<clrscr>>
===Text 2===
[[+Go to 1|Passage1 {$a = $a}]]

Неактивен

0    0    #69
23.08.2013 10:00

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

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

arudzo написал:

Ребята подскажите как сделать раскрывыющеюся ссылку? Урок данный на этом форуме прочёл, сделал как там написано (наверное?) но ничего не получается! Может кто нибудь покажет код готовой ссылки для ознакомления? Спасибо!

Параграф с такой ссылкой выглядит следующим образом:

Код:

:: НазваниеПараграфа
<<clrscr>>
[[+Название ссылки|НазваниеПараграфа {$признак1 = !$признак1}]]<<if $признак1>> ▼<<br>>Содержимое, которое появляется или прячется при нажатии на ссылку. Может быть не только текст, но и картинки.<<else>> ►<<endif>>

А в параграфе «Start» обязательно нужно указать изначальное значение признака:

Код:

<<set $признак1 = false>>

Неактивен

0    0    #70
18.10.2013 13:50

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

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

romz написал:

как вставить активную ссылку (url), чтобы при клике переходило на указанный сайт

[[текст ссылки|https://forum.ifiction.ru]]
так должно работать

Неактивен

0    0    #71
26.10.2013 11:18

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

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

Fahrengeit, ну если Max запостил тут вопрос, значит ему надо wink

Max, я увы не играл в "PRO Soccer Стань Легендой", но, например, можно так: команды некоторое число раз бегают то к одним воротам, то к другим - используем цикл со случайным числом повторений. А внутри цикла при помощи генератора случайных чисел проверяем, удалось ли команде добежать до ворот противника, удалось ли пробить по воротам, и, собственно, был ли гол. Затем то же самое для команды противника. Шанс того или иного события должен зависеть от уровня команды. Чтобы отметить действия отдельного игрока, в атаке проверяем, получил ли герой мяч или сделал голевую передачу и т.п. (опять при помощи рандома). Чтобы описать алгоритм подробней, нужно хорошо разбираться в футболе, а не как я. smile

Неактивен

0    0    #72
29.10.2013 10:41

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

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

Max написал:

Я совершенно случайно наткнулся на AXMA Story Maker, и мне кажется в этой проге возможно хоть как-то реализовать задуманное.

Конечно, возможно! smile Самое главное, представлять, что ты хочешь видеть на экране, а как это сделать — будем разбираться, тем более, если мечта wink

Я сначала подумал, что ты хочешь получить сгенерированное описание всего матча, а не только его результатов. И, возможно, генерировать весь матч было бы интереснее, особенно, если в процессе матча можно управлять героем: самому вдарить по воротам, отдать пас или прислушаться, что орёт тренер.

Ну а результаты матча в простейшем случае можно сделать так:

Код:

<<random $goals1 = 10>>
<<random $goals2 = 10>>
===Результат матча===
===<<print $goals1>> : <<print $goals2>>===

В приведённом примере результат всегда случайный, т.е. никак не зависит от силы команд.
Если у нас есть параметры, которые отвечают за силу команд, можно их использовать, чтобы определить, какая команда победила, и только потом определить счёт.
Допустим параметр "сила команды" может принимать значения от 0 до 10. У команды с силой 0 нет никаких шансов победить команду с силой 10 (можно надеяться только на ничью). У команд с равными силами шансы 50/50.

параграф Матч

Код:

<<set $sila1 = 9>>
<<set $sila2 = 4>>
<<random $goals1 = 5>>
<<random $goals2 = 5>>
<<random $rnd = 99>>
<<if $rnd lt 50 + ($sila1 - $sila2) * 5>>
    <<set $goals1 = $goals1 + $goals2>>
<<else>>
    <<set $goals2 = $goals2 + $goals1>>
<<endif>>
===Результат матча===
===<<print $goals1>> : <<print $goals2>>===
[[Сыграть ещё раз|Матч]]

В этом примере чаще будет побеждать первая команда, хотя у второй тоже есть шанс и победить, и сыграть вничью. Поизменяй параметры $sila1 и $sila2 и посмотри, как меняются результаты матчей.

Неактивен

0    0    #73
29.10.2013 12:14

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

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

alfa10 написал:

У меня отображается только название диалога - Параграф-диалог и все. Что не правильно делаю?

Думаю, что не определена переменная $диалог_персонаж. Перед тем как вызывать параграф-диалог нужно задать начальное значение переменной:
<<set $диалог_персонаж = 1>>

А зачем параграф вызывается сам из себя (<<display 'Параграф-диалог'>>)?

Неактивен

0    0    #74
29.10.2013 12:17

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

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

Oldrik написал:

О, уже ответили.

А зачем ты удалил свой пример? smile У тебя ведь там было как раз про то, как сделать показатели гг-футболиста, а у меня в примере только общий счёт.

Неактивен

0    0    #75
29.10.2013 12:28

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

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

<<set $диалог_персонаж = 1>> нужно написать не в параграфе-диалоге, а в самом начале истории, в параграфе "Start".

Неактивен

Powered by PunBB
© copyright 2001–2022 iFiction.Ru