Forum.iFiction.Ru

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

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

Вы не зашли.

   #1
09.07.2012 11:12

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Если у Вас есть вопросы, как сделать что-то в программе или Вы не понимаете чего-то (то ли это ошибка, то ли фича и т.д.), то спрашивайте в этой теме.

Неактивен

 

   #2
12.07.2012 19:07

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

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

Спасибо за консоль!

Но я вот не понимаю, при каком условии переменная в консоль попадает? Объявляю и использую я переменных больше, чем отображается в списке объектов (в редакторе) и соответственно в консоли.

Неактивен

 

   #3
12.07.2012 19:18

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Попадают туда по мере присваивания им значений.

Неактивен

 

   #4
23.07.2012 00:19

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

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

Как пофиксить проблему с кодировкой? Например, вот http://mutnosoft.ru/story.html. Проблема, вроде, с тем, что по-дефолту не та кодировка, что надо. И это можно пофиксить через htacces как-то.

Неактивен

 

   #5
23.07.2012 10:32

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Да, это у вас сервер неправильный заголовок выдаёт. Посмотрите инфу по настройке htaccess, например, здесь: http://www.askapache.com/htaccess/setti … cess.html. Нужно выставить именно UTF-8.

Неактивен

 

   #6
28.07.2012 13:09

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

А почему пассажи, которые выводятся по [[+|] выводятся обязательно через три звёздочки? Можно это как-нибудь опционировать?

Отредактировано sosiskin (28.07.2012 13:26)

Неактивен

 

   #7
29.07.2012 14:10

Korwin
Гоблин, зеленый от недосыпа (+93, -7)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 765
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

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

Есть две истории. Как их соединить вместе, не переписывая параграф за параграфом?

Неактивен

 

   #8
29.07.2012 14:19

Евг
Участник (+154, -20)
Зарегистрирован: 13.04.2007
Сообщений: 517
Вебсайт

Neyðin kennir naktri konu að spinna.

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

Есть две истории. Как их соединить вместе, не переписывая параграф за параграфом?

Открыть в код блокноте и скопировать? :)

Неактивен

 

   #9
29.07.2012 17:12

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Штатно. Через кнопку загрузить/добавить. Читайте мануал.

Неактивен

 

   #10
29.07.2012 17:16

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

sosiskin написал:

А почему пассажи, которые выводятся по [[+|] выводятся обязательно через три звёздочки? Можно это как-нибудь опционировать?

Пока нет. Их отсутствие может запутать читателя, когда параграф длинный он может не понять что что-то произошло после нажатия на ссылку.

Неактивен

 

   #11
29.07.2012 20:10

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

По звёздочкам в итоге сделаю так. При нажатии на ссылку с + они добавляться не будут. А при использовании макроса actions - будут. Думаю, это всех устроит smile

Неактивен

 

   #12
03.08.2012 12:56

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

В общем я уже сделал изменение переменных по нажатию ссылок. Но пришлось серьёзно перетрясти парсер. Надо теперь шлифануть и оттестировать.

Неактивен

 

   #13
05.08.2012 09:10

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Доступна новая версия 0.8.5. Подробности см. здесь: http://forum.ifiction.ru/viewtopic.php?pid=24471#p24471

Неактивен

 

   #14
12.08.2012 17:50

laralenne
Участник
Зарегистрирован: 12.08.2012
Сообщений: 3

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

Здравствуйте! Во время очередного тестирования проекта открылась пустая веб-страница. Как-будто пустой проект! Меню сверху было отображено. Писалась книга на версии программы 0.9. Сегодня попыталась открыть и протестировать в версии 0.9.6. Результат  тот же. Браузер - Firefox.
Автор хватается за сердце... Подскажите, что это может быть?sad

Неактивен

 

   #15
12.08.2012 18:46

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Скиньте мне файл, который пытаетесь открыть. Это единственный вариант найти причину. Я напишу вам в личку мой e-mail.

Неактивен

 

   #16
15.08.2012 21:49

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Доступна релизная версия 1.0. Подробности здесь: http://forum.ifiction.ru/viewtopic.php?pid=24600#p24600

Неактивен

 

   #17
16.08.2012 03:17

SERJ
Участник
Зарегистрирован: 16.08.2012
Сообщений: 1

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

Приве. Спасибо за программу. У меня все идеально, но вот я не могу вставить иллюстрацию. Реально запутался. Подскажите пожалуйста как вставить иллюстрацию

Неактивен

 

   #18
16.08.2012 07:21

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Если из интернета, то просто укажите ссылку на неё.
Если с вашего диска, то скопируйте её туда же, где сохранён Ваш файл истории и просто укажите её имя.

Неактивен

 

   #19
19.08.2012 17:01

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

1. Можно ли присваивать имя одной переменной - другой переменной? Например, $объект1 = $объект2
Просто при написании обширной работы заготовки текста удобно хранить в библиотеке с индексами, и при надобности просто присваивать нужное название переменной.

2. Можно ли в конце названия параграфа присваивать не одну, а несколько переменных? [[Текст, который будет виден | Название параграфа {$объект1 = выражение1; $объект2 = выражение2}]]

Неактивен

 

   #20
19.08.2012 17:57

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

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

1. точно да
2. вроде тоже да
А вообще чего не проверишь?

Отредактировано Flash (19.08.2012 17:57)

Неактивен

 

   #21
19.08.2012 18:28

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Цитирую руководство:

Можно изменять значения нескольких объектов сразу:
{$объект1=25} {$объект2='Кирпич'} {$объект3=$объект1+10}

Неактивен

 

   #22
19.08.2012 23:05

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

DoubleDragon написал:

Цитирую руководство:

Можно изменять значения нескольких объектов сразу:
{$объект1=25} {$объект2='Кирпич'} {$объект3=$объект1+10}

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

Вот я по звуку хотел спросить в частности:
Звук по умолчанию играет один раз, или в цикле?
Ну, там может какой-нибудь <<cycle_sound>> макрос есть, чтоб файлик в петле игрался.

Второе - поддерживается ли OGG? У него на малых битрейтах компрессия лучше звучит, чем у МР3, и можно супермаленькими файлами оперировать, трафик мобильный экономя, опять же.

Неактивен

 

   #23
19.08.2012 23:16

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Звук в цикле играет. OGG поддерживается. Более того, для совместимости со всеми браузерами необходимо, чтобы имелись и OGG и MP3 файлы. Они должны иметь одинаковое имя и лежать в одной папке.

Неактивен

 

   #24
20.08.2012 23:07

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

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

Например:
=========================
ТЕКСТ


[[+Первая.. | о_заводе {$пролог = 1}]]

<<if $пролог eq 1>>
[[+Вторая... | о_заводе {$пролог = 3}]]
<<endif>>


[[+Третья... | о_заводе {$пролог = 2}]]


========================

При нажатии на первую ссылку у меня появляется в локации текст и параграф становится равен 1. Но вторая ссылка не становится видимой, хотя условие выполняется.

Неактивен

 

   #25
21.08.2012 03:45

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

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

вторая ссылка не становится видимой, хотя условие выполняется.

но стоп, условие же находится внутри цикла if-then-endif, как же оно выполнится, если условие для его выполнения не выполнено?

Неактивен

 

   #26
21.08.2012 08:13

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

sosiskin написал:

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

вторая ссылка не становится видимой, хотя условие выполняется.

но стоп, условие же находится внутри цикла if-then-endif, как же оно выполнится, если условие для его выполнения не выполнено?

Почему не выполнено? Я нажимаю на первую ссылку, там у меня смена значения объекта (пролог=1) и условие становится выполненным. А вторая ссылка все равно не появляется.

Неактивен

 

   #27
21.08.2012 08:32

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Не выполнено, потому что при нажатии на первую ссылку, вы передаёте управлению параграфу, на который ведёт ссылка. В данном случае на параграф "о_заводе".

Неактивен

 

   #28
21.08.2012 09:07

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

DoubleDragon написал:

Не выполнено, потому что при нажатии на первую ссылку, вы передаёте управлению параграфу, на который ведёт ссылка. В данном случае на параграф "о_заводе".

А как сделать, чтобы выполняло тогда? В параграфе "о_заводе" нужно менять значение переменной?

Неактивен

 

   #29
21.08.2012 10:46

Ajenta
Участник (+240, -60)
Зарегистрирован: 03.05.2009
Сообщений: 501
Вебсайт

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

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

DoubleDragon написал:

Не выполнено, потому что при нажатии на первую ссылку, вы передаёте управлению параграфу, на который ведёт ссылка. В данном случае на параграф "о_заводе".

А как сделать, чтобы выполняло тогда? В параграфе "о_заводе" нужно менять значение переменной?

А параграф с кодом как называется "о_заводе"? Или это другой параграф?

Неактивен

 

   #30
21.08.2012 12:16

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

Это другой.

Неактивен

 

   #31
21.08.2012 13:32

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

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

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

А как сделать, чтобы выполняло тогда? В параграфе "о_заводе" нужно менять значение переменной?

Даже если поменять значение переменной в параграфе "о_заводе", результат будет тем же. А все потому, что описание завода добавляется к текущему параграфу, который был сформирован при старом значении переменной, и с тех пор не обновлялся.

Как вариант, можно вместе с частью описания завода выводить и дополнительную ссылку на продолжение описания:

Код:

параграф "о_заводе"
<<if $пролог eq 1>>
Это большой завод.
[[+Хочу знать больше|о_заводе {$пролог = 2}]]
<<elseif $пролог eq 2>>
У него есть высокая труба.
[[+Хочу знать больше|о_заводе {$пролог = 3}]]
<<elseif $пролог eq 3>>
Верх трубы теряется в облаках... или это дым?
<<endif>>

Не проверял, но по идее должно работать.

Неактивен

 

   #32
21.08.2012 15:46

Ajenta
Участник (+240, -60)
Зарегистрирован: 03.05.2009
Сообщений: 501
Вебсайт

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

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

Это другой.

Я бы просто перенесла действие с условием в локу о_заводе

Неактивен

 

   #33
21.08.2012 22:57

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

а кстати, циклы внутри циклов поддерживаются?
ну, в смысле, можно писать внутри одного <<if>> <<endif>> другие такие же циклы?

Неактивен

 

   #34
21.08.2012 23:23

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

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

Это не циклы, а так да.

Неактивен

 

   #35
26.08.2012 16:55

vinurd
Участник
Зарегистрирован: 25.08.2012
Сообщений: 19

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

третий  день  бьюсь, не могу  понять ,как работают объекты. мне надо сделать например непроходимые двери  пока не найдешь ключ.  и после того как ключ взят на другой странице дверь рабочая ссылка это можно наглядно как нибудь сделать. виде примера. очень надо сделать

Неактивен

 

   #36
26.08.2012 17:36

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

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

Простейший пример:

Код:

###параграф "Комната 1"###
Вы видите дверь.
<<if $ключ>>
Дверь заперта, но, к счастью, у Вас есть ключ.
[[Открыть дверь|Комната 2]]
<<else>>
Похоже, без ключа эту дверь не откроешь.
[[Глянуть под ковриком|Коврик]]
<<endif>>

###параграф "Коврик"###
Под ковриком Вы нашли ключ.
<<set $ключ = 1>>
[[Вернуть коврик на место|Комната 1]]

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

Неактивен

 

   #37
26.08.2012 19:08

vinurd
Участник
Зарегистрирован: 25.08.2012
Сообщений: 19

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

хм у меня при входе  в комнату1  все белое ни текста ни чего

Неактивен

 

   #38
26.08.2012 19:14

vinurd
Участник
Зарегистрирован: 25.08.2012
Сообщений: 19

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

аа все огромное спасибо. ендиф не поставил.

Неактивен

 

   #39
27.08.2012 05:05

vinurd
Участник
Зарегистрирован: 25.08.2012
Сообщений: 19

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

Возможно ли сделать, чтобы носить инвентарь с собой? чтобы использывать его с определенной целю.  Например есть трещина в сырой стене, текст не выделен, ходим дальше по лакациям, находим кирку-она срабатывает не как ключ, а только если игрок в определенном месте ее выбрит. Вообще было бы здорово если бы уже профи выложили примеры разных хитростей в игре, это бы помогло всем. Да и создавать интереснее.

Неактивен

 

   #40
27.08.2012 10:29

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

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

Я делаю инвентарь примерно так. Есть специальный параграф "StoryMenu", там делаем ссылку с плюсом на параграф "Инвентарь", в котором выводим перечень предметов. Каждый предмет - тоже ссылка с плюсом, которая ведет на параграф описания предмета, а также доступных действий с этим предметом.

Код:

:: StoryMenu
[[+Инвентарь]]

:: Инвентарь
<<set $n = 0>>
У Вас в кармане: <<if $кирка>><<set $n++>>[[+кирка]]<<endif>><<if $топор>><<if $n gt 0>>, <<endif>><<set $n++>>[[+топор]]<<endif>><<if $золото gt 0>><<if $n gt 0>>, <<endif>><<set $n++>>[[+золотые монеты]] (<<print $золото>> шт.)<<endif>><<if $n eq 0>>ничего нет<<endif>>.

:: кирка
Старая ржавая кирка.
[[+Чистить кирку]]
<<if $трещина and !($стена_сломана)>>
[[Долбить стену с трещиной|Стена с трещиной {$стена_сломана = 1}]]
<<endif>>

:: Стена с трещиной
Вы в заброшенной штольне.
<<if $стена_сломана>>
В сырой стене теперь есть проход.
[[Лезть в проход {$трещина = 0}]]
<<else>>
<<set $трещина = 1>>
В глаза бросается трещина в сырой стене.
<<endif>>
[[Уйти|Выход из пещеры {$трещина = 0}]]

Вот и всё, пробуйте. Осталось только на какой-нибудь локации найти кирку, т.е. присвоить $кирка = 1. В инвентаре можно заметить переменную $n. Она считает имеющиеся предметы, чтобы дописывать запятые, если предметов больше 1 и вставить надпись "ничего нет", если число предметов = 0. А насчёт разных хитростей в игре, то, я думаю, профи их выложат, но после конкурса. wink

Неактивен

 

   #41
27.08.2012 11:17

vinurd
Участник
Зарегистрирован: 25.08.2012
Сообщений: 19

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

офигеть, спасибо, буду разбираться.

Неактивен

 

   #42
27.08.2012 11:40

vinurd
Участник
Зарегистрирован: 25.08.2012
Сообщений: 19

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

хм все сделал чет в кармане все пусто.

Неактивен

 

   #43
27.08.2012 11:52

vinurd
Участник
Зарегистрирован: 25.08.2012
Сообщений: 19

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

Получилось , но все это очень закручено, сделаю раз сто может пойму что да как. Огромнейшее спасибо. Очень ценный совет.

Неактивен

 

   #44
27.08.2012 12:24

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

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

Пожалуйста. На самом деле все просто. Для каждой вещи в инвентаре добавляйте блок:

<<if $предмет gt 0>><<if $n gt 0>>, <<endif>><<set $n++>>[[+предмет]] (<<print $предмет>> шт.)<<endif>>

Это в общем случае, если экземпляров данного предмета может быть несколько. Т.о. переменная $предмет хранит количество.
Если немного поработать, можно описание инвентаря сделать более литературным. Например, если разных предметов у ГГ больше одного, то перед последним предметом вместо запятой можно поставить "и". Подскажу, что для этого сначала нужно посчитать количество разных предметов.

Кстати, повторяющиеся куски кода:

<<if $n gt 0>>, <<endif>><<set $n++>>

можно (и нужно) поместить в специальный параграф, назовем его, "Инв", который потом вызывать макросом <<display 'Инв'>> :

<<if $предмет gt 0>><<display 'Инв'>>[[+предмет]] (<<print $предмет>> шт.)<<endif>>

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

Неактивен

 

   #45
27.08.2012 13:15

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

<<set $n++>> - это что, инкремент переменной на единицу? я о двух плюсиках нигде в хелпе не встречал упоминаний.

Неактивен

 

   #46
27.08.2012 13:24

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

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

sosiskin написал:

<<set $n++>> - это что, инкремент переменной на единицу? я о двух плюсиках нигде в хелпе не встречал упоминаний.

Совершенно верно. Эквивалентно <<set $n = $n + 1>>

Еще есть инкремент на произвольную величину: <<set $n+=5>>

Теоретически должен работать синтаксис JavaScript. Нужно спросить у DoubleDragon.

Неактивен

 

   #47
27.08.2012 13:31

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Работает. Кроме $n--.

Неактивен

 

   #48
28.08.2012 03:06

vinurd
Участник
Зарегистрирован: 25.08.2012
Сообщений: 19

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

Morych написал:

Пожалуйста. На самом деле все просто. Для каждой вещи в инвентаре добавляйте блок:

<<if $предмет gt 0>><<if $n gt 0>>, <<endif>><<set $n++>>[[+предмет]] (<<print $предмет>> шт.)<<endif>>

Это в общем случае, если экземпляров данного предмета может быть несколько. Т.о. переменная $предмет хранит количество.
Если немного поработать, можно описание инвентаря сделать более литературным. Например, если разных предметов у ГГ больше одного, то перед последним предметом вместо запятой можно поставить "и". Подскажу, что для этого сначала нужно посчитать количество разных предметов.

Кстати, повторяющиеся куски кода:

<<if $n gt 0>>, <<endif>><<set $n++>>

можно (и нужно) поместить в специальный параграф, назовем его, "Инв", который потом вызывать макросом <<display 'Инв'>> :

<<if $предмет gt 0>><<display 'Инв'>>[[+предмет]] (<<print $предмет>> шт.)<<endif>>

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

Отредактировано vinurd (28.08.2012 03:09)

Неактивен

 

   #49
28.08.2012 10:12

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

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

vinurd написал:

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

Это, скорее, сниппеты нежели макросы. Написал про них в тему предложений.

Неактивен

 

   #50
01.10.2012 13:21

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

Подскажите, как сделать такую вещь, чтобы при вставке текста из другой локации, он бы не переносился на новую строку.

Пример:

#1

Стрелка указывает на <<display '2'>>

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

Неактивен

 

   #51
01.10.2012 14:59

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

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

Нужно просто в одну строку вытянуть код в параграфе 2:

Код:

<<if $var eq 1>>1<<else>>2<<endif>>

Неактивен

 

   #52
01.10.2012 15:05

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

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

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

Подскажите, как сделать такую вещь, чтобы при вставке текста из другой локации, он бы не переносился на новую строку.

Пример:

#1

Стрелка указывает на <<display '2'>>

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

Все условия в параграфе 2 пишите в одну строку и убедитесь, что весь текст параграфа не содержит ни одного перевода строки:

<<if $strelka eq 0>>север<<elseif $strelka eq 1>>восток<<elseif $strelka eq 2>>юг<<else>>запад<<endif>>

UPD: Flash меня опередил smile

Отредактировано Morych (01.10.2012 15:08)

Неактивен

 

   #53
01.10.2012 15:45

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

О, спасибо )

Кстати, я поняла, какую фишку я еще хочу.
Чтобы в ссылках добавдляющих (+) была возможность обновлять текущий параграф (аналогия gs на  qsp). А то приходится создавать еще один лишний параграф и действия.

Отредактировано Вета (01.10.2012 15:46)

Неактивен

 

   #54
01.10.2012 16:03

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

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

А зачем нагружать сильно один параграф, хотя с костылями можно сделать то, что ты хочешь.

Неактивен

 

   #55
01.10.2012 16:40

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

О! еще непонятки есть

#книги_з1

Ряды книг

[[+Взять книгу|книги_з1]]

<<if $книга neq 1 and $часы_з1 eq 1>>

Нужно взять книгу

<<set $книга = 1>>

<<else>>

Книга не нужна

<<endif>>

===========================

Соль в том,то даже если я не нажимаю "Взять книгу", он мне уже отображает условия (читайте - обновляет локацию). Дополнительную локацию создавать не хочу, их итак много. Как теперь сделать так, чтобы локация не обновлялась, пока не нажмешь действие.

Неактивен

 

   #56
01.10.2012 17:07

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

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

Очень непонятно вопрос сформулирован.

Неактивен

 

   #57
01.10.2012 18:01

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

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

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

Соль в том,то даже если я не нажимаю "Взять книгу", он мне уже отображает условия (читайте - обновляет локацию). Дополнительную локацию создавать не хочу, их итак много. Как теперь сделать так, чтобы локация не обновлялась, пока не нажмешь действие.

Обработка кода не заканчивается на ссылках. Поэтому при первом же входе в локацию, пишется "Ряды книг", ниже ссылка "Взять книгу" и далее текст из условия. Поскольку стоит else в условии, а не elseif, то в любом случае какой-то текст из условия напишется. На самом деле локация не обновлялась, просто код выполнился до конца.

А что нужно сделать? Чтобы описание локации и собирание предметов были в одном параграфе? Если так, то можно использовать передачу параметра при переходе:

Код:

#книги_з1
<<if !($take)>>
     #просто описание
     Ряды книг
     [[+Взять книгу|книги_з1 {$take = 1}]]
<<elseif $take eq 1>>
     #действие с книгой
     <<if $книга neq 1 and $часы_з1 eq 1>>
          Нужно взять книгу
          <<set $книга = 1>>
     <<else>>
          Книга не нужна
     <<endif>>
<<endif>>

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

Неактивен

 

   #58
01.10.2012 19:22

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

Morych написал:

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

Соль в том,то даже если я не нажимаю "Взять книгу", он мне уже отображает условия (читайте - обновляет локацию). Дополнительную локацию создавать не хочу, их итак много. Как теперь сделать так, чтобы локация не обновлялась, пока не нажмешь действие.

Обработка кода не заканчивается на ссылках. Поэтому при первом же входе в локацию, пишется "Ряды книг", ниже ссылка "Взять книгу" и далее текст из условия. Поскольку стоит else в условии, а не elseif, то в любом случае какой-то текст из условия напишется. На самом деле локация не обновлялась, просто код выполнился до конца.

А что нужно сделать? Чтобы описание локации и собирание предметов были в одном параграфе? Если так, то можно использовать передачу параметра при переходе:

Код:

#книги_з1
<<if !($take)>>
     #просто описание
     Ряды книг
     [[+Взять книгу|книги_з1 {$take = 1}]]
<<elseif $take eq 1>>
     #действие с книгой
     <<if $книга neq 1 and $часы_з1 eq 1>>
          Нужно взять книгу
          <<set $книга = 1>>
     <<else>>
          Книга не нужна
     <<endif>>
<<endif>>

А когда второй раз в локацию зайдешь, он разве все не отобразит опять? Мне действия с книгой нужно чтобы появлялись, когда у меня в другой локации там сработает переменная часы_з1. В общем, так и так делать еще одну локацию. Печалька.

Отредактировано Вета (01.10.2012 19:22)

Неактивен

 

   #59
01.10.2012 19:37

kerber
Участник (+37, -24)
Зарегистрирован: 20.09.2012
Сообщений: 115

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

Упс. neutral

Отредактировано kerber (01.10.2012 21:46)

Неактивен

 

   #60
01.10.2012 21:36

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

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

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

А когда второй раз в локацию зайдешь, он разве все не отобразит опять? Мне действия с книгой нужно чтобы появлялись, когда у меня в другой локации там сработает переменная часы_з1. В общем, так и так делать еще одну локацию. Печалька.

Главное без паники! Со всем разберемся! smile

Давай всё же определимся с задачей для ясности. Есть локация с описанием. На ней валяется предмет, который можно взять (если он не взят) и только при срабатывании какой-то переменной (в другой локации). В этом случае к описанию добавляется фраза о необходимости взять предмет и ссылка-действие. При подборе предмета также выводится соответствующая фраза, добавляясь к описанию. Самое главное - всё это должно быть втиснуто в один параграф. Верно? Если нет, поправь. Тогда код параграфа:

Код:

<<if !($take)>>
    #по умолчанию выполняется это условие, покажем описание:
    Внезапно, ряды книг! Тысячи их!
    #и добавим к описанию ещё строчку и, возможно, ссылку:
    <<if $часы_з1 eq 1 and $книга eq 0>>
        #часы сработали и книг при себе нет:
        Нужно [[+взять книгу|книги_з1 {$take = 1}]]!
    <<else>>
        #иначе:
        Книга не нужна.
    <<endif>>
    [[Покинуть локацию|start]]
<<elseif $take eq 1>>
    #перешли по +ссылке в эту же локу, но с другим значением параметра take:
    Вы берёте книгу.
    <<set $книга = 1>>
    #на всякий случай обнулим take
    <<set $take = 0>> 
<<endif>>

В стартовой локации не забудь инициализировать переменную <<set $книга = 0>>

Неактивен

 

   #61
01.10.2012 22:13

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

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

kerber, в твоём варианте, если часы не сработали, при нажатии на ссылку - она станет недоступной, но к описанию локации ничего не добавится.

Ой, уже удолил smile

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

Неактивен

 

   #62
02.10.2012 08:27

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

Спасибо, Морич, да как-то так. Дальше буду думкать smile

Неактивен

 

   #63
02.10.2012 09:37

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

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

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

Спасибо, Морич, да как-то так. Дальше буду думкать smile

"Морич" - это по-буржуйски. Всё прогрессивное человечество говорит "Мóрыч" smile
Ну, если что, обращайся.

Неактивен

 

   #64
02.10.2012 15:51

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

Кстати, еще вопрос по аудио.
1. Можно ли вставлять мелодии в переходах (как объекты)?
2. Можно ли вставлять аудио из папки с игрой или только с сайта?

Неактивен

 

   #65
02.10.2012 16:49

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

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

1. в справке об этом ни слова
2. нет, что странно

Неактивен

 

   #66
02.10.2012 16:59

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

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

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

Кстати, еще вопрос по аудио.
1. Можно ли вставлять мелодии в переходах (как объекты)?
2. Можно ли вставлять аудио из папки с игрой или только с сайта?

Мелодию можно запустить как из интернета:
[[File: http://sm.axmasoft.com/rsc/kr.mp3]]
так и с диска (проверено):
[[File: music\kr.mp3]] - в папке с игрой есть папка music, в которой лежит файл.
(Точно такая же ситуация с картинками.)
В переходах можно вставлять только переменные. Но зато можно сделать так:

Код:

:: Аудио 
<<if $music eq 0>>
    [[File: music\mus0.mp3]]
<<elseif $music eq 1>>
    [[File: music\mus1.mp3]]
<<endif>>

и вызывать эту локацию по разному: [[Музыка 0|Аудио {$music = 0}]] или [[Музыка 1|Аудио {$music = 1}]]

Неактивен

 

   #67
02.10.2012 17:05

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Подтверждаю слова Morych о том, что музыка вставляется также, как и картинки.

Неактивен

 

   #68
02.10.2012 18:01

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

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

У меня почему-то не пашет.

Неактивен

 

   #69
02.10.2012 18:47

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Flash написал:

У меня почему-то не пашет.

Чтобы разобраться с проблемой, нужен конкретный пример, где не работает.

Неактивен

 

   #70
02.10.2012 19:11

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

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

До своего поста в 16:49 сделал точно так же как и в примере Морыча.

Неактивен

 

   #71
02.10.2012 19:20

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

ОС какая? Windows, Linux, OS X? Русские буквы в пути есть? Файл истории был сохранён?

Неактивен

 

   #72
02.10.2012 20:35

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

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

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

Неактивен

 

   #73
02.10.2012 20:47

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

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

Файл истории - *.sm, т.е. asm-проект.

Неактивен

 

   #74
02.10.2012 21:05

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

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

Нет, нету его.

Неактивен

 

   #75
02.10.2012 21:12

kerber
Участник (+37, -24)
Зарегистрирован: 20.09.2012
Сообщений: 115

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

Насколько я понял, путь прописывается от файла asm-preview.html

Т.е. папка music должна лежать в папке Program Data.

Неактивен

 

   #76
02.10.2012 21:27

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Нет, так было раньше. Теперь путь выстраивается относительно сохранённого sm файла. А, ну ещё, если у вас Firefox, используйте ogg файл.

Неактивен

 

   #77
02.10.2012 22:07

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

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

kerber написал:

Насколько я понял, путь прописывается от файла asm-preview.html

Т.е. папка music должна лежать в папке Program Data.

Я сохранял в файл игру и путь верный был.

DoubleDragon написал:

Нет, так было раньше. Теперь путь выстраивается относительно сохранённого sm файла. А, ну ещё, если у вас Firefox, используйте ogg файл.

У меня Opera.

Неактивен

 

   #78
02.10.2012 22:32

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Opera тоже mp3 не умеет. В руководстве написано, что надо класть оба файла - mp3 и ogg с одинаковым именем в одну папку. Тогда будет работать везде.

Неактивен

 

   #79
03.10.2012 12:12

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

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

Так заработало.

Неактивен

 

   #80
14.10.2012 20:22

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

Подскажите, пожалуйста, как попроще сделать комбинирование предметов в инвентаре друг с другом. А то у меня получается с кучей параграфов на каждый предмет.

Неактивен

 

   #81
15.10.2012 09:57

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

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

Вета, ты хочешь предоставить возможность игроку любой предмет попытаться соединить с любым другим? А стоит ли это делать, если в большинстве случаев мы увидим что-то вроде "Вы попытались соединить X и Y, но ничего не вышло"? Или большинство предметов у тебя как раз комбинируемые? Опиши, как ты хочешь, чтобы это выглядело? Может так: при выборе предмета инвентаря, после описания предмета есть ссылка "комбинировать...", при нажатии на которую выводится список предметов (кроме того, который соединяем). При выборе второго предмета переходим на параграф результата соединения. Попробую что-нибудь придумать. Но проще всего так, как, скорее всего, делаешь ты smile Только кучу параграфов можно всегда объединить благодаря передаче параметра.

Неактивен

 

   #82
15.10.2012 10:58

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

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

Пример комбинирования двух предметов инвентаря

Код:

:: Start[::]22-45-0
<<set $кирка = 1>>
<<set $топор = 1>>
<<set $золото = 1>>


:: StoryMenu[::]623-10-0
[[+Инвентарь {$item1 = 0}]]


:: Инвентарь[::]580-299-0
<<set $n = 0>>
<<if $item1 eq 0>> У Вас в кармане: <<else>> Выберите второй предмет: <<endif>><<if $кирка gt 0 and $item1 neq 1>><<display Запятая>>[[+кирка]]<<endif>><<if $топор gt 0 and $item1 neq 2>><<display Запятая>>[[+топор]]<<endif>><<if $золото gt 0 and $item1 neq 3>><<display Запятая>>[[+золотые монеты]] (<<print $золото>> шт.)<<endif>><<if $n eq 0>>ничего нет<<endif>>.


:: Запятая[::]792-216-0
<<if $n gt 0>>, <<endif>><<set $n++>>


:: кирка[::]720-503-0
#номер предмета = 1
<<if $item1 eq 0>>
    Старая ржавая кирка.
    <<if $n gt 1>>[[+комбинировать с...|инвентарь {$item1 = 1}]]<<endif>>
<<elseif $item1 eq 2>>
    Взяв в одну руку кирку, а в другую топор, вы представили себя рудокопом-лесорубом.
<<elseif $item1 eq 3>>
    Размахнувшись киркой, вы пробили отверстие в золотой монетке. Теперь можно повесить её на шею.
<<endif>>
<<if $item1 gt 0>> <<set $item1 = 0>> <<endif>>


:: топор[::]864-504-0
#номер предмета = 2
<<if $item1 eq 0>>
    Настоящий топор лесоруба.
    <<if $n gt 1>>[[+комбинировать с...|инвентарь {$item1 = 2}]]<<endif>>
<<elseif $item1 eq 1>>
    <<set $item1 = 2>>
    <<display кирка>>
<<elseif $item1 eq 3>>
    Ловко орудуя топором, вы разрубили все ваши монеты пополам. Теперь у вас в два раза больше золота.
    <<set $золото = $золото * 2>>
<<endif>>
<<if $item1 gt 0>> <<set $item1 = 0>> <<endif>>


:: золотые монеты[::]1008-504-0
#номер предмета = 3
<<if $item1 eq 0>>
    Монеты из чистого золота.
    <<if $n gt 1>>[[+комбинировать с...|инвентарь {$item1 = 3}]]<<endif>>
<<elseif $item1 eq 1>>
    <<set $item1 = 3>>
    <<display кирка>>
<<elseif $item1 eq 2>>
    <<set $item1 = 3>>
    <<display топор>>
<<endif>>
<<if $item1 gt 0>> <<set $item1 = 0>> <<endif>>

Неактивен

 

   #83
15.10.2012 11:30

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

Хм... Я пока никак не делаю, я себе это мысленно представила. Такие вещи на АКСМЕ пока сложно реализуются, честно говоря.
Я вот думаю, как мне условия сделать в зависимости от нахождения игрока на локации, но, кажется, придумала. )

Неактивен

 

   #84
15.10.2012 11:56

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

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

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

Такие вещи на АКСМЕ пока сложно реализуются, честно говоря.

Приведённый выше код сложен? smile Можно по-другому: в параграфе описания предмета перечислить вручную все возможные действия с этим предметом (ссылка ведущая на этот же параграф, но с другим параметром, для уменьшения числа параграфов). Преимущество этого метода: действия будут оформлены более литературно.

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

Я вот думаю, как мне условия сделать в зависимости от нахождения игрока на локации, но, кажется, придумала. )

Интересно, как?

Неактивен

 

   #85
15.10.2012 17:01

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

Morych написал:

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

Такие вещи на АКСМЕ пока сложно реализуются, честно говоря.

Приведённый выше код сложен? smile Можно по-другому: в параграфе описания предмета перечислить вручную все возможные действия с этим предметом (ссылка ведущая на этот же параграф, но с другим параметром, для уменьшения числа параграфов). Преимущество этого метода: действия будут оформлены более литературно.

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

Я вот думаю, как мне условия сделать в зависимости от нахождения игрока на локации, но, кажется, придумала. )

Интересно, как?

Задавать на каждой локации $curloc='название_локации'

А потом в инвентаре делать условие.

if $curloc='Беседка': дейтвие1

if $curloc='Дом': дейтвие2

Надеюсь, так будет работать... Если "нет", Драгону срочно надо сделать ))

Отредактировано Вета (15.10.2012 17:01)

Неактивен

 

   #86
15.10.2012 18:15

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

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

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

if $curloc='Дом': дейтвие2

Надеюсь, так будет работать... Если "нет", Драгону срочно надо сделать ))

Вот так точно будет работать:

<<if $curloc eq 'Дом'>> [[+дейтвие2]] <<endif>>

Надо предложить Драгону сделать конвертер QSP --> ASM wink

Неактивен

 

   #87
15.10.2012 19:41

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Пятнишный пост.
Лучше просто и по-русски -- "Дракон". Есть физические причины иметь такой ник. "Драгон", как и "Морич" -- слишком по-имперски wink

Неактивен

 

   #88
15.10.2012 20:39

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

Morych написал:

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

if $curloc='Дом': дейтвие2

Надеюсь, так будет работать... Если "нет", Драгону срочно надо сделать ))

Вот так точно будет работать:

<<if $curloc eq 'Дом'>> [[+дейтвие2]] <<endif>>

Надо предложить Драгону сделать конвертер QSP --> ASM wink

Ну да. Просто я помню кусповую конструкцию лучше ))

Отредактировано Вета (16.10.2012 11:13)

Неактивен

 

   #89
17.10.2012 19:40

Debyr
Участник
Зарегистрирован: 17.10.2012
Сообщений: 8

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

Подскажите, пожалуйста, а сколько максимум может быть локаций в программе? smile Или неограниченно?
И близкий вопрос: размер "рабочего стола", то есть поля, в котором находятся древа и ветки параграфов и переходов - неизменен? То есть, если делать игру с тысячами локаций, придётся параграфы визуально перетаскивать друг на друга, что бы вместились в этом поле? Или поле будет автоматически расширяться?  Или можно как-то руками изменить его размер?

Неактивен

 

   #90
17.10.2012 19:50

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Количество параграфов неограничено.
Размер "Рабочего стола" пока изменять нельзя.
Если у вас очень много параграфов, например, более тысячи, воспользуйтесь функцией расстановки. Параграфы будут уплотнены.  Можете написать мне личное сообщение, если имеете трудности с работой программы.

Неактивен

 

   #91
17.10.2012 20:02

Debyr
Участник
Зарегистрирован: 17.10.2012
Сообщений: 8

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

Значит, планируется изменение размеров? smile Это было бы замечательно smile Если предложения по этому изменению не было, то вношу smile Кстати, а почему бы не сделать функцию очень сильного уменьшения окошек параграфов? Буквально маленький квадратик, выбранного цвета, в котором ничего кроме названия параграфа мелким шрифтом. Очень бы пригодилось для общего охвата карты локаций, а то сейчас уменьшаются незначительно.

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

А максимальное количество знаков в одном параграфе не планируется увеличивать выше 20к ?

Неактивен

 

   #92
18.10.2012 05:10

Debyr
Участник
Зарегистрирован: 17.10.2012
Сообщений: 8

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

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

Неактивен

 

   #93
18.10.2012 09:39

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

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

Неактивен

 

   #94
18.10.2012 10:03

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

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

Debyr написал:

... но есть идея для одного проекта...

И этот проект "Война и мир 2: Интерактивная версия" smile

Ручной ввод -- это, наверно, возможность ввода какого-либо текста игроком в текстовом поле или в инпут боксе. Не иначе, чтобы организовать парсер smile

Неактивен

 

   #95
18.10.2012 10:30

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

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

Текстовый ввод нужен не только для парсера (например, ввод имени, а у меня в игре есть сейф, например), а для парсера и не обязателен текстовй ввод (бывают игры где нужно выбирать глаголы и существительные из готового списка).

Неактивен

 

   #96
18.10.2012 10:50

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

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

Я как раз хотел предложить использовать текстовый ввод по методу Флэша (при помощи "экранной клавиатуры"), если мы верно истолковали термин "ручной ввод".

Неактивен

 

   #97
18.10.2012 11:05

Серый Волк
Модератор (+668, -53)
Откуда: Тверь
Зарегистрирован: 22.02.2008
Сообщений: 967
Вебсайт

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

Flash написал:

... для парсера и не обязателен текстовый ввод ...

Как раз таки обязателен. "Парсерная игра" эта ввод игроком команд вручную с клавиатуры. Выбор вариантов действий из готового списка, как и составление команды из готовых списков глаголов и существительных, называть "парсером", мягко говоря, не совсем корректно.
http://ifwiki.ru/Парсер
http://ifwiki.ru/Категория:Парсерные_платформы

Неактивен

 

   #98
18.10.2012 12:03

zerrr
Участник (+20, -5)
Откуда: Красноярск
Зарегистрирован: 20.11.2005
Сообщений: 567

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

Серый Волк написал:

Flash написал:

... для парсера и не обязателен текстовый ввод ...

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

Парсинг подразумевает синтаксический анализ введеного текста. Как именно он будет вводиться вообщем-то по барабану. В играх Legend (Eric the Unready, Gataway) была возможность выбора необходимых глаголов и существительных   из меню.

http://img65.imageshack.us/img65/3232/gateway12ae.gif

Отредактировано zerrr (18.10.2012 12:06)

Неактивен

 

   #99
18.10.2012 12:43

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

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

Morych написал:

Я как раз хотел предложить использовать текстовый ввод по методу Флэша (при помощи "экранной клавиатуры"), если мы верно истолковали термин "ручной ввод".

Этот метод явно не мой, он был еще во всяких jRPG в 80х годах на консолях, а, мб, и где-то еще раньше.

Отредактировано Flash (18.10.2012 14:59)

Неактивен

 

   #100
18.10.2012 13:11

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

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

Это да, но ты первый продемонстрировал реализацию (код) метода для асмоигры.

Неактивен

 

   #101
18.10.2012 14:05

