Привет друзья. Знаком с AXMA несколько дней, пытаюсь склепать свою первую историю и вот незадача,
я не совсем понимаю, как работают обновления. Почему-то нажимая на кнопку Ждать первый раз время не перемещается на 1 час
вперёд как запланировано, а действие Искать не отнимает час, но работает как обновление, если после этого нажать
на неё. Какое-то странное опоздание, как сделать так, чтобы при нажатии Ждать, час сразу же обновлялся?
:: StoryTitle
Прилючения барда.
:: Смена погоды
:: Start
# переменные окружения
<<set $time = 12>>
<<set $плюсЧас = 0>>
<<set $day = 1>>
<<set $weather = 'чистое небо'>>
<<set $location = 'Таверна'>>
<<set $action= 0>>
<<set $streetTemp = -1>>
<<br>><<br>>
===[[Игра|Игра]]===
:: Таверна
Таверна была просторна и уютна.
За окном <<print $weather>>.
:: Действия
<<if $action eq 1>>
<<set $плюсЧас = 1>>
Прошёл один час.
<<elseif $action eq 2>>
<<set $плюсЧас = 0>>
Вы ничего не нашли.
<<elseif $action eq 3>>
<<set $плюсЧас = 1>>
Игра на лютне удалась.
<<endif>>
<<if $action neq 0>>
<<display 'Смена времени'>>
----
<<set $action = 0>>
<<endif>>
:: Смена времени
<<loop $плюсЧас>>
<<set $time++>>
<<if $time >= 23>>
<<set $time = 0>>
<<set $day++>>
<<display 'Смена погоды'>>
<<endif>>
<<endloop>>
<<set $плюсЧас = 0>>
:: Игра
<<clrscr>>
<<display 'Герой'>>
<<display 'Действия'>>
<<display '$location'>>
:: Герой
===[[Ждать|Игра {$action = 1}]] | [[Искать|Игра {$action = 2}]] | [[Играть на лютне|Игра {$action = 3}]]===
===Время: <<print $time>> | День: <<print $day>>===
----Отредактировано Sasha Makovsky (24.08.2014 02:42)
Неактивен
Как у меня работает игра?!
Ядро параграф - Игра
отсюда запускаются другие параграфы
<<clrscr>> <<display 'Герой'>> <<display 'Действия'>> <<display '$location'>>
в параграфе Герой кнопки находятся и статусы, также там и находится показатель времени, который не переключается правильно
в параграфе Действия происходят обновления после нажатия на кнопки действия в параграфе Герой
дальше от Действия есть переход при изменениях в параграф Смена времени, тут и должно поменяться время,
но оно работает с опозданием
Неактивен
Aruny Спасибо большое!
вот что у меня потихой получается уже, это мой первый опыт:
:: StorySubtitle
Эта история о юном парне, лет шестнадцати, который приехал учиться в академию чароплётов, в холодный край Теплоземья, но его не взяли, т.к. способности не позволяют, с горя он пропил все деньги на обратную дорогу домой, и теперь едва выживает, ибо он слишком юн, совсем не умеет драться, и не знает с какой стороны держаться за меч.
Единственное чему он научился - игре на лютне, поэтому пока временно застрял в местной таверне, музицируя и развлекая гостей, чтобы заработать небольшое состояние и на эти деньги вернуться домой к родителям
:: Смена времени
<<loop $плюсЧас>>
<<display 'Состояние героя'>>
<<set $time++>>
<<if $time == 12>>
<<display 'Смена погоды'>>
<<endif>>
<<if $time > 23>>
<<set $time = 0>>
<<set $day++>>
<<display 'Смена погоды'>>
<<endif>>
#<<break>>
#<<continue>>
<<endloop>>
<<set $плюсЧас = 0>>
:: StoryTitle
Похождения юного барда.
:: Герой
<<if $health eq 10>>
<<set $здоровье = 'лучшее'>>
<<elseif $health >= 8>>
<<set $здоровье = 'хорошее'>>
<<elseif $health >= 6>>
<<set $здоровье = 'неплохое'>>
<<elseif $health eq 5>>
<<set $здоровье = 'среднее'>>
<<elseif $health eq 4>>
<<set $здоровье = 'ранен'>>
<<elseif $health eq 3>>
<<set $здоровье = 'тяжело'>>
<<elseif $health eq 2>>
<<set $здоровье = 'очень тяжело'>>
<<elseif $health eq 1>>
<<set $здоровье = 'едва живой'>>
<<else>>
<<set $здоровье = 'мёртв'>>
<<endif>>
<<if $food >= 10>>
<<set $еда = 'наелся'>>
<<elseif $food >= 6>>
<<set $еда = 'сытый'>>
<<elseif $food >= 4>>
<<set $еда = 'лёгкий голод'>>
<<elseif $food >= 2>>
<<set $еда = 'голод'>>
<<elseif $food < 2>>
<<set $еда = 'тяжкий голод'>>
<<endif>>
<<if $sleep <= 0>>
<<set $сон= 'свежее'>>
<<elseif $sleep <= 2>>
<<set $сон= 'бодрое'>>
<<elseif $sleep <= 5>>
<<set $сон= 'хорошее'>>
<<elseif $sleep <= 7>>
<<set $сон= 'неплохое'>>
<<elseif $sleep <= 10>>
<<set $сон= 'вполне'>>
<<elseif $sleep <= 14>>
<<set $сон= 'уставшее'>>
<<elseif $sleep <= 18>>
<<set $сон= 'сонное'>>
<<elseif $sleep <= 22>>
<<set $сон= 'очень сонное'>>
<<elseif $sleep <= 30>>
<<set $сон= 'падает с ног'>>
<<endif>>
<<if $cold <= -20>>
<<set $холод= 'окоченел'>>
<<elseif $cold <= -15>>
<<set $холод= 'оледенел'>>
<<elseif $cold <= -10>>
<<set $холод= 'замерз'>>
<<elseif $cold <= -5>>
<<set $холод= 'холодно'>>
<<elseif $cold <= 0>>
<<set $холод= 'прохладно'>>
<<elseif $cold > 0>>
<<set $холод= 'тепло'>>
<<endif>>
<<if $time == 0>>
<<set $время = 'полночь'>>
<<elseif $time <= 5>>
<<set $время = 'ночь'>>
<<elseif $time <= 6>>
<<set $время = 'раннее утро'>>
<<elseif $time <= 11>>
<<set $время = 'утро'>>
<<elseif $time <= 12>>
<<set $время = 'полдень'>>
<<elseif $time <= 16>>
<<set $время = 'день'>>
<<elseif $time <= 20>>
<<set $время = 'вечер'>>
<<elseif $time <= 24>>
<<set $время = 'поздний вечер'>>
<<endif>>
===[[Ждать|Действия{$action = 1}]] | [[Искать|Действия{$action = 2}]] | [[Играть на лютне|Действия{$action = 3}]]===
===Золото: <<print $gold>> | Время: <<print $время >>===
===Здоровье: <<print $здоровье>> | Голод: <<print $еда>> | Состояние: <<print $сон>> | Тело: <<print $холод>>===
----
:: Смена погоды
<<random $объект = 9>>
<<if $объект == 9>>
<<set $weather = 'ледяной ураган'>>
<<set $streetTemp = -5>>
<<elseif $объект == 8>>
<<set $weather = 'непроглядная метель'>>
<<set $streetTemp = -4>>
<<elseif $объект == 7>>
<<set $weather = 'сильный снегопад'>>
<<set $streetTemp = -3>>
<<elseif $объект == 6>>
<<set $weather = 'завывает сильный ветер'>>
<<set $streetTemp = -3>>
<<elseif $объект == 5>>
<<set $weather = 'дует ветер'>>
<<set $streetTemp = -2>>
<<elseif $объект == 4>>
<<set $weather = 'лёгкий ветерок'>>
<<set $streetTemp = -1>>
<<elseif $объект == 3>>
<<set $weather = 'чистое небо'>>
<<set $streetTemp = -1>>
<<elseif $объект == 2>>
<<set $weather = 'пасмурно'>>
<<set $streetTemp = -1>>
<<elseif $объект == 1>>
<<set $weather = 'мягкий снежок'>>
<<set $streetTemp = -1>>
<<else>>
<<set $weather = 'спокойно'>>
<<set $streetTemp = -1>>
<<endif>>
:: Игра
<<display 'Герой'>>
===<<print $location>>===
----
:: Действия
<<if $action eq 1>>
<<set $плюсЧас = 1>>
===[[Прошёл один час.|$location]]===
<<elseif $action eq 2>>
<<set $плюсЧас = 1>>
===[[Вы ничего не нашли.|$location]]===
<<elseif $action eq 3>>
<<set $плюсЧас = 2>>
<<random $объект = 100>>
<<if $объект >= 50>>
===[[Вы сыграли хорошо.|$location]]===
<<else>>
===[[Вы плохо сыграли на лютне.|$location]]===
<<endif>>
<<endif>>
<<set $action = 0>>
<<display 'Смена времени'>>
:: Еда в таверне
Вы хорошо поели, голод отступил!
<<set $gold = $gold - $price>>
<<set $health = 10>>
<<set $food = 10>>
<<set $плюсЧас = 1>>
<<display 'Смена времени'>>
===[[Закончить трапезу|Таверна]]===
:: Пить в таверне
Вы нажрались в хлам!
<<set $gold = $gold - $price>>
<<set $плюсЧас = 1>>
<<display 'Смена времени'>>
===[[Закончить попойку|Таверна]]===
:: Состояние героя
# температура в комнате или на улице
<<if $Temp == 'n/a'>>
<<set $объект = $streetTemp>>
<<else>>
<<set $объект = $Temp>>
<<endif>>
<<random $объект2 = 1>>
<<set $cold = $cold + $объект + $объект2>>
<<if $cold > 20>>
<<set $cold = 20>>
<<elseif $cold < -20>>
<<set $cold = -20>>
<<endif>>
# голод
<<set $food = $food - 1>>
<<if $food > 75>>
<<set $food = 75>>
<<elseif $food < -5>>
<<set $food = -5>>
<<endif>>
# усталость
<<set $sleep = $sleep + 1>>
# уменьшения здоровья
<<if $cold <= -20>>
<<set $health = $health - 1>>
Жуткий мороз, нужно найти тепло срочно!
<<endif>>
<<if $food < 0 >>
<<if $sleep > 25>>
<<if $health > 5 >>
Вы невероятно сильно устали и очень голодны.
<<set $health = $health - 1>>
<<endif>>
<<endif>>
<<endif>>
:: Start
# Статусы героя
<<set $gold = 100>>
<<set $health = 10>>
<<set $food = 10>>
<<set $sleep = 0>>
<<set $cold = 0>>
<<set $fame = 0>>
<<set $magic = 0>>
# переменные окружения
<<set $time = 12>>
<<set $плюсЧас = 0>>
<<set $day = 1>>
<<set $Temp = 0>>
<<set $weather = 'чистое небо'>>
<<set $location = 'Таверна'>>
<<set $streetTemp = -1>>
# Важные переменные игры
<<set $buy = 0>>
<<set $action = 0>>
<<set $update = 0>>
<<set $mainQuest = 0>>
<<br>><<br>>
===[[Игра|Таверна]]===
:: Сон в таверне
Вы хорошо выспались! Прошло 7 часов.
<<set $gold = $gold - $price>>
<<set $health = 10>>
<<set $sleep = 0>>
<<set $плюсЧас = 7>>
<<display 'Смена времени'>>
===[[Вернуться в таверну|Таверна]]===
:: Услуги
<<if $buy == 1>>
<<set $цена = 10>>
<<if $gold >= $цена>>
===[[Вы можете поспать за 10 золотых монет.|Сон в таверне {$price = $цена}]]===
<<else>>
===У вас нет 10 золотых монет для того, чтобы поспать в комнате!===
<<endif>>
<<elseif $buy == 2>>
<<set $цена = 5>>
<<if $gold >= $цена>>
===[[Купить еды за 5 золотых монет.|Еда в таверне {$price = $цена}]]===
<<else>>
===У вас нет 5 золотых монет для того, чтобы купить еды!===
<<endif>>
<<elseif $buy == 3>>
<<set $цена = 15>>
<<if $gold >= $цена>>
===[[Купить крепкой выпивки за 15 золотых монет.|Пить в таверне {$price = $цена}]]===
<<else>>
===У вас нет 15 золотых монет для того, чтобы напиться!===
<<endif>>
<<endif>>
:: Таверна
<<set $location = 'Таверна'>>
<<set $Temp = 10>>
<<display 'Игра'>>
Таверна была просторна и уютна. Даже в самую лютую погоду здесь можно было укрыться от вьюги и холода, и погреться у камина. За стойкой стоял [[трактирщик|трактирщик]] и протирал гигантские пивные кружки.
Дверь [[на улицу|Улица]] была сделана из крепкого резного дерева.
За окном <<print $weather>>.
:: Улица
<<set $location = 'Улица'>>
<<set $Temp = 'n/a'>>
<<display 'Игра'>>
На небольшой деревенской улочке расположилась [[таверна|Таверна]], чуть дальше стояли крепкие дома местных жителей. А над ними величественно возвышалась башня академии чароплётов.
Сейчас <<print $weather>>
:: Трактирщик
===Трактирщик===
----
- Чего желаете, господин? [[Поспать|Трактирщик {$buy = 1}]], [[поесть|Трактирщик {$buy = 2}]], али может вы ценитель [[крепкой выпивки|Трактирщик {$buy = 3}]]? - обратился к вам трактирщик.
<<display 'Услуги'>>
<<set $buy = 0>>
[[Уйти...|Таверна]]Неактивен
Morych написал:
Очень хорошо для первого опыта
Много параметров, смена дня и ночи, погода. Теперь нужно добавить больше возможностей. Предлагаю, к примеру, сделать несколько таверн и ввести в таверны публику. В зависимости от того, какие люди набились в таверну, гг нужно будет исполнять разные песни. Угадал с песней - получил одобрение публики и денег заработал или еду-выпивку. Не угадал - поколотили и вышвырнули на улицу. Результат игры на лютне не должен целиком зависеть от рандома. Чем чаще бард играет песню из своего репертуара, тем лучше она у него получается. Сытый бард играет гораздо лучше голодного и замёрзшего. Разные песни могут требовать разный уровень алкогольного опьянения... можно много чего ещё придумать
И ещё в названии истории точка не ставится.
Вот это шикарная идея! Спасибо большое, Morych! Я конечно, в первый раз столько всего не осилю! Но идея с песнями шикарная,
попробую, как смогу реализовать!)
Отредактировано Sasha Makovsky (25.08.2014 16:51)
Неактивен