Серый Волк
Модератор (+668, -53)
Откуда: Тверь
Зарегистрирован: 22.02.2008
Сообщений: 967
Вебсайт

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

Поскольку вчера в ходе обсуждения на каналах топика "Адвентюры vs Квесты" я говорил Адженте, какой Zerrr молодец, и что я всецело согласен со всем, что он уже сюда написал и заранее готов подписаться под всем, что он скажет ещё... (какое отвратительно-длинное получается предложение)... то да, если брать распознование (синтаксический анализ) составленной из выбранных слов фразы и вывод на неё реакции - тогда по барабану. Но есть (даже у нас) игры, где ввод организован выбором констукции глагол+существительное, но синтаксический анализ никакой там не проводится, программа просто даёт отклик именно на это действие. Точно так же, как даёт отклик на нажатие кнопки в любой менюшной игре. Именно такие игры я имел в виду.

P.S. Не ясно только, почему три последних поста перенесены (как мне показалось) в эту ветку.
UPD. Вернулись.

Отредактировано Серый Волк (18.10.2012 15:37)

Неактивен

 

   #102
18.10.2012 14:37

zerrr
Участник (+20, -5)
Откуда: Красноярск
Зарегистрирован: 20.11.2005
Сообщений: 567

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

Форум чудит

Серый Волк написал:

P.S. Не ясно только, почему три последних поста перенесены (как мне показалось) в эту ветку.

Не показалось )) почему перенесли - без понятия.

Серый Волк написал:

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

Ясно. Приведенная чуть выше игра "звездное наследие" в этом странном топике и есть пример псевдопарсинга (если я правильно помню). А вот приведенная мной "Gateway" (если вдруг ты не в курсе) - это полноценный парсинг с возможностью использования меню.

Отредактировано zerrr (18.10.2012 14:58)

Неактивен

 

   #103
18.10.2012 15:35

Debyr
Участник
Зарегистрирован: 17.10.2012
Сообщений: 8

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

Нет, не Война и Мир 2, конечно же. Просто история Вселенной от Большого Взрыва до тепловой её смерти.

10000 скорее всего будет мало, и если не стоит менять размер окна, то как насчёт суперуменьшения иконок параграфов?

Ручной ввод, это, если хотите, ручное присвоение значения какой-то переменной. Например, тому же имени.

Сначала записывается, что существует такая-то переменная, затем через специальный оператор предлагается выбор, какое значением ему придать. Скажем, как-нибудь так:
<<set $name=>>
input $name

Где вторая строчка в игре проявится как поле для ввода значения. Игрок напишет, скажем, "Вася", и переменной $name присвоится значение "Вася".
Ну или может быть можно сделать автоматически, если у команды <<set $object=>> стоит равно и ничего после него, то это само по себе будет проявляться в игре предложением ввода? Или как-то так.

Пример, как это используется и работает, есть, скажем, в программке для текстовых квестов URQEdit. Там можно ещё и определять, является ли переменная текстовой, или циферной, или любой. И тогда, например, можно будет сделать, что в предложении ввести имя можно будет вводить только буквы, а в предложении ввести возраст - только цифры. Хорошо бы ещё придумать, как внести пределы, например, чтоб нельзя было написать возраст в 200 или 300 лет, а, например, только от 18 до 40.

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

Неактивен

 

   #104
18.10.2012 15:45

Debyr
Участник
Зарегистрирован: 17.10.2012
Сообщений: 8

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

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

Неактивен

 

   #105
18.10.2012 15:46

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Debyr написал:

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

Нет, сейчас такого нет. Сделать, конечно, не очень сложно, но это потребует дополнительного тестирования. Поэтому до конца КРИЛ (15 ноября с. г.) не появится точно. А так да, можно подумать.

Неактивен

 

   #106
18.10.2012 15:50

Серый Волк
Модератор (+668, -53)
Откуда: Тверь
Зарегистрирован: 22.02.2008
Сообщений: 967
Вебсайт

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

Ручной ввод, это, если хотите, ручное присвоение значения какой-то переменной (с) Debyr
Вон оно что имелось в виду. А мы тут уже развели в сторону дебатов...

Зер, тоже ясно. Да, с "Gateway" я не знаком, а "Звёздное наследие", ты верно помнишь, как раз из "таких" smile

Неактивен

 

   #107
18.10.2012 16:01

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Большая просьба писать по теме. Для флейма есть другие темы.

Неактивен

 

   #108
18.10.2012 16:34

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

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

Debyr написал:

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

Изображения видны. Положите картинку в папку с файлом истории *.sm
И в тексте параграфа пишите [[File: yourimage.png]]

Неактивен

 

   #109
18.10.2012 17:28

Debyr
Участник
Зарегистрирован: 17.10.2012
Сообщений: 8

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

Нет, сейчас такого нет. Сделать, конечно, не очень сложно, но это потребует дополнительного тестирования. Поэтому до конца КРИЛ (15 ноября с. г.) не появится точно. А так да, можно подумать.

Ничего страшного, года два у вас есть в запасе smile

Кстати, этого вроде в урке нету, но тоже может понадобиться - переход по вписанным значениям... То есть, к примеру, выводится текст:

Вы видите комнату, здесь восемь дверей, какую хотите открыть?

И поле ввода, куда можно ввести цифры от 1 до 8. Ввёл число - попал в задуманный под единицей параграф. Даже можно будет один параграф сделать для всех восьми дверей, просто сделать проверку if, что если число было введено 1, то выдаёт такой текст, если число 3, другой, и так далее. Я имею ввиду, что и просто имея возможность ввода значения переменной, это можно замутить, но будет, скорее всего, сложно, а может это как-то упростить?

Если кратко, в целом интересен вариант свободного перемещения.. Скажем, выбираю я кнопками, на какую улицу придти.  А там поле ввода "дом:" и "квартира". И вводишь, например, значение Дом: 19, квартира 3, жмёшь кнопку (или щёлкаешь энтер, или что-то ещё), и оказываешься в параграфе с, так сказать, такими координатами. Или в с такими условиями, не суть важно. Главное, что требуется, это что бы такое было удобно написать, не путаясь при этом сильно в вариантах и не ломая голову, как хитро извернуться с задаванием и проверками переменных... Если такое получится - будет просто шикарно smile

И ещё, можно включить проверку числовых переменных в диапазоне? Скажем, у вас есть хп от 0 до 100, включаете посмотреть, сколько сейчас, а под числом комментарий, и например от 1 до 20 хп - пишет что "вы при смерти", если от 20 до 50 - "вы тяжело ранены", и так далее. А то не нашёл вроде как это можно замутить, есть ли такое?

Кроме того, как насчёт картинок на задний фон, над которым будет размещаться текст? Текст при этом можно сделать с тенью, что бы было видно на любом цвете, и не сливалось.

Неактивен

 

   #110
18.10.2012 17:42

Debyr
Участник
Зарегистрирован: 17.10.2012
Сообщений: 8

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

Morych написал:

Изображения видны. Положите картинку в папку с файлом истории *.sm
И в тексте параграфа пишите [[File: yourimage.png]]

О, благодарю... Предлагаю внести изменения в описание руководства и в самой программе, так как в руководстве написано "вставьте специальную ссылку, начинающуюся с префикса Файл: или File: и содержащую адрес изображения и его расширение. Поддерживаются форматы png, jpeg, gif."

И ведь это относится к изображениям, хранящимся на компе, и единственно верное, что можно понять, это что  нужно вставить собственно адрес, то есть указать путь, то есть написать, например "С:\хрень\картинки\ололо.jpg" и никак иначе. А оказывается, что нужно поместить картинку в одну папку с сейвом, и, видимо, хранить её там... Ведь это совсем отличается от написанного О,О а [[File: path_to_image.jpg]] тоже намекает на то, что нужно вписать сюда путь к файлу, хотя должно быть, выходит, написано что-то вроде "name_image" ?

Очень запутывает, я даже нервничал вчера по поводу, что всё делаю по инструкции, но ничего не получается sad

Кстати, ээ... А что, если я кому-то даю игру, я должен дать ему html файл, sm-сейв игры и изображения в одной с ним папке? В смысле, нельзя всё упаковать в один файл, что бы любому скинул файлик, он открыл, и увидел и изображения и музыку?

Неактивен

 

   #111
18.10.2012 17:53

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

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

А то не нашёл вроде как это можно замутить, есть ли такое?

<<if ($hp >= 20) and ($hp < 50)>>
вы тяжело ранены
<<elseif ($hp > 0) and ($hp < 20)>>
вы при смерти
#итд
<<endif>>

И поле ввода, куда можно ввести цифры от 1 до 8. Ввёл число - попал в задуманный под единицей параграф. Даже можно будет один параграф сделать для всех восьми дверей, просто сделать проверку if, что если число было введено 1, то выдаёт такой текст, если число 3, другой, и так далее. Я имею ввиду, что и просто имея возможность ввода значения переменной, это можно замутить, но будет, скорее всего, сложно, а может это как-то упростить?

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

А оказывается, что нужно поместить картинку в одну папку с сейвом

Не обязательно. Просто можно, да и нужно указывать относительный путь. Можно сунуть все картинки в папку с игрой и тогда нужно будет указывать [[File: имя_папки/название_файла.расширение]]

Кстати, ээ... А что, если я кому-то даю игру, я должен дать ему html файл, sm-сейв игры и изображения в одной с ним папке? В смысле, нельзя всё упаковать в один файл, что бы любому скинул файлик, он открыл, и увидел и изображения и музыку?

*.sm - исходник, его давать не надо. Можно и дать, но это ничего не даст другу при игре. Графику и музыку, как уже выше написано, можно поместить в отдельную папку в папке с игрой.

Отредактировано Flash (18.10.2012 17:54)

Неактивен

 

   #112
18.10.2012 18:07

Debyr
Участник
Зарегистрирован: 17.10.2012
Сообщений: 8

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

<<if ($hp >= 20) and ($hp < 50)>>
вы тяжело ранены
<<elseif ($hp > 0) and ($hp < 20)>>
вы при смерти
#итд
<<endif>>

Не знал, что так можно smile Спасибо

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

Ну так это же пример использования, а не пример, почему так будет преимущественней. Если хотите преимущества, я уже писал про улицы, например, на каждой из которых может быть по 10 домов и по 20 квартир в каждой.

Не обязательно. Просто можно, да и нужно указывать относительный путь. Можно сунуть все картинки в папку с игрой и тогда нужно будет указывать [[File: имя_папки/название_файла.расширение]]

Вот видите... Хорошо бы подробное внятное описание этого момента, а то приходится спрашивать, и даже в ответах не сразу все нюансы узнаешь о.о

Неактивен

 

   #113
18.10.2012 18:09

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

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

Если картинка лежит локально, на компьютере, то действительно надо указывать путь, но относительный, а не абсолютный. Можно, например, в папке с игрой (где sm) сделать папку "content", в которой сделать папку "images", где и будут лежать все изображения для игры. Тогда для вставки изображения пишем:

[[File: content\images\filename.jpg]]

Весь медиаконтент игры действительно нужно хранить в папке с игрой. Кстати, советую для каждой игры делать свою отдельную папку. Если у вас одна картинка используется в двух играх, скопируйте её в оба места. Тогда можно будет выдать товарищу папку с игрой (и там точно всё будет). Один файл можно получить путём архивации папки. smile Напомню, что у товарища должен быть установлен asm, чтобы скомпилировать историю у себя. Либо вы можете опубликовать игру в библиотеке и поделиться полученной ссылкой.

Неактивен

 

   #114
18.10.2012 18:36

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

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

Неактивен

 

   #115
18.10.2012 19:17

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

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

это необязательно. Можно просто опубликовать в html файл и передать его вместе с папкой картинок.

Неактивен

 

   #116
19.10.2012 10:26

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Доступна версия 1.4. Подробнее здесь: http://forum.ifiction.ru/viewtopic.php?pid=25372#p25372

Неактивен

 

   #117
25.10.2012 02:42

goraph
Участник (+150, -42)
Зарегистрирован: 16.04.2007
Сообщений: 404

Основная добродетель гражданина есть недоверие.

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

Не нашел в документации как сделать эпиграф (текст на правой части страницы).

Неактивен

 

   #118
25.10.2012 07:02

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Эпиграфа действительно нет, т.к. пока никто не просил. Предполагалось, что его можно вносить в параграф StorySubtitle. Но если нужно, сделаю.

Тогда возникает вопрос. Эпиграфов может быть несколько?
UPD. Или быть может просто добавить выравнивание текста по правому краю?

Неактивен

 

   #119
25.10.2012 07:43

Cheshire
Участник (+85, -6)
Зарегистрирован: 01.07.2009
Сообщений: 317

«Ловко орудуя топором, вы разрубили все ваши монеты пополам. Теперь у вас в два раза больше золота».
Морыч

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

DoubleDragon написал:

UPD. Или быть может просто добавить выравнивание текста по правому краю?

Универсальное решение — самое лучшее.

Отредактировано Cheshire (25.10.2012 07:43)

Неактивен

 

   #120
25.10.2012 08:26

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Согласен. Добавил кнопку выравнивания по правому краю. Будет доступно 1-го ноября в версии 1.5.

Неактивен

 

   #121
02.11.2012 14:13

Ajenta
Участник (+240, -60)
Зарегистрирован: 03.05.2009
Сообщений: 501
Вебсайт

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

Дракон, а скажи пожалуйста, какой шрифт используется в аксме сейчас?

Неактивен

 

   #122
02.11.2012 14:22

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Times.

Неактивен

 

   #123
02.11.2012 14:30

Ajenta
Участник (+240, -60)
Зарегистрирован: 03.05.2009
Сообщений: 501
Вебсайт

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

DoubleDragon написал:

Times.

Спасибо.

Неактивен

 

   #124
06.11.2012 22:32

Кельта
Участник (+4, -2)
Откуда: Екатеринбург
Зарегистрирован: 06.11.2012
Сообщений: 88

очень старательный чайник

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

Вы не представляете, насколько это полезная тема. Я сегодня три раза точно начинала писать сообщение а-ля "помогите, как же это сделать". Придумывала хорошее решение к пятому слову описания проблемы.
Спасибо за помощь в виде хорошего пинка соображалке.cool

Неактивен

 

   #125
07.11.2012 07:17

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Спасибо за добрые слова и добро пожаловать!

Неактивен

 

   #126
19.11.2012 18:55

Ergistal
Участник (+32, -3)
Откуда: Крым
Зарегистрирован: 25.05.2011
Сообщений: 134
Вебсайт

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

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

Ребят, нужна помощь.

Сразу скажу, вчера было всё нормально. Сегодня нечто изменилось (обновил версию до 1,6,1?). При компиляции и тестировании файла  ссылки на картинки исчезают, и в браузере не отображаются.

Картинка задана в файле таким образом:

[[File: pict\3.png]]

В браузере (Хром) преображается в такую ссылку
file:///C:/Monomach/pict/3.%20png

Вот эти самые %20 всё и портят.  Не пойму, откуда они берутся, но мешают.

Если кто в курсе, подскажите срочно пожалуйста.

Отредактировано Ergistal (19.11.2012 18:57)

Неактивен

 

   #127
19.11.2012 19:20

Cheshire
Участник (+85, -6)
Зарегистрирован: 01.07.2009
Сообщений: 317

«Ловко орудуя топором, вы разрубили все ваши монеты пополам. Теперь у вас в два раза больше золота».
Морыч

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

%20 — это пробел. Разработчик знает о проблеме: http://forum.ifiction.ru/viewtopic.php?pid=25920#p25920

Неактивен

 

   #128
19.11.2012 20:51

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Ошибку исправил. Качайте версию 1.6.2.

Неактивен

 

   #129
25.11.2012 18:46

kerber
Участник (+37, -24)
Зарегистрирован: 20.09.2012
Сообщений: 115

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

Подскажите пожалуйста, как организовать циклическую перестановку значений переменных по щелчку на ссылке.
Хочу сделать что-то типа плоского кубик - рубика 3х3:

|1||2||3|
|4||5||6|
|7||8||0|

Уф! Разобрался с перестановками:

Оказывается, при изменении значения нескольких объектов сразу в конструкции типа:

Код:

[[ |game_logic {$ac=$_a}{$ab = $ac}{$aa = $ab}{$_a = $aa}]]

сначала выполняется:
{$_a = $aa}
затем:
{$aa = $ab}
после этого:
{$ab = $ac}
и наконец:
{$ac=$_a}

$_a - вспомогательная переменная.

Отредактировано kerber (25.11.2012 21:19)

Неактивен

 

   #130
26.11.2012 07:23

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Спасибо, посмотрю, почему так происходит.

Неактивен

 

   #131
26.11.2012 09:21

Korwin
Гоблин, зеленый от недосыпа (+93, -7)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 765
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

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

DoubleDragon написал:

Спасибо, посмотрю, почему так происходит.

А может быть это такая фича, которую надо просто описать в руководстве? wink

Неактивен

 

   #132
26.11.2012 10:22

kerber
Участник (+37, -24)
Зарегистрирован: 20.09.2012
Сообщений: 115

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

Korwin написал:

DoubleDragon написал:

Спасибо, посмотрю, почему так происходит.

А может быть это такая фича, которую надо просто описать в руководстве? wink

Да, простого описания, на мой взгляд, вполне достаточно.

Неактивен

 

   #133
06.01.2013 21:47

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

1. Можно ли при выводе таблицы убрать её контуры? То есть, чтобы только текст был виден?
2. Можно ли задавать для звукового файла опции "играть один раз" и "повторять в цикле"?

Отредактировано sosiskin (06.01.2013 22:27)

Неактивен

 

   #134
07.01.2013 15:13

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

Кельта написал:

sosiskin, а как Вам такой вариант решения вашей проблемы? Например, если бы параграф назывался "пример"

Код:

На столе стоит [[*чайник|пример  {$объект = 1}]] и [[*чашка|пример  {$объект = 2}]]

----

<<if $объект eq 1>>
    описание чайника
<<elseif $объект eq 2>>
    описание чашки
<<else>>
#    пустое поле
<<endif>>

Попробовал как предложила Кельта, и действительно, надобность в всплывающем контекстном меню вроде отпадает. (Единственное, добавил звёздочки перед каждой ссылкой, чтоб работало как надо.)

Неактивен

 

   #135
07.01.2013 16:46

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

sosiskin написал:

1. Можно ли при выводе таблицы убрать её контуры? То есть, чтобы только текст был виден?
2. Можно ли задавать для звукового файла опции "играть один раз" и "повторять в цикле"?

1.  Да, сделаю.
2.  Надо делать отдельный макрос sound, не в следующей версии.

Неактивен

 

   #136
08.01.2013 18:34

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

Циклы if .. else можно встраивать один внутри другого? Я попробовал, выдало syntax error.

Неактивен

 

   #137
08.01.2013 18:36

Oldrik
Участник
Зарегистрирован: 12.11.2012
Сообщений: 35

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

Да, можно.
if $1 eq 2
bla-bla1
   if $2 gte 7
   bla-bla2
   else
   bla-bla3
   endif
endif

Неактивен

 

   #138
11.01.2013 05:18

WeLLWar
Участник (+3)
Зарегистрирован: 11.01.2013
Сообщений: 13

---

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

Люди пподскажите, почему у меня иногда после создания параграфа  АСМ выводит ошибку и вылетает. Приходится каждый раз сохранятся:(

Неактивен

 

   #139
11.01.2013 06:39

Korwin
Гоблин, зеленый от недосыпа (+93, -7)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 765
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

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

WeLLWar написал:

Люди пподскажите, почему у меня иногда после создания параграфа  АСМ выводит ошибку и вылетает. Приходится каждый раз сохранятся:(

Было так же на версии 1.6.2 С версии 1.6.6 - все нормально.
Мало информации для понимания что происходит: какая ОС, какой компьютер, какое именно сообщение об ошибке пишет программа?

Неактивен

 

   #140
11.01.2013 10:12

WeLLWar
Участник (+3)
Зарегистрирован: 11.01.2013
Сообщений: 13

---

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

Было так же на версии 1.6.2 С версии 1.6.6 - все нормально.
Мало информации для понимания что происходит: какая ОС, какой компьютер, какое именно сообщение об ошибке пишет программа?

версия 1.7, ОС винХР, компьютер смешно конечно, но 64мб видео, 1гиг РАМ, ну ошибку проглядел, повторится скину сюда...

Отредактировано WeLLWar (11.01.2013 10:21)

Неактивен

 

   #141
11.01.2013 12:38

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Главное напишите, после каких действий это происходит, чтобы можно было воспроизвести ошибку.

Неактивен

 

   #142
11.01.2013 15:17

WeLLWar
Участник (+3)
Зарегистрирован: 11.01.2013
Сообщений: 13

---

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

Главное напишите, после каких действий это происходит, чтобы можно было воспроизвести ошибку.

Это происходит после создания параграфа, ну... прям царство рандома... может произойти, а может  - нет...

Неактивен

 

   #143
11.01.2013 18:02

Ergistal
Участник (+32, -3)
Откуда: Крым
Зарегистрирован: 25.05.2011
Сообщений: 134
Вебсайт

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

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

А пробовали чисто по програмисстски? Удалить, почистить, по новой скачать переустановить.
Часто спасает от непонятных ошибок.

Неактивен

 

   #144
11.01.2013 19:33

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

WeLLWar написал:

прям царство рандома... может произойти, а может  - нет...

Из своего опыта советую, во-первых, перегрузиться, и поубирать разные (ненужные) резидентные программы. Всякие виселки, майлрушки, смайлогенераторы и т.п.
Мне, по крайней мере, помогло, и заработали сочетания клавиш.

Неактивен

 

   #145
13.01.2013 08:43

WeLLWar
Участник (+3)
Зарегистрирован: 11.01.2013
Сообщений: 13

---

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

Ergistal написал:

А пробовали чисто по програмисстски? Удалить, почистить, по новой скачать переустановить
Часто спасает от непонятных ошибок.

ASM идёт без установки! big_smile

Неактивен

 

   #146
13.01.2013 13:49

GamePr0graameR
Участник (+2)
Зарегистрирован: 23.03.2010
Сообщений: 6

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

Не нашёл в официальной справке, каким образом задаётся цвет какого-либо фрагмента текста. Пример: я хочу, чтобы объект был выделен красным жирным.

Неактивен

 

   #147
13.01.2013 14:42

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Такого пока нет.

Неактивен

 

   #148
15.01.2013 16:22

WeLLWar
Участник (+3)
Зарегистрирован: 11.01.2013
Сообщений: 13

---

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

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

Неактивен

 

   #149
15.01.2013 16:24

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Можно использовать одноразовые ссылки, начинающиеся с +.

Неактивен

 

   #150
16.01.2013 06:02

avatarka
Участник
Зарегистрирован: 16.01.2013
Сообщений: 2

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

Товарищи, скажите пожалуйста, есть ли возможность менять содержимое параграфа в реальном времени не обновляя  страницы. Например поменять фоновую картинку или адрес многоразовой ссылки?

К примеру у меня обстоятельства следующие: есть некий бинокль и есть окно в которое я должен посмотреть. Бинокль сломан и я чиню его в инвентаре. Если я смотрю в окно без бинокля выводится один текст, со сломанным биноклем - другой и с починенным выводит в следующий параграф с картинкой с видом из бинокля. Вероятно я тупой, но тем не менее не хватает мне логики.

Перепробовал несколько вариантов на этот момент пришел примерно к следующему:

:: бинокль
Обычный театральный бинокль. Внутри что то стучит как будто один из окуляров плохо держится на своем месте.
[[*{{{потрясти}}}|трясти]]

:: трясти
<<random $бинокль = 99>>
<<if $бинокль gt 70>>
<<set $починил = 1>>
замечательно!
<<endif>>
<<if $бинокль lte 70>>
не получилось!
<<endif>>

:: комната 1
С права на <<if !($бинокль)>>[[+окне|окно пуст.]]<<endif>><<if ($бинокль)>>[[+окне|окно]]<<endif>><<if $бинокль and $починил>>[[окне|окно]]<<endif>><<if ($заметил_окно)>>окне<<endif>> засохшее растение.

:: окно пуст.
Под окном гудит желтый фонарь. Кажется что он единственный источник света в ночном дворе.

::окно
<<style 'dark'>>
<<if $бинокль and $починил>>[[File: images/vid_iz_okna.jpg]] В бинокль я вижу что в силуэте противоположного дома горит одно окно. Интересно кто там? <<endif>>
<<if $бинокль>> Двумя глазами смотреть невозможно.<<endif>>

То есть мне хочется что бы ссылка "окно" была многоразовой и при первых двух обстоятельствах выводила текст в тот же параграф, а при починенном бинокле отсылала в следующий и все это происходило в одном параграфе.
p.s. спасибо большое, сильно нравится ваша программа!

Отредактировано avatarka (17.01.2013 01:05)

Неактивен

 

   #151
16.01.2013 10:16

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

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

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

По вопросу. Многоразовая ссылка начинается с *. В параграфе "комната 1" выводи только ссылку [[*окне|окно]] (один раз) при этом совмести параграф "окно пуст." с параграфом "окно", а уже в параграфе "окно" выполняй все проверки. И при починенном бинокле попробуй сначала использовать макрос <<clrscr>> для очистки экрана.

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

Неактивен

 

   #152
16.01.2013 10:45

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

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

WeLLWar написал:

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

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

Код:

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

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

Код:

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

Неактивен

 

   #153
17.01.2013 01:21

avatarka
Участник
Зарегистрирован: 16.01.2013
Сообщений: 2

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

Morych написал:

avatarka, будь другом, замени нецензурные словечки в своём примере.

Ну, черновик у меня такой - за литературностью не слежу.)

Morych написал:

попробуй сначала использовать макрос <<clrscr>> для очистки экрана.

Вроде что то понял, буду пробовать.

Неактивен

 

   #154
30.01.2013 12:20

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

Вопрос по генератору случайных чисел:
если мне нужно задать промежуток для случайного числа, но не от 0 до Х, а от L>0 до Х.
Можно это сделать?

Я представляю как это сделать, скажем, на LUA, но можно ли сделать средствами АКСМА?

Отредактировано sosiskin (30.01.2013 13:10)

Неактивен

 

   #155
30.01.2013 13:51

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Задаёшь от 0 до X-L, к результату прибавляешь L smile

Неактивен

 

   #156
30.01.2013 21:10

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

пасибо!

ещё вопрос: а можно ли выводить в столбец таблицы повторяющийся параграф (макрос <<repeat>>)?
Допустим, я планирую выводить данные о битве в двух разных столбцах. Эдакий real-time бой. Можно так пользоваться таблицей?

Отредактировано sosiskin (30.01.2013 21:21)

Неактивен

 

   #157
30.01.2013 21:31

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Не, в таблицах вообще нельзя использовать макросы, можно только переменные.

Неактивен

 

   #158
30.01.2013 21:38

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

Ага, но всё равно можно же влепить параграф с таблицей в макрос <<repeat>> и обновлять в ней переменные, да?

Неактивен

 

   #159
30.01.2013 21:42

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Это пожалуйста.

Неактивен

 

   #160
04.02.2013 16:16

Korwin
Гоблин, зеленый от недосыпа (+93, -7)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 765
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

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

Хочу сделать следующее:

В локации иногда (по условию) находится персонаж, который блуждает между локациями по определенному алгоритму. Если игрок видит его он может выбрать его и поговорить. Разговор может оказаться длинным, т.е. затрагивать немало параграфов. Вопрос - как потом игрока вернуть в тот же параграф, где начался разговор?

Попробовал сначала запомнить лекущую локацию в переменную <<set $place=$$title>>

А после разговора предложить [[Закончить разговор|$place]] - Ничего не получилось. Что я делаю неправильно, точнее как сделать правильно?

Неактивен

 

   #161
04.02.2013 16:26

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Просто переменные в ссылках не поддерживаются. Можно в параграфе "Закончить разговор" сделать очистку экрана макросом <<clrscr>> и вставить параграф, где начался разговор: <<display $place>>.

Неактивен

 

   #162
06.03.2013 15:49

last
Участник
Зарегистрирован: 06.03.2013
Сообщений: 2

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

Подскажите пожалуйста как сделать следующее:
Вверху параграфа выставлено значение

Код:

Оставшееся время работы фильтров:<<print $фильтр>>

, которое должно изменятся при нажатии на ссылку

Код:

<<set $локация = 1>>
[[*Двигаемся дальше|Локации поверхности  {$локация=$номер}  {$фильтр=$фильтр-5}]]

где установкой

Код:

{$локация=$номер}

устанавливается текст который появится, а

Код:

 {$фильтр=$фильтр-5}

уменьшает значение.
значение переменной то уменьшается, а так как параграф не обновлялся то

Код:

Оставшееся время работы фильтров:<<print $фильтр>>

не изменяется.
Пробовал решить проблему с помощью повторяющегося параграфа и очисткой экрана, но добился лишь того что при нажатии на ссылку значение меняется, но текст появившийся при нажатии естественно быстро исчез из за того что в повторяющемся параграфе стоит очистка параграфа.
Как сделать что бы и значение менялось и текст появившейся по ссылке оставался до следующего нажатия. Может есть идеи.

Неактивен

 

   #163
06.03.2013 16:15

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Может просто вызывать параграф Локации поверхности из себя же обычной ссылкой и в нём же выводить значение $фильтр?

Код:

<<print $фильтр>>
[[Двигаемся дальше|Локации поверхности  {$локация=$номер}  {$фильтр=$фильтр-5}]]

Неактивен

 

   #164
06.03.2013 17:08

last
Участник
Зарегистрирован: 06.03.2013
Сообщений: 2

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

DoubleDragon написал:

Может просто вызывать параграф Локации поверхности из себя же обычной ссылкой и в нём же выводить значение $фильтр?

Код:

<<print $фильтр>>
[[Двигаемся дальше|Локации поверхности  {$локация=$номер}  {$фильтр=$фильтр-5}]]

Да сделал так - перенес отображение значения в параграф "локации поверхности" все отображает и значение меняется, но по команде <<return>> из этого параграфа попадая на параграф старт значение фильтр измененное не сохранилось, как было 50, так и есть.

Неактивен

 

   #165
06.03.2013 17:20

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

по команде <<return>> из этого параграфа попадая на параграф старт значение фильтр измененное не сохранилось, как было 50, так и есть

Это наверное потому, что в параграфе "старт" старое значение заново присваивается.

Неактивен

 

   #166
06.03.2013 21:00

Oreolek
Модератор (+103, -17)
Откуда: Кемерово
Зарегистрирован: 02.11.2009
Сообщений: 469
Вебсайт

С уважением, Александр Яковлев.

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

Как пользоваться макросом <<input>>

Неактивен

 

   #167
06.03.2013 21:05

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Oreolek написал:

Как пользоваться макросом <<input>>

Цитирую руководство пользователя (раздел "Объекты и выражения"):

Чтобы дать возможность читателю ввести с клавиатуры какой-либо текст или число, а потом присвоить его нужному объекту, используйте макрос input:

<<input 'Параграф' $объект>>

После окончания ввода набранное значение будет присвоено указанному объекту, и будет произведён автоматический переход на страницу указанного параграфа.

Неактивен

 

   #168
09.03.2013 13:27

Desfir
Участник
Зарегистрирован: 09.03.2013
Сообщений: 2

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

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

Неактивен

 

   #169
09.03.2013 14:01

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

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

Desfir написал:

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

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

Неактивен

 

   #170
09.03.2013 14:14

Desfir
Участник
Зарегистрирован: 09.03.2013
Сообщений: 2

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

Morych написал:

Desfir написал:

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

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

Спасибо получилось просто по макросам я еще не читал информацию

Неактивен

 

   #171
09.03.2013 14:20

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

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

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

Неактивен

 

   #172
16.03.2013 09:23

Korwin
Гоблин, зеленый от недосыпа (+93, -7)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 765
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

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

Макрос <<display 'название параграфа'>> не изменяет переменную $$title - это логично. Но иногда требуется сделать переход типа goto так, чтобы $$title стало равным параграфу, куда осуществлен переход. Посоветуйте, как сделать?


Код:

:: Start
<<set $place = $$title>>
[[Переход в описание игры|Help]]
[[Начало игры|Game]]

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

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

:: StoryMenu


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

:: StoryAuthor
Korwin
[[Возврат|place]]

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

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

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

:: place
<<display $place>>

:: Story
<<set $place = $$title>>
[[Переход в описание игры|Help]]
[[Об авторе|StoryAuthor]]

В примере выше попытка дважды вызвать помощь по игре в том же месте приводит нас на пустой экран, так как переменная $$title становится равной 'place'. Подскажите, как это исправить?

Пока сделал так:

Код:

[[Вернуться к началу игры|astart]] или <<back>>

Но макрос <<back>> выводит слово <- Назад всегда с новой строки и не подчиняется центрированию, что не всегда удобно...

Отредактировано Korwin (16.03.2013 09:39)

Неактивен

 

   #173
16.03.2013 13:00

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

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)

Неактивен

 

   #174
16.03.2013 17:59

Korwin
Гоблин, зеленый от недосыпа (+93, -7)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 765
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

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

Morych, спасибо! Переписал твой код руками, сначала не заработало, но я тебе верил! И нашел ошибку у себя! Отладка - может доставлять удовольствие!

Неактивен

 

   #175
08.04.2013 13:33

Anderman
Участник
Зарегистрирован: 07.04.2013
Сообщений: 1

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

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

Отредактировано Anderman (08.04.2013 17:05)

Неактивен

 

   #176
08.04.2013 13:52

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

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

Anderman написал:

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

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

Неактивен

 

   #177
08.04.2013 14:09

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

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

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

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

Неактивен

 

   #178
08.04.2013 16:42

Korwin
Гоблин, зеленый от недосыпа (+93, -7)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 765
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

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

Anderman написал:

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

http://hyperbook.ru/blog.php?id=13636642398167 - вот тут есть хорошая подсказка по теме

А если конкретнее:
:: камень
Перед тобой три наперстка.
<<if !($условие)>>[[Взять левый|камень {$условие=1} {$left=1}]]<<else>>Взять левый<<endif>>
<<if !($условие)>>[[Взять средний|камень {$условие=1} {$center=1}]]<<else>>Взять средний<<endif>>
<<if !($условие)>>[[Взять правый|камень {$условие=1} {$right=1}]]<<else>>Взять правый<<endif>>
<<if $left>>Под левым наперстком пусто<<endif>>
<<if $center>>Под средним наперстком пусто<<endif>>
<<if $right>>Под правым наперстком пусто<<endif>>

Поправил код по подсказке Morych'a

Отредактировано Korwin (08.04.2013 17:11)

Неактивен

 

   #179
22.04.2013 15:09

Oldrik
Участник
Зарегистрирован: 12.11.2012
Сообщений: 35

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

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

Неактивен

 

   #180
22.04.2013 15:13

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Например, так:

Код:

<<set $список[2] = $список[2] + 1>>

Неактивен

 

   #181
22.04.2013 15:15

Oldrik
Участник
Зарегистрирован: 12.11.2012
Сообщений: 35

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

Спасибо. Может стоит добавить в "Руководство пользователя"?

Отредактировано Oldrik (22.04.2013 15:21)

Неактивен

 

   #182
22.04.2013 15:20

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Да, добавлю.

Неактивен

 

   #183
22.04.2013 15:22

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

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

Oldrik написал:

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

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

Неактивен

 

   #184
22.04.2013 15:41

Oldrik
Участник
Зарегистрирован: 12.11.2012
Сообщений: 35

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

Morych написал:

Oldrik написал:

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

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

Просто был нужен пример кода.

Неактивен

 

   #185
01.05.2013 10:47

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

Вопрос по javascript.
Нашёл очень интересные глитч-скрипты, создающие эффект сбоя монитора или графики (глитч). Вот страничка разработки, примеры можно посмотреть здесь.

Можно ли встраивать такой скрипт в АХМА? (особенно интересует Glitch Transition, вызывающий эффект лишь на какое-то время).
И можно ли присвоить ему, скажем, макрос?

Отредактировано sosiskin (01.05.2013 10:49)

Неактивен

 

   #186
01.05.2013 11:32

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Есть идея встроить различные фильтры для обработки изображений.

Неактивен

 

   #187
01.05.2013 14:30

Korwin
Гоблин, зеленый от недосыпа (+93, -7)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 765
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

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

sosiskin написал:

Вопрос по javascript.
Нашёл очень интересные глитч-скрипты, создающие эффект сбоя монитора или графики (глитч). Вот страничка разработки, примеры можно посмотреть здесь.

Можно ли встраивать такой скрипт в АХМА? (особенно интересует Glitch Transition, вызывающий эффект лишь на какое-то время).
И можно ли присвоить ему, скажем, макрос?

1. С одной стороны, встраивание произвольных скриптов в ASM - любопытно... Расширяет возможности. Но потенциально - уже вероятны некоторые риски, например переходы на произвольные страницы, встраивание рекламы и так далее. Впрочем я не очень компетентен в таких вопросах.
2. А зачем глитч-эффекты в текстовом квесте? Почему нельзя сделать пару картинок и подменять их по условию?.

Неактивен

 

   #188
01.05.2013 15:42

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

Korwin написал:

2. А зачем глитч-эффекты в текстовом квесте? Почему нельзя сделать пару картинок и подменять их по условию?.

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

Отредактировано sosiskin (01.05.2013 23:15)

Неактивен

 

   #189
07.05.2013 15:37

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

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

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

Неактивен

 

   #190
07.05.2013 15:51

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

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

sosiskin написал:

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

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

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

Неактивен

 

   #191
07.05.2013 16:25

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

Morych написал:

Слова из списка должны падать по одному?

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

Я взял Астероиды, повставлял вместо символов точек и звёздочек слова. Но хочется чтобы код линий (строк) был одним, а подставлять просто из массива переменные по очереди, в каждой линии.
Как такое лучше сделать?

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

Неактивен

 

   #192
07.05.2013 17:01

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

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)

Неактивен

 

   #193
07.05.2013 17:05

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

Кстати, именно для этой разработки я спрашивал про визуальные эффекты на javascript, потому как если на такой "падающий текст" натравить глитч-скрипт, получится очень интересное окошко, цветной спрайт из обычного текста.

Неактивен

 

   #194
07.05.2013 18:33

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

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>>

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

Неактивен

 

   #195
07.05.2013 19:04

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

Morych написал:

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

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

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

Отредактировано sosiskin (07.05.2013 19:39)

Неактивен

 

   #196
07.05.2013 20:31

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

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

sosiskin написал:

Morych написал:

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

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

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

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

Неактивен

 

   #197
07.05.2013 21:57

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

Morych написал:

А как же моё предыдущее сообщение #194?

А, сорри, я страницу не рефрешил. Да, спасибо, из всех этих кусочков кода я слепил то, что надо!

Неактивен

 

   #198
07.05.2013 22:26

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

Прошу прощения, таки ругается при запуске кода в сообщении #194.
Вот.
http://i48.fastpic.ru/big/2013/0507/cb/3661d3104018ca152a60b91e22f44acb.jpeg

Неактивен

 

   #199
08.05.2013 07:31

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Я проверил - всё работает. Для этого примера нужна последняя версия - 1.9.9.

Неактивен

 

   #200
08.05.2013 10:14

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

Большущее спасибо!
Кстати, за этой придумкой вспомнил про Asciimator.

Отредактировано sosiskin (08.05.2013 10:25)

Неактивен

 

   #201
08.05.2013 10:26

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

А напомните мне, пожалуйста, как сделать сл. конструкцию:

#1

<<display 'служ'>>


#2

<<display 'служ'>>


#служ
===[[ГЛАВНАЯ|???]] | [[СТАТУС|статус]] | [[ПЕРЕМЕЩЕНИЯ|перемещения]]===
----


------------
Как сделать ссылку в служебной локации, чтобы при нажатии на ГЛАВНАЯ меня всегда возвращало в текущую локацию, даже если она сменилась.

Неактивен

 

   #202
08.05.2013 12:38

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

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)

Неактивен

 

   #203
08.05.2013 14:12

Korwin
Гоблин, зеленый от недосыпа (+93, -7)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 765
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

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

Напомните мне, как сохранить игру с "Гиперкниги" с иллюстрациями?

Отредактировано Korwin (08.05.2013 14:35)

Неактивен

 

   #204
08.05.2013 14:18

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Пока, к сожалению, никак.

Неактивен

 

   #205
08.05.2013 22:20

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

прошу прощения, одно уточнение по "Словопаду":
Я так понял, перед тем как вызвать $input, вы останавливаете "Словопад", чтобы окно ввода не сбивалось. А почему оно сбивается и исчезает от "словопада"? Это обусловлено приростом количества строк или свойством самого окна ввода? Его никак нельзя оставить на экране при включении словопада? например, так

Код:

:: Добавить
#<<if not $newWord.length>>
#    <<stop "Словопад2">>
    Новое слово:
    <<input "Добавить" $newWord>>
<<else>>

Попробовал убрать <<stop>>, словопад сбивал поле ввода после первого цикла.

Отредактировано sosiskin (08.05.2013 23:55)

Неактивен

 

   #206
09.05.2013 00:02

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

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">>

Неактивен

 

   #207
09.05.2013 02:24

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

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

Неактивен

 

   #208
09.05.2013 03:03

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

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

sosiskin написал:

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

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

Неактивен

 

   #209
09.05.2013 10:51

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

Ух, спасибо!
Самое последнее: в начале, когда я брал за основу код Астероидов, словопад получился плотнее, т.к. там запускалось не по одному слову в строке, а по несколько.

Код:

:: StoryTitle
словопад 1

:: StoryAuthor
Sosiskin

:: StoryMenu


:: Start
<<style 'sepia'>>
===[[Запустить словопад|Начать]]===
***

:: Начать
<<display 'миелопан'>>


:: что-то
Ты стоишь прямо у закрытой двери. На двери горит слово ''"калбер-"'' Небольшая панель с подсвеченными кнопками предлагает ввести ответное слово.
<<input 'Проверка пароля 1' $пароль>>
(Чтобы слушать подсказки в информационном эфире, вы можете [[включить ''миелофон''|миелофон]].)

:: Пространство
<<clrscr>>
<<set $расстояние = 1>>
<<if $расстояние lte 0>>
    <<stop 'Пространство'>>
----
<<else>>
    <<set $код_последний = $код8>>
    <<display 'Новая линия'>>
    <<set $линия8 = $линия7>>
    <<set $код8 = $код7>>
    <<set $линия7 = $линия6>>
    <<set $код7 = $код6>>
    <<set $линия6 = $линия5>>
    <<set $код6 = $код5>>
    <<set $линия5 = $линия4>>
    <<set $код5 = $код4>>
    <<set $линия4 = $линия3>>
    <<set $код4 = $код3>>
    <<set $линия3 = $линия2>>
    <<set $код3 = $код2>>
    <<set $линия2 = $линия1>>
    <<set $код2 = $код1>>
    <<set $линия1 = $линия>>
    <<set $код1 = $код>>
    <<display 'Вывод'>>
    # переводим положение в двоичный код
    <<if $положение eq 1>>
        <<set $положение_код = '10000000'>>
    <<elseif $положение eq 2>>
        <<set $положение_код = '01000000'>>
    <<elseif $положение eq 3>>
        <<set $положение_код = '00100000'>>
    <<elseif $положение eq 4>>
        <<set $положение_код = '00010000'>>
    <<elseif $положение eq 5>>
        <<set $положение_код = '00001000'>>
    <<elseif $положение eq 6>>
        <<set $положение_код = '00000100'>>
    <<elseif $положение eq 7>>
        <<set $положение_код = '00000010'>>
    <<elseif $положение eq 8>>
        <<set $положение_код = '00000001'>>
    <<endif>>
    
<<endif>>

:: Новая линия
<<set $линия = ''>>
<<set $код = ''>>
<<random $объект = 8>>
<<if $объект eq 0>>
    <<set $линия = $линия + $словосписок [1]>>
    <<set $код = $код + '1'>>
<<else>>
    <<set $линия = $линия + '&nbsp;'>>
    <<set $код = $код + '0'>>
<<endif>>
<<random $объект = 8>>
<<if $объект eq 0>>
    <<set $линия = $линия + $словосписок [2]>>
    <<set $код = $код + '1'>>
<<else>>
    <<set $линия = $линия + '&nbsp;'>>
    <<set $код = $код + '0'>>
<<endif>>
<<random $объект = 8>>
<<if $объект eq 0>>
    <<set $линия = $линия + $словосписок [3]>>
    <<set $код = $код + '1'>>
<<else>>
    <<set $линия = $линия + '&nbsp;'>>
    <<set $код = $код + '0'>>
<<endif>>
<<random $объект = 8>>
<<if $объект eq 0>>
    <<set $линия = $линия + $словосписок [4]>>
    <<set $код = $код + '1'>>
<<else>>
    <<set $линия = $линия + '&nbsp;'>>
    <<set $код = $код + '0'>>
<<endif>>
<<random $объект = 8>>
<<if $объект eq 0>>
    <<set $линия = $линия + $словосписок [5]>>
    <<set $код = $код + '1'>>
<<else>>
    <<set $линия = $линия + '&nbsp;'>>
    <<set $код = $код + '0'>>
<<endif>>
<<random $объект = 8>>
<<if $объект eq 0>>
    <<set $линия = $линия + $словосписок [6]>>
    <<set $код = $код + '1'>>
<<else>>
    <<set $линия = $линия + '&nbsp;'>>
    <<set $код = $код + '0'>>
<<endif>>
<<random $объект = 8>>
<<if $объект eq 0>>
    <<set $линия = $линия + $словосписок [7]>>
    <<set $код = $код + '1'>>
<<else>>
    <<set $линия = $линия + '&nbsp;'>>
    <<set $код = $код + '0'>>
<<endif>>
<<random $объект = 8>>
<<if $объект eq 0>>
    <<set $линия = $линия + '*'>>
    <<set $код = $код + '1'>>
<<else>>
    <<set $линия = $линия + '&nbsp;'>>
    <<set $код = $код + '0'>>
<<endif>>
# обрамление слева
<<display 'Прочие объекты'>>
<<set $н4 = $н1>><<set $н5 = $н2>><<set $н6 = $н3>>
<<display 'Прочие объекты'>>
<<set $линия = '==={{{' + $н4+$н5+$н6 + $линия + $н1+$н2+$н3 + '}}}==='>>

:: Прочие объекты
# использовать $н1, $н2, $н3
<<random $объект = 9>>
<<if $объект eq 0>>
    <<set $н1 = '•'>>
<<elseif $объект eq 1>>
    <<set $н1 = '.'>>
<<else>>
    <<set $н1 = '&nbsp;'>>
<<endif>>
<<random $объект = 9>>
<<if $объект eq 0>>
    <<set $н2 = '•'>>
<<elseif $объект eq 1>>
    <<set $н2 = '.'>>
<<else>>
    <<set $н2 = '&nbsp;'>>
<<endif>>
<<random $объект = 9>>
<<if $объект eq 0>>
    <<set $н3 = '•'>>
<<elseif $объект eq 1>>
    <<set $н3 = '.'>>
<<else>>
    <<set $н3 = '&nbsp;'>>
<<endif>>

:: Влево
<<if $положение>1>>
    <<set $положение = $положение-1>>
<<endif>>

:: Вправо
<<if $положение<8>>
    <<set $положение = $положение+1>>
<<endif>>

:: Вывод
# положения звездолёта
<<set $линия_звездолёта = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'>>
<<if $положение eq 1>>
    <<set $линия_звездолёта = '▲&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'>>
<<elseif $положение eq 2>>
    <<set $линия_звездолёта = '&nbsp;▲&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'>>
<<elseif $положение eq 3>>
    <<set $линия_звездолёта = '&nbsp;&nbsp;▲&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'>>
<<elseif $положение eq 4>>
    <<set $линия_звездолёта = '&nbsp;&nbsp;&nbsp;▲&nbsp;&nbsp;&nbsp;&nbsp;'>>
<<elseif $положение eq 5>>
    <<set $линия_звездолёта = '&nbsp;&nbsp;&nbsp;&nbsp;▲&nbsp;&nbsp;&nbsp;'>>
<<elseif $положение eq 6>>
    <<set $линия_звездолёта = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;▲&nbsp;&nbsp;'>>
<<elseif $положение eq 7>>
    <<set $линия_звездолёта = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;▲&nbsp;'>>
<<elseif $положение eq 8>>
    <<set $линия_звездолёта = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;▲'>>
<<endif>>
# вывод пространства
#<<print $линия1>><<print $линия2>><<print $линия3>><<print $линия4>><<print $линия5>><<print $линия6>><<print $линия7>><<print $линия8>>==={{{<<print $линия_звездолёта>>}}}===
# вывод пространства
@@@<<print $линия1>><<print $линия2>><<print $линия3>><<print $линия4>><<print $линия5>><<print $линия6>><<print $линия7>><<print $линия8>>@@@
# вывод кнопок
# вывод расстояния

:: StorySubtitle


:: Проверка пароля 1
<<if $пароль == $словосписок [4]>>
Правильно! <<print $пароль>>! Вы угадали. Дверь открывается.
<<else>>
Что? Это не правильный пароль. Попробуйте ещё раз.
<<input 'неправильно раз' $пароль>>
<<endif>>

:: неправильно раз
Очевидно, вы не знаете пароля. Вводить слова наугад может занять много времени. Попробуйте [[воспользоваться ''миелофоном''|миелофон]].

:: миелофон
<<display 'миелопан'>>
<<display 'ground'>>

:: ground
Ты стоишь у закрытой двери. На двери горит слово ''"калбер-"'' Небольшая панель с подсвеченными кнопками предлагает ввести ответное слово.
<<input 'Проверка пароля 1' $пароль>>

:: миелопан
<<set $словосписок = ["sosiskin","{{{Morych}}}", "//ifiction//","''weird''","axma","story","словопад","мнемо",".", "•",".","•"]>>
#<<set $расстояние = 6000>>
#<<set $энергия = 3>>
# подготовка пространства
<<set $линия = '==={{{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}}}==='>>
<<set $линия1 = $линия>>
<<set $линия2 = $линия>>
<<set $линия3 = $линия>>
<<set $линия4 = $линия>>
<<set $линия5 = $линия>>
<<set $линия6 = $линия>>
<<set $линия7 = $линия>>
<<set $линия8 = $линия>>
# подготовка двоичных кодов линий
<<set $код = '00000000'>>
<<set $код1 = $код>>
<<set $код2 = $код>>
<<set $код3 = $код>>
<<set $код4 = $код>>
<<set $код5 = $код>>
<<set $код6 = $код>>
<<set $код7 = $код>>
<<set $код8 = $код>>
# начальная позиция звездолёта
<<set $положение = 5>>
<<set $положение_код = '00001000'>>
# запускаем движение
<<display 'Пространство'>>
<<repeat 'Пространство' 1>>

Можно ли добиться такого с новым кодом?

Неактивен

 

   #210
09.05.2013 16:45

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

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

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

Неактивен

 

   #211
12.05.2013 21:30

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

Morych, нет. На перемещения не обращай внимание, это просто название ссылки такое. Меня интересует, чтобы я всегда попадала из любой локации в главную, то есть там, где текст основного описания. У тебя так вроде в принцессе было.
Например, я зашла в инвентарь, потом в статус, а потом хочу вернуться в локацию, где изначально была.

Неактивен

 

   #212
13.05.2013 10:18

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

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

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

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

Неактивен

 

   #213
13.05.2013 10:22

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

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

Код:

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

Неактивен

 

   #214
13.05.2013 10:29

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

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

DoubleDragon написал:

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

Код:

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

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

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

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

Неактивен

 

   #215
13.05.2013 13:23

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

Да, спасибо smile

Неактивен

 

   #216
27.05.2013 13:31

Korwin
Гоблин, зеленый от недосыпа (+93, -7)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 765
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

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

Подскажите, как менять тему редактора?

Неактивен

 

   #217
27.05.2013 14:00

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

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

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

Неактивен

 

   #218
27.05.2013 14:54

Korwin
Гоблин, зеленый от недосыпа (+93, -7)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 765
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

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

Morych написал:

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

Тьфу ты чёрт! Век живи - дураком помрешь! Попробовал темную тему - решил, что светлая нравится больше :-) Но всё равно спасибо большое!

Неактивен

 

   #219
04.06.2013 12:53

Korwin
Гоблин, зеленый от недосыпа (+93, -7)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 765
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

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

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

Неактивен

 

   #220
04.06.2013 13:13

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

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

Korwin написал:

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

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

Неактивен

 

   #221
17.06.2013 21:00

NekronMono
Участник
Зарегистрирован: 17.06.2013
Сообщений: 3

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

Здравствуйте. Хотел поинтересоваться макросом random. Цель-добиться свободного перемещения по квартире, но при первом посещении комнат, обстановка в них должна забиваться рандомно, и вроде бы одного макроса random хватает, но проблема вот в чем. При возвращении на предыдущий экран, и очередном входе в уже зарандомированную комнату, обстановка вновь рандомится. Можно ли было сделать так, чтобы обстановка рандомировалась единожды и сохраняла своё положение без лишней сети сцен?

Неактивен

 

   #222
17.06.2013 23:42

Ergistal
Участник (+32, -3)
Откуда: Крым
Зарегистрирован: 25.05.2011
Сообщений: 134
Вебсайт

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

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

NekronMono

Вариант А.
Сделать генерацию новой комнаты раньше, чем в неё вошёл. Например в стартовом параграфе.

Вариант Б.
Сделать по условию, при первом посещении.

: Старт
<<set $посещение = 0>>

: Комната
<<if $посещение eq 0>>
<<random $Генерация = 9>>
<<set $посещение = 1>>
#Задаём стартовую обстановку
<<endif>>

#Текст параграфа

Неактивен

 

   #223
18.06.2013 03:42

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

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

NekronMono написал:

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

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

Неактивен

 

   #224
19.06.2013 17:36

NekronMono
Участник
Зарегистрирован: 17.06.2013
Сообщений: 3

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

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

Неактивен

 

   #225
19.06.2013 17:54

Ergistal
Участник (+32, -3)
Откуда: Крым
Зарегистрирован: 25.05.2011
Сообщений: 134
Вебсайт

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

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

http://sm.axmasoft.com/ru/help.html

В руководстве пользователя Вам помогут в подразделе "Для опытных авторов"
* Циклы (многократное исполнение набора команд)
* Списки (одномерные массивы)

Вам придётся параметры с помощью цикла загонять в список, потом извлекать оттуда с помощью цикла.

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

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

Неактивен

 

   #226
20.06.2013 00:56

NekronMono
Участник
Зарегистрирован: 17.06.2013
Сообщений: 3

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

Большое спасибо.
Может кто нибудь подсобить примером?
Хорошим примером работы со списками хотя бы, я не совсем отчетливо понял, что это такое.

Неактивен

 

   #227
20.06.2013 13:05

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

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}]]

Неактивен

 

   #228
08.07.2013 18:46

Nabusan
Участник
Зарегистрирован: 08.07.2013
Сообщений: 2

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

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


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

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

Отредактировано Nabusan (08.07.2013 19:01)

Неактивен

 

   #229
08.07.2013 23:05

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

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

Nabusan написал:

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


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

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

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

Код:

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

2. Например:

Код:

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

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

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

Неактивен

 

   #230
09.07.2013 01:21

Nabusan
Участник
Зарегистрирован: 08.07.2013
Сообщений: 2

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

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

Код:

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

Неактивен

 

   #231
09.07.2013 09:28

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

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

Nabusan написал:

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

Код:

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

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

Неактивен

 

   #232
10.07.2013 15:14

plusova
Участник
Зарегистрирован: 10.07.2013
Сообщений: 11

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

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

Неактивен

 

   #233
10.07.2013 15:36

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

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

plusova написал:

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

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

Неактивен

 

   #234
10.07.2013 15:44

plusova
Участник
Зарегистрирован: 10.07.2013
Сообщений: 11

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

Morych, спасибочки за скорый ответ.

Morych написал:

Значения всех объектов (в том числе и те, которые вводит пользователь) сохраняются при нажатии кнопки "Сохранить состояние" в Меню.
smile

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

Неактивен

 

   #235
10.07.2013 15:53

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

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

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

Неактивен

 

   #236
10.07.2013 16:04

plusova
Участник
Зарегистрирован: 10.07.2013
Сообщений: 11

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

Morych написал:

Нажатие, извините, чего? smile

Ну того самого объекта, на котором важно "Сохранить состояние" smile

спасибо, за ответы!

Неактивен

 

   #237
10.07.2013 16:15

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

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

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

Неактивен

 

   #238
10.07.2013 16:40

plusova
Участник
Зарегистрирован: 10.07.2013
Сообщений: 11

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

Morych написал:

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

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

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

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

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

Неактивен

 

   #239
10.07.2013 17:08

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

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

plusova написал:

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

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

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

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

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

Код:

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

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

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

Неактивен

 

   #240
10.07.2013 19:19

plusova
Участник
Зарегистрирован: 10.07.2013
Сообщений: 11

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

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

Morych написал:

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

Задачу два Вы перевели совершенно верно, жаль что так.

Неактивен

 

   #241
10.07.2013 20:26

Ergistal
Участник (+32, -3)
Откуда: Крым
Зарегистрирован: 25.05.2011
Сообщений: 134
Вебсайт

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

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

Как вариант малой автоматизации:

поздравляем вы выполнили задание!
Скопируйте текст с этой страницы и отправьте на ящик Sobaka@jambux.ru

Неактивен

 

   #242
10.07.2013 20:40

plusova
Участник
Зарегистрирован: 10.07.2013
Сообщений: 11

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

Ergistal написал:

Как вариант малой автоматизации:...

тоже вариант, спасибо smile

Неактивен

 

   #243
10.07.2013 22:46

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

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

plusova написал:

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

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

Неактивен

 

   #244
11.07.2013 00:38

plusova
Участник
Зарегистрирован: 10.07.2013
Сообщений: 11

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

Morych написал:

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

Да ничего секретного. Все равно планируют бесплатно в общий доступ выложить. Пока у меня с разметкой мозг в кучку сбивается и на историю "это" мало похоже.
Показать по сути нечего, похоже на обычный pdf файл . Еж ли есть у Вас такая возможность запишите, пожалуйста (пожалуйста, пожалуйста, пожалуйста), толковый видео урок "для начинающих" по использованию макросов. Желательно с пошаговыми демо примерами типа: делаешь это (код) - получаешь это (пример в интерактивной  книжке). Буду крайне признательна, и есть подозрение что не только я. Видео с экрана можно записать программой jing или camtasia

Отредактировано plusova (11.07.2013 00:44)

Неактивен

 

   #245
11.07.2013 01:53

plusova
Участник
Зарегистрирован: 10.07.2013
Сообщений: 11

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

Morych написал:

А дайте посмотреть код вашей истории. .

Есть два варианта, первый не подошел, т.к. текст пользователя выводится на новой странице

Вар 1

Код:

:: Start

<<set $ответ = "">>

Здравствуй, дорогой друг!
Не пора ли нам потренироваться? 

[[+Приступить к заданию|Задание {$ответ=""}]]

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

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

Вар 2.

Бог с ней со стартовой страницей, попробуем все сделать на странице задания. И оооо... эврика, работает как надо.

Код:

::Start
<<set $ответ = "">>
<<set $ответ2 = "">>
<<set $ответ3 = "">>

:: День 1

Здравствуй, дорогой друг!
начнем выполнение упражнения!

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

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

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

Теперь все работает. А что все

Код:

<<set $ответ = "">>

надо на стартовой странице вводить? Почему-то когда сеты вводила прямо в параграфе "День 1" ответы пользователя вообще неотображались
_________________________________________

Отредактировано plusova (11.07.2013 02:57)

Неактивен

 

   #246
11.07.2013 03:24

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

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

Да. Они не отображались, ибо каждый раз выполнялся код

Код:

<<set $ответ = "">>
<<set $ответ2 = "">>
<<set $ответ3 = "">>

и введенный ответ "затирался". Но

Код:

<<set $ответ = "">>
<<set $ответ2 = "">>
<<set $ответ3 = "">>

в параграфе Start можно и не задавать, а изменить условия

Код:

<<if $ответ eq "">>
<<if $ответ2 eq "">>
<<if $ответ3 eq "">>

на

Код:

<<if !($ответ)>>
<<if !($ответ2)>>
<<if !($ответ3)>>

! используются для проверки объекта на существование.

Неактивен

 

   #247
11.07.2013 03:51

plusova
Участник
Зарегистрирован: 10.07.2013
Сообщений: 11

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

Flash написал:

в параграфе Start можно и не задавать, а изменить условия.

Здравствуйте,  Flash!
Если я не правильно поняла, то поправьте меня: set можно вообще не задавать?
И поясните где изменить условия: в Start или в параграфе "День1"?


Спасибо за интересный ответ.

Неактивен

 

   #248
11.07.2013 09:45

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

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>>

Неактивен

 

   #249
11.07.2013 09:51

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

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

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

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

Неактивен

 

   #250
11.07.2013 13:58

plusova
Участник
Зарегистрирован: 10.07.2013
Сообщений: 11

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

Morych написал:

... Может вам будет удобней использовать вместо восклицательного знака в условии ....

Спасибо большое за помощь, компетентность и быстроту ответов!!

Неактивен

 

   #251
15.07.2013 21:06

Alina
Участник
Зарегистрирован: 15.07.2013
Сообщений: 2

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

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

Неактивен

 

   #252
16.07.2013 01:25

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

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

Alina написал:

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

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

Неактивен

 

   #253
16.07.2013 02:03

Alina
Участник
Зарегистрирован: 15.07.2013
Сообщений: 2

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

Да. 101 параграф. Спасибо за ответ.
Пофиксить бы хорошо, потому что без связей очень неудобно. Буду следить за обновлениями.

Неактивен

 

   #254
18.07.2013 20:56

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

Вопрос. Если я ставлю

<<random $вызов = 2>>

У меня могут появиться числа 1 и 2 или 0, 1 и 2?

Отредактировано Вета (18.07.2013 20:57)

Неактивен

 

   #255
18.07.2013 21:12

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

0,1,2.

Неактивен

 

   #256
18.07.2013 21:21

Ergistal
Участник (+32, -3)
Откуда: Крым
Зарегистрирован: 25.05.2011
Сообщений: 134
Вебсайт

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

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

Был неправ\

Отредактировано Ergistal (18.07.2013 21:23)

Неактивен

 

   #257
30.07.2013 19:01

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

Есть такая конструкция:

#инвентарь

<<display 'Вкладки'>>
__''НА СЕБЕ:''__

Шелковое розовое платье -> [[-Снять|платье]]
Туфельки -> [[-Снять|туфли]]

------------------
#платье
<<clrscr>>
<<display 'инвентарь'>>
//описание1//
------------------
#туфли
<<clrscr>>
<<display 'Инвентарь'>>
//описание2//

-------------------
#вкладки

<<if $$title.toLowerCase() eq 'заметки'>>
    ===^^[[Сцена|Обновить]] | Заметки | [[Инвентарь|Инвентарь]]^^===
<<elseif $$title.toLowerCase() eq 'инвентарь'>>
    ===^^[[Сцена|Обновить]] | [[Заметки|Заметки]] |  Инвентарь^^===
<<else>>
    <<if $$title.toLowerCase() neq 'обновить'>>
        <<set $passage = $$title>>
    <<endif>>
    ===^^Сцена | [[Заметки|Заметки]] | [[Инвентарь|Инвентарь]]^^===
<<endif>>

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

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

Отредактировано Вета (30.07.2013 19:03)

Неактивен

 

   #258
30.07.2013 19:52

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

Еще вопрос - есть ли в аксме зачеркнутый текст?

Неактивен

 

   #259
30.07.2013 20:11

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

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

Еще вопрос - есть ли в аксме зачеркнутый текст?

Пока нет. Будет в 2.0.

Неактивен

 

   #260
30.07.2013 20:38

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

А что делать по предыдущему вопросу? Игра стоит, а срок идет sad(
Кажется, смогла сделать.

Но появился еще вопрос: как сделать условие на наименование  локации, типа:

Если локация = дом, то ......
Причем, это надо сделать так:

сцена(тайтл) у нас=комната, если переключаться по вкладкам комната-инвентарь.

#инвентарь
<<display 'Вкладки'>>
__''НА СЕБЕ:''__
Шелковое розовое платье -> [[*Снять|платье]]
Туфельки -> [[*Снять|туфли]]

#платье

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

иначе....

===
Не работает.

Отредактировано Вета (30.07.2013 21:21)

Неактивен

 

   #261
30.07.2013 21:01

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Сорри. Сейчас на даче в экстремальных условиях smile
Смогу посмотреть не ранее, чем через несколько дней.

Неактивен

 

   #262
30.07.2013 23:02

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

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

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

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

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

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

Неактивен

 

   #263
31.07.2013 12:17

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

Ага, спасибо, Морыч, так получается. Локация, действительно, инвентарь.  Просто я знаю, как в том же куспе это сделать и пытаюсь подстроиться по аналогии, но не выходит sad Жаль, что в аксме нет резкого goto, чтобы сразу уходил на другой параграф, иногда бы пригодилось. smile Ну и всплывающие подменю в ссылках, конечно. Хотя, может, с помощью явы скрипта их и можно как-то реализовать.

Неактивен

 

   #264
31.07.2013 13:26

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

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

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

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

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

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

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

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

Код:

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

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

Неактивен

 

   #265
31.07.2013 14:10

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

Пример для goto-например, в том же драконьем кодексе. В локации логово у меня существовала проверка номера дня. Когда наступал пятый день, там стояло goto 'праздник' и персонажа сразу перекидывало в другую локацию. А так приходилось делать дополнительное условие и дополнительную ссылку-перехода "Идти на праздник" + снова выводилось описание логова.

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

Неактивен

 

   #266
31.07.2013 17:04

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

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

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

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

Неактивен

 

   #267
07.08.2013 14:20

WeLLWar
Участник (+3)
Зарегистрирован: 11.01.2013
Сообщений: 13

---

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

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

Неактивен

 

   #268
07.08.2013 15:13

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

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

WeLLWar написал:

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

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

Неактивен

 

   #269
07.08.2013 17:22

WeLLWar
Участник (+3)
Зарегистрирован: 11.01.2013
Сообщений: 13

---

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

Заранее спасибо! Мне это действительно нужно smile

Неактивен

 

   #270
11.08.2013 18:46

WeLLWar
Участник (+3)
Зарегистрирован: 11.01.2013
Сообщений: 13

---

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

Еще раз попытался реализовать боевую систему в аксме. Опять провал. Уже перечитал "Инви непобедимый" со злости на себя. Хелп ми.

Неактивен

 

   #271
11.08.2013 19:55

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

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

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

Неактивен

 

   #272
11.08.2013 20:13

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

В какой-то игре я наблюдал, как прозвучал одиночный звук, и тут же прекратился, не стал играть в цикле (параграф не менялся при этом). Как такого можно добиться? С помощью $$time задавать <<noaudio>>  в какой-то момент, или ещё как?

Неактивен

 

   #273
11.08.2013 20:53

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Можно попробовать <<noaudio>> запихнуть в параграф, который вызывать по <<repeat>>. И после остановки звука останавливать повтор этого параграфа по <<stop>>. Но проблема, по-правде в том, что неизвестно, когда читателю загрузится аудиофайл из инета - скорости-то у всех разные sad

Неактивен

 

   #274
11.08.2013 20:55

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Можно ещё просто делать аудиофайл с длинной тишиной в конце, а при переходе на другой параграф делать <<noaudio>>. Тишина не должна сильно влиять на размер файла.

Неактивен

 

   #275
13.08.2013 11:55

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

Morych написал:

доделываю демку

Morych, я тоже приобщился бы, т.к. тоже встраиваю боёвку, и очень полезно посмотреть конкретный пример программирования

Неактивен

 

   #276
13.08.2013 18:24

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

А вот и боевая система "Арена"! http://hyperbook.ru/file13764029087384

Неактивен

 

   #277
13.08.2013 18:29

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

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

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

Неактивен

 

   #278
19.08.2013 23:13

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

Подскажите, пожалуйста, как сделать следующее:
Есть Параграф1, в котором сначала пару секунд должен выводиться прогресс бар в виде добавляющихся точек (......), после чего выводится Параграф2.
Заранее премного благодарю!

Неактивен

 

   #279
20.08.2013 00:32

Ergistal
Участник (+32, -3)
Откуда: Крым
Зарегистрирован: 25.05.2011
Сообщений: 134
Вебсайт

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

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

Код:

:: тест1
<<set $takt = 0>>
<<repeat 'Повтор' 1>>

:: Повтор
.<<set $takt = $takt + 1>><<if $takt eq 5>><<stop 'Повтор'>><<br>>Конец отсчёта<<endif>>

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

Параграф Тест1

<<set $takt = 0>>

Здесь задаём счётчик такт.

<<repeat 'Повтор' 1>>

Включаем повторение, с задержкой в 1 секунду.

Параграф Повтор

.

Выводим точку

<<set $takt = $takt + 1>>

Увеличиваем значение счётчика на единицу.

<<if $takt eq 5>>

Проверяем число повторений, в данном случае выводится 5 точек, за 5 секунд реального времени.

<<stop 'Повтор'>><<br>>Конец отсчёта<<endif>>

Если условие соблюдается (5 повторений), тогда повторение останавливается и на новой строке выводится сообщение (или ссылка).

Отредактировано Ergistal (20.08.2013 00:36)

Неактивен

 

   #280
20.08.2013 00:43

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

Ergistal, огромное спасибо! Особенно за подробное разъяснение.
А задержка может быть меньше секунды? Скажем, полсекунды?
Уже прочитал в руководстве. Нельзя.

Отредактировано sosiskin (20.08.2013 00:49)

Неактивен

 

   #281
20.08.2013 09:32

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

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

Ergistal написал:

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

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

Неактивен

 

   #282
20.08.2013 09:48

Ergistal
Участник (+32, -3)
Откуда: Крым
Зарегистрирован: 25.05.2011
Сообщений: 134
Вебсайт

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

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

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

Неактивен

 

   #283
20.08.2013 10:32

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

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!

Неактивен

 

   #284
20.08.2013 11:03

Ergistal
Участник (+32, -3)
Откуда: Крым
Зарегистрирован: 25.05.2011
Сообщений: 134
Вебсайт

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

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

Morych
Да, отлично вышло обошёл загвоздку с задержкой! но для этого пришлось лишний repeat  прицеплять. Зато у меня короче код вышел smile

Отредактировано Ergistal (20.08.2013 11:04)

Неактивен

 

   #285
20.08.2013 14:57

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

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

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

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

напр.

#горы

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

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

#лес

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

Отредактировано Вета (20.08.2013 14:57)

Неактивен

 

   #286
20.08.2013 15:05

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

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

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

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

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

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

напр.

#горы

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

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

#лес

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

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

Код:

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

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

Неактивен

 

   #287
20.08.2013 15:48

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

Morych написал:

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

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

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

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

напр.

#горы

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

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

#лес

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

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

Код:

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

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

Боюсь, как бы у меня остальное не нарушилось... Там же вкладки... Давай пилить Драгона, пусть сделает эту фичу. smile

К тому же мне надо сменить на день... И там еще с числами будет завязано потом...
ЗЫ: попробовала, не получается, как нужно sad

Отредактировано Вета (20.08.2013 15:55)

Неактивен

 

   #288
20.08.2013 16:18

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

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

ЗЫ: В версии 2.0 вроде планируется, да?

Отредактировано Вета (20.08.2013 16:35)

Неактивен

 

   #289
20.08.2013 16:33

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

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

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

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

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

Неактивен

 

   #290
20.08.2013 16:43

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

Написала smile

ЗЫ: Никакого шантажа, констатация факта в связи с невозможностью реализации )))

Неактивен

 

   #291
20.08.2013 18:46

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Возможно всё smile
Но только если мне вменяемо скажут, что надо сделать, а то сейчас и так голова пухнет sad

PS. И в тему предложений, пожалуйста.

Неактивен

 

   #292
20.08.2013 21:12

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

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

Неактивен

 

   #293
21.08.2013 10:13

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

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

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

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

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

Неактивен

 

   #294
22.08.2013 15:43

Cheshire
Участник (+85, -6)
Зарегистрирован: 01.07.2009
Сообщений: 317

«Ловко орудуя топором, вы разрубили все ваши монеты пополам. Теперь у вас в два раза больше золота».
Морыч

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

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

Неактивен

 

   #295
22.08.2013 16:01

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

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

Cheshire написал:

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

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

Код:

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

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

Неактивен

 

   #296
23.08.2013 08:08

Cheshire
Участник (+85, -6)
Зарегистрирован: 01.07.2009
Сообщений: 317

«Ловко орудуя топором, вы разрубили все ваши монеты пополам. Теперь у вас в два раза больше золота».
Морыч

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

Да, такой костыль может сработать. Спасибо.

Morych написал:

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

А вот это почему так?

Неактивен

 

   #297
23.08.2013 08:33

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

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

Неактивен

 

   #298
23.08.2013 10:00

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

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

arudzo написал:

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

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

Код:

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

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

Код:

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

Неактивен

 

   #299
24.08.2013 00:04

arudzo
Участник
Зарегистрирован: 23.08.2013
Сообщений: 2

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

Спасибо большое за оперативную помощь! Всё получилось!

Неактивен

 

   #300
18.10.2013 12:10

romz
Участник
Зарегистрирован: 10.10.2013
Сообщений: 4

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

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

Неактивен

 

   #301
18.10.2013 13:50

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

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

romz написал:

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

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

Неактивен

 

   #302
25.10.2013 18:41

Max
Участник (+1)
Зарегистрирован: 25.10.2013
Сообщений: 8

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

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

Неактивен

 

   #303
26.10.2013 03:50

Fahrengeit
Участник (+1)
Зарегистрирован: 26.10.2013
Сообщений: 2

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

Max написал:

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

Честно даже не понимаю, зачем это надо.. причем в текстовой реализации...
Так-то можно сделать все. Главное придумать алгоритм. Графическое отображение естественно будет отсутствовать, скорее всего только словесное сопровождение, где будут рандомно выдаваться события.
А результаты конкретного игрока... да тоже, почему нет.
Редко когда бывает, что что-то сделать нельзя) тут скорее вопрос возникает "Зачем" и "Кому это надо".

Неактивен

 

   #304
26.10.2013 11:18

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

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

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

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

Неактивен

 

   #305
28.10.2013 20:41

Max
Участник (+1)
Зарегистрирован: 25.10.2013
Сообщений: 8

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

Я видимо не правильно задал вопрос)))
я не программист и вообще далекий от этого человек, игры делать не могу, но у меня есть мечта сделать что-то вроде симулятора жизни футболиста, как с профессиональной стороны, так и с описанием личной жизни (попал из простого клуба, например, в Барсу - появилось бало, тратит его, может быть выбор ходить по клубам как Чипсоид ))) или посвящать себя только футболу, как относится к нему пресса, болельщики и .т.п.). Я совершенно случайно наткнулся на AXMA Story Maker, и мне кажется в этой проге возможно хоть как-то реализовать задуманное.
прописать текст представляю как, но вот как генерировать матчи - не знаю...
вижу так -
молодой футболист имеет определенные показатели, генерируется матч (не знаю как учитывать его данные на игру) и потом показывается, забил ли гол, и вообще попал в основной состав... если все ОК - развивается и т.п.
Вопрос: как сделать систему генерации матчей?? предполагаю, что матчи будут генерироваться не все, допустим за месяц - сыграл столько-то, забил столько-то с такими-то командами...
В общем идея есть, а как реализовать пока не представляю(((
Буду признателен если что-нибудь посоветуете.

Неактивен

 

   #306
29.10.2013 10:41

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

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 и посмотри, как меняются результаты матчей.

Неактивен

 

   #307
29.10.2013 10:45

Oldrik
Участник
Зарегистрирован: 12.11.2012
Сообщений: 35

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

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

Отредактировано Oldrik (29.10.2013 10:46)

Неактивен

 

   #308
29.10.2013 12:01

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

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

Такой вопрос. Вставляю вот этот код диалога (приведен в обучении):

Параграф-диалог

<<display 'Параграф-диалог'>>

<<if $диалог_персонаж eq 1>>
    Реплика главного героя.
    Реплика второстепенного персонажа.
    [[Реплика героя, вариант 1|Параграф-диалог {$диалог_персонаж = 2}]]
    [[Реплика героя, вариант 2|Параграф-диалог {$диалог_персонаж = 3}]]

<<elseif $диалог_персонаж eq 2>>
    Реплика героя, вариант 1.
    Реакция второстепенного персонажа.
    [[Закончить разговор|Параграф-сцена {$диалог_персонаж = 4}]]

<<elseif $диалог_персонаж eq 3>>
    Реплика героя, вариант 2.
    Реакция второстепенного персонажа.
    [[Закончить разговор|Параграф-сцена {$диалог_персонаж = 4}]]

<<elseif $диалог_персонаж eq 4>>
    Реплика героя.
    Второстепенный персонаж напоминает, что уже разговаривали.
    [[Закончить разговор|Параграф-сцена]]

<<endif>>

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

Неактивен

 

   #309
29.10.2013 12:14

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

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

alfa10 написал:

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

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

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

Неактивен

 

   #310
29.10.2013 12:17

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

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

Oldrik написал:

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

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

Неактивен

 

   #311
29.10.2013 12:24

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

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

Morych написал:

alfa10 написал:

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

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

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

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

[[Реплика героя, вариант 1|Параграф-диалог {$диалог_персонаж = 2}]]
[[Реплика героя, вариант 2|Параграф-диалог {$диалог_персонаж = 3}]]

уже не срабатывают

Неактивен

 

   #312
29.10.2013 12:28

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

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

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

Неактивен

 

   #313
29.10.2013 12:30

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

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

Morych написал:

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

Точняк! Все заработало! Спасибо тебе, дружище!

Неактивен

 

   #314
29.10.2013 12:38

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

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

alfa10 написал:

Точняк! Все заработало! Спасибо тебе, дружище!

Обращайся! smile

alfa10 написал:

Дык вот это именно пример из обучения.

Я вот заглянул в учебник, и там на самом деле <<display 'Заголовок'>> wink

Неактивен

 

   #315
29.10.2013 13:04

Oldrik
Участник
Зарегистрирован: 12.11.2012
Сообщений: 35

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

Morych, код самому не понравился.
Немного переделал:

<<set $gg = [0,0]>> - Где 0 - опыт Главного Героя (ГГ)(например опыт = забитых мячей), 1 - навык.
<<set $com_gg = [0,0]>> - команда ГГ, где 0 - название, 1 - навык.
<<set $match = [0,0,0,0]>> - Где 0 - с кем играли, 1 - сколько пропустили, 2 - сколько забили, 3 - сколько забил ГГ.

<<set $random $a0 = 3>> - выбирается с кем играли.
<<set $match[0] = $a0>>
<<display 'com'>> - тут названия команд и их характеристики. (<<set $com = ['Газмяс',1]>> Название и навык команды).

<<random $a1 = 10>>
<<random $a2 = 10>>

<<if $com[1] gt $com_gg[1]>>
<<set $a1 = $a1 + 1>>
<<elseif $com[1] lt $com_gg[1]>>
<<set $a2 = $a2 + 1>>
<<endif>>
#Какая команда опытнее та и забила один гарантированный гол. Можно сделать шанс на забитие.#

<<random $b = 9>>
<<if $gg[1] gte 3 and $gg[1] lt 6>>
<<set $b = $b + 1>>
<<elseif $gg[1] gte 6 and $gg[1] lt 9>>
<<set $b = $b + 2>>
<<elseif $gg[1] gte 9>>
<<set $b = $b + 3>>
<<endif>>
#Чем больше навык игрока - тем больше его шанс забить гол.#

<<if $b gte 4 and $b lt 6>>
<<set $match[3] = $match[3] + 1>>
Игрок забил один мяч.
<<elseif $b gte 6 and $b lt 9>>
<<set $match[3] = $match[3] + 2>>
Игрок забил два мяча.
<<elseif $b gte 9>>
<<set $match[3] = $match[3] + 3>>
Игрок забил три мяча.
<<endif>>
#Участие игрока в матче#

<<set $a2 = $a2 + $match[3]>> - результат команды игрока.
<<set $gg[0] = $gg[0] + $match[3]>> - прокачка ГГ.

<<if $a1 gt $a2>>
Проиграли.
<<elseif $a1 eq $a2>>
Ничья.
<<else>>
Победа.
<<endif>>
#Результат матча#
Счёт - <<print $a1>> : <<print $a2>>

Отредактировано Oldrik (29.10.2013 13:05)

Неактивен

 

   #316
29.10.2013 16:57

Max
Участник (+1)
Зарегистрирован: 25.10.2013
Сообщений: 8

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

Спасибо за советы. Сейчас сижу разбираюсь )))

Неактивен

 

   #317
29.10.2013 21:23

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

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

Ребят, такой вопрос: создаю книгу, вставляю в нею фотки. Потом сохраняю книгу в файл HTML. На другом компьютере запускаю этот сохраненный файл - а фоток нет. Как делать так, чтобы фотографии были в книге, даже если я смотрю файл на другом компьютере? Например, вот напишу я книгу, захочу ее сохранить в файл и отослать друзьям - а фотки получается, пропадут?

Неактивен

 

   #318
29.10.2013 22:39

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

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

alfa10 написал:

Ребят, такой вопрос: создаю книгу, вставляю в нею фотки. Потом сохраняю книгу в файл HTML. На другом компьютере запускаю этот сохраненный файл - а фоток нет. Как делать так, чтобы фотографии были в книге, даже если я смотрю файл на другом компьютере? Например, вот напишу я книгу, захочу ее сохранить в файл и отослать друзьям - а фотки получается, пропадут?

Картинки не встраиваются в html-файл, там только изображения кнопок. Если ты добавляешь картинки пунктом меню "Выбрать локальный файл", они копируются в папку files рядом с sm-файлом. Соответственно отсылай друзьям ещё и папку files вместе с html-файлом. Для пересылки по почте можно всё предварительно упаковать в архив.

Неактивен

 

   #319
30.10.2013 00:00

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

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

Morych написал:

alfa10 написал:

Ребят, такой вопрос: создаю книгу, вставляю в нею фотки. Потом сохраняю книгу в файл HTML. На другом компьютере запускаю этот сохраненный файл - а фоток нет. Как делать так, чтобы фотографии были в книге, даже если я смотрю файл на другом компьютере? Например, вот напишу я книгу, захочу ее сохранить в файл и отослать друзьям - а фотки получается, пропадут?

Картинки не встраиваются в html-файл, там только изображения кнопок. Если ты добавляешь картинки пунктом меню "Выбрать локальный файл", они копируются в папку files рядом с sm-файлом. Соответственно отсылай друзьям ещё и папку files вместе с html-файлом. Для пересылки по почте можно всё предварительно упаковать в архив.

Получается только так? А если публиковать книгу из программы в библиотеку - тогда все нормально пропишется и фотографии останутся?

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

Код:

[[File: files/Scooter - Fire.mp3]]

Неактивен

 

   #320
30.10.2013 00:33

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

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

alfa10 написал:

Получается только так? А если публиковать книгу из программы в библиотеку - тогда все нормально пропишется и фотографии останутся?

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

alfa10 написал:

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

Код:

[[File: files/Scooter - Fire.mp3]]

А какой браузер ты используешь, случайно не Оперу? Для неё нужен звуковой файл с таким же именем, но в формате ogg. Если вставляешь музыку в игру, придётся каждый звуковой файл в двух форматах рядышком класть mp3 и ogg, чтобы у всех проигрывалась музыка независимо от браузера.

Неактивен

 

   #321
30.10.2013 10:12

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

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

Morych написал:

А какой браузер ты используешь, случайно не Оперу? Для неё нужен звуковой файл с таким же именем, но в формате ogg. Если вставляешь музыку в игру, придётся каждый звуковой файл в двух форматах рядышком класть mp3 и ogg, чтобы у всех проигрывалась музыка независимо от браузера.

Firefox.
А музыка будет играть только на одной странице, или пока не закрою в параграфе тег <<noaudio>>?

Неактивен

 

   #322
30.10.2013 10:36

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

А музыка будет играть только на одной странице, или пока не закрою в параграфе тег <<noaudio>>?

Во всех параграфах. Пока не встретится тег <<noaudio>>.
P.S. в Firefox нужно использовать ogg формат. Но лучше сделать и mp3 файл, чтобы не зависеть от браузера.

Неактивен

 

   #323
30.10.2013 13:33

Max
Участник (+1)
Зарегистрирован: 25.10.2013
Сообщений: 8

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

Oldrik написал:

Morych, код самому не понравился.
Немного переделал:

<<set $gg = [0,0]>> - Где 0 - опыт Главного Героя (ГГ)(например опыт = забитых мячей), 1 - навык.
<<set $com_gg = [0,0]>> - команда ГГ, где 0 - название, 1 - навык.
<<set $match = [0,0,0,0]>> - Где 0 - с кем играли, 1 - сколько пропустили, 2 - сколько забили, 3 - сколько забил ГГ.

<<set $random $a0 = 3>> - выбирается с кем играли.
<<set $match[0] = $a0>>
<<display 'com'>> - тут названия команд и их характеристики. (<<set $com = ['Газмяс',1]>> Название и навык команды).

<<random $a1 = 10>>
<<random $a2 = 10>>

<<if $com[1] gt $com_gg[1]>>
<<set $a1 = $a1 + 1>>
<<elseif $com[1] lt $com_gg[1]>>
<<set $a2 = $a2 + 1>>
<<endif>>
#Какая команда опытнее та и забила один гарантированный гол. Можно сделать шанс на забитие.#

<<random $b = 9>>
<<if $gg[1] gte 3 and $gg[1] lt 6>>
<<set $b = $b + 1>>
<<elseif $gg[1] gte 6 and $gg[1] lt 9>>
<<set $b = $b + 2>>
<<elseif $gg[1] gte 9>>
<<set $b = $b + 3>>
<<endif>>
#Чем больше навык игрока - тем больше его шанс забить гол.#

<<if $b gte 4 and $b lt 6>>
<<set $match[3] = $match[3] + 1>>
Игрок забил один мяч.
<<elseif $b gte 6 and $b lt 9>>
<<set $match[3] = $match[3] + 2>>
Игрок забил два мяча.
<<elseif $b gte 9>>
<<set $match[3] = $match[3] + 3>>
Игрок забил три мяча.
<<endif>>
#Участие игрока в матче#

<<set $a2 = $a2 + $match[3]>> - результат команды игрока.
<<set $gg[0] = $gg[0] + $match[3]>> - прокачка ГГ.

<<if $a1 gt $a2>>
Проиграли.
<<elseif $a1 eq $a2>>
Ничья.
<<else>>
Победа.
<<endif>>
#Результат матча#
Счёт - <<print $a1>> : <<print $a2>>

Я долго пытался разобраться в этом.. пробовал и так и так...

мне кажется, что здесь

<<set $random $a0 = 3>> - выбирается с кем играли.  ---->>> ошибка

ни как не могу врубиться в следующее:
- что означает объект и рядом с ним []. например - $match[3]
- если возможно для чайника объясните по -шагово... я не понимаю, почему ставятся те или иные числа (((

Неактивен

 

   #324
30.10.2013 14:05

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

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

В справке это есть.

Неактивен

 

   #325
30.10.2013 14:36

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

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

Код:

<<if $диалог eq 1>>
<<clrscr>>
<<random $rnd = 8>>
<<set $маги = 5>>
<<set $удача = $удача>>
===Ваш рейтинг удачи равен ''<<print $удача>>''===

Интересует вот эта строка из кода:

Код:

<<set $удача = $удача>>

Правильно ли я понимаю, что в  этом параграфе текущий параметр удачи берется от предыдущего параметра удачи?

Неактивен

 

   #326
30.10.2013 15:30

Oldrik
Участник
Зарегистрирован: 12.11.2012
Сообщений: 35

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

мне кажется, что здесь

<<set $random $a0 = 3>> - выбирается с кем играли.  ---->>> ошибка

ни как не могу врубиться в следующее:
- что означает объект и рядом с ним []. например - $match[3]
- если возможно для чайника объясните по -шагово... я не понимаю, почему ставятся те или иные числа (((

Да, разумеется ошибка. Надо было хоть разок глазами пробежать.
<<random $a0 = 3>> - Так правильно.

Неактивен

 

   #327
30.10.2013 15:36

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

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

alfa10,  эта строчка ничего не делает. Переменная приравнивпется сама себе.

Неактивен

 

   #328
30.10.2013 15:41

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

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

Flash написал:

alfa10,  эта строчка ничего не делает. Переменная приравнивпется сама себе.

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

Код:

<<set $удача1 = $удача>>

Неактивен

 

   #329
30.10.2013 15:54

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

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

Max написал:

что означает объект и рядом с ним []. например - $match[3]

Это означает, что объект $match является списком (одномерным массивом), а $match[3] - это элемент списка с индексом 3. Как верно подметил Flash, можно почитать в руководстве пользователя про списки.
Вообще мне кажется, в примере Oldrik'а можно вполне обойтись без списков, заменив их на простые объекты. Например, вместо $match[3] --> $сколькоЗабилГГ

Неактивен

 

   #330
30.10.2013 15:59

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

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

alfa10 написал:

Flash написал:

alfa10,  эта строчка ничего не делает. Переменная приравнивпется сама себе.

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

Код:

<<set $удача1 = $удача>>

Все переменные глобальные. Т.е. если задать значение переменной на одном параграфе, на всех следующих параграфах переменная сохранит это значение. До тех пор пока ты не перезапустишь игру.

Неактивен

 

   #331
30.10.2013 16:00

Oldrik
Участник
Зарегистрирован: 12.11.2012
Сообщений: 35

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

Можно и без них. Но так проще - всё в одном месте.
Можно сделать несколько списков, и потом смотреть результат нескольких прошедших игр.

Неактивен

 

   #332
30.10.2013 20:45

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

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

Вопросов у меня много, так что сорри. Я начинающий интерактивовод smile
Музыка работает если файл OGG. Разобрался. Спасибо за помощь. Теперь вопрос - а как сделать так, чтобы мелодии игрались по-очереди по ходу книги?

Еще вопрос. Вот фрагмент кода:

Код:

<<set $ясила = 3>>
<<set $врагсила = 6>>
<<set $жизнь = 10>>
<<set $жизнь1 = 5>>
<<random $кубик = 10>>
<<if $кубик > ($врагсила-$ясила)>>
<<print $я>> - <<print $жизнь>>
<<print $враг>> - <<print $жизнь1-1>>    
<<else>>
<<print $я>> - <<print $жизнь-1>>
<<print $враг>> -<<print $жизнь1>>    
<<endif>>

Как я его вижу:
даю значение силы мне - 3
даю значение силы врагу - 6
даю значение жизни себе - 10
даю значение жизни врагу - 5
даю рендомное значение кубику от 0 (или все-таки 1) до 5
если значение кубика больше значения (сила врага - моя сила) то
выводится имя переменной $я (вводил в прошлом параграфе) - выводится значение (моя жизнь) // например, Сергей - 10
выводится имя переменной $враг (вводил в прошлом параграфе) - выводится значение (жизнь врага минус 1)// например, Сергей - 4
иначе
выводится имя переменной $я (вводил в прошлом параграфе) - выводится значение (моя жизнь минус 1)
выводится имя переменной $враг (вводил в прошлом параграфе) - выводится значение (жизнь врага)
закрытие кода

Но, почему то, у меня ничего не выводится. Пишется NaN. Где моя ошибка?

Отредактировано alfa10 (30.10.2013 22:56)

Неактивен

 

   #333
31.10.2013 05:45

Oldrik
Участник
Зарегистрирован: 12.11.2012
Сообщений: 35

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

<<set $ясила = 3>>
<<set $врагсила = 6>>
<<set $жизнь = 10>>
<<set $жизнь1 = 5>>
<<random $кубик = 10>>
<<if $кубик gte ($врагсила-$ясила)>>
<<set $жизнь1 = $жизнь1 - 1>>
<<print $я>> - <<print $жизнь>>
<<print $враг>> - <<print $жизнь1>>   
<<else>>
<<set $жизнь = $жизнь - 1>>
<<print $я>> - <<print $жизнь>>
<<print $враг>> - <<print $жизнь1>>   
<<endif>>

Так должно работать.
Ошибка в <<print $жизнь-1>>. Print служит для вывода значения объекта, а не его изменения.

Неактивен

 

   #334
31.10.2013 10:52

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

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

Отлично! Все работает! Спасибо!
А что означает gte ? Значение "больше"?

Как можно сделать так, чтобы при значении параметра $жизнь - 0 бой заканчивался?

Неактивен

 

   #335
31.10.2013 10:54

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

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

alfa10 написал:

Теперь вопрос - а как сделать так, чтобы мелодии игрались по-очереди по ходу книги?

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

Неактивен

 

   #336
31.10.2013 11:04

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

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

alfa10 написал:

А что означает gte ? Значение "больше"?

gte = Greater Than or Equals - больше либо равно. Лучше используй в макросах if именно такие, буквенные операторы.

alfa10 написал:

Как можно сделать так, чтобы при значении параметра $жизнь - 0 бой заканчивался?

Ещё один макрос if. Попробуй так:

<<if $жизнь lte 0>> (меньше либо равно)
<<goto 'ГеймОвер'>> (переход на другой параграф)
<<endif>>

Неактивен

 

   #337
31.10.2013 11:17

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

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

Ну, вот, получается видимо так:

Код:

<<set $жизнь = 1>>
<<set $жизнь1 = 1>>
<<random $кубик = 10>>
<<if $кубик gte 3>>
<<set $жизнь1 = $жизнь1 - 1>>
<<if $жизнь1 lte 0>>
<<goto 'GameOver1'>>
<<else>>
<<print $я>> - <<print $жизнь>>
<<print $враг>> - <<print $жизнь1>>   
<<endif>>
<<else>>
<<set $жизнь = $жизнь - 1>>
<<if $жизнь lte 0>>
<<goto 'GameOver'>>
<<else>>
<<print $я>> - <<print $жизнь>>
<<print $враг>> - <<print $жизнь1>> 
<<endif>>
<<endif>>

А как зациклить код? Чтобы значения уменьшались до того момента, пока переменная жизнь не примет нулевое значение?

Отредактировано alfa10 (31.10.2013 11:28)

Неактивен

 

   #338
31.10.2013 12:02

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

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

alfa10 написал:

А как зациклить код? Чтобы значения уменьшались до того момента, пока переменная жизнь не примет нулевое значение?

Допустим, сражение у нас в параграфе "Битва". Начальное значение жизней нужно установить до этого параграфа:

Код:

:: Параграф_до_битвы
<<set $жизнь = 7>>
<<set $жизнь1 = 6>>
Внезапно путь преграждает <<print $враг>>!
<<print $я>> - <<print $жизнь>>
<<print $враг>> - <<print $жизнь1>>   
[[Начать битву|Битва]]
[[Убежать|Бегство]]

:: Битва
<<random $кубик = 10>>
<<if $кубик gte 3>>
    <<print $я>> наносит удар!
    <<set $жизнь1 = $жизнь1 - 1>>
<<else>>
    <<print $враг>> наносит удар!
    <<set $жизнь = $жизнь - 1>>
<<endif>>
<<print $я>> - <<print $жизнь>>
<<print $враг>> - <<print $жизнь1>>
<<if $жизнь lte 0>>
    <<print $я>> падает на землю без чувств...
    [[Это конец|GameOver]]
<<elseif $жизнь1 lte 0>>
    <<print $враг>> падает на землю, путь свободен!
    [[Праздновать победу|Победа]]
<<else>>
    [[Продолжать битву|Битва]]
    [[Убежать|Бегство]]
<<endif>>

Лучше зацикливать так, на ссылках, чтобы у игрока создавалось ощущение, что он на что-то влияет.

Неактивен

 

   #339
31.10.2013 12:18

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

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

Спасибо тебе большое! очень сильно помогаешь мне smile И всем вам ребята - большое спасибо

А есть ли при создании книги ограничение в количестве параграфов? А то, у меня тут глобальная книга намечается smile

Еще вопрос - можно ли сделать, чтобы во время боя страница автоматически обновлялась, а не клацать каждый раз на продолжить?

Отредактировано alfa10 (31.10.2013 13:23)

Неактивен

 

   #340
31.10.2013 14:48

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Ограничений на количество параграфов нет.
А для автообновления параграфа рекомендую использовать макрос <<repeat>> (см. мануал).

Неактивен

 

   #341
31.10.2013 15:07

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

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

alfa10 написал:

Спасибо тебе большое! очень сильно помогаешь мне smile И всем вам ребята - большое спасибо

Пожалуйста smile

alfa10 написал:

Еще вопрос - можно ли сделать, чтобы во время боя страница автоматически обновлялась, а не клацать каждый раз на продолжить?

Как заметил DD, можно через макрос repeat:

Код:

:: Параграф_до_битвы
...
[[Начать битву|НачалоБитвы]] (всё то же самое кроме этой строчки)

:: НачалоБитвы
<<repeat 'Битва' 2>> (здесь число - это время обновления в секундах)
<<display 'Битва'>> (сразу показываем параграф "Битва", чтобы не ждать первый раз)

:: Битва
<<clrscr>> (в самом начале очищаем экран, если не очищать - будет "лог" битвы)
<<random $кубик = 10>>
<<if $кубик gte 3>>
    <<print $я>> наносит удар!
    <<set $жизнь1 = $жизнь1 - 1>>
<<else>>
    <<print $враг>> наносит удар!
    <<set $жизнь = $жизнь - 1>>
<<endif>>
<<print $я>> - <<print $жизнь>>
<<print $враг>> - <<print $жизнь1>>
<<if $жизнь lte 0>>
    <<print $я>> падает на землю без чувств...
    <<stop 'Битва'>> (битва окончена - останавливаем авто обновление)
    [[Это конец|GameOver]]
<<elseif $жизнь1 lte 0>>
    <<print $враг>> падает на землю, путь свободен!
    <<stop 'Битва'>> (и в этом случае тоже останавливаем)
    [[Праздновать победу|Победа]]
<<endif>>

И да, Руководство пользователя AXMA Story Maker - очень хорошая вещь, рекомендую! wink

Неактивен

 

   #342
31.10.2013 17:49

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

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

Зачем запутывать еще сильнее человека, если можно вместо "gte" использовать ">=", а вместо "lte" - "<="?

Неактивен

 

   #343
01.11.2013 08:24

NeoMatrix777
Участник
Зарегистрирован: 01.11.2013
Сообщений: 2

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

Господа, а есть ли возможность на этом движке запилить рогалик? Я в программирование не силен, поэтому у меня даже нет особых идей по алгоритму передвижения героя-символа по пустому полю.

Неактивен

 

   #344
01.11.2013 10:12

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

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

NeoMatrix777 написал:

Господа, а есть ли возможность на этом движке запилить рогалик? Я в программирование не силен, поэтому у меня даже нет особых идей по алгоритму передвижения героя-символа по пустому полю.

Ну а что, списки и циклы есть, моноширинный шрифт есть - значит теоретически возможно smile Только карта будет монохромной, разве что некоторые объекты на карте будут ссылками. Ещё один нюанс: на мелких экранах мобильных устройств карта может отображаться неверно из-за переносов строк (но в меню можно попробовать изменить размер шрифта). А идея алгоритма передвижения проста: у героя есть координаты X и Y. Если герой идёт на север или юг, изменяем вертикальную координату, на запад или восток - горизонтальную. Заодно с изменением координаты проверяем границы окна и карты, наличие на пути непроходимых объектов, затем перерисовываем карту.

Неактивен

 

   #345
01.11.2013 11:37

Max
Участник (+1)
Зарегистрирован: 25.10.2013
Сообщений: 8

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

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

:: матч
<<set $ком_ГГ = ['Барса',20]>>
<<set $ком = ['Атлетико',15]>>
<<random $гол1 = 2>>
<<random $гол2 = 2>>
<<random $rnd = 99>>
<<if $rnd lt 50 + ($ком_ГГ[1] - $ком[1]) * 5>>
    <<set $гол1 = $гол1 + $гол2>>
<<else>>
    <<set $гол2 = $гол2 + $гол1>>
<<endif>>
''===результат матча===''
===<<print $гол1>> : <<print $гол2>>===
===<<print $ком_ГГ[0]>> : <<print $ком[0]>>===

<<if $гол1 gt $гол2>>
Победили хозяева
<<elseif $гол1 eq $гол2>>
у нас ничья
<<elseif $гол1 lt $гол2>>
Хозяева проиграли
<<endif>>

[[узнать результаты ГГ|забил гг]]



:: забил гг
<<set $ГГ = 10>>
<<random $игра_ГГ = 9>>
<<if $ГГ lte 9 and $игра_ГГ lte 7>>
    <<set $голГГ = 0>>
<<elseif $ГГ gte 9 and $ГГ lte 7 and $ком_ГГ[1] eq 1>>
<<set $голГГ = 0>>
<<elseif $ГГ gte 9 and $ГГ gt 8 and $ком_ГГ[1] gt 1>>
    <<set $голГГ = $гол1>>
<<endif>>
''===результат игрока===''
<<if $голГГ eq 0>>
игрок не забил
<<elseif $голГГ eq $гол1>>
игрок забил <<print $голГГ>> голов
<<endif>>

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

Неактивен

 

   #346
01.11.2013 12:31

Oldrik
Участник
Зарегистрирован: 12.11.2012
Сообщений: 35

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

А ещё ТриДэ, стотыщь полигонов только на мяч, фото текстуры и Лондонский Симфонический на подпевке. Начинай с малого, с чем-то большим ты перегоришь раньше времени.

Неактивен

 

   #347
01.11.2013 12:43

Max
Участник (+1)
Зарегистрирован: 25.10.2013
Сообщений: 8

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

Oldrik написал:

А ещё ТриДэ, стотыщь полигонов только на мяч, фото текстуры и Лондонский Симфонический на подпевке. Начинай с малого, с чем-то большим ты перегоришь раньше времени.

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

Неактивен

 

   #348
01.11.2013 15:40

Max
Участник (+1)
Зарегистрирован: 25.10.2013
Сообщений: 8

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

подскажите, как понимать эту запись

<<random $гол1 = 2>>
<<random $гол2 = 2>>
<<random $rnd = 99>>
<<if $rnd lt 50 + ($ком_ГГ[1] - $ком[1]) * 5>>

особенно последняя строчка...

я хочу использовать силу атаки и силу защиты, так, чтобы атака слабее имела меньше вероятности пробиться через сильную защиту
пробую так, но все равно криво(((

<<set $ком_ГГ = ['Барса',90,70]>>
<<set $ком = ['Атлетико',70,60]>>
<<random $гол1 = 2>>
<<random $гол2 = 2>>
<<random $rnd = 99>>
<<if $rnd lt 50 + ($ком_ГГ[1] - $ком[2]) * 5>>
<<set $гол_ком_ГГ = $гол1 + $гол2>>
<<else>>
<<set $гол_ком_ГГ = 0>>
<<endif>>
<<random $rnd1 = 99>>
<<if $rnd1 lt 50 + ($ком[1] - $ком_ГГ[2]) * 5>>
<<set $гол_ком = $гол1 + $гол2>>
<<else>>
<<set $гол_ком = 0>>
<<endif>>

почему-то не получается ((( вообще ничего не высвечивается(((

Отредактировано Max (01.11.2013 16:03)

Неактивен

 

   #349
01.11.2013 17:24

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

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

Max написал:

подскажите, как понимать эту запись

<<random $гол1 = 2>>
<<random $гол2 = 2>>
<<random $rnd = 99>>
<<if $rnd lt 50 + ($ком_ГГ[1] - $ком[1]) * 5>>

особенно последняя строчка...

Ну <<random $rnd = N>> означает случайное целое число от 0 до N включительно.
Рандом от 0 до 99 я использую, когда известна вероятность какого-то события, и надо определить, произошло ли событие:

<<random $rnd = 99>>
<<if $rnd lt M>>
    # Событие произошло!
<<endif>>

где M - это вероятность события в процентах (от 0 до 100).

Теперь, допустим, если силы команд равны, то вероятность победы первой команды = 50%. Иначе разница в силе команд на 1 изменяет вероятность победы/поражения на 5%. Соответственно, если первая команда сильнее хотя бы на 10, вероятность её победы = 100%.

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

Неактивен

 

   #350
01.11.2013 17:38

Max
Участник (+1)
Зарегистрирован: 25.10.2013
Сообщений: 8

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

Morych написал:

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

тогда каждый раз выбирая команду, нужно в ручную прописывать влияние Ат, Защ, Мор на СИЛУ???

Неактивен

 

   #351
01.11.2013 17:50

NeoMatrix777
Участник
Зарегистрирован: 01.11.2013
Сообщений: 2

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

То, что требуется система координат - достаточно естественно. Однако каким более конкретным образом она пилиться? Я вот думал как-нибудь через массивы, но чего-то ни к чему толковому не пришел...

Неактивен

 

   #352
01.11.2013 19:33

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

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

NeoMatrix777 написал:

Господа, а есть ли возможность на этом движке запилить рогалик? Я в программирование не силен, поэтому у меня даже нет особых идей по алгоритму передвижения героя-символа по пустому полю.

Подводных камней слишком много, если делать это на АСМе.

Max написал:

Morych написал:

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

тогда каждый раз выбирая команду, нужно в ручную прописывать влияние Ат, Защ, Мор на СИЛУ???

Нет, если я правильно понял вопрос.

Неактивен

 

   #353
02.11.2013 16:29

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

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

В параграфе StoryAuthor вставка картинок запрещена чтоли? Хотел вставить туда текст красивого шрифта, а нифига...

Неактивен

 

   #354
02.11.2013 16:44

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Там может быть только текст. Вставляйте в параграф Start.

Неактивен

 

   #355
02.11.2013 17:03

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

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

Max написал:

тогда каждый раз выбирая команду, нужно в ручную прописывать влияние Ат, Защ, Мор на СИЛУ???

Морыч категорически одобряет параметр "Мор" smile
Вручную не надо, формула же будет. Только нужно определиться с диапазоном изменения Атк, Защ и Мор. Например, от 1 до 10.
Тогда можно, к примеру, так:

Код:

<<if команда1_играет_дома>>
    <<set $K = 1>> (коэф. влияния морали)
<<else>>
    <<set $K = 0.5>>
<<endif>>
<<set $Сила1 = Math.round(Math.max(1, $Атк1 - $Защ2 + $Мор1 * $К))>> (при помощи max ограничиваем силу, чтобы не получилась меньше 1, round - округление до целого)
<<set $Сила2 = Math.round(Math.max(1, $Атк2 - $Защ1 + $Мор2 * (1.5 - $К)))>> (если первая команда играет у себя, то вторая в гостях, и наоборот)

Получается, Сила может принимать значения от 1 до 19, а разница сил от -18 до 18. Значит условие для определения победителя немного изменится:

<<random $rnd = 99>>
<<if $rnd lt 50 + ($Сила1 - $Сила2) * 2.6>>

Т.о. при самом лучшем раскладе шанс победы 96.8%, оставшиеся проценты - шанс критической неудачи. То же самое и с критическим успехом при наихудшем раскладе.

Неактивен

 

   #356
02.11.2013 17:22

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

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

NeoMatrix777 написал:

То, что требуется система координат - достаточно естественно. Однако каким более конкретным образом она пилиться? Я вот думал как-нибудь через массивы, но чего-то ни к чему толковому не пришел...

Через массивы, всё верно, массивы строк. Например, в цикле вывести все строки массива карты до координаты Y гг. Затем выводим часть строки до координаты X, рисуем @ (гг), выводим оставшуюся часть строки, затем выводим оставшиеся строки карты.

Неактивен

 

   #357
03.11.2013 19:17

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

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

Фух, загрузил свою первую интерактивную книгу в библиотеку. Правда, почему-то, при загрузке ругалось на музыкальный файл формата OGG. Пришлось музыку исключить из книги sad

Неактивен

 

   #358
03.11.2013 21:28

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Надо было и ogg и mp3 - оба файла сделать.
А так - поздравляю с успешным дебютом!

Неактивен

 

   #359
03.11.2013 22:04

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

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

DoubleDragon написал:

Надо было и ogg и mp3 - оба файла сделать.
А так - поздравляю с успешным дебютом!

Спасибо! А насколько он успешный - покажет время и участие в конкурсе 31 wink

Неактивен

 

   #360
04.11.2013 13:19

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

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

Просьба помочь разобраться в ошибке кода:

Код:

<<set $жизнь = $жизнь>>
<<set $жизнь1 = $жизнь1>>
Мое здоровье - ''<<print $жизнь>>''
Здоровье вора - ''<<print $жизнь1>>''

Вор поворачивается ко мне. Его лицо скрывает балахон.  Не говоря ни слова, гость направляется на меня...
<<if $успех eq 1>>  [b]----------------------------------------возврат сюда[/b]
[[Ударить в лицо|БойВорНеус {$успех = 2}]]
[[Ударить в живот|БойВорНеус {$успех = 3}]]
[[Кинуть в вора стул|БойВорНеус {$успех = 4}]]
<<endif>>
<<if $успех eq 2>>
<<clrscr>>
<<random $кубик = 6>>
<<if $кубик gte 5>>
Я ударяю вора в голову. Великолепный удар!
<<set $жизнь1 = $жизнь1 - 3>>
Мое здоровье - ''<<print $жизнь>>''
Здоровье вора - ''<<print $жизнь1>>''
<<else>>
Вор ставит блок и проводит ответный удар!
<<set $жизнь = $жизнь - 1>>
Мое здоровье - ''<<print $жизнь>>''
Здоровье вора - ''<<print $жизнь1>>''
<<endif>>
<<if $жизнь1 lte 0>>
<<goto 'ОсмотретьсяЖив'>>    
<<else>>
<<goto 'БойВорНеус' {$успех = 1}>>    
<<elseif $жизнь lte 0>>
<<goto 'Конец1'>>    
<<else>>
<<goto 'БойВорНеус' {$успех = 1}>>    
<<endif>>
<<endif>>

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

Неактивен

 

   #361
05.11.2013 10:18

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

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

alfa10 написал:

Просьба помочь разобраться в ошибке кода:
Почему-то у меня назад не возвращает. Как можно сделать так, чтобы если жизни остаются, параграф продолжался заново с начала?

Давай попробуем разобраться, но сначала небольшая работа над ошибками smile Читай закомментированные строки (после символа #)

Код:

<<set $жизнь = $жизнь>>
<<set $жизнь1 = $жизнь1>>

# Две верхние строчки не нужны

Мое здоровье - ''<<print $жизнь>>''
Здоровье вора - ''<<print $жизнь1>>''
Вор поворачивается ко мне. Его лицо скрывает балахон.  Не говоря ни слова, гость направляется на меня...
<<if $успех eq 1>>
    [[Ударить в лицо|БойВорНеус {$успех = 2}]]
    [[Ударить в живот|БойВорНеус {$успех = 3}]]
    [[Кинуть в вора стул|БойВорНеус {$успех = 4}]]
<<endif>>

# Советую выделять внутренности блока if-endif
# при помощи табуляции, код будет легче читать

<<if $успех eq 2>>
    <<clrscr>>
    <<random $кубик = 6>>
    <<if $кубик gte 5>>
        Я ударяю вора в голову. Великолепный удар!
        <<set $жизнь1 = $жизнь1 - 3>>
        Мое здоровье - ''<<print $жизнь>>''
        Здоровье вора - ''<<print $жизнь1>>''
    <<else>>
        Вор ставит блок и проводит ответный удар!
        <<set $жизнь = $жизнь - 1>>
        Мое здоровье - ''<<print $жизнь>>''
        Здоровье вора - ''<<print $жизнь1>>''
    <<endif>>

    # Выше дважды написано одно и то же (про жизни гг и противника)
    # такого быть не должно. Лучше вынести эти две строки за endif,
    # вот прям сюда

    <<if $жизнь1 lte 0>>
        <<goto 'ОсмотретьсяЖив'>>    
    <<else>>
        <<goto 'БойВорНеус' {$успех = 1}>>    
    <<elseif $жизнь lte 0>>
        <<goto 'Конец1'>>
    <<else>>
        <<goto 'БойВорНеус' {$успех = 1}>>    
    <<endif>>

    # Программа никогда не дойдёт до двух нижних goto,
    # поскольку при истинности первого условия выполнится первый goto,
    # а второй goto выполнится во всех остальных случаях.
    # В блоке if-endif внутри может быть сколько угодно elseif,
    # но всегда только один else, причём стоять он должен самым последним!

<<endif>>

Неактивен

 

   #362
07.11.2013 18:50

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

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

Вот есть код:

Код:

:: Пещера
<<display 'Инвентарь0'>>
Здоровье охотника - <<print $жизнь1>>
Здоровье охотницы - <<print $жизнь2>>
# Начало цикла
<<if $жизнь lte 0>>
<<goto 'Конец'>>
<<elseif $жизнь1 lte 0>>
<<display 'Пещера'>>
<<elseif $жизнь2 lte 0>>
<<display 'Пещера'>>
<<elseif $жизнь1 + $жизнь2 lte 0>>
<<goto 'пещера2'>>
<<else>>
''Выберите действие против охотника:''
# Магия огня 
<<if $мана gte 3>>
[[Огонь I (шанс 50%, урон 20, мана - 3)|Пещера1 {$действие = 2}]]    
<<endif>>
# Магия огня
[[Бросить камень (шанс 20%, урон - 30)|Пещера1 {$действие = 3}]]
[[Ударить рукой (шанс 50%, урон - 10)|Пещера1 {$действие = 4}]]
[[Бросить ногой (шанс 50%, урон - 10)|Пещера1 {$действие = 5}]]    
<<endif>>
# Начало цикла

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

вот этой записи в коде

Код:

<<if $жизнь lte 0>>
<<goto 'Конец'>>
<<elseif $жизнь1 lte 0>>
<<display 'Пещера'>>
<<elseif $жизнь2 lte 0>>
<<display 'Пещера'>>
<<elseif $жизнь1 + $жизнь2 lte 0>>
<<goto 'пещера2'>>
<<else>>

Я вижу ее так: если моя жизнь меньше или равна 0, то идем в параграф "Конец". Если жизнь противника1 меньше или равна 0, то продолжаем бой. Если жизнь противника2  меньше или равно 0, то продолжаем бой. Если жизни соперников 1 и 2 вместе меньше или равны 0 (т.е. обо уничтожены), то переходим в параграф "Пещера 2"

Неактивен

 

   #363
08.11.2013 19:55

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

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

Есть ли параграф "Пещера"? Если есть, то, скорее всего, в нем и содержится ошибка. А тут две ошибки:

Код:

<<if $жизнь lte 0>>
<<goto 'Конец'>>
<<elseif $жизнь1 lte 0>>
<<display 'Пещера'>>
<<elseif $жизнь2 lte 0>>
<<display 'Пещера'>>
<<elseif $жизнь1 + $жизнь2 lte 0>> (1)
<<goto 'пещера2'>> (2)
<<else>>

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

Код:

<<if $жизнь lte 0>>
<<goto 'Конец'>>
<<elseif ($жизнь1 lte 0) and ($жизнь2 lte 0)>>
<<goto 'пещера2'>>
<<elseif $жизнь1 lte 0>>
<<display 'Пещера'>>
<<elseif $жизнь2 lte 0>>
<<display 'Пещера'>>
<<else>>

Неактивен

 

   #364
08.11.2013 22:17

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

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

Не, чет не то... если прописываю так:

Код:

<<if $жизнь lte 0>>
<<goto 'Конец'>>
<<elseif ($жизнь1 lte 0) and ($жизнь2 lte 0)>>
<<goto 'пещера2'>>
<<elseif $жизнь1 lte 0>>
<<display 'Пещера'>>
<<elseif $жизнь2 lte 0>>
<<display 'Пещера'>>
<<else>>

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

P.S. Все, разобрался в коде... Пришлось упростить боевку (хотел, чтобы по очереди  атаковался сперва первый враг, затем второй). Сделал, что сам выбираю кого атаковать

Отредактировано alfa10 (08.11.2013 22:42)

Неактивен

 

   #365
13.11.2013 12:01

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

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

Хочу сделать программу, где при вводе улицы и номера дома выдается наименование района. Получается, в одном параграфе нужно ввести нечто типа:

Код:

<<input '0' $адрес>>

В параграфе 0 нужно прописать некий код:

Код:

<<if $адрес eq '12марта130'>>
<<set $адрес = 1>>
<<elseif $адрес eq 'калинина215'>>
<<set $адрес = 2>>    
<<endif>>
<<goto '2'>>

где на выводе (параграф 2) уже есть код:

Код:

<<if $адрес eq 1>>
Черемушки    
<<elseif $адрес eq 2>>
Вокзал
<<else>>
Район не определен!    
<<endif>>

Так все работает! А как сделать, чтобы не прописывать каждый номер дома на улице, а сделать например, чтобы улица Калинина от 1 до 50 автоматически попадала под район Возкал?

Отредактировано alfa10 (13.11.2013 12:28)

Неактивен

 

   #366
14.11.2013 00:08

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

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

Код:

:: vvod
Введите адрес:
<<input '0' $адрес>>
Пример: Калинина, 155

:: 0
<<set $адрес = $адрес.replace(/ /g,"").toLowerCase()>>
<<set $улица = "">>
<<set $дом = "">>
<<set $зап = 0>>
<<set $i = -1>>
<<loop $адрес.length>>
<<set $i++>>
<<if $адрес[$i] eq ",">>
    <<set $зап = 1>>
    <<continue>>
<<endif>>
<<if $зап eq 0>>
    <<set $улица = $улица + $адрес[$i]>>
<<else>>
    <<set $дом = $дом + $адрес[$i]>>
<<endif>>
<<endloop>>

<<if $улица eq "калинина" and $дом gte 1 and $дом lte 50>>
Вокзал
<<elseif $улица eq "калинина" and $дом gte 51 and $дом lte 200>>
Черемушки
<<elseif $улица eq "красныхпартизан" and $дом gte 1 and $дом lte 100>>
Центральный район
<<else>>
Район не определен!    
<<endif>>

Неактивен

 

   #367
14.11.2013 10:11

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

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

Спасибо! Еще б расшифровал бы код - вообще круто было бы smile

Неактивен

 

   #368
14.11.2013 11:58

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

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

alfa10 написал:

Спасибо! Еще б расшифровал бы код - вообще круто было бы smile

Этот код разбивает введённую строку $адрес на две строки: $улица и $дом. Разделение строк происходит в цикле посимвольно: до запятой - собирается название улицы, после запятой - номер дома.

Есть другой способ сделать то же самое:

Код:

:: vvod
Введите адрес:
<<input '0' $адрес>>

:: 0
<<set $адрес = $адрес.replace(/ /g,"").toLowerCase()>> ---- удалить все пробелы из строки $адрес, преобразовать в нижний регистр
<<set $улица = "">>
<<set $дом = "">>
<<set $i = $адрес.indexOf(",")>> ---- индекс первой запятой в строке $адрес
<<if $i gt -1>> ---- если есть запятая
    <<set $улица = $адрес.substr(0, $i)>> ---- название улицы - это часть строки до запятой
    <<set $дом = $адрес.substr($i + 1)>> ---- номер дома - часть строки после запятой
<<endif>>
Улица: <<print $улица>>;
Дом: <<print $дом>>;

Неактивен

 

   #369
14.11.2013 18:47

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

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

Поясню тогда из своего примера, чего нет в примере Морыча:

Код:

<<set $зап = 0>> ---- переменная дающая понять попалась уже запятая в цикле или нет. 0 - не попадалась, 1 - попадалась
<<set $i = -1>> ---- эта переменная будет обозначать индекс символа в строке $адрес
<<loop $адрес.length>> ---- объявление цикла, цикл будет выполняться столько раз, сколько символов в строке $адрес
<<set $i++>> ---- увеличиваем $i, таким образом в первый раз $i будет равен 0, а индекс в строке как раз и начинается с нуля
<<if $адрес[$i] eq ",">> ---- проверяем не является ли символ в строке $адрес с индексом $i запятой и если да, то
    <<set $зап = 1>> ---- устанавливаем значение переменной $зап = 1
    <<continue>> ---- не выполняем все что ниже идет по циклу, а снова возвращаемся на его начало. Еще существует полезная штукенция как <<break>>, которая вообще полностью прекращает цикл. О ней и вообще о всем остальном можно прочитать в справке
<<endif>>
<<if $зап eq 0>> ---- если $зап равен 0, то
    <<set $улица = $улица + $адрес[$i]>> ---- прибавляем к строке $улица символ с индексом $i из строки $адрес
<<else>> ---- иначе
    <<set $дом = $дом + $адрес[$i]>> ---- прибавляем к строке $дом символ с индексом $i из строки $адрес
<<endif>>
<<endloop>> ---- конец цикла

Изменение регистра нужно по причине того, что, например, строка "Каланина" не равна строке "каланина", а пробелы я удалил для удобства. Кстати, также тут

Код:

<<if $улица eq "калинина" and $дом gte 1 and $дом lte 50>>
Вокзал
<<elseif $улица eq "калинина" and $дом gte 51 and $дом lte 200>>
Черемушки
<<elseif $улица eq "красныхпартизан" and $дом gte 1 and $дом lte 100>>
Центральный район
<<else>>
Район не определен!    
<<endif>>

можно увидеть что переменная $дом, где хранится номер дома в виде строки, сравнивается с числами. Так можно делать далеко не во всех языках программирования, но тут так делать можно.

Отредактировано Flash (14.11.2013 20:24)

Неактивен

 

   #370
14.11.2013 19:05

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Flash, ты уже достиг достаточного уровня просветления wink
Когда же, наконец, мы увидим твою работу в библиотеке?

Неактивен

 

   #371
14.11.2013 20:55

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

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

Постараюсь до конца этого года кое-что показать.

Неактивен

 

   #372
15.11.2013 00:03

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

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

Кстати, в примере выше есть баг: если ввести в поле ввода число и нажать enter, то произойдет вылет на стартовый параграф. Это можно вылечить, если перед

Код:

<<set $адрес = $адрес.replace(/ /g,"").toLowerCase()>>

добавить строку

Код:

<<set $адрес = $адрес + "">>

Таким приемом мы преобразуем число в строку.

Неактивен

 

   #373
15.11.2013 09:50

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

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

Отличный баг выловил! Спасибо!

Неактивен

 

   #374
18.12.2013 21:33

aleksander
Участник
Зарегистрирован: 18.12.2013
Сообщений: 1

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

Подскажите пожайлуста, можно ли в книгу-игру вставлять видео ролики. Без участия интернета, тоесть можно ли вставлять ролики кроме ютуба. Если ролик будет лежать в папке с игрой например. Как это сделать?

Неактивен

 

   #375
18.12.2013 23:13

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Нет, нельзя. Дело в том, что в этом случае размер файлов становится слишком большим для публикации в библиотеке.

Неактивен

 

   #376
10.01.2014 18:45

Pa-va
Участник
Зарегистрирован: 10.01.2014
Сообщений: 2

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

Всем привет. Разрешите несколько вопросов от новичка (пока разбираюсь с программированием):
1. Разъясните пожалуйста на примере полезности и необходимость использования массивов.
2. Где-то в блоге (не помню где) обмолвились о недокументированных многомерных массивах, больше ни где этого не видел. Есть ли такое, можно ли это использовать, если да, то где?
3. Можно ли сохранить рассказ, т.е. нельзя ли вывести линейный рассказ, полученный во время прочтения пользователем, т.е. прочитать то, что получилось от начала до конца во время чтения?
4. Можно ли, и если да, то как протестировать выполняются ли все участки кода (т.е. есть ли теоретическая возможность того, что все параграфы будут воспроизведены или наоборот есть пути с тупиками)? Подобный тест был бы полезен в виду появления в программе динамических ссылок.

Неактивен

 

   #377
10.01.2014 19:38

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Отвечаю smile
1. Не используйте массивы, пока не почувствуете необходимость в них.
2. Такого нет и не планируется.
3. Такого пока нет.
4. Не представляю, как сделать это smile

Неактивен

 

   #378
10.01.2014 23:51

Pa-va
Участник
Зарегистрирован: 10.01.2014
Сообщений: 2

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

Спасибо за ответ)

Неактивен

 

   #379
17.01.2014 08:46

romz
Участник
Зарегистрирован: 10.10.2013
Сообщений: 4

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

полистал справочник, но так и не понял - можно ли сделать так, чтобы картинка была ссылкой на параграф или url? покажите как сделать, если реально?

Неактивен

 

   #380
17.01.2014 08:51

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Нет, пока так сделать нельзя. В планах.

Неактивен

 

   #381
17.01.2014 11:43

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

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

А почему же у меня тогда это работает?

Неактивен

 

   #382
17.01.2014 12:04

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Flash написал:

А почему же у меня тогда это работает?

А как? Пример в студию smile

Неактивен

 

   #383
17.01.2014 13:08

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

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

[[[[File: i/7x40.png]]|ванная]]
Где "i/7x40.png" - путь до картинки, а "ванная" - параграф. Еще до релиза версии 1.0 работало.

Неактивен

 

   #384
17.01.2014 13:32

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Ого, а я не знал smile
Морыч, я сделал это wink

Неактивен

 

   #385
17.01.2014 14:19

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

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

Прикольно smile Может ты ещё что-нибудь сделал из ToDo незаметно для себя, а никто кроме Flash'а и не знает? smile

Неактивен

 

   #386
17.01.2014 14:22

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Очень может быть smile Flash, спасибо!

Неактивен

 

   #387
31.01.2014 22:27

Delakha
Участник
Зарегистрирован: 31.01.2014
Сообщений: 6

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

Помогите с кодом:

Условие: есть три навыка (Навык Тяжелого оружия ближнего боя, Легкого оружия ближнего боя и Оружия дальнего боя). Есть один дар и два таланта, которым можно придать значение навыка. Дар и талант не могут быть обозначены одним навыком, как и два таланта. Если обозначить навык как дар, то возможность выбрать как талант исчезнет. Однако если выбрать даром другой навык, то возможность опять появится. С талантами то же самое. Если выбрать один для навыка, возможность выбрать этот навык вторым талантом должна исчезнуть.

Я разобралась с даром, однако проблема с талантами. Как сделать так, чтобы выбрав один, исчезала возможность выбрать второй и дар? (если выбрать сначала дар, возможность выбрать талант все таки исчезала.... раньше)

Параграф  "анкета8":

Код:

[[Тяжёлое оружие ближнего боя|анкета9 {$0001=1}]]

[[Лёгкое оружие ближнего боя|анкета9 {$0001=2}]]

[[Оружие дальнего боя|анкета9 {$0001=3}]]

(Не буквеннык объекты, так как нажимая на ссылки сверху, играющий лишь попадает на страницу с описанием навыка, а не выбирает его)

Параграф "анкета9":

Код:

<<if $0001 eq 1>>
Описание навыка "Тяжелое оружие".
<<if !$дар >>[[Выбрать как дар|анкета9{$дар = 'тяжелое оружие'}]]<<elseif $дар neq 'тяжелое оружие'>>[[Выбрать этот дар вместо прежнего|анкета9{$дар = 'тяжелое оружие'}]]<<endif>>
<<if $дар neq 'тяжелое оружие' and (!$талант1 or $талант1 neq 'тяжелое оружие')>>[[Выбрать как талант|анкета9 {$талант1 eq 'тяжелое оружие'}]]
<<elseif $дар neq 'тяжелое оружие' and (!$талант2 or $талант2 neq 'тяжелое оружие' and $талант1>>[[Выбрать как талант|анкета9 {$талант2 eq 'тяжелое оружие'}]]
<<endif>>

<<elseif $0001 eq 2>>
Описание навыка "Легкое оружие".
<<if !$дар>>[[Выбрать как дар|анкета9{$дар = 'легкое оружие'}]]<<elseif $дар neq 'легкое оружие'>>[[Выбрать этот дар вместо прежнего|анкета9{$дар = 'легкое оружие'}]]<<endif>>
<<if $дар neq 'легкое оружие' and (!$талант1 or $талант1 neq 'легкое оружие')>>[[Выбрать как талант|анкета9 {$талант1 eq 'легкое оружие'}]]
<<elseif $дар neq 'легкое оружие' and (!$талант2 or $талант2 neq 'легкое оружие' and $талант1>>[[Выбрать как талант|анкета9 {$талант2 eq 'легкое оружие'}]]
<<endif>>

<<elseif $0001 eq 3>>
Описание навыка "Дальнее оружие".
<<if !$дар>>[[Выбрать как дар|анкета9{$дар = 'дальнее оружие'}]]<<elseif $дар neq 'дальнее оружие'>>[[Выбрать этот дар вместо прежнего|анкета9{$дар = 'дальнее оружие'}]]<<endif>>
<<endif>>
<<if $дар neq 'дальнее оружие' and (!$талант1 or $талант1 neq 'дальнее оружие')>>[[Выбрать как талант|анкета9 {$талант1 eq 'дальнее оружие'}]]
<<elseif $дар neq 'дальнее оружие' and (!$талант2 or $талант2 neq 'дальнее оружие' and $талант1>>[[Выбрать как талант|анкета9 {$талант2 eq 'дальнее оружие'}]]
<<endif>>
----
[[Вернуться|анкета8]]

Без добавления условного оператора с $талант1 и $талант2, объект $дар работает как нужно, однако при нынешнем коде вообще ничего не отображается. Почему?

Неактивен

 

   #388
01.02.2014 02:14

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

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

Delakha написал:

Условие: есть три навыка (Навык Тяжелого оружия ближнего боя, Легкого оружия ближнего боя и Оружия дальнего боя). Есть один дар и два таланта, которым можно придать значение навыка. Дар и талант не могут быть обозначены одним навыком, как и два таланта. Если обозначить навык как дар, то возможность выбрать как талант исчезнет. Однако если выбрать даром другой навык, то возможность опять появится. С талантами то же самое. Если выбрать один для навыка, возможность выбрать этот навык вторым талантом должна исчезнуть.

Я тут покрутил немного, и получилось вот что:

Код:

:: Start
<<display 'Объекты'>>
[[Навыки]]


:: Объекты
<<set $навык = "">>
<<set $нет = "нет">>
<<set $дар = $нет>>
<<set $талант1 = $нет>>
<<set $талант2 = $нет>>
<<set $выбрано = 0>>


:: Навыки
<<if ($выбрано neq 1) and ($дар eq $навык)>>
    <<set $дар = $нет>>
<<endif>>
<<if ($выбрано neq 2) and ($талант1 eq $навык)>>
    <<set $талант1 = $нет>>
<<endif>>
<<if ($выбрано neq 3) and ($талант2 eq $навык)>>
    <<set $талант2 = $нет>>
<<endif>>
Дар: <<print $дар>>
Талант первый: <<print $талант1>>
Талант второй: <<print $талант2>>
[[Тяжёлое оружие ближнего боя|ОписаниеНавыков {$навык = "тяжёлое оружие"}]]
[[Лёгкое оружие ближнего боя|ОписаниеНавыков {$навык = "лёгкое оружие"}]]
[[Оружие дальнего боя|ОписаниеНавыков {$навык = "дальнее оружие"}]]


:: ОписаниеНавыков
<<if $навык eq "тяжёлое оружие">>
    Описание навыка «Тяжёлое оружие».
<<elseif $навык eq "лёгкое оружие">>
    Описание навыка «Лёгкое оружие».
<<else>>
    Описание навыка «Дальнее оружие».
<<endif>>
<<if $навык neq $дар>>
    [[Выбрать как дар|Навыки {$дар = $навык} {$выбрано = 1}]]
<<endif>>
<<if ($навык neq $талант1) and ($навык neq $талант2)>>
    <<if ($талант1 eq $нет) or ($талант2 neq $нет)>>
        [[Выбрать как талант|Навыки {$талант1 = $навык} {$выбрано = 2}]]
    <<else>>
        [[Выбрать как талант|Навыки {$талант2 = $навык} {$выбрано = 3}]]
    <<endif>>
<<endif>>
[[Назад|Навыки {$навык = ""}]]

Посмотрите, правильно ли работает.

У вас, я заметил, отсутствует закрывающая скобка в таких условиях:
<<elseif $дар neq 'тяжелое оружие' and (!$талант2 or $талант2 neq 'тяжелое оружие' and $талант1>>

Неактивен

 

   #389
01.02.2014 12:26

Delakha
Участник
Зарегистрирован: 31.01.2014
Сообщений: 6

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

Огромное спасибо!! Работает идеально. За замечание отдельное спасибо — учту на будущее быть внимательнее.

Неактивен

 

   #390
03.02.2014 14:03

kalembet
Участник
Зарегистрирован: 03.02.2014
Сообщений: 2

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

Начал изучать ASM и в третьем уроке http://hyperbook.ru/blog.php?id=13628097918637 какие-то нелады с разнообразием описаний. Если сделать все по уроку, то получается, то первое описание совсем не выводится, а остальные чередуются. В чем загвоздка? Спасибо.

Неактивен

 

   #391
03.02.2014 15:50

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

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

Из учебника:

В самом начале истории мы создадим объект «$селение», в котором будем запоминать номер описания сцены «Старое селение». Первоначально значение объекта «$селение» будет равно 1.

Т.е. в параграфе Start нужно написать:
<<set $селение = 1>>
Этой командой мы явно задаём начальное значение объекта. Если этого не сделать, значение объекта будет неопределённым (undefinied).
В учебнике все начальные значения объектов задаются в специальном параграфе "Создание объектов", который вызывается во вступлении. Смотрите главу "Инициализация объектов" в четвёртой части.

Неактивен

 

   #392
04.02.2014 03:21

kalembet
Участник
Зарегистрирован: 03.02.2014
Сообщений: 2

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

Ай, спасибо ))

Неактивен

 

   #393
07.02.2014 01:29

Delakha
Участник
Зарегистрирован: 31.01.2014
Сообщений: 6

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

Как из своего (скачанного) конструктора перенести игру в онлайновый? Путем копирование исходного кода (кнопой "Новая", затем "Из буфера обмена") не выходит , "ок" жмется, но увы, игра не появляется (окно, также, не закрывается).

Неактивен

 

   #394
07.02.2014 07:02

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Да, только так. А размер большой? Может просто тормозит и надо подождать? А вы копируете sm файл или исходник из режима редактора?

Неактивен

 

   #395
07.02.2014 09:43

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

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

Собственно, дело именно в этом. Если копировать из редактора, то не выходит, а если открыть файл sm в блокноте и скопировать оттуда, то все отлично.
(В окошке онлайн конструктора так и написано: скопируйте исходный текст из файла *.sm)

Неактивен

 

   #396
07.02.2014 10:56

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Кстати, в грядущем обновлении я это уже поправил и можно будет вставлять и оттуда и оттуда.

Неактивен

 

   #397
08.02.2014 09:39

Delakha
Участник
Зарегистрирован: 31.01.2014
Сообщений: 6

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

Благодарю за ответы! Разобралась и все получилось.

Неактивен

 

   #398
12.02.2014 23:11

Atoll2
Участник
Зарегистрирован: 12.02.2014
Сообщений: 4

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

Здравствуйте! Я здесь человек новый, уж простите. если что не так. А вопрос у меня вот какой: можно ли сделать так, чтобы числовые переменные из одного параграфа прочитывались при нажатии на ссылку в другом параграфе.

Допустим, мы создаем примитивный симулятор жизни, где у героя есть 3 параметра: возраст. сила и интеллект. И вот наш герой размышляет над выбором профессии: кузнец или библиотекарь. Если станет кузнецом - то будет прокачивать силу, а если библиотекарем - то интеллект. Параграф Установка объектов выглядит так:

 спойлер…

Вступление выглядит вот так:

 спойлер…

А Основной параграф - так:

 спойлер…

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

<<If $кузнец eq true>>
    <<set $сила = $сила + 1>>
<<elseIf $библиотекарь eq true>>
    <<set $интеллект = $интеллект + 1>>
<<endIf>>

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

Файл с игрой здесь:
http://yadi.sk/d/W-aW_tn0Hnchj

Отредактировано Atoll2 (12.02.2014 23:24)

Неактивен

 

   #399
13.02.2014 10:36

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

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

Привет! Просить прощения не нужно, это специальная тема для вопросов и ответов smile Программа работает совсем не странно, а вполне себе логично. Параграф «Установка объектов» выполнился один раз и всё. Чтобы какой-то код выполнился ещё раз, соответствующий параграф нужно вызвать (макросом <<display>>, <<goto>> или перейти в параграф по ссылке). Предлагаю перенести проверку профессии в новый параграф «Увеличение возраста», и написать там так:

Код:

<<set $время = $время + 1>>
<<If $кузнец>>
    <<set $сила = $сила + 1>>
<<elseIf $библиотекарь>>
    <<set $интеллект = $интеллект + 1>>
<<endIf>>
<<goto 'Основной параграф'>>

Конечно же из параграфа «Установки объектов» этот кусок кода надо убрать, т.к. ни одна из проверок там не работает (и $кузнец и $библиотекарь = false).

А в «Основном параграфе» внизу напишем так:
[[Повзрослеть|Увеличение возраста]]

П.С. И ещё один момент, относящийся к стилю программирования. Если мы проверяем логическую переменную на истинность, то пишем просто <<if $объект>>, если на ложность, то <<if not $объект>> или <<if !$объект>>.

Неактивен

 

   #400
13.02.2014 10:59

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

П.С. И ещё один момент, относящийся к стилю программирования. Если мы проверяем логическую переменную на истинность, то пишем просто <<if $объект>>, если на ложность, то <<if not $объект>> или <<if !$объект>>.

Кстати есть один подводный камень при такой проверке. <<if $объект>> не будет истиной, если $объект = "" (пустая строка) или $объект = 0. Такое поведение ASM унаследовал от Javascript.

P.S. Наверное ещё стоит написать, что соответственно <<if $объект>> будет истиной, если $объект имеет любое значение, кроме 0, "" и false smile

Неактивен

 

   #401
13.02.2014 11:25

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

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

Нене, я про проверку значения объектов, которые используются для хранения исключительно true либо false. В остальных случаях лучше использовать eq, чтобы код легче читался.

Неактивен

 

   #402
13.02.2014 11:55

Atoll2
Участник
Зарегистрирован: 12.02.2014
Сообщений: 4

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

Morych написал:

Предлагаю перенести проверку профессии в новый параграф «Увеличение возраста»

Попробовал - РАБОТАЕТ!!! Большое человеческое спасибо! Я так и знал, что есть какое-то очень простое решение, но вот никак не мог до него додуматься...

Неактивен

 

   #403
13.02.2014 12:29

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

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

Пожалуйста! Обращайтесь, если что smile

Неактивен

 

   #404
14.02.2014 21:17

Atoll2
Участник
Зарегистрирован: 12.02.2014
Сообщений: 4

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

Morych написал:

Пожалуйста! Обращайтесь, если что smile

Ну коли так, то у меня ещё вопрос smile

Допустим, тот же самый герой зарабатывает по 100 монет в год и тут же кладёт их в банк под 5% годовых. И всё бы ничего, но print выдает точное значение переменной, в результате получается вот какая фигня:

Профессия: кузнец
Возраст: 25
Сила: 30
Интеллект: 20
Деньги: 1257.7892535548833 монет

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

Отредактировано Atoll2 (14.02.2014 21:18)

Неактивен

 

   #405
14.02.2014 21:47

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Очень просто, даже я смогу ответить smile
Используйте Math.floor(x), где x - число, от которого требуется отбросить дробную часть.
См. статью в блоге: http://hyperbook.ru/blog.php?id=13633403734658

Неактивен

 

   #406
14.02.2014 22:19

Atoll2
Участник
Зарегистрирован: 12.02.2014
Сообщений: 4

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

DoubleDragon написал:

Очень просто, даже я смогу ответить smile
Используйте Math.floor(x), где x - число, от которого требуется отбросить дробную часть.
См. статью в блоге: http://hyperbook.ru/blog.php?id=13633403734658

Спасибо.

Неактивен

 

   #407
19.02.2014 19:47

ggeniy
Участник (+2)
Откуда: Киев
Зарегистрирован: 04.02.2014
Сообщений: 10
Вебсайт

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

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

Неактивен

 

   #408
19.02.2014 20:11

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

Нет, это запрещено.

Неактивен

 

   #409
22.02.2014 00:01

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

Что-то у меня не получается с динамическими ссылками сделать в облачном конструкторе sad

#инт

===[[Главная|ДИНАМИЧЕСКАЯ ССЫЛКА]]||[[Инвентарь|инвентарь]]===

#1

<<display 'инт'>>


Текст-текст-текст

#2

<<display 'инт'>>


Текст-текст-текст

=====================================

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

Неактивен

 

   #410
24.02.2014 10:07

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

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

Вета, прошу прощения за поздний ответ, праздники, сама понимаешь. Собственно вот:

Код:

:: Start
[[Старт|параграф 1]]

:: параграф 1
<<display 'инт'>>
Текст, текст, текст...
[[Идти в 2|параграф 2]]

:: параграф 2
<<display 'инт'>>
Текст 2, текст 2, текст 2...
[[Идти в 1|параграф 1]]

:: инвентарь
<<display 'инт'>>
Список предметов...

:: инт
<<if $$title neq "инвентарь">>
    ===Главная || [[Инвентарь|инвентарь {$passage = $$title}]]===
<<else>>
    ===[[Главная|$passage]] || Инвентарь===
<<endif>>

Неактивен

 

   #411
24.02.2014 12:05

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

Да ничего, нормально. ))) А что означает $passage = $$title?

Неактивен

 

   #412
24.02.2014 12:07

Вета
Участник (+164, -25)
Зарегистрирован: 05.08.2010
Сообщений: 346
Вебсайт

Мой блог: http://veta.ifiction.ru/

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

И еще, как мне в инвентаре сделать проверку такого вида:

предмет - НИТКИ (ссылка)

Щелкаем по ниткам.

Если локация=1, то переходим на эту локацию и там появляется ссылка "Использовать нитки"

иначе

появляется надпись в инвентаре: "Нитки тут не применимы".

Неактивен

 

   #413
24.02.2014 12:07

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

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

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

Да ничего, нормально. ))) А что означает $passage = $$title?

$$title - это название текущего параграфа.
$$from - это название предыдущего параграфа.
См. руководство пользователя, раздел "Системные объекты": http://sm.axmasoft.com/ru/help.html

Неактивен

 

   #414
24.02.2014 13:55

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

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

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

И еще, как мне в инвентаре сделать проверку такого вида:

предмет - НИТКИ (ссылка)

Щелкаем по ниткам.

Если локация=1, то переходим на эту локацию и там появляется ссылка "Использовать нитки"

иначе

появляется надпись в инвентаре: "Нитки тут не применимы".

Вот попробуй так:

Код:

:: Start
<<fade = 500>>
<<set $item = "">>
<<set $nitki = 1>>
[[Старт|параграф 1]]

:: параграф 1
<<display 'инт'>>
Тут нет ничего интересного. Только дверь в другую комнату.
[[Идти в другую комнату|параграф 2]]
<<display 'предметы'>>

:: параграф 2
<<display 'инт'>>
Здесь стоит швейная машинка.<<if $nitki eq 2>> Вы заправили в машинку свои нитки. Осталось найти занавеску и можно сшить плащ.<<endif>>
[[Вернуться в пустую комнату|параграф 1]]
<<display 'предметы'>>

:: инт
<<if $$title neq "инвентарь">>
    ===Главная || [[Инвентарь|инвентарь {$passage = $$title}]]===
<<else>>
    ===[[Главная|$passage]] || Инвентарь===
<<endif>>

:: инвентарь
<<display 'инт'>>
Содержимое карманов:
<<if $nitki eq 1>>
    * [[Нитки|$passage {$item = "нитки"}]]
<<endif>>
<<if (not $use) and ($item neq "")>>
    Вы не представляете, как здесь можно использовать <<print $item>>.
<<endif>>
<<set $item = "">>

:: предметы
<<set $use = false>>
<<if $item eq "нитки">>
    <<if $passage eq "параграф 2">>
        [[Заправить нитки в машинку|$passage {$nitki = 2}]]
        <<set $use = true>>
    <<endif>>
<<endif>>
<<if (not $use) and ($item neq "")>>
    <<goto 'инвентарь'>>
<<else>>
    <<set $item = "">>
<<endif>>

Неактивен

 

   #415
01.04.2014 07:44

Red_Cardinal
Участник
Откуда: Россия, Красноярск
Зарегистрирован: 31.03.2014
Сообщений: 2

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

Здравствуйте, пишу RPG-кинигу на АХМА, возникла небольшая проблемка. Попробую описать как можно подробнее.

1. Поскольку игра RPG, мне нужно сделать так, чтобы в случае, если здоровье героя ($xp_vip) станет равно нулю, игра перекинула бы его на экран смерти.
2. Делаю это методом задания условия в начале параграфа

Код:

<<if $xp_vip eq 0>>
<<goto 'Смерть хр'>>
<<endif>>

Вроде все должно работать, НО. На деле меня отправляет на параграф смерти, при этом под ним отображается текст следующего действия предыдушего параграфа (подробнее на скринах).
Посоветуйте что-нибудь.

P.s. Параграфы сделаны как в обучении, т.е по схеме:
Параграф1

Код:

<<if !$параграф_1>>
Какой-то текст
[[Действие1|Параграф1 {$параграф_1=1}]]
[[Действие2|Параграф1 {$параграф_1=2}]]
<<elseif !$параграф_1 eq 1>>
Какой-то текст
[[Действие1|Параграф1 {$параграф_1=3}]]
[[Действие2|Параграф1 {$параграф_1=4}]]
...
<<endif>>

Скрины (большой размер):

 спойлер…

Зараниее спасибо!

Неактивен

 

   #416
01.04.2014 10:42

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

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

Приветствую! Добро пожаловать в клуб "тех, кто пишет RPG на AXMA"! wink

Сразу по приведённому кусочку кода:

<<if !$параграф_1>>  ---- здесь, чтобы было понятнее, можно заменить на <<if $параграф_1 eq 0>> при условии, что где-то перед этим задано <<set $параграф_1 = 0>>
Какой-то текст
[[Действие1|Параграф1 {$параграф_1=1}]]
[[Действие2|Параграф1 {$параграф_1=2}]]
<<elseif !$параграф_1 eq 1>> ---- а вот тут ошибка, надо убрать восклицательный знак, оставить <<elseif $параграф_1 eq 1>> (! - это логическое отрицание, "не")
Какой-то текст
[[Действие1|Параграф1 {$параграф_1=3}]]
[[Действие2|Параграф1 {$параграф_1=4}]]
...
<<endif>>

А этот код

<<if $xp_vip eq 0>>
<<goto 'Смерть хр'>>
<<endif>>

попробуйте просто переместить в самый низ параграфа.

Неактивен

 

   #417
01.04.2014 11:57

Red_Cardinal
Участник
Откуда: Россия, Красноярск
Зарегистрирован: 31.03.2014
Сообщений: 2

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

Morych написал:

А этот код

<<if $xp_vip eq 0>>
<<goto 'Смерть хр'>>
<<endif>>

попробуйте просто переместить в самый низ параграфа.

Да, это сработало smile Но теперь проблема другая: Тот экран, где у читателя отнимается последнее очко здоровья, не отображается. Выглядит не очень красиво, читал-читал человек, вдруг ни с того ни с сего бац и умер. sad
Хотелось бы, чтобы код работал так, чтобы последний параграф (где отображаются сведения о том, при каких обстоятельствах у игрока было отнято последнее очко здоровья) отображался, а уже потом появлялось сообщение о смерти.
Можно было бы как-то вывести этот текст на экран смерти тегом <<display>> или как-то так, но я же не знаю когда именно персонаж игрока умрет.

Получается, самое простое решение, прописывать к каждому условию <<if .... and $xp_vip neq 0>>?

Спасибо за исправления smile У меня все переменные в начале параграфа задаются, поэтому первый параграф с условием !$var, потому что иначе (если я задам <<set $var=0>>), при обновлении страницы (которое происходит при переходе по ссылке действия), мое значение будет сбрасываться на 0, если я правильно все понимаю. Либо писать: <<if !$var>><<set $var=0>><<endif>>, что, на мой взгляд, просто лишняя строчка кода.

Неактивен

 

   #418
01.04.2014 13:14

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

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

Да, если ни с того ни с сего бац и умер, это, конечно, не очень хорошо.
Т.е. больничную палату и надпись "Здоровье -1" надо показать. Я так понимаю, там в зависимости от какого-то действия здоровье уменьшается (не согласился на клизму?)
Значит в конце этого параграфа ставим условие "если здоровье больше нуля", то показываем дальнейшие возможные действия, а иначе ставим единственную ссылку вроде "Далее" или "Почувствовать себя хуже". И эта ссылка, конечно же, ведёт на параграф "Смерть хр".
Таким образом можно сделать такую проверку на смерть только там, где уменьшается здоровье, и смерть теоретически возможна.

Неактивен

 

   #419
10.05.2014 11:41

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

Вопрос: можно ли в профессиональной версии АХМА пользоваться скриптами jQuery для оформления абзацев?
Вот такими, например.

Неактивен

 

   #420
11.05.2014 16:44

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

Re: Как сделать что-то или "я вот не понимаю"

По идее, можно. Но придётся вручную править html файл (включать туда ссылки на js-скрипты). Автоматическое внесение изменение в html пока не предусмотрено, поэтому в библиотеке такой модифицированный файл разместить не удастся.

Неактивен

 

   #421
28.05.2014 11:56

Alex842
Участник (+2)
Откуда: Москва
Зарегистрирован: 24.04.2014
Сообщений: 60

Re: Как сделать что-то или "я вот не понимаю"

Подскажите, пжл., а что значит в профессиональной версии пункт: Лицензия на редактирование сгенерированного HTML файла. Т.е. я смогу редактировать сгенерированные файлы html?

Неактивен

 

   #422
28.05.2014 12:02

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

Re: Как сделать что-то или "я вот не понимаю"

Alex842 написал:

Подскажите, пжл., а что значит в профессиональной версии пункт: Лицензия на редактирование сгенерированного HTML файла. Т.е. я смогу редактировать сгенерированные файлы html?

Да, именно так. В обычной версии это запрещено.

Неактивен

 

   #423
28.05.2014 12:04

Alex842
Участник (+2)
Откуда: Москва
Зарегистрирован: 24.04.2014
Сообщений: 60

Re: Как сделать что-то или "я вот не понимаю"

А как это сделать? Просто я решил поддержать Вашу разработку и приобрел про-версию. Но как в ней редактировать хтмл-файл я не понимаю.

Неактивен

 

   #424
28.05.2014 12:08

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

Re: Как сделать что-то или "я вот не понимаю"

Alex842 написал:

А как это сделать? Просто я решил поддержать Вашу разработку и приобрел про-версию. Но как в ней редактировать хтмл-файл я не понимаю.

Редактировать непосредственно из программы можно только параграф стилей StoryStyle. Готовый HTML придётся редактировать в любом стороннем текстовом редакторе, поддерживающем кодировку UTF-8.

Неактивен

 

   #425
28.05.2014 12:20

Alex842
Участник (+2)
Откуда: Москва
Зарегистрирован: 24.04.2014
Сообщений: 60

Re: Как сделать что-то или "я вот не понимаю"

DoubleDragon написал:

Alex842 написал:

А как это сделать? Просто я решил поддержать Вашу разработку и приобрел про-версию. Но как в ней редактировать хтмл-файл я не понимаю.

Редактировать непосредственно из программы можно только параграф стилей StoryStyle. Готовый HTML придётся редактировать в любом стороннем текстовом редакторе, поддерживающем кодировку UTF-8.

Понятно. Спасибо!

Неактивен

 

   #426
14.06.2014 16:46

Мартын Вачикпян
Участник
Зарегистрирован: 14.06.2014
Сообщений: 1

Re: Как сделать что-то или "я вот не понимаю"

Уважаемые знатоки, вопрос от нубья. Вот я в AXMA Story Maker делаю креатив по типу интерактивного рассказа с "ветвящимся" по переходам сюжетом. При выборе одного из вариантов перехода (к примеру, [[+Действие 1|Вариант 1]], [[+Действие 2|Вариант 2]], и [[+Действие 3|Вариант 3]]) части рассказа выстраиваются единым текстом, одна за другой - так, как мне  хотелось бы для удобочитаемости. Но при этом при выборе  Действие 1 никуда не исчезают Действие 2 и Действие 3 соответственно. А возможно ли сделать так, чтобы при выборе одного варианта перехода другие исчезали либо становились "неактивными", и воспользоваться ими можно было бы только при повторном запуске рассказа (т.е. чтобы рассказ был "необратим", но при этом выбираемые части выстраивались друг за другом в единый текст, а не сменяли одна другую)?
В случае если выше это уже рассматривалось - прощения прошу ).

Неактивен

 

   #427
20.06.2014 19:52

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Мартын Вачикпян написал:

Уважаемые знатоки, вопрос от нубья. Вот я в AXMA Story Maker делаю креатив по типу интерактивного рассказа с "ветвящимся" по переходам сюжетом. При выборе одного из вариантов перехода (к примеру, [[+Действие 1|Вариант 1]], [[+Действие 2|Вариант 2]], и [[+Действие 3|Вариант 3]]) части рассказа выстраиваются единым текстом, одна за другой - так, как мне  хотелось бы для удобочитаемости. Но при этом при выборе  Действие 1 никуда не исчезают Действие 2 и Действие 3 соответственно. А возможно ли сделать так, чтобы при выборе одного варианта перехода другие исчезали либо становились "неактивными", и воспользоваться ими можно было бы только при повторном запуске рассказа (т.е. чтобы рассказ был "необратим", но при этом выбираемые части выстраивались друг за другом в единый текст, а не сменяли одна другую)?
В случае если выше это уже рассматривалось - прощения прошу ).

Прошу прощения за поздний ответ, я тут был довольно далеко от компа. Такой ундумоподобный стиль как бы противоречит идеологии АСМа, при которой текст предыдущего параграфа как раз должен стираться. Но с добавляющими ссылками можно сделать, например, так:

Код:

:: StoryAuthor
Morych

:: StoryTitle
Сплошной текст

:: StorySubtitle
Заготовка интерактивной истории.

:: Start
[[Начало|начало]]

:: начало
<<set $selected_1 = false>>
<<set $selected_2 = false>>
<<set $selected_3 = false>>
Начало истории.
[[+Действие 1|развилка1 {$action = 1}]]
[[+Действие 2|развилка1 {$action = 2}]]
[[+Действие 3|развилка1 {$action = 3}]]

:: развилка1
<<if not $selected_1>>
    <<if $action eq 1>>
        Первый вариант развития событий.
        [[+Действие 1|развилка2 {$action = 1}]]
        [[+Действие 2|развилка2 {$action = 2}]]
    <<elseif $action eq 2>>
        Второй вариант событий.
        [[+Действие 1|развилка2 {$action = 3}]]
        [[+Действие 2|развилка2 {$action = 4}]]
    <<else>>
        Ну и третий вариант.
        [[+Действие 1|развилка2 {$action = 5}]]
    <<endif>>
    <<set $selected_1 = true>>
<<endif>>

:: развилка2
<<if not $selected_2>>
    <<if $action eq 1>>
        Продолжение первого пути.
        [[+Действие 1|финал {$action = 3}]]
    <<elseif $action eq 2>>
        Второе продолжение первого пути.
        [[+Действие 1|финал {$action = 2}]]
        [[+Действие 2|финал {$action = 5}]]
    <<elseif $action eq 3>>
        Первый вариант продолжения второго пути.
        [[+Действие 1|финал {$action = 1}]]
        [[+Действие 2|финал {$action = 2}]]
    <<elseif $action eq 4>>
        Второй вариант продолжения второго же пути.
        [[+Действие 1|финал {$action = 4}]]
    <<else>>
        Продолжение третьего пути.
        [[+Действие 1|финал {$action = 5}]]
        [[+Действие 2|финал {$action = 3}]]
    <<endif>>
    <<set $selected_2 = true>>
<<endif>>

:: финал
<<if not $selected_3>>
    <<if $action eq 1>>
        Первый финал.
    <<elseif $action eq 2>>
        Второй финал.
    <<elseif $action eq 3>>
        Третий финал.
    <<elseif $action eq 4>>
        Четвёртый финал.
    <<else>>
        Пятый финал.
    <<endif>>
    <<set $selected_3 = true>>
    [[Начать заново|начало]]
<<endif>>

Это первое, что пришло в голову. Подумаю ещё.

Неактивен

 

   #428
24.07.2014 15:45

Василий Новойдарский
Участник
Зарегистрирован: 24.07.2014
Сообщений: 12

Re: Как сделать что-то или "я вот не понимаю"

Доброго времени суток. Я только-только начал знакомство с программой и уже возник такой вопрос. По ходу сюжета мне нужно что бы выйдя из комнаты (которая является постоянной и гг. будет в неё возвращаться) к примеру, в коридор гг. попадал в обязательное ответвление, для знакомства с персонажем которого он если бы я не направил его так он мог бы и пропустить и по возвращении с этого побочного «знакомства» он больше туда из комнаты не мог вернуться (тесть ссылка на эту часть исчезла и была заменена обычным выходом в коридор)
Обычная Комната – (параграф с сюжетным коридором) –обычный коридор –обычная комната (сюжетный коридор мы больше не видим)

Неактивен

 

   #429
24.07.2014 16:30

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Василий Новойдарский написал:

Доброго времени суток. Я только-только начал знакомство с программой и уже возник такой вопрос. По ходу сюжета мне нужно что бы выйдя из комнаты (которая является постоянной и гг. будет в неё возвращаться) к примеру, в коридор гг. попадал в обязательное ответвление, для знакомства с персонажем которого он если бы я не направил его так он мог бы и пропустить и по возвращении с этого побочного «знакомства» он больше туда из комнаты не мог вернуться (тесть ссылка на эту часть исчезла и была заменена обычным выходом в коридор)
Обычная Комната – (параграф с сюжетным коридором) –обычный коридор –обычная комната (сюжетный коридор мы больше не видим)

Привет! Если я правильно понял, то можно так:

Код:

:: Start
<<set $коридор = 0>>
[[Начать игру|Комната]]

:: Комната
Описание комнаты.
<<if $коридор eq 0>>
[[Выйти из комнаты|СюжетныйКоридор]]
<<else>>
[[Выйти из комнаты|Коридор]]
<<endif>>

:: СюжетныйКоридор
Описание знакомства.
<<set $коридор = 2>>
[[Вернуться в комнату|Комната]]

:: Коридор
Описание обычного коридора.
<<set $коридор = 1>>
[[Вернуться в комнату|Комната]]

Неактивен

 

   #430
24.07.2014 17:17

Василий Новойдарский
Участник
Зарегистрирован: 24.07.2014
Сообщений: 12

Re: Как сделать что-то или "я вот не понимаю"

Morych написал:

Привет! Если я правильно понял, то можно так:

Спасибо  большое помогло.

Неактивен

 

   #431
24.07.2014 21:15

Василий Новойдарский
Участник
Зарегистрирован: 24.07.2014
Сообщений: 12

Re: Как сделать что-то или "я вот не понимаю"

Я сразу хочу извиняться, понимаю, что справку легче прочесть и прочее, но я там, что-то туго информацию воспринимаю. Мне всегда было проще если мне что-то объясняли.
В общем, с

Первое это ввести скажем так «Усталость» персонажа, ну к примеру, что бы за сутки он мог совершить ограниченное количество действий (нарубить дров, натаскать воды, потренироваться) и что бы количество очков действий со временем росло (то есть что бы характеристики в совокупности своей влияли на эту "усталость" ну или, что бы не усложнять жизнь зависела она от характеристики "выносливость")
Второе это ввести проверку на объекты которые на нем (например, одел он броню, взял меч - может сходить в пещеру, которая без наличия эквпипа просто была бы не доступна, но с другой стороны в броне и при оружии его не пустят к старейшине, то есть локация "старейшина" не доступна) и в то же время в броне он выглядит внушительно, то есть у некоторых НПС появляются новые ветки диалогов.
Третье наложить на это все еще и проверку характеристик (то есть броню он не может носить, пока у него нет определенного значения силы, а что бы её повысить нужно к примеру, поколоть дрова)
И последние отношения с НПС (то есть понравилась к примеру, нашему гг. Василиса и пошел он для неё подвиги совершать, подарки дарить, улучшая тем самым её отношение к себе, а на определенном моменте открывается спец. квест от неё, по выполнении которого герой получает возможность дальнейшего развития отношений то есть появляются новые ветки диалога)
И возник новый вопрос, можно ли как то числовое значение навыка прикрыть словом? ( к примеру Сила =1, а на параграфе где стоят характеристики навыки отображается Сила - "Хилый")
И еще парочка вопросов, в которых за ночь так и не смог разобраться:
Первый я создал отдельный параграф с описанием характеристик, персонажей, подсказками, доступный из любой локации но вот как сделать обратный переход  не пойму.
Второй как сделать смену дня и ночи,  что бы было разделение на утро, день, вечер и ночь (хочу завязать появление некоторых квестов на определенное время суток) ну и соответственно как сделать глобальный перезапуск тобишь гг лег спать, очки действий обновились (возможно произошли какие то события пока он спал)



Понимаю, что прошу многовато, до чего-то может и сам дойду, но пока не получается. Захотелось сделать что-то в стиле олдскульных РПГ, только в текстовом варианте, и в древнерусской стилистике.
Скажу сразу боевку пока даже и не планирую, скорее это будет что то типа квеста.

Отредактировано Василий Новойдарский (25.07.2014 07:01)

Неактивен

 

   #432
25.07.2014 10:04

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Вопросов много, будем разбираться по порядку.

Василий Новойдарский написал:

можно ли как то числовое значение навыка прикрыть словом? ( к примеру Сила =1, а на параграфе где стоят характеристики навыки отображается Сила - "Хилый")

Самый очевидный вариант — выводить нужное слово через блок условий.

<<random $sila = 5>> (случайное значение силы от 0 до 5)

В параграфе характеристик:

Сила: <<if $sila eq 0>>вялый<<elseif $sila eq 1>>хилый<<elseif $sila eq 2>>слабый<<elseif $sila eq 3>>не такой уж и слабый<<elseif $sila eq 4>>сильный<<else>>наисильнейший<<endif>>

Более прикольный вариант — сделать через массив:

<<set $silaText = ["вялый", "хилый", "слабый", "не такой уж и слабый", "сильный", "наисильнейший"]>> (этот массив объявить в самом начале игры)

В параграфе характеристик:

Сила: <<print $silaText[$sila]>>

Но здесь уже надо следить, чтобы значение переменной $sila не ушло за пределы диапазона 0...5 (тогда как в варианте с условиями при запредельной силе всё равно будет выводиться "наисильнейший").

Неактивен

 

   #433
25.07.2014 10:33

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Василий Новойдарский написал:

«Усталость» персонажа, ну к примеру, что бы за сутки он мог совершить ограниченное количество действий (нарубить дров, натаскать воды, потренироваться) и что бы количество очков действий со временем росло (то есть что бы характеристики в совокупности своей влияли на эту "усталость" ну или, что бы не усложнять жизнь зависела она от характеристики "выносливость")

В параграфе, который запускается каждый раз после сна:

<<set $ustal = $sila * 3 + $vynos * 5>> (определяем "усталость" — она зависит от силы и в большей степени от выносливости)

В параграфе, где возможны тренировки:

<<if $ustal gte 5>>
[[Натаскать воды|ТаскатьВоду]]
<<endif>>
<<if $ustal gte 10>>
[[Наколоть дров|КолотьДрова]]
<<endif>>
<<if $ustal gte 15>>
[[Потренироваться|Тренироваться]]
<<endif>>


В каждом из параграфов-тренировок уменьшаем "усталость", например, для дров:

Схватил тут наш <<print $name>> топор, да как принялся им помахивать, только щепки от дров летят во все стороны. Притомился малость, зато все дрова переколол да в поленницу их уложил.
<<set $ustal = $ustal - 10>> (уменьшаем "усталость")
<<set $sila = $sila + 1>> (но, допустим, это занятие прибавило силы)

Если надо, можно ввести ещё переменную-признак для каждой тренировки, чтобы нельзя было колоть дрова несколько раз в день:

<<if $ustal gte 10 and not $drova>>
[[Наколоть дров|КолотьДрова]]
<<endif>>


После сна ставим <<set $drova = false>> а после рубки дров <<set $drova = true>>

Неактивен

 

   #434
25.07.2014 10:56

Василий Новойдарский
Участник
Зарегистрирован: 24.07.2014
Сообщений: 12

Re: Как сделать что-то или "я вот не понимаю"

Morych написал:

<<random $sila = 5>> (случайное значение силы от 0 до 5)

В параграфе характеристик:

Сила: <<if $sila eq 0>>вялый<<elseif $sila eq 1>>хилый<<elseif $sila eq 2>>слабый<<elseif $sila eq 3>>не такой уж и слабый<<elseif $sila eq 4>>сильный<<else>>наисильнейший<<endif>>

Сразу такой вопрос, а к примеру можно сделать диапазон значений (ну что бы к примеру Вялый был от 0 до 10)

Неактивен

 

   #435
25.07.2014 11:27

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Василий Новойдарский написал:

я создал отдельный параграф с описанием характеристик, персонажей, подсказками, доступный из любой локации но вот как сделать обратный переход

Можно использовать стандартный макрос <<return 'Закрыть подсказку'>> (выводит ссылку, которая возвращает на предыдущий параграф)

Василий Новойдарский написал:

как сделать смену дня и ночи,  что бы было разделение на утро, день, вечер и ночь (хочу завязать появление некоторых квестов на определенное время суток) ну и соответственно как сделать глобальный перезапуск тобишь гг лег спать, очки действий обновились (возможно произошли какие то события пока он спал)

Нужно ввести переменную "время", которая будет принимать значения от 0 до 23:

<<set $time = 7>> (игра начинается с 7 утра)

И ещё нам понадобятся:

<<set $timeAdd = 0>> (переменная для увеличения времени)
<<set $day = 0>> (переменная для подсчёта прошедших игровых дней, если надо)

Теперь заводим отдельный параграф для увеличения времени:

:: ПрошлоВремя
<<set $time = $time + $timeAdd>>
<<set $timeAdd = 0>>
<<if $time gt 23>>
<<set $time = $time - 24>>
<<set $day = $day + 1>>
<<endif>>


При каждом продолжительном действии надо вызывать этот параграф, предварительно задав значение переменной $timeAdd. Например, при рубке дров:

...все дрова переколол да в поленницу их уложил.
<<set $timeAdd = 2>>
<<display 'ПрошлоВремя'>>
(незаметно прошло 2 часа)

Действия зависящие от времени суток:

<<if $time lt 5 or $time gt 21>>
[[Посетить сеновал|Сеновал]]
(на сеновал можно отправиться только в тёмное время суток)
<<endif>>

Вот в то же самое тёмное время суток можно отправиться спать. Везде, где герой может прилечь, поставь такую же ссылку, зависящую от времени, которая отправляет на параграф "Сон".

:: Сон
<<random $timeAdd = 3>>
<<set $timeAdd = $timeAdd + 5>>
<<set $ustal = $sila * 3 + $vynos * 5 + $timeAdd * 2>>
(чем больше поспал, тем больше очков действия)
<<display 'ПрошлоВремя'>> (герой поспал от 5 до 8 часов)
<<random $rnd = 99>>
<<if $rnd lt 35>>
За это время случилось событие, которое может случиться с вероятностью 35%.
<<endif>>
<<return 'Проснуться'>>
(возвращаемся на предыдущий параграф, где и засыпали)

Неактивен

 

   #436
25.07.2014 11:32

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Василий Новойдарский написал:

можно сделать диапазон значений (ну что бы к примеру Вялый был от 0 до 10)

Вот знал, что сразу надо про диапазоны написать smile

Сила: <<if $sila lte 10>>вялый<<elseif $sila lte 20>>хилый<<elseif $sila lte 30>>слабый<<elseif $sila lte 40>>не такой уж и слабый<<elseif $sila lte 50>>сильный<<else>>наисильнейший<<endif>>

lte — меньше либо равно

Неактивен

 

   #437
25.07.2014 11:45

Василий Новойдарский
Участник
Зарегистрирован: 24.07.2014
Сообщений: 12

Re: Как сделать что-то или "я вот не понимаю"

Уххх спасибо огромное сильно выручили. Я за эти 40 минут продвинулся дальше, чем за всю ночь (а ведь залип даже и не заметил как утро настало, благо отпуск)

Неактивен

 

   #438
25.07.2014 11:57

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Пожалуйста! Если что, спрашивайте ещё. Будет интересно поиграть в текстовую рпг по древней руси smile

Неактивен

 

   #439
28.07.2014 15:26

Василий Новойдарский
Участник
Зарегистрирован: 24.07.2014
Сообщений: 12

Re: Как сделать что-то или "я вот не понимаю"

Доброго времени суток. Такой вопрос, по поводу параграфа характеристик с которого нужно вернуться на предыдущую локацию. Если я для каждого персонажа сделал отдельный параграф с описанием, то по возвращении на параграф "Характеристики" ссылка типа  <<return 'Назад'>> перестает возвращать в игру.

Неактивен

 

   #440
30.07.2014 09:04

Oldrik
Участник
Зарегистрирован: 12.11.2012
Сообщений: 35

Re: Как сделать что-то или "я вот не понимаю"

Вопрос по макросу "goto".
В описании сказано: "Этот макрос совершает мгновенный переход на указанный параграф, прерывая выполнение текущего параграфа"

Пример:

Параграф_0
<<if $условие eq 10>>
<<goto 'Параграф_1'>>
<<endif>>
Какой-то текст

Если $условие равно десяти происходит переход на "Параграф_1" и отображается текст как из "Параграфа_1", так и из "Параграфа_0". Так и должно быть? Я понимал, что исходя из "прерывая выполнение текущего параграфа" текст из "Параграфа_0" не должен отображаться.

Неактивен

 

   #441
30.07.2014 11:17

Aruny
Участник (+2)
Зарегистрирован: 30.07.2014
Сообщений: 18

Re: Как сделать что-то или "я вот не понимаю"

Вроде не нашла тут подобный вопрос.

Столкнулась с проблемой в циклах.
У меня есть некий массив, список одежды в гардеробе. Он не постоянный, меняется при получении новой вещи или выбрасывания старой.
При заходе в шкаф хочу сделать возможность одеть эту вещь.

Следующий код по логике выглядит рабочим

$одежда[0]  - то, что прямо сейчас надето.

Код:

<<set $i=0>>
<<if $гардероб.length > 0>>
<<loop $гардероб.length>>
    <<set $вещь = $гардероб[$i]>>
    <<if $вещь != $одежда[0] >>
        [[-надеть|шкаф {$одежда[0] = $вещь}]]
        вещь = <<print $вещь>>, i = <<print $i>>, гардероб = <<print $гардероб[$i]>>
    <<endif>>
    <<set $i++>>
<<endloop>>
<<endif>>

Но в реальности оказывается, что {$одежда[0] = $вещь} в ссылке в любом случае получается равной последнему элементу списка, хотя выводимые значения под ссылкой показаны верны.
Получается, что при создании ссылок с изменением величин на используется последнее значение этой величины.

Или это я тормоз и что-то не то делаю и не так понимаю, или это и вправду не очень удобный косяк sad

Неактивен

 

   #442
30.07.2014 12:10

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Aruny написал:

Вроде не нашла тут подобный вопрос.

Столкнулась с проблемой в циклах.
У меня есть некий массив, список одежды в гардеробе. Он не постоянный, меняется при получении новой вещи или выбрасывания старой.
При заходе в шкаф хочу сделать возможность одеть эту вещь.

Следующий код по логике выглядит рабочим

$одежда[0]  - то, что прямо сейчас надето.

Код:

<<set $i=0>>
<<if $гардероб.length > 0>>
<<loop $гардероб.length>>
    <<set $вещь = $гардероб[$i]>>
    <<if $вещь != $одежда[0] >>
        [[-надеть|шкаф {$одежда[0] = $вещь}]]
        вещь = <<print $вещь>>, i = <<print $i>>, гардероб = <<print $гардероб[$i]>>
    <<endif>>
    <<set $i++>>
<<endloop>>
<<endif>>

Но в реальности оказывается, что {$одежда[0] = $вещь} в ссылке в любом случае получается равной последнему элементу списка, хотя выводимые значения под ссылкой показаны верны.
Получается, что при создании ссылок с изменением величин на используется последнее значение этой величины.

Или это я тормоз и что-то не то делаю и не так понимаю, или это и вправду не очень удобный косяк sad

Вы всё понимаете абсолютно правильно, но в то же время это и не косяк. Во многих случаях нужно, чтобы в качестве параметра в ссылке передавалось именно текущее значение переменной. Текущее на момент нажатия ссылки игроком, а не на момент вывода ссылки на экран. Я тоже сразу же столкнулся с этой особенностью, когда делал свой инвентарь. Я решаю это следующим образом:

- добавляем в игру много однотипных параграфов вида:

Код:

:: вещь_0
[[-надеть|шкаф {$индекс = 0}]]

:: вещь_1
[[-надеть|шкаф {$индекс = 1}]]

:: вещь_255
[[-надеть|шкаф {$индекс = 255}]]

- в цикле используем дисплей, чтобы показать параграф с нужной ссылкой

Код:

<<set $i=0>>
# <<if $гардероб.length > 0>> -- эта проверка не обязательна
<<loop $гардероб.length>>
    <<set $вещь = $гардероб[$i]>>
    <<if $вещь neq $одежда[0]>>
        <<set $ссылка = "вещь_" + $i>>
        <<display $ссылка>>
        вещь = <<print $вещь>>, i = <<print $i>>, гардероб = <<print $гардероб[$i]>>
    <<endif>>
    <<set $i++>>
<<endloop>>

Теперь все ссылки передают разные значения параметра, и в параграфе "шкаф" надеваем вещь $гардероб[$индекс]. Число мини-параграфов со ссылками равно максимальному теоретическому числу элементов массива $гардероб. Это число вам, скорее всего, будет известно — количество всех предметов одежды в игре.

Неактивен

 

   #443
30.07.2014 12:23

Aruny
Участник (+2)
Зарегистрирован: 30.07.2014
Сообщений: 18

Re: Как сделать что-то или "я вот не понимаю"

Да я так же вышла из положения - при выводе информации о вещи выставляю типа "если зашли из шкафа, то выводим возможность надеть", "если зашли из магазина, то выводим информацию о возможности купить".

Просто так получается множество однотипных лишних строк, которые можно было бы уместить в одну. Двадцать вещей - двадцать строк вида [[надеть|шкаф {$одежда = ...}]] и ещё двадцать на покупку. И ещё двадцать на выброс...   

Никакой оптимизации кода и уважения к ресурсам big_smile

Неактивен

 

   #444
30.07.2014 12:51

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Aruny написал:

Да я так же вышла из положения - при выводе информации о вещи выставляю типа "если зашли из шкафа, то выводим возможность надеть", "если зашли из магазина, то выводим информацию о возможности купить".

Просто так получается множество однотипных лишних строк, которые можно было бы уместить в одну. Двадцать вещей - двадцать строк вида [[надеть|шкаф {$одежда = ...}]] и ещё двадцать на покупку. И ещё двадцать на выброс...   

Никакой оптимизации кода и уважения к ресурсам big_smile

А попробуйте использовать ссылки вида: [[$текстСсылки|$переход {$одежда = ...}]]
Перед циклом задаём <<set $текстСсылки = "надеть">> <<set $переход = "шкаф">> или <<set $текстСсылки = "купить">> <<set $переход = "бутик">>

Можно сделать ещё понятнее для игрока, если устанавливать <<set $текстСсылки = "Надеть " + $вещь>> (только названия вещей нужно изначально задать в винительном падеже)

Неактивен

 

   #445
30.07.2014 12:57

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Oldrik написал:

Вопрос по макросу "goto".
В описании сказано: "Этот макрос совершает мгновенный переход на указанный параграф, прерывая выполнение текущего параграфа"

Пример:

Параграф_0
<<if $условие eq 10>>
<<goto 'Параграф_1'>>
<<endif>>
Какой-то текст

Если $условие равно десяти происходит переход на "Параграф_1" и отображается текст как из "Параграфа_1", так и из "Параграфа_0". Так и должно быть? Я понимал, что исходя из "прерывая выполнение текущего параграфа" текст из "Параграфа_0" не должен отображаться.

Насколько я помню, текст старого параграфа после goto всё равно отображается под новым параграфом. Тут нужно мнение разработчика, а пока могу посоветовать:

Код:

:: Параграф_0
<<if $условие eq 10>>
     <<goto 'Параграф_1'>>
<<else>>
     Какой-то текст
<<endif>>

Неактивен

 

   #446
30.07.2014 13:26

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

Re: Как сделать что-то или "я вот не понимаю"

Да, действительно, это ошибка. Код после goto выполняется. Подумаю, что можно сделать.

Неактивен

 

   #447
30.07.2014 15:01

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Василий Новойдарский написал:

Доброго времени суток. Такой вопрос, по поводу параграфа характеристик с которого нужно вернуться на предыдущую локацию. Если я для каждого персонажа сделал отдельный параграф с описанием, то по возвращении на параграф "Характеристики" ссылка типа  <<return 'Назад'>> перестает возвращать в игру.

Ссылка <<return>> возвращает на предыдущий параграф, который не всегда будет игровым при такой организации характеристик.
Можно сделать так:

Код:

:: Start
<<set $currentPassage = $$title>>

:: Характеристики
<<if $$from neq "Характеристики" and $$from neq "Описание 1" and $$from neq "Описание 2" and $$from neq "Описание 3">>
     # В этом условии перечисляем названия всех параграфов, которые не являются игровыми, но могут быть предыдущими для параграфа "Характеристики"
     <<set $currentPassage = $$from>>
<<endif>>
[[Смотреть описание 1|Описание 1]]
[[Смотреть описание 2|Описание 2]]
[[Смотреть описание 3|Описание 3]]
[[Назад в игру|$currentPassage]]

:: Описание 1
Описание первого персонажа
[[Назад|Характеристики]]

:: Описание 2
Описание второго персонажа
[[Назад|Характеристики]]

:: Описание 3
Описание третьего персонажа
[[Назад|Характеристики]]

В том случае, если характеристики доступны из меню, нужно в условие добавить: and $$from neq "StorySubtitle" and $$from neq "Об авторе", и другие параграфы, которые также доступны из меню. Кроме того, желательно все эти StoryMenu-параграфы переделать по аналогии с характеристиками (добавить условие и ссылку). Иначе ссылка характеристик "Назад в игру" будет возвращать не туда, если в игре сначала открыть "Об авторе", а потом "Характеристики".

Конечно же сам параграф "StorySubtitle" переделывать не нужно, там должно быть только описание игры и всё. Вместо этого нужно добавить новый параграф "Об игре", где уже выполнить <<display 'StorySubtitle'>>.

Вариант 2: вместо длинного условия в параграфе "Характеристики" можно в каждом игровом параграфе выполнять <<set $currentPassage = $$title>>

$$title (название текущего параграфа) и $$from (название предыдущего параграфа) — это системные переменные

Неактивен

 

   #448
31.07.2014 12:08

Василий Новойдарский
Участник
Зарегистрирован: 24.07.2014
Сообщений: 12

Re: Как сделать что-то или "я вот не понимаю"

Еще один вопрос :
По поводу рандомных событий.
Есть параграф со ссылками появляющимися при определенных условиях:
К примеру

Код:

::Перекресток
<<if $sila lte 10 and ustal gte 15>>
Иван собрался с силами и пошел в темноту леса.
[[Идти в лес| Лес]]
<<elseif $sila lte 15 and ustal gte 20>>
Иван собрал всю волю в кулак, перехватил покрепче меч и зашел в источающее  смрад, темное лоно пещеры.
[[Идти в пещеру| Пещера]]
 <<endif>>

И вот в этот параграф я хочу добавить рандомные события которые бы при срабатывании перекрывали собой все доступные варианты.
Т.е. выйдя на перекресток наш герой внезапно наткнулся на дриаду сидящую на камне. И пока она с ней не поговорит остальные варианты не будут видны.

Неактивен

 

   #449
31.07.2014 13:50

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Василий Новойдарский написал:

хочу добавить рандомные события которые бы при срабатывании перекрывали собой все доступные варианты.
Т.е. выйдя на перекресток наш герой внезапно наткнулся на дриаду сидящую на камне. И пока она с ней не поговорит остальные варианты не будут видны.

И снова нам поможет макрос <<if>>

Код:

# Признаки для случайных событий: false - события не было, true - событие было
<<set $event1 = false>>
<<set $event2 = false>>

:: Перекресток
Иван вышел на перекресток, к большому и каменному камню.

# Получаем случайное число от 0 до 10
<<random $event = 10>>

<<if $event eq 1 and !$event1>>

     <<set $event1 = true>>
     И тут внезапно на камне появилась дриада. Иван хотел было дать дёру, но дриада молвила:
     -- Не пытайся дать дёру, добрый молодец, иначе я кину рут, а потом шадоу болт.
     Ваня понял, что ему остаётся только одно...
     [[Поговорить с дриадой|Дриада]]

<<elseif $event eq 2 and !$event2>>

     <<set $event2 = true>>
     Другое случайное событие...

<<else>>

     # Случайных событий не было, выводим список обычных действий
     На камне, конечно же, красовалась надпись:
     Налево -- тёмный лес (1 верста)
     Направо -- зловонная пещера (3 версты)
     <<if $sila lte 10 and $ustal gte 15>>
          [[Идти в лес|Лес]]
     <<endif>>
     <<if $sila lte 15 and $ustal gte 20>>
          [[Идти в пещеру|Пещера]]
     <<endif>>
     [[Побродить вокруг перекрёстка|Перекресток]]
     [[Вернуться в деревню|Деревня]]

<<endif>>

Я расположил обычные действия в отдельных блоках if-endif, чтобы у игрока был выбор, пойти в лес или в пещеру, если параметры позволяют выбирать. А тексты описаний леса и пещеры лучше располагать в соответствующих параграфах.

Неактивен

 

   #450
31.07.2014 17:26

Василий Новойдарский
Участник
Зарегистрирован: 24.07.2014
Сообщений: 12

Re: Как сделать что-то или "я вот не понимаю"

Почему то эта конструкция выдает мне белый экран...

Неактивен

 

   #451
31.07.2014 17:42

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Василий Новойдарский написал:

Почему то эта конструкция выдает мне белый экран...

И точно, там проблема в условиях.
Нужно писать либо <<if $event eq 1 and !$event1>> либо <<if ($event eq 1) and (not $event1)>>
Сейчас подправлю и текст примера.

Неактивен

 

   #452
02.08.2014 10:00

Aruny
Участник (+2)
Зарегистрирован: 30.07.2014
Сообщений: 18

Re: Как сделать что-то или "я вот не понимаю"

А как сделать слияние строк в переменную?  Чтобы можно было выводить в ссылке типа [[согласиться на $money|agree1 ]] ? А то вариант [[согласиться на <<print $money>> |agree1 ]]  выводит вместо переходной ссылки только это: <>
А [[согласиться на $money |agree1 ]]  выводит "согласиться на asm_var0"


Ложная тревога.

Нашла big_smile 

перед выводом ссылки сделать
<<set $i = "согласиться на  " + $i >>
и в ссылке просто [[$i | agree1]]

Не привыкла складывать текст с числами big_smile

Отредактировано Aruny (02.08.2014 10:37)

Неактивен

 

   #453
02.08.2014 19:18

Aruny
Участник (+2)
Зарегистрирован: 30.07.2014
Сообщений: 18

Re: Как сделать что-то или "я вот не понимаю"

А как сделать, чтобы нормально моноширинный был? А то {{{}}} не очень-то помогает, всё равно символы разной ширины получаются и из-за этого не могу выстроить лабиринт sad Немного, но сдвигаются ряды.

Или можно ли вывести символы из расширенной таблицы ASCII, там, где закрашенные прямоугольники?

И можно ли сделать, чтобы множественные пробелы не заменялись на один, а выводилось сколько их надо., или это ограничение HTML не обходится?

Неактивен

 

   #454
02.08.2014 20:23

Cheshire
Участник (+85, -6)
Зарегистрирован: 01.07.2009
Сообщений: 317

«Ловко орудуя топором, вы разрубили все ваши монеты пополам. Теперь у вас в два раза больше золота».
Морыч

Re: Как сделать что-то или "я вот не понимаю"

Aruny написал:

И можно ли сделать, чтобы множественные пробелы не заменялись на один, а выводилось сколько их надо., или это ограничение HTML не обходится?

Можно использовать неразрывные пробелы, АХМА их не режет.

Отредактировано Cheshire (02.08.2014 20:25)

Неактивен

 

   #455
03.08.2014 13:31

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Думаю, это не столько АСМ режет пробелы, сколько браузер убирает лишние по его мнению пробелы из текста.

Действительно, вместо пробелов в этом случае надо использовать &nbsp; а чтобы не набирать эту последовательность символов, можно выделить пробел(ы) в редакторе и нажать кнопку "Текст в символы HTML". Ну и любые символы Юникода, конечно, тоже можно использовать.

Неактивен

 

   #456
03.08.2014 16:09

Cheshire
Участник (+85, -6)
Зарегистрирован: 01.07.2009
Сообщений: 317

«Ловко орудуя топором, вы разрубили все ваши монеты пополам. Теперь у вас в два раза больше золота».
Морыч

Re: Как сделать что-то или "я вот не понимаю"

Morych написал:

Думаю, это не столько АСМ режет пробелы, сколько браузер убирает лишние по его мнению пробелы из текста.

Верно, прошу прощения за дезинформацию.

Неактивен

 

   #457
04.08.2014 11:12

Aruny
Участник (+2)
Зарегистрирован: 30.07.2014
Сообщений: 18

Re: Как сделать что-то или "я вот не понимаю"

Спасибо smile Но добавить символы типа этого ▒  (альт+177) почему-то не получилось big_smile и на  &nbsp; тоже что-то "компилятор" ругается big_smile

И моноширинный текст на самом деле не моноширинный.

Вышла из положения чисто по женски - подобрала символы, совпадающие по ширине. То есть в заглавной букве "Ш" умещается четыре точки подряд (....), а значок человечка - три символа: .о.   


Зато теперьу меня есть двумерный лабиринт big_smile

Неактивен

 

   #458
04.08.2014 11:52

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Aruny написал:

Спасибо smile Но добавить символы типа этого ▒  (альт+177) почему-то не получилось big_smile и на  &nbsp; тоже что-то "компилятор" ругается big_smile

И моноширинный текст на самом деле не моноширинный.

Вышла из положения чисто по женски - подобрала символы, совпадающие по ширине. То есть в заглавной букве "Ш" умещается четыре точки подряд (....), а значок человечка - три символа: .о.   


Зато теперьу меня есть двумерный лабиринт big_smile

Поздравляю! Когда можно будет поиграть? smile

А вообще любопытно взглянуть на код, должно всё получаться и с символами, и с моноширинным шрифтом. Сейчас могу предположить, что внутри текста, помеченного как моноширинный, встречаются конструкции <<if>>...<<endif>> или <<loop>> - они сбивают форматирование.  Выход - сначала формировать цельные строки лабиринта, и только потом делать <<print $labirint>>.

Неактивен

 

   #459
04.08.2014 12:44

Aruny
Участник (+2)
Зарегистрирован: 30.07.2014
Сообщений: 18

Re: Как сделать что-то или "я вот не понимаю"

Поиграть конкретно в пишущуюся вряд ли получится... очень большие сомнения, что у меня хватит усидчивости, творческого порыва и фантазии закончить, а во вторых, рейтинг 18++ и гарантированно не пройдёт цензуру.

Что поменьше, по своим рассказам, может и буду делать, но уже позже.

И да, там именно в выводе присутствуют макросы <if>

Код выкладываю не кодом из файла, а как в редакторе.
Предварительно устанавливаем переменные

Код:

задаем переменные

# список "открытых" мест на карте - куда можно пойти (маг, трущобы, ворота - открыты по умолчанию)
# [0] - начальная локация. 0 - не открыта.
#таверна[0] - известно ли о таверне (0 нет, 1 да)
<<set $таверна = [0, 0]>>
<<set $дом_константина = []>>
<<set $дом_константина[0] = 0>>
<<set $ночлежка = []>>
<<set $ночлежка[0] = 0>>
<<set $бордель = []>>
<<set $бордель[0] = 0>>
<<set $рынок = []>>
<<set $рынок[0] = 0>>
<<set $больница = []>>
<<set $больница[0] = 0>>

# для гуляния по городу
#[0] - персонаж, [1] - ворота, 2 - маг, 3 - Константин, 4 - рынок 5 -ночлежка 6 - бордель 7-таверна
<<set $координаты = [0, 59, 325, 111, 165, 294, 183, 288]>>
#ширина города
<<set $xmax=20>>

#сам город, задаём только карту. 0 - прохода нет, 'x' - проход есть
<<set $город=[0,0,0,0,0,'x',0,0,'x',0,0,0,'x',0,0,0,'x',0,0,0,0,0,0,0,0,'x',0,0,'x',0,0,0,'x',0,0,0,'x',0,0,0,0,0,0,0,0,'x',0,0,'x','x','x','x','x','x','x','x','x','x','x','x',0,0,0,0,0,'x',0,0,'x',0,0,'x',0,0,'x',0,0,'x',0,0,0,0,0,0,0,'x',0,0,'x',0,0,'x',0,0,'x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x',0,0,0,'x',0,0,0,0,'x',0,0,'x',0,0,'x',0,0,'x',0,'x','x','x',0,'x',0,0,0,0,'x',0,0,'x',0,0,'x',0,0,'x',0,'x',0,0,0,'x',0,0,0,0,'x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x',0,0,'x',0,0,'x',0,'x',0,'x',0,'x',0,0,0,0,'x','x','x','x',0,0,'x','x','x','x',0,'x','x','x',0,'x',0,0,0,0,'x','x','x','x',0,0,'x',0,0,0,0,'x',0,0,0,'x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x',0,'x',0,0,'x',0,0,'x',0,0,'x',0,0,0,'x',0,'x',0,0,'x',0,'x',0,0,'x',0,0,'x',0,0,'x',0,0,'x','x',0,'x',0,0,'x',0,'x',0,0,'x',0,0,'x',0,0,'x',0,0,'x',0,0,'x','x','x','x',0,'x','x','x','x','x','x','x','x','x','x','x','x','x',0,0,'x',0,0,'x',0,'x',0,0,'x',0,0,'x',0,0,'x',0,0,'x','x','x','x','x','x','x',0,'x',0,0,'x',0,0,'x',0,0,'x','x','x','x',0,0,'x','x','x','x',0,'x',0,0,'x',0,0,'x',0,0,'x',0,0,0,0,0,'x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x']>>

#задаём места в городе
<<set $город[59]=1>>
<<set $город[325]=2>>
<<set $город[111]=3>>
<<set $город[165]=4>>
<<set $город[294]=5>>
<<set $город[183]=6>>
<<set $город[288]=7>>

<<set $flag = false>>

<<set $откуда='ворота в город 1'>>

<<if $откуда=='ворота в город 1'>>
    <<set $координаты[0] = 59>>
<<elseif $откуда=='дом мага 1'>>
    <<set $координаты[0] = 325>>
<<elseif $откуда=='дом Константина 1'>>
    <<set $координаты[0] = 111>>
<<elseif $откуда=='рынок 1'>>
    <<set $координаты[0] = 165>>
<<elseif $откуда=='ночлежка 1'>>
    <<set $координаты[0] = 183>>
<<elseif $откуда=='бордель 1'>>
    <<set $координаты[0] = 288>>
<<endif>>

[[погулять по городу|гулять город 1]]

теперь сам параграф гуляния

Код:

<<set $flag=0>>
<<set $flag2=0>>
вы начали от <<print $откуда>>

<<nop>>
<<set $w="Ш">>
<<set $q="....">>
<<set $me=".ö.">>
­<<set $i=0>>
<<set $j=0>>
­
<<loop $город.length>>
    <<if $i==$координаты[0]>>
        <<print $me>>
        <<if $город[$i] > 0>>
            <<set $flag=1>>
            <<set $flag2=$город[$i]>>
        <<endif>>
    <<else>>
        <<if $город[$i] == 0 >> 
            <<print $w>>
        <<elseif $город[$i] == 'x'>>
            <<print $q>>
        <<else>>
            <<if $город[$i] == 1>>
                .<<print ($город[$i])>>.    
            <<endif>>
            <<if $город[$i] == 2>>
                .<<print ($город[$i])>>.    
            <<endif>>
            <<if $город[$i] == 3>> <<if $дом_Константина[0]>0 >>
                .<<print ($город[$i])>>.    
                <<else>><<print $q>><<endif>><<endif>>
            <<if $город[$i] == 4 >> <<if $рынок[0]>0 >>
                .<<print ($город[$i])>>.    
                <<else>><<print $q>><<endif>><<endif>>
            <<if $город[$i] == 5 >><<if $ночлежка[0]>0 >>
                .<<print ($город[$i])>>.    
                <<else>><<print $q>><<endif>><<endif>>
            <<if $город[$i] == 6 >><<if $бордель[0]>0 >>
                .<<print ($город[$i])>>.    
                <<else>><<print $q>><<endif>><<endif>>
            <<if $город[$i] == 7 >><<if $таверна[0]>0 >>
                .<<print ($город[$i])>>.    
                <<else>><<print $q>><<endif>><<endif>>
        <<endif>>
    <<endif>>
    <<set $i++>>
    <<set $j++>>
    <<if $j == $xmax>>
        <<set $j=0>><<br>>
    <<endif>>
<<endloop>>

<<if $город[$координаты[0]-1] != 0>>
    [[-влево|гулять город 1{$координаты[0] = $координаты[0]-1}{$flag=0}{$flag2=0}]]
    <<else>>
    влево
<<endif>> 
<<if $город[$координаты[0]+1] != 0>>
    [[-вправо|гулять город 1{$координаты[0] = $координаты[0]+1}{$flag=0}{$flag2=0}]]
    <<else>>
    вправо
<<endif>> 
<<if $город[$координаты[0]+$xmax] != 0>>
    [[-вниз|гулять город 1{$координаты[0] = $координаты[0]+$xmax}{$flag=0}{$flag2=0}]]
    <<else>>
    вниз
<<endif>> 
<<if $город[$координаты[0]-$xmax] != 0>>
    [[-вверх|гулять город 1{$координаты[0] = $координаты[0]-$xmax}{$flag=0}{$flag2=0}]]
    <<else>>
    вверх
<<endif>> 
<<br>>
#выводим "легенду"
1 - ворота в город, 2 - дом мага
    <<if $дом_Константина[0]>0 >>, 3 - дом Константина<<endif>>
    <<if $рынок[0]>0 >>, 4 - рынок<<endif>>
    <<if $ночлежка[0]>0 >>, 5 - ночлежка<<endif>>
    <<if $бордель[0]>0 >>, 6 - бордель<<endif>>
    <<if $таверна[0]>0 >>, 7 - таверна<<endif>>
<<endnop>>

<<if $flag == 1>>
    <<if     $flag2==1>>
        === вы вышли к воротам в город ===
#        [[перейти к воротам|ворота в город 1]]
    <<endif>>
    <<if     $flag2==2>>
        === вы вышли к дому мага ===
#        [[перейти к дому мага|дом мага 1]]
    <<endif>>
    <<if     $flag2==3>>
        === вы вышли к дому Константина ===
#        [[перейти к дому Константина|дом Константина 1]]
    <<endif>>
    <<if     $flag2==4>>
        === вы вышли к рынку ===
        <<set $рынок[0]=1>>
#        [[перейти к рынку|рынок 1]]
    <<endif>>
    <<if     $flag2==5>>
        === вы вышли к ночлежке ===
        <<set $ночлежка[0]=1>>
#        [[перейти к ночлежке|ночлежка 1]]
    <<endif>>
    <<if     $flag2==7>>
        === вы вышли к таверне ===
        <<set $таверна[0]=1>>
#        [[перейти к таверне|ночлежка 1]]
    <<endif>>
<<endif>>
[[-вернуться в начальную точку|$откуда]]

для удобства задания карты города сначала рисую типа такого и потом убрать комментарии, перевод строк и сменить 1 на 'x':

Код:

# матрица для рисования города
#0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,
#0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,
#0,0,0,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,
#0,0,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,
#0,0,0,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,
#1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,
#1,0,0,0,0,1,0,0,1,0,0,1,0,0,1,0,1,1,1,0,
#1,0,0,0,0,1,0,0,1,0,0,1,0,0,1,0,1,0,0,0,
#1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
#1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,1,0,1,0,
#1,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,1,0,
#1,0,0,0,0,1,1,1,1,0,0,1,0,0,0,0,1,0,0,0,
#1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
#1,0,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,1,0,0,
#1,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,0,0,
#1,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,
#1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,
#1,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,
#1,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,
#1,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,1,1,
#1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,

Неактивен

 

   #460
04.08.2014 13:23

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Aruny написал:

И да, там именно в выводе присутствуют макросы <if>

Ну вот об этом я и говорил. Я чуть-чуть подправил:

Код:

<<set $flag=0>>
<<set $flag2=0>>
вы начали от <<print $откуда>>
<<nop>>
<<set $w="▒">>
<<set $q="&nbsp;">>
<<set $me="ö">>
­<<set $i=0>>
<<set $j=0>>
# строка для "сборки" карты
­<<set $screen = "">>
<<loop $город.length>>
    <<if $i==$координаты[0]>>
        <<set $screen = $screen + $me>>
        <<if $город[$i] > 0>>
            <<set $flag=1>>
            <<set $flag2=$город[$i]>>
        <<endif>>
    <<else>>
        <<if $город[$i] == 0 >> 
            <<set $screen = $screen + $w>>
        <<elseif $город[$i] == 'x'>>
            <<set $screen = $screen + $q>>
        <<else>>
            <<if $город[$i] == 1>>
                <<set $screen = $screen + $город[$i]>>    
            <<endif>>
            <<if $город[$i] == 2>>
                <<set $screen = $screen + $город[$i]>>    
            <<endif>>
            <<if $город[$i] == 3>> <<if $дом_Константина[0]>0 >>
                <<set $screen = $screen + $город[$i]>>    
                <<else>> <<set $screen = $screen + $q>> <<endif>> <<endif>>
            <<if $город[$i] == 4 >> <<if $рынок[0]>0 >>
                <<set $screen = $screen + $город[$i]>>    
                <<else>> <<set $screen = $screen + $q>> <<endif>> <<endif>> 
            <<if $город[$i] == 5 >> <<if $ночлежка[0]>0 >>
                <<set $screen = $screen + $город[$i]>>    
                <<else>> <<set $screen = $screen + $q>> <<endif>> <<endif>>
            <<if $город[$i] == 6 >><<if $бордель[0]>0 >>
                <<set $screen = $screen + $город[$i]>>    
                <<else>> <<set $screen = $screen + $q>> <<endif>> <<endif>>
            <<if $город[$i] == 7 >><<if $таверна[0]>0 >>
                <<set $screen = $screen + $город[$i]>>    
                <<else>> <<set $screen = $screen + $q>> <<endif>> <<endif>>
        <<endif>>
    <<endif>>
    <<set $i++>>
    <<set $j++>>
    <<if $j == $xmax>>
        <<set $j=0>>
    <<set $screen = $screen + "<br>">>
    <<endif>>
<<endloop>>
==={{{<<print $screen>>}}}===
<<if $город[$координаты[0]-1] != 0>>
    [[-влево|гулять город 1{$координаты[0] = $координаты[0]-1}{$flag=0}{$flag2=0}]]
    <<else>>
    влево
<<endif>> 
<<if $город[$координаты[0]+1] != 0>>
    [[-вправо|гулять город 1{$координаты[0] = $координаты[0]+1}{$flag=0}{$flag2=0}]]
    <<else>>
    вправо
<<endif>> 
<<if $город[$координаты[0]+$xmax] != 0>>
    [[-вниз|гулять город 1{$координаты[0] = $координаты[0]+$xmax}{$flag=0}{$flag2=0}]]
    <<else>>
    вниз
<<endif>> 
<<if $город[$координаты[0]-$xmax] != 0>>
    [[-вверх|гулять город 1{$координаты[0] = $координаты[0]-$xmax}{$flag=0}{$flag2=0}]]
    <<else>>
    вверх
<<endif>> 
<<br>>
#выводим "легенду"
1 - ворота в город, 2 - дом мага
    <<if $дом_Константина[0]>0 >>, 3 - дом Константина<<endif>>
    <<if $рынок[0]>0 >>, 4 - рынок<<endif>>
    <<if $ночлежка[0]>0 >>, 5 - ночлежка<<endif>>
    <<if $бордель[0]>0 >>, 6 - бордель<<endif>>
    <<if $таверна[0]>0 >>, 7 - таверна<<endif>>
<<endnop>>
<<if $flag == 1>>
    <<if     $flag2==1>>
        === вы вышли к воротам в город ===
#        [[перейти к воротам|ворота в город 1]]
    <<endif>>
    <<if     $flag2==2>>
        === вы вышли к дому мага ===
#        [[перейти к дому мага|дом мага 1]]
    <<endif>>
    <<if     $flag2==3>>
        === вы вышли к дому Константина ===
#        [[перейти к дому Константина|дом Константина 1]]
    <<endif>>
    <<if     $flag2==4>>
        === вы вышли к рынку ===
        <<set $рынок[0]=1>>
#        [[перейти к рынку|рынок 1]]
    <<endif>>
    <<if     $flag2==5>>
        === вы вышли к ночлежке ===
        <<set $ночлежка[0]=1>>
#        [[перейти к ночлежке|ночлежка 1]]
    <<endif>>
    <<if     $flag2==7>>
        === вы вышли к таверне ===
        <<set $таверна[0]=1>>
#        [[перейти к таверне|ночлежка 1]]
    <<endif>>
<<endif>>
[[-вернуться в начальную точку|$откуда]]

И вот, что у нас тогда получается (я подправил StoryStyle, чтобы убрать расстояние между строками):

 спойлер…

Вроде бы, даже работать стало немного быстрее. Однако всё равно у меня на машине подтормаживает. Слишком уж большую карту показываем сразу. Опять же есть риск, что на смартфоне карта поплывёт. Советую подумать в сторону ограничения видимой области карты. Например 10 на 10 клеток. Подходим к краю за 2-3 клетки, карта сдвигается.

А так всё очень хорошо работает, почти полноценный рогалик smile

P.S. Рейтингом 18++ нас не испугаешь! Цензура цензурой, а в песочницу-то гарантированно пройдёт wink

Неактивен

 

   #461
04.08.2014 14:10

Aruny
Участник (+2)
Зарегистрирован: 30.07.2014
Сообщений: 18

Re: Как сделать что-то или "я вот не понимаю"

Я её изначально не собиралась выводить, это для отладки работы алгоритма сделала. Хотела вслепую гонять персонажа, без карты.
Но с таким вариантом, как у вас получился, точно засяду за визуализацию. ;-)

Ну, раз не боитесь жёсткой порнографии, то как доделаю первую главу, выложу big_smile

Отредактировано Aruny (04.08.2014 14:11)

Неактивен

 

   #462
04.08.2014 14:29

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Вслепую ходить по такому большому лабиринту никто не захочет, даже вам надоест smile А вот с визуализацией - это совсем другое дело. Можно ещё выводить текстом, что находится около гг на севере, на юге, западе и востоке. И ссылки навигации лучше сделать "крестиком", а не в одну строку.

Жёсткая порнография, написанная девочкой... так это ведь женский любовный роман smile

Неактивен

 

   #463
07.08.2014 17:04

Delakha
Участник
Зарегистрирован: 31.01.2014
Сообщений: 6

Re: Как сделать что-то или "я вот не понимаю"

Можно ли поставить ударение в слове?

Неактивен

 

   #464
07.08.2014 18:16

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Delakha написал:

Можно ли поставить ударение в слове?

Можно попробовать использовать все эти буковки из "Таблицы символов", всякие á, ó, é, ý. Или выделить курсивом или жирным шрифтом нужную букву.

Неактивен

 

   #465
08.08.2014 21:04

Василий Новойдарский
Участник
Зарегистрирован: 24.07.2014
Сообщений: 12

Re: Как сделать что-то или "я вот не понимаю"

Доброго времени суток такой вопрос возник.
Хочу сделать дни недели с Понедельника по Воскресенье. Понимаю что нужно сделать цикл но не могу допереть до самой конструкции.

Неактивен

 

   #466
09.08.2014 02:18

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Привет! Уточни, пожалуйста, задачу. Как должно выглядеть это в игре?

Неактивен

 

   #467
09.08.2014 11:50

Василий Новойдарский
Участник
Зарегистрирован: 24.07.2014
Сообщений: 12

Re: Как сделать что-то или "я вот не понимаю"

Примерно я так себе это представляю

Код:

::Start
<<set $den = 1>>

Далее я сделал параграф Состояния куда вывожу информацию

Код:

''Время:'' <<if $time gte 5 and $time lte 11>>Утро<<elseif $time gte 12 and $time lte 17>>День
<<elseif $time gte 18 and $time lte 23>>Вечер<<elseif $time gte 24 and $time lte 4>>Ночь<<endif>> 
| ''День недели:'' <<if $den eq 1>>Понедельник<<elseif $den eq 2>>Вторник<<elseif $den eq 3>>Среда
<<elseif $den eq 4>>Четверг<<elseif $den eq 5>>Пятница<<elseif $den eq 6>>Суббота<<elseif $den eq 7>>Воскресенье<<endif>>

А вот где мне запускать обнуление я не представляю или нужно через if добавлять доп. параметр или делать цикл...

Отредактировано Василий Новойдарский (09.08.2014 11:51)

Неактивен

 

   #468
10.08.2014 18:40

ggeniy
Участник (+2)
Откуда: Киев
Зарегистрирован: 04.02.2014
Сообщений: 10
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Delakha написал:

Можно ли поставить ударение в слове?

Вставьте после ударной буквы

Код:

&#7 69;

БЕЗ ПРОБЕЛА.

Неактивен

 

   #469
11.08.2014 09:45

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Василий Новойдарский написал:

Примерно я так себе это представляю

Код:

::Start
<<set $den = 1>>

Далее я сделал параграф Состояния куда вывожу информацию

Код:

''Время:'' <<if $time gte 5 and $time lte 11>>Утро<<elseif $time gte 12 and $time lte 17>>День
<<elseif $time gte 18 and $time lte 23>>Вечер<<elseif $time gte 24 and $time lte 4>>Ночь<<endif>> 
| ''День недели:'' <<if $den eq 1>>Понедельник<<elseif $den eq 2>>Вторник<<elseif $den eq 3>>Среда
<<elseif $den eq 4>>Четверг<<elseif $den eq 5>>Пятница<<elseif $den eq 6>>Суббота<<elseif $den eq 7>>Воскресенье<<endif>>

А вот где мне запускать обнуление я не представляю или нужно через if добавлять доп. параметр или делать цикл...

А параграф "ПрошлоВермя" есть? Я приводил его код, когда мы обсуждали игровое время. Можно его подправить так:

:: ПрошлоВремя
<<set $time = $time + $timeAdd>>
<<set $timeAdd = 0>>
<<if $time gt 23>>
     <<set $time = $time - 24>>
     <<set $day = $day + 1>>
     <<set $den = $den + 1>>
     <<if $den gt 7>>
          <<set $den = 1>>
     <<endif>>

<<endif>>

А в параграфе "Start" можно сделать:

<<random $den = 6>>
<<set $den = $den + 1>>

Неактивен

 

   #470
11.08.2014 22:05

Василий Новойдарский
Участник
Зарегистрирован: 24.07.2014
Сообщений: 12

Re: Как сделать что-то или "я вот не понимаю"

Ага спасибо что то такое я и сделал толкьо более костляво

Неактивен

 

   #471
26.08.2014 07:49

Aruny
Участник (+2)
Зарегистрирован: 30.07.2014
Сообщений: 18

Re: Как сделать что-то или "я вот не понимаю"

А есть какой-нибудь простой, "встроенный", способ проверить число на чётность?
Или конструкция вида
<< if Math.round($Х/2) <= $Х/2 >> чётное! <<else>>нечетное<<endif>>
и так нормальная?


И можно ли передавать параметры в <<display 'параграф'>>, или только сетами перед выводом?

Неактивен

 

   #472
26.08.2014 08:00

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

Re: Как сделать что-то или "я вот не понимаю"

Aruny написал:

А есть какой-нибудь простой, "встроенный", способ проверить число на чётность?
Или конструкция вида
<< if Math.round($Х/2) <= $Х/2 >> чётное! <<else>>нечетное<<endif>>
и так нормальная?


И можно ли передавать параметры в <<display 'параграф'>>, или только сетами перед выводом?

Думаю, лучше использовать

Код:

<<if $X%2==0>> чётное! <<else>> нечётное <<endif>>

Параметры в <<display 'параграф'>> можно передовать только предварительной установкой обычных переменных.

Неактивен

 

   #473
28.08.2014 03:38

Василий Новойдарский
Участник
Зарегистрирован: 24.07.2014
Сообщений: 12

Re: Как сделать что-то или "я вот не понимаю"

Доброго времени суток. Я немного переделал концепцию усталости (теперь это просто очки действий) и соответственно возникли следующие вопросы:

Как мне сделать так, что бы к примеру в ссылке отображалось сколько очков будет тратиться на действие
К примеру:
"Нарубить дров (2)", где 2 соответственно очки затраченные на это действие.

И второй как сделать ссылку неактивной если очков не хватает (то есть, что бы она была видна но использовать её было невозможно)
И еще один как ограничить очки так что бы они не уходили в минус а останавливались на 0.

Отредактировано Василий Новойдарский (28.08.2014 04:10)

Неактивен

 

   #474
28.08.2014 09:52

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Василий Новойдарский написал:

Как мне сделать так, что бы к примеру в ссылке отображалось сколько очков будет тратиться на действие
К примеру:
"Нарубить дров (2)", где 2 соответственно очки затраченные на это действие.

И второй как сделать ссылку неактивной если очков не хватает (то есть, что бы она была видна но использовать её было невозможно)

Допустим, мы определили, что для выполнения действия требуется определенное число очков действий, и пусть это значение у нас записано в переменной $apCost, а в переменной $ap - доступные очки действий гг, тогда:

<<set $text = "Нарубить дров (" + $apCost + ")">>
<<if $apCost lte $ap>>
     [[$text|НарубитьДров]]
<<else>>
     <<print $text>>
<<endif>>

Василий Новойдарский написал:

И еще один как ограничить очки так что бы они не уходили в минус а останавливались на 0.

Можно использовать при каждом уменьшении переменной if или Math.max:

<<set $ap = Math.max(0, $ap)>>

или

<<if $ap lt 0>>
     <<set $ap = 0>>
<<endif>>

Неактивен

 

   #475
08.09.2014 09:16

Aruny
Участник (+2)
Зарегистрирован: 30.07.2014
Сообщений: 18

Re: Как сделать что-то или "я вот не понимаю"

А можно ли сделать передачу адреса изображения через переменную?

Пока вижу только прямое указание адреса вида [[File: 01-02.jpg]]

А мне бы хотелось сделать вида [[File: $картинка]], где $картинка = '01' + '-' + '02' + '.jpg'

Неактивен

 

   #476
08.09.2014 09:42

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Aruny написал:

А можно ли сделать передачу адреса изображения через переменную?

Пока вижу только прямое указание адреса вида [[File: 01-02.jpg]]

А мне бы хотелось сделать вида [[File: $картинка]], где $картинка = '01' + '-' + '02' + '.jpg'

Это надо писать в Предложения по новому функционалу. А пока можно лишь наделать много параграфов вида "img_01_02", где будет только [[File: 01-02.jpg]] и вызывать их через <<$картинка = "img_01_02">> <<display $картинка>>

Неактивен

 

   #477
08.09.2014 11:59

Aruny
Участник (+2)
Зарегистрирован: 30.07.2014
Сообщений: 18

Re: Как сделать что-то или "я вот не понимаю"

Спасибо, но я обойдусь и одним параграфом с кучей ифов big_smile
типа
<<set $img='01-02'>>
<<display 'image'>>

::image
<<if $img='01-02'>>[[file: 01-02.jpg]]
<<elseif ...>>


Пойду в предложения писать big_smile

Неактивен

 

   #478
29.09.2014 19:39

Алекс Давыдов
Участник
Зарегистрирован: 29.09.2014
Сообщений: 4

Re: Как сделать что-то или "я вот не понимаю"

У меня возник вопрос. Я написал историю, выложил ссылки на музыку, но вот какая незадача, музыка воспроизводится только на моем компьютере. На других компьютерах или любом другом устройстве музыки нет. В чем может быть проблема?

Неактивен

 

   #479
29.09.2014 19:43

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

Re: Как сделать что-то или "я вот не понимаю"

Алекс Давыдов написал:

У меня возник вопрос. Я написал историю, выложил ссылки на музыку, но вот какая незадача, музыка воспроизводится только на моем компьютере. На других компьютерах или любом другом устройстве музыки нет. В чем может быть проблема?

В каком формате музыка? Нужно и в mp3 и в ogg делать. И какие пути к музыкальным файлам? Может они абсолютные и ведут только к файлам на вашем компьютере.

Неактивен

 

   #480
29.09.2014 19:45

Алекс Давыдов
Участник
Зарегистрирован: 29.09.2014
Сообщений: 4

Re: Как сделать что-то или "я вот не понимаю"

DoubleDragon написал:

Алекс Давыдов написал:

У меня возник вопрос. Я написал историю, выложил ссылки на музыку, но вот какая незадача, музыка воспроизводится только на моем компьютере. На других компьютерах или любом другом устройстве музыки нет. В чем может быть проблема?

В каком формате музыка? Нужно и в mp3 и в ogg делать. И какие пути к музыкальным файлам? Может они абсолютные и ведут только к файлам на вашем компьютере.

Музыка в формате mp3. Получается мне нужно добавить еще ссылку на ogg? Я через браузер выкладывал. У меня большое количество музыки, в 20МБ не укладывается.
Путь из интернета, указать ссылкой. Я указываю. В тестовом варианте работает, заливаю, проверяю, у меня работает. У других возникают проблемы. Пробовал запускать с планшета, проблема идентична. В чем дело не могу понять...

Отредактировано Алекс Давыдов (29.09.2014 19:53)

Неактивен

 

   #481
29.09.2014 21:15

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

Re: Как сделать что-то или "я вот не понимаю"

Формат ogg нужен только для Firefox. В каком браузере музыка не работает?

Неактивен

 

   #482
30.09.2014 11:36

Алекс Давыдов
Участник
Зарегистрирован: 29.09.2014
Сообщений: 4

Re: Как сделать что-то или "я вот не понимаю"

Не работает абсолютно в любом браузере. Что главное, на моем компьютере работает. Проверил на другом компьютере, нет музыки. Планшет, нет музыки. Телефон, нет музыки. Только на том устройстве, на котором работал...
Может быть дело вот в чем, вне которые файлы (Картинки) я загрузил "Локальным файлом", дальше музыку уже через интернет. Локальные файлы и файлы из интернета могут каким-то способом конфликтовать?

Неактивен

 

   #483
30.09.2014 13:13

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

Re: Как сделать что-то или "я вот не понимаю"

А на каком сайте лежит музыка? Может к ней просто нет доступа без вашего пароля?

Неактивен

 

   #484
30.09.2014 13:16

Алекс Давыдов
Участник
Зарегистрирован: 29.09.2014
Сообщений: 4

Re: Как сделать что-то или "я вот не понимаю"

Брал ссылку из Вконтакте. Просил помощи у еще одного писателя, он берет музыку от туда же, но у него все работает хорошо.
Хотя возможно вы правы. Если я добавляю музыку из альбома, то получается система не может зайти в альбом (Ссылку на мелодию она распознает, но включить ее не может.) такой вариант событий возможен?

Отредактировано Алекс Давыдов (30.09.2014 13:29)

Неактивен

 

   #485
30.09.2014 15:10

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

Re: Как сделать что-то или "я вот не понимаю"

Алекс Давыдов написал:

Брал ссылку из Вконтакте. Просил помощи у еще одного писателя, он берет музыку от туда же, но у него все работает хорошо.
Хотя возможно вы правы. Если я добавляю музыку из альбома, то получается система не может зайти в альбом (Ссылку на мелодию она распознает, но включить ее не может.) такой вариант событий возможен?

Да, скорее всего дело в этом.

Неактивен

 

   #486
01.10.2014 17:15

kerber
Участник (+37, -24)
Зарегистрирован: 20.09.2012
Сообщений: 115

Re: Как сделать что-то или "я вот не понимаю"

В ссылках на музыку из вконтакта есть одна хитрушка - для разных подсетей генерится разный хвост ссылки. Лучше выложить музыку, к примеру, на яндекс.

Неактивен

 

   #487
21.10.2014 12:58

Alex842
Участник (+2)
Откуда: Москва
Зарегистрирован: 24.04.2014
Сообщений: 60

Re: Как сделать что-то или "я вот не понимаю"

Подскажите, что-то никак не могу разобраться со списками, а точнее как мне добавить ссылки в списки. Т.е. чтобы можно было вывести список элементов и при клике на каждый элемент происходил переход на многоразовый абзац с описанием предмета.

Неактивен

 

   #488
01.11.2014 12:13

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Alex842 написал:

Подскажите, что-то никак не могу разобраться со списками, а точнее как мне добавить ссылки в списки. Т.е. чтобы можно было вывести список элементов и при клике на каждый элемент происходил переход на многоразовый абзац с описанием предмета.

Ссылки в список не добавишь, но можно добавить строки-названия параграфов. Эта идея использована, например, в модуле Инвентарь. А суть такова. Для каждого предмета создаём параграф вида:

:: кольцо всевластья
[[*кольцо всевластья|описание {$item = "кольцо всевластья"} {$desc = "Оба-на, колечко!.. Вот свезло, так свезло!.."}]]


В наш список где-то добавляем название предмета:

<<set $itemsList.push("кольцо всевластья")>>

И где-то нам надо отобразить список:

У вас в карманцах:
<<set $i = 0>>
<<loop $itemsList.length>>
<<display $itemsList[$i]>>
<<set $i++>>
<<endloop>>


Таким образом на экране получаем список многоразовых ссылок на параграф "описание", в который передаём разные параметры, в зависимости от выбранного предмета. Сам параграф "описание" выглядит как-то так:

:: описание
''<<print $item>>''
<<print $desc>>
(и ещё тут могут быть разные действия для разных предметов)


Очевидный недостаток метода - необходимость создавать отдельный мелкий параграф для каждого из существующих в игре предметов. Можно об этом забыть при добавлении новых предметов в игру. При этом Асм 2.х ругается на отсутствующий параграф, а в 3-й версии ссылка просто нажимается без какой-либо реакции.

П.С. Прошу прощения за поздний ответ.

Неактивен

 

   #489
05.11.2014 15:50

Aruny
Участник (+2)
Зарегистрирован: 30.07.2014
Сообщений: 18

Re: Как сделать что-то или "я вот не понимаю"

Я не тормоз. я не тормоз, я умею читать.... но ни фига не вижу!

Где и как делать вывод информации в другие окошки в третьей версии? smile

Неактивен

 

   #490
05.11.2014 16:01

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

Re: Как сделать что-то или "я вот не понимаю"

Aruny написал:

Я не тормоз. я не тормоз, я умею читать.... но ни фига не вижу!

Где и как делать вывод информации в другие окошки в третьей версии? smile

Смотря в какие wink

В окно меню через параграф StoryMenu или через макрос <<menu>>.
В окно с иллюстрацией через макрос <<picture>>.
Во всплывающие окна через ссылку со звёздочкой: [[*ссылка]].

Неактивен

 

   #491
08.12.2014 09:42

Ruser
Участник
Зарегистрирован: 08.12.2014
Сообщений: 2

Re: Как сделать что-то или "я вот не понимаю"

Не могу разобраться как вставлять звук. Задача при открытии очередного параграфа, запустить звук один раз.

Делаю так:
1. В нужном параграфе прописываю:
<<sound 'звук'>>
2. Создаю новый параграф с именем "звук".
3. В котором прописываю: [[File: files/звук.mp3]] . В той же папке лежит такой же файл ogg.
4. При сохранении параграфа со строкой <<sound 'звук'>> выдает ошибку некорректный макрос.

Что делаю неправильно и как нужно?

Неактивен

 

   #492
08.12.2014 10:59

Alex842
Участник (+2)
Откуда: Москва
Зарегистрирован: 24.04.2014
Сообщений: 60

Re: Как сделать что-то или "я вот не понимаю"

Ruser написал:

Не могу разобраться как вставлять звук. Задача при открытии очередного параграфа, запустить звук один раз.

Делаю так:
1. В нужном параграфе прописываю:
<<sound 'звук'>>
2. Создаю новый параграф с именем "звук".
3. В котором прописываю: [[File: files/звук.mp3]] . В той же папке лежит такой же файл ogg.
4. При сохранении параграфа со строкой <<sound 'звук'>> выдает ошибку некорректный макрос.

Что делаю неправильно и как нужно?

Для начала нужно добавить звук через кнопку "Добавить -> Звук". Затем в нужном месте параграфа вставляете макрос <<sound ''>>. Ставите курсор между кавычек и нажимаете Tab. Появляется список доступных звуков (тех что вы выбрали через кнопку "Добавить"). Обратите внимание, что поддерживаются только файлы mp3 не более 150 кб! Поэтому возможны проблемы с воспроизведением в FireFox.

П.С. Забыл написать, что эта инструкция действительна для 3 версии.
Если у вас стоит 2 версия, то в ней, насколько я знаю, нельзя запустить звук один раз. Можно сделать ему "бесконечную" тишину в аудиоредакторе.

Отредактировано Alex842 (08.12.2014 11:01)

Неактивен

 

   #493
08.12.2014 11:28

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

Re: Как сделать что-то или "я вот не понимаю"

Да, всё так.

Неактивен

 

   #494
08.12.2014 11:38

Ruser
Участник
Зарегистрирован: 08.12.2014
Сообщений: 2

Re: Как сделать что-то или "я вот не понимаю"

Alex842, спасибо! У меня как раз 2.6. Третий тормозит, но придется пробовать в нем.... sad

Неактивен

 

   #495
08.12.2014 12:33

Alex842
Участник (+2)
Откуда: Москва
Зарегистрирован: 24.04.2014
Сообщений: 60

Re: Как сделать что-то или "я вот не понимаю"

Ruser написал:

Alex842, спасибо! У меня как раз 2.6. Третий тормозит, но придется пробовать в нем.... sad

Не за что. smile
Кстати, последняя демка тормозит значительно меньше.
Единственное, раздражает как реализовано перетаскивание параграфов. Т.е. какое-то оно дерганое. В отличие от онлайн-версии. Если бы это был паскаль, то я бы сказал, что отключена функция "отображать содержимое при перетаскивании". Может быть что-то такое и здесь надо включить? А то мы видим перемещаемый абзац только в момент его "захвата" и "бросания в точку назначения". Приходится мучатся с "прицеливанием". sad

Неактивен

 

   #496
09.12.2014 11:14

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

Re: Как сделать что-то или "я вот не понимаю"

Alex842 написал:

Ruser написал:

Alex842, спасибо! У меня как раз 2.6. Третий тормозит, но придется пробовать в нем.... sad

Не за что. smile
Кстати, последняя демка тормозит значительно меньше.
Единственное, раздражает как реализовано перетаскивание параграфов. Т.е. какое-то оно дерганое. В отличие от онлайн-версии. Если бы это был паскаль, то я бы сказал, что отключена функция "отображать содержимое при перетаскивании". Может быть что-то такое и здесь надо включить? А то мы видим перемещаемый абзац только в момент его "захвата" и "бросания в точку назначения". Приходится мучатся с "прицеливанием". sad

Это проблема первой версии библиотеки Webkit под Windows, которая отвечает за прорисовку. При первой же возможности буду переводить всё на новую версию Webkit, но пока придётся с этим жить.

Неактивен

 

   #497
30.12.2014 23:32

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Ребята, задумал сделать интерактивную игру про биатлон smile Пока не могу понять следующий момент как реализовать: спортсмены бегут спринт, у каждого свое время, финишируют, им присваивается их результат (время) - тут все понятно как делается, но... как сделать так, чтобы после финиша программа считала, у кого из спортсменов результат лучше, у кого хуже? Например, спортсмен А прошел трассу за 5 минут 10 секунд, спортсмен Б - за 5 минут 14 секунд, спортсмен В - за 4 минуты 59 секунд. Должно быть на финише так - первым будет В, вторым А, третьим - Б.  Как сделать, чтобы программа считала места по результатам?

Неактивен

 

   #498
31.12.2014 00:50

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

alfa10 написал:

Ребята, задумал сделать интерактивную игру про биатлон smile Пока не могу понять следующий момент как реализовать: спортсмены бегут спринт, у каждого свое время, финишируют, им присваивается их результат (время) - тут все понятно как делается, но... как сделать так, чтобы после финиша программа считала, у кого из спортсменов результат лучше, у кого хуже? Например, спортсмен А прошел трассу за 5 минут 10 секунд, спортсмен Б - за 5 минут 14 секунд, спортсмен В - за 4 минуты 59 секунд. Должно быть на финише так - первым будет В, вторым А, третьим - Б.  Как сделать, чтобы программа считала места по результатам?

Можно, например, так:

Код:

:: biatlon
<<set $name = ["Alex", "Bob", "Carl"]>>
<<set $time = [0, 0, 0]>>
<<set $place = []>>

<<set $i = 0>>
<<loop $time.length>>
    <<random $min = 2>>
    <<set $min = $min + 4>>
    <<random $sek = 59>>
    <<if $sek lt 10>>
        <<set $sek = "0" + $sek>>
    <<endif>>
    <<set $time[$i] = $min + ":" + $sek>>
    <<set $place.push($time[$i] + "|" + $name[$i])>>
    <<set $i++>>
<<endloop>>

<<set $place = $place.sort()>>

Results:
<<set $i = 0>>
<<loop $place.length>>
    <<set $position = $place[$i].split('|')>>
    <<print ($i + 1)>> - <<print $position[1]>> (<<print $position[0]>>)
    <<set $i++>>
<<endloop>>

[[Repeat|biatlon]]

Суть в том, что мы заносим время вместе с именами спортсменов в новый массив, который затем сортируем. Поскольку элементы этого массива начинаются с времени, он сортируется в порядке возрастания времени. Программа не учитывает случай, если спортсмены показали одинаковый результат. Не знаю, бывает ли такое в биатлоне.

Неактивен

 

   #499
31.12.2014 11:52

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Morych, а можно расшифровку? Результаты будут заноситься не рандомные. Одинаковых результатов не будет, так что все норм.

Не пойму, что означает в коде параметр "i" и "$place.push".

И вот эта часть кода не ясна мне:

<<loop $place.length>>

    <<set $position = $place[$i].split('|')>>

    <<print ($i + 1)>> - <<print $position[1]>> (<<print $position[0]>>)

    <<set $i++>>

<<endloop>>

Отредактировано alfa10 (31.12.2014 12:01)

Неактивен

 

   #500
31.12.2014 15:07

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

alfa10 написал:

Morych, а можно расшифровку? Результаты будут заноситься не рандомные. Одинаковых результатов не будет, так что все норм.

Не пойму, что означает в коде параметр "i" и "$place.push".

И вот эта часть кода не ясна мне:

<<loop $place.length>>

    <<set $position = $place[$i].split('|')>>

    <<print ($i + 1)>> - <<print $position[1]>> (<<print $position[0]>>)

    <<set $i++>>

<<endloop>>

Давай попробуем разобраться. параметр $i - это просто переменная-счётчик, при помощи которой мы перебираем все индексы массива. От 0 до 2 в нашем случае, но в общем случае число элементов массива нам не известно, поэтому используем цикл и переменную $i.

При помощи $place.push мы заносим в массив новые элементы.

Теперь часть кода:

<<loop $place.length>> --- цикл, повторяющийся столько раз, сколько элементов в массиве $place.

    <<set $position = $place[$i].split('|')>> --- берём i-й элемент массива $place (это будет строка вида "5:09|Имя спортсмена") разделяем эту строку при помощи метода split по символу "|" и получаем массив из двух строк - отдельно время, отдельно имя биатлониста. Массив этот заносится в переменную $position.

    <<print ($i + 1)>> - <<print $position[1]>> (<<print $position[0]>>) --- выводим на экран номер места, затем имя спортсмена (первый элемент массива $position) и в скобках его время (нулевой элемент массива $position).

    <<set $i++>> --- увеличиваем переменную-счётчик на 1, чтобы перейти к следующему элементу массива $place при следующем повторении цикла.

<<endloop>> --- конец цикла.

Спрашивай ещё, если что! smile

Неактивен

 

   #501
31.12.2014 15:37

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Чуть-чуть въехал. А вот смотри, к примеру, имеем два спортсмена (вводим переменные $имя и $имя1). Один прошел трассу за 70 ходов, а второй за 64 хода.
<<set $имя = Вася>>
<<set $имя1 = Петя>>
<<set $счетчик_хода_имя = 0>> #персональный счетчик хода спортсмена Васи
<<set $счетчик_хода_имя1 = 0>> #персональный счетчик хода спортсмена Пети
...
:: В след. параграфе получаем финишные значения:

<<set $счетчик_хода_имя = 70>>
<<set $счетчик_хода_имя = 64>>
Теперь надо чтобы выдало результаты по местам: 1 место - получается занял второй спортсмен (Петя), 2 место - первый спортсмен (Вася).

Неактивен

 

   #502
31.12.2014 15:56

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Всё то же самое, как и со временем, только вместо времени добавляем в массив $place счётчики ходов вместе с именами:

<<set $place = []>> --- создадим новый массив

<<set $place.push($счетчик_хода_имя + "|" + $имя)>> --- добавили в массив счетчик ходов и имя первого спортсмена (значения разделены символом "|")

<<set $place.push($счетчик_хода_имя1 + "|" + $имя1)>> --- добавили в массив счетчик ходов и имя второго спортсмена

<<set $place = $place.sort()>> --- отсортировали массив

Теперь в массиве $place спортсмены расположены по возрастанию значений их ходов: нулевой элемент - первое место, первый элемент - второе место и так далее. Чтобы всё работало правильно, нужно перед занесением значений в массив $place убедиться, что число символов для параметра сортировки у всех спортсменов будет одинаково. Т.е. если число ходов может быть от 10 до 99 - все хорошо, но если число ходов может быть 100 и больше, то и все прочие счетчики ходов нужно дополнить до трёх символов: 064, 070, 125.

Неактивен

 

   #503
31.12.2014 16:43

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Делаю так:

: Начало

<<set $имя = 'Вася'>>

<<set $имя1 = 'Петя'>>

<<set $счетчик_хода_имя = 0>>

<<set $счетчик_хода_имя1 = 0>>

[[Ход игрока|Просчет]]

: Просчет

<<random $кубик = 50>>

<<set $счетчик_хода_имя = $счетчик_хода_имя + $кубик>>

[[Ход соперника|Просчет соперника]]

: Просчет соперника

<<random $кубик = 50>>

<<set $счетчик_хода_имя1 = $счетчик_хода_имя1 + $кубик>>

[[Финиш|Финиш]]

: Финиш

А как тут код прописать? smile
И еще нужно, чтобы разница, полученная между числами плюсовалась в след. параграфе к значению $счетчик_хода_имя. Например, Петя прошел гонку за   64 хода, а Вася за 70. Разница между ними равна 6. Значит в след. параграфе у Пети будет к счетчику хода прибавлено значение 6, а у Васи это значение будет равно 0.

Неактивен

 

   #504
01.01.2015 14:00

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

А соперников будет только двое?

Неактивен

 

   #505
01.01.2015 14:44

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Morych написал:

А соперников будет только двое?

нет, будет много, просто на примере двух хотелось понять код

Неактивен

 

   #506
01.01.2015 21:57

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Тогда лучше сразу составлять код из расчёта, что спортсменов много. Но прежде хотелось бы подробнее узнать логику игры: по пунктам что за чем должно происходить, включая то прибавление разницы ходов.

Неактивен

 

   #507
01.01.2015 22:29

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Morych написал:

Тогда лучше сразу составлять код из расчёта, что спортсменов много. Но прежде хотелось бы подробнее узнать логику игры: по пунктам что за чем должно происходить, включая то прибавление разницы ходов.

Если знаком с биатлоном то будет легче понять smile Если нет, то попытаюсь логику передать:
Будет, скажем 12 сборных, в каждой по 6 спортсменов. Итого - 72 спортсмена. Сперва все бегут спринт (то есть, тут все ходят по очереди, кто затратил на прохождение трассы меньше всего времени - тот победитель. Далее все бегут преследование. Тут разница (отставание от победителя спринта) ходов должна записываться в переменную длины пройденной трассы. То есть, если Петя в спринте был лучше Васи, и прошел за 64 хода трассу, а Вася за 70, то в преследовании Петя должен при старте иметь показатель <<$длина_пройденной_трассы_Петя = $длина_пройденной_трассы_Петя + 6>>. То есть, он раньше на 6 ходов, чем Вася стартанул в гонке. При чем, вместо "6" должна наверное быть некая переменная, типа <<$отставание_от_первого_места_в_спринте>>, которая на финише спринта формировала бы сразу разницу отставаний между местами автоматом. Вот как то так должно быть!

Отредактировано alfa10 (01.01.2015 22:33)

Неактивен

 

   #508
03.01.2015 21:40

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

alfa10 написал:

Будет, скажем 12 сборных, в каждой по 6 спортсменов. Итого - 72 спортсмена. Сперва все бегут спринт (то есть, тут все ходят по очереди, кто затратил на прохождение трассы меньше всего времени - тот победитель. Далее все бегут преследование. Тут разница (отставание от победителя спринта) ходов должна записываться в переменную длины пройденной трассы. То есть, если Петя в спринте был лучше Васи, и прошел за 64 хода трассу, а Вася за 70, то в преследовании Петя должен при старте иметь показатель <<$длина_пройденной_трассы_Петя = $длина_пройденной_трассы_Петя + 6>>. То есть, он раньше на 6 ходов, чем Вася стартанул в гонке. При чем, вместо "6" должна наверное быть некая переменная, типа <<$отставание_от_первого_места_в_спринте>>, которая на финише спринта формировала бы сразу разницу отставаний между местами автоматом.

Так, значит после спринта у нас есть массив ходов, которые спортсмены затратили на прохождение трассы:

<<set $ходы_спринт = [64, 70, ... 60]>> (итого в массиве 72 элемента)

Найдем число ходов лидера спринта (минимальное число ходов):

<<set $ходы_лидера = $ходы_спринт.sort()[0]>> --- сортируем массив и берем первый элемент отсортированного массива - минимальное значение

Перед началом преследования:

<<set $ходы_преследование = [0, 0, ... 0]>> --- число ходов, которые спортсмены затратят на прохождение гонки-преследования

и увеличим число ходов в зависимости от результата в спринте:

<<set $i = 0>>

<<loop $ходы_преследование.length>>
<<set $ходы_преследование[$i] = $ходы_спринт[$i] - $ходы_лидера>>
<<set $i++>>
<<endloop>>

теперь перед началом преследования у каждого спортсмена уже установлено стартовое число ходов, а у лидера спринта это число будет = 0.
Это то, что было нужно? smile

Неактивен

 

   #509
03.01.2015 22:13

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Morych написал:

alfa10 написал:

Будет, скажем 12 сборных, в каждой по 6 спортсменов. Итого - 72 спортсмена. Сперва все бегут спринт (то есть, тут все ходят по очереди, кто затратил на прохождение трассы меньше всего времени - тот победитель. Далее все бегут преследование. Тут разница (отставание от победителя спринта) ходов должна записываться в переменную длины пройденной трассы. То есть, если Петя в спринте был лучше Васи, и прошел за 64 хода трассу, а Вася за 70, то в преследовании Петя должен при старте иметь показатель <<$длина_пройденной_трассы_Петя = $длина_пройденной_трассы_Петя + 6>>. То есть, он раньше на 6 ходов, чем Вася стартанул в гонке. При чем, вместо "6" должна наверное быть некая переменная, типа <<$отставание_от_первого_места_в_спринте>>, которая на финише спринта формировала бы сразу разницу отставаний между местами автоматом.

Так, значит после спринта у нас есть массив ходов, которые спортсмены затратили на прохождение трассы:

<<set $ходы_спринт = [64, 70, ... 60]>> (итого в массиве 72 элемента)

Найдем число ходов лидера спринта (минимальное число ходов):

<<set $ходы_лидера = $ходы_спринт.sort()[0]>> --- сортируем массив и берем первый элемент отсортированного массива - минимальное значение

Перед началом преследования:

<<set $ходы_преследование = [0, 0, ... 0]>> --- число ходов, которые спортсмены затратят на прохождение гонки-преследования

и увеличим число ходов в зависимости от результата в спринте:

<<set $i = 0>>

<<loop $ходы_преследование.length>>
<<set $ходы_преследование[$i] = $ходы_спринт[$i] - $ходы_лидера>>
<<set $i++>>
<<endloop>>

теперь перед началом преследования у каждого спортсмена уже установлено стартовое число ходов, а у лидера спринта это число будет = 0.
Это то, что было нужно? smile

Блин, вообще не пойму код sadsadsad

Неактивен

 

   #510
03.01.2015 22:30

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

<<set $ходы_спринт = [64, 70, ... 60]>> (итого в массиве 72 элемента)

А как система поймет, кто за сколько ходов прошел спринт? Я так понимаю, в массиве уже конкретные результаты тут указаны?

теперь перед началом преследования у каждого спортсмена уже установлено стартовое число ходов, а у лидера спринта это число будет = 0.

Так у лидера наоборот, должен быть бонус перед другими, он же раньше второго номера уйдет на трассу на n-ходов.

Неактивен

 

   #511
03.01.2015 22:32

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Наверное набросаю спринт, потом сейв выложу, а Вы поправите что да как, ок?

Неактивен

 

   #512
03.01.2015 22:44

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Вот получил такой вот результат при таком вот коде. Места определились некорректно!


Прикрепленные файлы:
Screenshot_3.jpg, Размер: 75,677 байт, Скачано: 62

Неактивен

 

   #513
03.01.2015 22:56

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

alfa10 написал:

<<set $ходы_спринт = [64, 70, ... 60]>> (итого в массиве 72 элемента)

А как система поймет, кто за сколько ходов прошел спринт? Я так понимаю, в массиве уже конкретные результаты тут указаны?

Да, все верно, тут указаны конкретные результаты после спринта просто для примера. Перед спринтом этот массив будет содержать все нули, а во время спринта значения поменяются в зависимости от характеристик спортсменов, каких-то внешних факторов, выбора игрока или чего-то еще.

alfa10 написал:

теперь перед началом преследования у каждого спортсмена уже установлено стартовое число ходов, а у лидера спринта это число будет = 0.

Так у лидера наоборот, должен быть бонус перед другими, он же раньше второго номера уйдет на трассу на n-ходов.

Нам нужно определиться, что считать результатом. Если число затраченных ходов, как в спринте, то минимальное значение ходов будет лучшим результатом. Поэтому стартовое значение = 0 - это и есть самый лучший бонус, т.е. лидер стартует сразу, без ожидания. А тот, кто отстал от лидера в спринте на 10 ходов, и у кого значит стартовое значение ходов = 10 - тот, получается, как бы ждет 10 ходов прежде чем начать преследование.

Неактивен

 

   #514
03.01.2015 22:58

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

alfa10 написал:

Вот получил такой вот результат при таком вот коде. Места определились некорректно!

Это как раз тот случай, о котором я говорил в этом сообщении. В массив для сортировки нужно заносить не "4", а "04"!

Неактивен

 

   #515
03.01.2015 23:14

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Morych написал:

Это как раз тот случай, о котором я говорил в этом сообщении. В массив для сортировки нужно заносить не "4", а "04"!

У меня сейчас на финише такой код:

Код:

<<set $place = []>>

<<set $place.push($счетчик_хода_имя + "|" + $имя)>>

<<set $place.push($счетчик_хода_имя1 + "|" + $имя1)>>

<<set $place.push($счетчик_хода_имя2 + "|" + $имя2)>>

<<set $place.push($счетчик_хода_имя3 + "|" + $имя3)>>

<<set $place.push($счетчик_хода_имя4 + "|" + $имя4)>>

<<set $place.push($счетчик_хода_имя5 + "|" + $имя5)>>

<<set $place = $place.sort()>>

Результаты гонки:

<<set $i = 0>>

<<loop $place.length>>

    <<set $position = $place[$i].split('|')>>

    <<print ($i + 1)>> - <<print $position[1]>> (<<print $position[0]>>)

    <<set $i++>>

<<endloop>>

[[Преследование|Преследование]]

Где надо в массиве добавить 0?

Неактивен

 

   #516
04.01.2015 01:42

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Если число ходов не может быть больше 999, то вместо:

<<set $place.push($счетчик_хода_имя + "|" + $имя)>>

Делаем так:

<<if $счетчик_хода_имя lt 10>>

<<set $place.push("00" + $счетчик_хода_имя + "|" + $имя)>> --- если значение ходов от 0 до 9, добавляем "00" к счетчику ходов

<<elseif $счетчик_хода_имя lt 100>>

<<set $place.push("0" + $счетчик_хода_имя + "|" + $имя)>> --- иначе, если значение ходов от 10 до 99, добавляем "0"

<<else>>

<<set $place.push($счетчик_хода_имя + "|" + $имя)>> --- иначе, если значение ходов больше либо равно 100, ничего не добавляем

<<endif>>

Таким образом число ходов всегда будет состоять из 3 символов, и мы будем сортировать такие значения:

"064|Вася"
"008|Петя"
"256|Ваня"

Неактивен

 

   #517
04.01.2015 11:00

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

и такой цикл если-то на каждого из 72 спортсменов?

Неактивен

 

   #518
04.01.2015 12:55

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Да, тут надо использовать цикл и массивы. И не забыть про переменную $i

<<set $i = 0>>

<<loop 72>>

    <<if $счетчик_хода[$i] lt 10>>

        <<set $place.push("00" + $счетчик_хода[$i] + "|" + $имя[$i])>>

    <<elseif $счетчик_хода[$i] lt 100>>

        <<set $place.push("0" + $счетчик_хода[$i] + "|" + $имя[$i])>>

    <<else>>

        <<set $place.push($счетчик_хода[$i] + "|" + $имя[$i])>>

    <<endif>>

    <<set $i++>>

<<endloop>>

Неактивен

 

   #519
04.01.2015 13:34

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Morych, а посмотри плиз мой сейв. Как тут код можно упростить?


Прикрепленные файлы:
Биатлон_тест.sm, Размер: 4,367 байт, Скачано: 91

Неактивен

 

   #520
04.01.2015 17:22

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Еще вопрос по другому моему проекту. Нужно сделать жеребьевку команд в турнирной сетке. Сперва будет 32 команды. Отсюда вопросы:
1) как сделать жеребьевку команд в турнирной сетке (1/32 финала)? Команды не должны повторяться
2) как сделать рандомные результаты матчей между соперниками? Более сильные команды должны иметь бонус при расчете результатов перед более слабыми командами.
3) как вывести из дальнейшей жеребьевки (1/16 финала) проигравшие команды?

Неактивен

 

   #521
04.01.2015 23:30

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

alfa10 написал:

Morych, а посмотри плиз мой сейв. Как тут код можно упростить?

Посмотрел и все переписал wink


Прикрепленные файлы:
Biatlon.sm, Размер: 2,541 байт, Скачано: 102

Неактивен

 

   #522
05.01.2015 12:07

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Спасибо, буду вкуривать! smile

Неактивен

 

   #523
05.01.2015 12:41

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

а как работать с таблицами можно? Можно где-нибудь примеры посмотреть?

Неактивен

 

   #524
05.01.2015 13:08

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

alfa10 написал:

Еще вопрос по другому моему проекту. Нужно сделать жеребьевку команд в турнирной сетке. Сперва будет 32 команды. Отсюда вопросы:
1) как сделать жеребьевку команд в турнирной сетке (1/32 финала)? Команды не должны повторяться
2) как сделать рандомные результаты матчей между соперниками? Более сильные команды должны иметь бонус при расчете результатов перед более слабыми командами.
3) как вывести из дальнейшей жеребьевки (1/16 финала) проигравшие команды?

Нечто похожее - рандомная выборка неповторяющихся элементов - есть в этой части учебника. Можно там пример кода глянуть. Делается при помощи массива и его метода splice:
- загоняем все 32 команды в общий массив;
- в цикле получаем рандомный индекс массива (рандом по длине);
- методом splice вырезаем этот рандомный элемент из общего массива.
На следующем шаге цикла рандом будет выбирать уже только из оставшихся команд.

Неактивен

 

   #525
05.01.2015 14:26

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

alfa10 написал:

а как работать с таблицами можно? Можно где-нибудь примеры посмотреть?

Все есть в руководстве пользователя:

<<row 'Заголовок таблицы'>>
<<row 'Столбец 1' 'Столбец 2'>>
<<row 'Столбец 1' 'Столбец 2' noborder>>

Неактивен

 

   #526
05.01.2015 15:20

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

А если мне надо три строки и более? И с фотками внутри колонки, а? smile Программа ругается на третий столбец

Неактивен

 

   #527
05.01.2015 16:42

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

Re: Как сделать что-то или "я вот не понимаю"

alfa10 написал:

А если мне надо три строки и более? И с фотками внутри колонки, а? smile Программа ругается на третий столбец

Строк может быть сколько угодно. Столбцов - не более двух.

Неактивен

 

   #528
05.01.2015 16:52

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

а фото и ссылки можно вставить в таблицы?

Неактивен

 

   #529
05.01.2015 19:05

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

Re: Как сделать что-то или "я вот не понимаю"

Можно вставлять изображения:

Код:

<<row 'Лого' '[[File: http://sm.axmasoft.com/rsc/logo.png]]'>>

Ссылки нельзя.

Неактивен

 

   #530
05.01.2015 22:52

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Код:

<<set $place = []>>

<<set $i = 0>>

<<loop $имя.length>>

    <<if $очки[$i] lt 10>>

        <<set $place.push("00" + $очки[$i] + "|" + $i)>>

    <<elseif $очки[$i] lt 100>>

        <<set $place.push("0" + $очки[$i] + "|" + $i)>>

    <<else>>

        <<set $place.push($очки[$i] + "|" + $i)>>

    <<endif>>

    <<set $i++>>

<<endloop>>

<<set $place = $place.sort()>>

''Общий зачет Кубка мира:''

----

<<set $i = 0>>

<<loop $имя.length>>

    <<set $индекс = $place[$i].split('|')[1]>>

    <<print ($i + 1)>> место: <<print $имя[$индекс]>> (<<print $очки[$индекс]>>)

    <<set $i++>>

<<endloop>>

Этот код делает сортировку спортсменов по местам, где первое место - у кого меньшее число очков. А как сделать сортировку наоборот, чтобы первым был тот, у кого больше всего очков?

Неактивен

 

   #531
05.01.2015 23:52

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Есть кусок кода значений:

Код:

<<set $процент_лежка = ($попал_лежка*100)/$выстрел_лежка>>

<<set $процент_стойка = ($попал_стойка*100)/$выстрел_стойка>>

<<set $выстрел_лежка = 15>>

<<set $выстрел_стойка = 0>>

<<set $попал_лежка = 12>>

<<set $попал_стойка = 0>>

Есть кусок кода вывода значения на экран:

Код:

Точность стрельбы лежа: <<print $процент_лежка>> %

Получаю в итоге:
Точность стрельбы лежа: NaN %

Почему, ребят?

Неактивен

 

   #532
06.01.2015 12:18

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

531 пост - вопрос снимается, ошибку нашел.

Неактивен

 

   #533
06.01.2015 20:20

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

alfa10 написал:

А как сделать сортировку наоборот, чтобы первым был тот, у кого больше всего очков?

Вместо
<<set $place = $place.sort()>>

Нужно написать
<<set $place = $place.sort().reverse()>>

Элементы массива будут отсортированы по убыванию.

Неактивен

 

   #534
06.01.2015 21:02

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

Re: Как сделать что-то или "я вот не понимаю"

Кстати, числовые массивы правильно сортировать так: <<set $place = $place.sort(*)>> (звёздочка показывает, что сортировать значения надо как числа).

Сравните:

<<set $arr = [5,10,1,111,100,2]>>
<<print $arr.sort()>>
<<print $arr.sort(*)>>


Этот код выводит:

1,10,100,111,2,5
1,2,5,10,100,111


Но я сейчас посмотрел, это работает только в версиях 2.x, а в 3.0 не работает из-за допущенной ошибки, которую я поправлю в ближайшем обновлении.

Неактивен

 

   #535
06.01.2015 22:17

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Полезное замечание! Правда, применительно к биатлону такая сортировка не подходит, поскольку в массиве у нас не просто числа, а еще какая-то дополнительная информация, отделенная условным символом. Это может быть имя или индекс спортсмена. После сортировки нам нельзя потерять связь между числовым параметром и самим спортсменом. А поскольку сортируются строки, в числовом параметре мы добавляем нули вместо отсутствующих разрядов. Ничего лучше я не придумал. Может, есть более красивый способ?

Неактивен

 

   #536
06.01.2015 22:47

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Morych написал:

alfa10 написал:

А как сделать сортировку наоборот, чтобы первым был тот, у кого больше всего очков?

Вместо
<<set $place = $place.sort()>>

Нужно написать
<<set $place = $place.sort().reverse()>>

Элементы массива будут отсортированы по убыванию.

Спасибо большое, дружище!!!

Неактивен

 

   #537
06.01.2015 22:56

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Вот, прилагаю сейв, если интересно?! Пока реализовал на базе белорусских спортсменок главное меню, и все окна главного меню, кроме "Начать гонку".  Вот думаю, как сделать, чтобы после финиша гонки очки присуждались в зависимости от занятой позиции?! Например, 1 место - 10 очков, второе - 8, Третье - 6 и т.д. Там ведь будет массив. Поможете, ребята?

P.S. На втором слайде (где только крестик ошибки фотографии) нажмите на крестике. Просто там открытие 3 слайда при щелчке по фотке сделал.

Вообщем, архив тут: https://cloud.mail.ru/public/a6478949ef … %D1%80.rar

Отредактировано alfa10 (06.01.2015 23:04)

Неактивен

 

   #538
06.01.2015 23:00

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Сейв

Неактивен

 

   #539
07.01.2015 17:29

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

Re: Как сделать что-то или "я вот не понимаю"

А что, неплохо. Надо допилить сами гонки и получится этакий симулятор.

Неактивен

 

   #540
07.01.2015 20:00

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

DoubleDragon написал:

А что, неплохо. Надо допилить сами гонки и получится этакий симулятор.

Парни, поможите? smile Пока вот интересует момент, как сделать так, чтобы очки присуждались согласно занятым местам спортсменам?

Отредактировано alfa10 (07.01.2015 21:24)

Неактивен

 

   #541
08.01.2015 23:56

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Ребята, сейчас столкнулся с проблемой, что эстафета не получается sad

1 - непонятно, как прописать, на каком этапе будет выступать именно мой спортсмен? Ведь я то могу выбрать любого спортсмена...
2 - непонятно, как сделать так, чтобы на финише очки присуждались сборной, а не спортсмену. Надо понять, как система поймет, что финишировавший спортсмен принадлежит к конкретной сборной?

Посмотрите?
https://cloud.mail.ru/public/be22f9339b … 1%D1%82.sm

Отредактировано alfa10 (08.01.2015 23:57)

Неактивен

 

   #542
09.01.2015 22:47

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Такой еще вопрос: создал в начале игры массив <<set $имя = []>>. Также в начале игры называю своего спортсмена <<input '' $имя0>>. Как значение $имя0 вписать в массив?

Неактивен

 

   #543
10.01.2015 18:06

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Парни, сел окончательно с игрой. Совершенно не пойму с просчетом гонок. Нужно вводить по идее очень много параметров: ведь, кто-то может бежать дистанцию, а кто то в это время стрелять. Как это сделать, мне не понятно! Хочу спросить, может кто-то сможет мне помочь в реализации игры по моим консультациям? В знак благодарности, я готов буду оплатить Вашу помощь. Не крупно конечно, но пару тысяч выделить смогу.

Неактивен

 

   #544
10.01.2015 23:25

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Можно ли, имея разные переменные, например (результат1, результат2, результат3, результат4), объединить их в массив, и сделать сортировку этого массива так, чтобы результаты с наименьшим числовым значением выводились выше, чем результаты с большим числовым значением?

Например:

Результат1 - 50 ходов
Результат2 - 75 ходов
Результат3 - 28 ходов
Результат4 - 52 хода

Выводится так:

1 место - Результат3 - 28 ходов
2 место - Результат1 - 50 ходов
3 место - Результат4 - 52 хода
4 место - Результат2 - 75 ходов

Неактивен

 

   #545
12.01.2015 15:22

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

alfa10 написал:

Такой еще вопрос: создал в начале игры массив <<set $имя = []>>. Также в начале игры называю своего спортсмена <<input '' $имя0>>. Как значение $имя0 вписать в массив?

<<set $имя.push($имя0)>>

Неактивен

 

   #546
12.01.2015 15:46

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

alfa10 написал:

Можно ли, имея разные переменные, например (результат1, результат2, результат3, результат4), объединить их в массив, и сделать сортировку этого массива так, чтобы результаты с наименьшим числовым значением выводились выше, чем результаты с большим числовым значением?

Например:

Результат1 - 50 ходов
Результат2 - 75 ходов
Результат3 - 28 ходов
Результат4 - 52 хода

Выводится так:

1 место - Результат3 - 28 ходов
2 место - Результат1 - 50 ходов
3 место - Результат4 - 52 хода
4 место - Результат2 - 75 ходов

Это мы уже проходили wink

Код:

<<set $результат1 = 50>>
<<set $результат2 = 75>>
<<set $результат3 = 28>>
<<set $результат4 = 52>>

<<set $места = []>>

<<set $места.push($результат1 + "|Результат1")>>
<<set $места.push($результат2 + "|Результат2")>>
<<set $места.push($результат3 + "|Результат3")>>
<<set $места.push($результат4 + "|Результат4")>>

<<set $места = $места.sort()>>

<<set $номер = 0>>
<<loop $места.length>>
<<set $результат = $места[$номер].split("|")>>
<<set $место = $номер + 1>>
<<print $место>> место - <<print $результат[1]>> - <<print $результат[0]>> ходов
<<set $номер++>>
<<endloop>>

А чтобы в зависимости от числа выводить "ход", "хода" или "ходов", смотри эту заметку.

Неактивен

 

   #547
12.01.2015 15:53

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

alfa10 написал:

Парни, сел окончательно с игрой. Совершенно не пойму с просчетом гонок. Нужно вводить по идее очень много параметров: ведь, кто-то может бежать дистанцию, а кто то в это время стрелять. Как это сделать, мне не понятно! Хочу спросить, может кто-то сможет мне помочь в реализации игры по моим консультациям? В знак благодарности, я готов буду оплатить Вашу помощь. Не крупно конечно, но пару тысяч выделить смогу.

Попробуй спросить в Потоке. Сюда, мне кажется, увлекающиеся Асмом реже заглядывают.

Неактивен

 

   #548
12.01.2015 18:34

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Для DoubleDragon (вопрос из потока).
Смотри, есть код:

Код:

<<loop $имя.length>>

    <<if $счетчик_хода0[$i] lt 10>>

        <<set $place.push("000" + $счетчик_хода0[$i] + "|" + $i)>>

    <<elseif $счетчик_хода0[$i] lt 100>>

        <<set $place.push("00" + $счетчик_хода0[$i] + "|" + $i)>>

    <<else>>

        <<set $place.push($счетчик_хода0[$i] + "|" + $i)>>

    <<endif>>

    <<set $i++>>

<<endloop>>

Этот код соритрует и показывает мне лидера гонки:

750 - Вася
985 - Петя
1055 - Коля

А если у меня такие значения получаются в гонке:

9750 - Вася
9985 - Петя
10055 - Коля

Как мне надо будет код записать?

Неактивен

 

   #549
12.01.2015 19:58

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Пост 548 - проблему решил

Неактивен

 

   #550
12.01.2015 23:08

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Кстати, alfa10, когда появится поддержка функции sort(*), можно попробовать добавлять в массив без дополнительных нулей, но через точку, а не через вертикальную линию. Т.е. так:

<<set $place.push($счетчик_хода0[$i] + "." + $i)>>

тогда в массиве у нас окажутся дробные числа (где целая часть - количество ходов, а дробная часть - это индекс спортсмена). Такой массив уже можно будет отсортировать методом sort(*) и сортироваться будут вообще любые значения ходов, без необходимости, повторюсь, добавлять дополнительные нули.

Потом, правда, и разделять строку надо будет по символу "."

Неактивен

 

   #551
12.01.2015 23:24

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Да вроде с сортировкой разобрался. Зацените что имеем на выходе сейчас.

https://cloud.mail.ru/public/a6478949ef … %D1%80.rar

Просьба подсказать, как сделать так, чтобы спортсмены, у которых счетчик хода достигнет нуля, получали статус финишировавших, и получали места и очки, в порядке финиша.

Неактивен

 

   #552
14.01.2015 13:37

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Вот такую ошибку постоянно выдает программа. Ошибка не только у меня, но и у друзей.


Прикрепленные файлы:
Screenshot_1.png, Размер: 339,514 байт, Скачано: 61

Неактивен

 

   #553
14.01.2015 17:47

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Парни, нужна помощь! Есть массив в начале игры:

Код:

<<set $очки = [0, 0, 0, 0, 0, 0, 0, 0]>>

Теперь значит есть такой кусок кода:

Код:

<<set $i = 0>>

<<loop $имя.length>>

    <<set $индекс = $place[$i].split('|')[1]>>

    <<print ($i + 1)>> место: <<print $имя[$индекс]>> (<<print $промахов0_лежа1[$индекс]>>, <<print $промахов0_лежа2[$индекс]>>, <<print $промахов0_стоя1[$индекс]>>, <<print $промахов0_стоя2[$индекс]>>) - <<print $счетчик_хода0[$индекс]>> метров до финиша.

    <<set $i++>>

<<endloop>>

Требуется сделать, чтобы первому, у кого это значение параметра

Код:

$счетчик_хода0[$индекс]

становится равно 0 или меньше, присуждается 60 очков, следующему - 54 и так далее. При этом, если игрок финишировал, то он уже не должен отображаться в следующем ходе.

Неактивен

 

   #554
14.01.2015 17:47

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

Re: Как сделать что-то или "я вот не понимаю"

alfa10 написал:

Вот такую ошибку постоянно выдает программа. Ошибка не только у меня, но и у друзей.

Надо понять, при каких условиях она возникает.

Неактивен

 

   #555
15.01.2015 13:44

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Еще вопрос:
Вот кусок кода:

Код:

<<row 'Промежуточная отметка'>>

<<set $place = []>>

<<set $i = 0>>



<<loop $имя.length>>
<<if $счетчик_хода0[$i] lt 0>>
<<goto 'Результаты Гонки-1'>>
<<endif>>

    <<if $счетчик_хода0[$i] lt 10>>

        <<set $place.push("0000" + $счетчик_хода0[$i] + "|" + $i)>>

    <<elseif $счетчик_хода0[$i] lt 100>>

        <<set $place.push("000" + $счетчик_хода0[$i] + "|" + $i)>>

<<elseif $счетчик_хода0[$i] lt 1000>>

        <<set $place.push("00" + $счетчик_хода0[$i] + "|" + $i)>>

<<elseif $счетчик_хода0[$i] lt 10000>>

        <<set $place.push("0" + $счетчик_хода0[$i] + "|" + $i)>>

    <<else>>

        <<set $place.push($счетчик_хода0[$i] + "|" + $i)>>

    <<endif>>

    <<set $i++>>

<<endloop>>

По идее, эта часть кода

Код:

<<if $счетчик_хода0[$i] lt 0>>
<<goto 'Результаты Гонки-1'>>
<<endif>>

говорит нам о том, что если значение меньше нуля, то переходим к другому параграфу, но почему то работает это вот так (указано на скриншоте). Почему появляется кнопка "далее", которой нет в параграфе "Результаты Гонки-1", но есть в параграфе с тем куском кода. И при нажатии на эту кнопку продолжается тот параграф?!


Прикрепленные файлы:
Screenshot_1.png, Размер: 23,232 байт, Скачано: 57

Неактивен

 

   #556
15.01.2015 16:54

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Есть такой массив в начале игры: <<set $очки = [0, 0, 0, 0]>>
И есть такой: <<set $имя = [Вася, Петя, Игорь, Илья]>>
Нужно, чтобы после финиша гонки спортсмены записали на свой счет очки. За первое место 60, за второе 55, за третье 50 и за четвертое - 45.

Есть код:

Код:

<<set $i = 0>>

<<set $финишировал = 65>>

<<loop $имя.length>>

<<set $финишировал = $финишировал - 5>>

<<set $очки[$индекс] = $очки[$индекс] + $финишировал>>

    <<set $индекс = $place[$i].split('|')[1]>>

    <<print ($i + 1)>> место: <<print $имя[$индекс]>> (<<print $промахов0_лежа1[$индекс]>>, <<print $промахов0_лежа2[$индекс]>>, <<print $промахов0_стоя1[$индекс]>>, <<print $промахов0_стоя2[$индекс]>>) - <<print $финишировал>> очков за гонку.

    <<set $i++>>

<<endloop>>

На экране выводятся результаты, типа:

Игорь - 60 очков за гонку
Вася - 55 очков за гонку
Илья - 50 очков за гонку
Петя - 45 очков за гонку

После этого захожу в параграф статистики. Вот его код:

Код:

<<set $place = []>>

<<set $i = 0>>

<<loop $имя.length>>

    <<if $очки[$i] lt 10>>

        <<set $place.push("00" + $очки[$i] + "|" + $i)>>

    <<elseif $очки[$i] lt 100>>

        <<set $place.push("0" + $очки[$i] + "|" + $i)>>

    <<else>>

        <<set $place.push($очки[$i] + "|" + $i)>>

    <<endif>>

    <<set $i++>>

<<endloop>>

<<set $place = $place.sort().reverse()>>

<<row 'Общий зачет Кубка мира'>>

<<set $i = 0>>

<<loop $имя.length>>

    <<set $индекс = $place[$i].split('|')[1]>>

    <<print ($i + 1)>> место: <<print $имя[$индекс]>> (<<print $очки[$индекс]>>)

    <<set $i++>>

<<endloop>>

Все бы хорошо, но, почему то, спортсмен, занявший в гонке последнее место, в статистике получает 60 очков (т.е., за первое место в гонке).

Петя - 60 очков за гонку
Игорь - 55 очков за гонку
Вася - 50 очков за гонку
Илья - 45 очков за гонку

В чем ошибка?

Отредактировано alfa10 (15.01.2015 18:27)

Неактивен

 

   #557
15.01.2015 19:01

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Пост 556 - проблема решена

Неактивен

 

   #558
17.01.2015 11:22

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

alfa10 написал:

По идее, эта часть кода

Код:

<<if $счетчик_хода0[$i] lt 0>>
<<goto 'Результаты Гонки-1'>>
<<endif>>

говорит нам о том, что если значение меньше нуля, то переходим к другому параграфу, но почему то работает это вот так (указано на скриншоте). Почему появляется кнопка "далее", которой нет в параграфе "Результаты Гонки-1", но есть в параграфе с тем куском кода. И при нажатии на эту кнопку продолжается тот параграф?!

Макрос goto хоть и очищает экран, выводя содержимое нового параграфа, но не прерывает выполнение текущего параграфа! Поэтому использовать его нужно осторожно, убедившись, что в текущем параграфе после goto ничего выведено не будет.

В нашем случае по идее нужно сделать так:

Код:

<<set $нужен_переход = false>>

<<loop ...>>
   <<if $счетчик_хода0[$i] lt 0>>
      <<set $нужен_переход = true>>
      <<break>>  --- выходим из цикла!
   <<endif>>
   ...
<<endloop>>

<<if $нужен_переход>>
   <<goto 'Результаты Гонки-1'>>
<<else>>
   ...
   А здесь выполняется оставшаяся часть текущего параграфа!
   ...
<<endif>> --- после этой строки больше ничего не должно быть!

Неактивен

 

   #559
18.01.2015 18:00

alfa10
Участник (+1, -1)
Зарегистрирован: 29.10.2013
Сообщений: 82

Re: Как сделать что-то или "я вот не понимаю"

Спасибо, дружище!
Вопрос! Есть код:

Код:

<<set $i = 0>>

<<set $финишировал = 65>>

<<loop $имя.length>>

<<set $финишировал = $финишировал - 5>>

<<if $финишировал lt 0>>

<<set $финишировал = 0>>

<<endif>>

    <<set $индекс = $place[$i].split('|')[1]>>

<<set $очки[$индекс] = $очки[$индекс] + $финишировал>>

<<set $очки_индивидуалка[$индекс] = $очки_индивидуалка[$индекс] + $финишировал>>

    <<print ($i + 1)>> место: <<print $имя[$индекс]>> - <<print $финишировал>> очков (Общий зачет - <<print $очки[$индекс]>>; Индивидуальная гонка <<print $очки_индивидуалка[$индекс]>>)

    <<set $i++>>

<<endloop>>

Он начисляет очки так: 1 место - 60, второе - 55, третье - 50 ... и так до нуля. Как можно сделать, чтобы очки начислялись так: 1 место - 60, второе - 54, третье - 50, четвертое - 48, пятое - 46... (вообщем начисление без логики какой-то, просто реальное начисление согласно биатлонному правилу)???

Неактивен

 

   #560
10.04.2015 11:24

Сергей Соловьев
Участник
Зарегистрирован: 10.04.2015
Сообщений: 2

Re: Как сделать что-то или "я вот не понимаю"

Здравствуйте DoubleDragon.

Прохожу Ваш мануал на сайте. Решил написать свой модуль - календарь. Столкнулся с проблемой "белый экран", при этом редактор не показывает ошибок.

параграф - Создание объектов

<<set $year = 2015>>
<<set $month = 10>>
<<set $day = 1>>
<<set $week = 4>>
<<set $hour = 7>>
<<set $min = 0>>

параграф - календарь

<<if ($month eq 1) or ($month eq 3) or ($month eq 5) or ($month eq 7) or ($month eq 8) or ($month eq 10) or ($month eq 12)>>
    #31
     <<if $day gt 31>>
        <<set $day = 1>>
        <<set $month = $month + 1>>
    <<endif>>
<<endif>>
############
<<if ($month eq 2) or ($month eq 4) or ($month eq 6) or ($month eq 9) or ($month eq 11)>>
    #30
     <<if $day gt 30>>
        <<set $day = 1>>
        <<set $month = $month + 1>>
    <<endif>>
<<endif>>
############
<<if $month eq 2>>
    #28
     <<if $day gt 28>>
        <<set $day = 1>>
        <<set $month = $month + 1>>
    <<endif>>
<<endif>>
#########
<<if $month eq 0>>
    <<set $month = 1>>
<<endif>>
#########
<<if $month eq 13>>
    <<set $month = 1>>
    <<set $year = $year + >>
<<endif>>

<<if $week gt 7>>
    <<set $week = 1>>
<<endif>>

параграф - заголовок

<<display 'календарь'>>
Сейчас <<if $min gt 9>><<print $hour>>:<<print $min>> часов <<print $week>> <<print $day>> <<print $mounth>> <<print $year>> года<<endif>><<if $min lt 10>><<print $hour>>:0<<print $min>> часов <<print $week>> <<print $day>> <<print $month>> <<print $year>> года <<endif>>
@@@''~~[[+инвентарь]]~~''@@@
----
===''<<print $сцена>>''===
----

ну и первый же параграф-локация - квартира

<<set $сцена = 'Квартира'>>
<<display 'Заголовок'>>

Квартира без излишеств, то что надо студенту. 2 комнаты, кухня, совместный санузел, зал и спальня.
....
....

Это первый параграф в котором подключается заголовок, и в нем пустая страница

Отредактировано Сергей Соловьев (10.04.2015 11:49)

Неактивен

 

   #561
10.04.2015 13:47

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Здравствуйте! Я хоть и не DoubleDragon, но вижу, что здесь чего-то не хватает:

<<if $month eq 13>>
    <<set $month = 1>>
    <<set $year = $year + >>
<<endif>>

Неактивен

 

   #562
10.04.2015 14:08

Сергей Соловьев
Участник
Зарегистрирован: 10.04.2015
Сообщений: 2

Re: Как сделать что-то или "я вот не понимаю"

Спасибо огромное! Модуль заработал.
И сразу появился еще один вопрос..
Прописал 2 тестовые ссылки в заголовок
[[*Подождать 15 минут| календарь {$мин = $мин + 15}]] | [[*Подождать 1 час| календарь {$мин = $мин + 60}]]
Календарь работает, но данные в текущем времени обновляются только при переходе в другой параграф. Есть ли возможность обновлять данные без перехода между параграфами?

Отредактировано Сергей Соловьев (10.04.2015 15:22)

Неактивен

 

   #563
10.04.2015 17:54

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

Re: Как сделать что-то или "я вот не понимаю"

Сергей Соловьев написал:

Спасибо огромное! Модуль заработал.
И сразу появился еще один вопрос..
Прописал 2 тестовые ссылки в заголовок
[[*Подождать 15 минут| календарь {$мин = $мин + 15}]] | [[*Подождать 1 час| календарь {$мин = $мин + 60}]]
Календарь работает, но данные в текущем времени обновляются только при переходе в другой параграф. Есть ли возможность обновлять данные без перехода между параграфами?

Это непросто и повлечёт за собой сильное усложнение кода. Если очень хочется, копайте в сторону макроса <<repeat>>. Но текстовые игры не подразумевают обновление экрана без участия игрока.

Неактивен

 

   #564
10.04.2015 22:41

Morych
Модератор (+52, -6)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 517
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Сергей Соловьев написал:

Спасибо огромное! Модуль заработал.
И сразу появился еще один вопрос..
Прописал 2 тестовые ссылки в заголовок
[[*Подождать 15 минут| календарь {$мин = $мин + 15}]] | [[*Подождать 1 час| календарь {$мин = $мин + 60}]]
Календарь работает, но данные в текущем времени обновляются только при переходе в другой параграф. Есть ли возможность обновлять данные без перехода между параграфами?

Я думаю, тут речь идет не об обновлении в реальном времени. Если так, то макрос <<repeat>> не нужен.
Просто поменяйте в ссылке целевой параграф на параграф с текущей локацией:

[[Подождать 15 минут| квартира {$мин = $мин + 15}]] (и ссылка нужна обычная, а не многоразовая)

Параграф "календарь" судя по коду и так вызовется в заголовке.

Неактивен

 

   #565
18.04.2015 21:48

Андрей Васенев
Участник
Зарегистрирован: 18.04.2015
Сообщений: 2

Re: Как сделать что-то или "я вот не понимаю"

В версии  AXMA Story Maker 2.6 когда делаю ссылку при нажатии на изображение, параграф выделяется красным цветом. Это мешает, если таких параграфов много. как можно решить проблему? Заранее спасибо!

Отредактировано Андрей Васенев (18.04.2015 21:49)

Неактивен

 

   #566
19.04.2015 07:47

DoubleDragon
Модератор (+324, -21)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1688
Вебсайт

Разработчик "AXMA Story Maker"

Re: Как сделать что-то или "я вот не понимаю"

Андрей Васенев написал:

В версии  AXMA Story Maker 2.6 когда делаю ссылку при нажатии на изображение, параграф выделяется красным цветом. Это мешает, если таких параграфов много. как можно решить проблему? Заранее спасибо!

Это ошибка, которая уже исправлена. Её не будет в следующей версии, которая ожидается скоро.
Не заметил, что речь о версии 2.6. К сожалению, эта версия больше не будет обновляться, поэтому ничего не поделаешь...

Неактивен

 

   #567
19.04.2015 10:20

Андрей Васенев
Участник
Зарегистрирован: 18.04.2015
Сообщений: 2

Re: Как сделать что-то или "я вот не понимаю"

Жаль. Спасибо за ответ!

Неактивен

 

   #568
25.04.2015 23:55

Михаил Кочетов
Участник
Зарегистрирован: 25.04.2015
Сообщений: 3

Re: Как сделать что-то или "я вот не понимаю"

Добрый день.

Пытаюсь создать время суток, но руки кривые, как видно.
Задача сделать часы в меню заголовок, и привязать к определенным действиям времязатрату. Необходимы всего 3 переменные "час", "минута" и "день".

Пытался сделать по аналогии Календаря Сергея Соловьева, но не вышло.

Прошу помочь составить код или поделиться уже готовым и комментариями по встраиванию данного кода в повествование.

Спасибо большое.

Неактивен

 

   #569
26.04.2015 00:22

Alex842
Участник (+2)
Откуда: Москва
Зарегистрирован: 24.04.2014
Сообщений: 60

Re: Как сделать что-то или "я вот не понимаю"

Когда-то пытался сам сделать такое. Вот мои наработки (см. вложение). Реализованы минуты, часы, дни, дни недели, месяцы, года со следующими оговорками: во всех месяцах равное количество дней, високосные года и прочие мелочи не учитываются. smile
Поскольку игру забросил, то код до конца не проверен, поэтому возможны глюки.

Применение:
Начальные значения указываются в параграфе "!Start_Characteristics". Его нужно обязательно вызвать в самом начале истории. Параграф "!Time" отвечает за обработку значений. Параграф "!Time_Show" отвечает за отображение. Именно в нём можете менять оформление. Вот эта конструкция нужна для правильного отображения часов. Т.е. чтобы вместо "2:10" отображалось "02:10".

Код:

<<print $hour>>:<<If $minut <=9>>0<<print $minut>><<else>><<print $minut>><<endif>>

В каждом параграфе, в котором предполагается отображение времени, нужно вставлять строки:

Код:

<<display '!time'>>
<<display '!time_show'>>

Первая строка служит для обновления значений, а вторая для отображения.

Для внедрения в свою историю можете либо создать параграфы в программе и скопировать соответствующее содержимое, либо открыть Ваш файл .sm и мой файл в текстовом редакторе и скопировать содержимое моего файла в начало или в конец своего файла.

P.S. Сейчас погонял немного свой код и заметил такой глюк: не стоит за один раз к значению минуты прибавлять более 120 минут. Иначе возникают проблемы с отображением.
Т.е. в данной конструкции

Код:

[[Прибавить 1 час 20 минут|Test {$minut=$minut+80}]]

не стоит использовать значение более 120. В чем ошибка пока разбираться в лом.

P.P.S. Можно использовать альтернативную конструкцию:

Код:

[[Прибавить 3 часа 20 минут|Test {$hour=$hour+3, $minut=$minut+20}]]

В этом случае, вроде бы, все работает как надо.

Отредактировано Alex842 (26.04.2015 00:34)


Прикрепленные файлы:
Время_дни недели_месяцы.sm, Размер: 3,129 байт, Скачано: 65

Неактивен

 

   #570
26.04.2015 00:42

Михаил Кочетов
Участник
Зарегистрирован: 25.04.2015
Сообщений: 3

Re: Как сделать что-то или "я вот не понимаю"

Спасибо, Alex842!!!
Не ждал что так скоро будет ответ.
Поковыряюсь с кодом по мере сил и возможностей.

Неактивен

 

   #571
27.04.2015 12:55

Михаил Кочетов
Участник
Зарегистрирован: 25.04.2015
Сообщений: 3

Re: Как сделать что-то или "я вот не понимаю"

Подскажите, а как добавить иллюстрацию в окно указанное на скриншоте?

Буду весьма благодарен.

[img][/img]


Прикрепленные файлы:
Скриншот.jpg, Размер: 113,080 байт, Скачано: 70

Неактивен

 

   #572
27.04.2015 13:28

Alex842
Участник (+2)
Откуда: Москва
Зарегистрирован: 24.04.2014
Сообщений: 60

Re: Как сделать что-то или "я вот не понимаю"

Михаил Кочетов написал:

Подскажите, а как добавить иллюстрацию в окно указанное на скриншоте?

Буду весьма благодарен.

Используйте макрос <<picture '[[File: ]]'>>.
И потратьте немного времени на изучение руководства. Там все это описано. smile

Отредактировано Alex842 (27.04.2015 13:28)

Неактивен

 

   #573
22.06.2015 07:11

Алексей Пичугин
Участник
Зарегистрирован: 11.11.2014
Сообщений: 1