Как сделать?
…
AJIuK11,
Если ты отсчитываешь время при переходах между локациями (путешествие по комнатам, например), я бы посоветовал тебе выставлять время перед тем, как осуществить переход. Т.е. скажем есть у тебя действие “Выйти из дома”, которое занимает 30 секунд, и при этом герой попадает на “Улицу”:
act 'Выйти из дома':
время_на_переход=30
goto 'улица'
end
На локации onnewloc выполняется такой код. Общее игровое время увеличивается, а время, потраченное на переход, обнуляется:
!onnewloc
общее_время += время_на_переход
время_на_переход = 0
Так ты сможешь выставлять время перехода только там, где это необходимо, и выставлять на переход столько времени, сколько нужно: минуты, часы, дни…
Aleks Versus,
Спасибо. Способ, правда, не много не под мой случай. Мне нужно было что бы отсчет начинался в определенный момент с идентичным интервалом и не заканчивался далее. Зато ваш вариант подкинул мне идею более простого варианта прибавления времени отличного от заданного, а то в первоначальном варианте у меня был слишком громоздкий код.
if деньги >= 500:
act ‘купить бинт’:
cla
*clr
деньги = деньги - 500
if no obj ‘бинт’:addobj ‘бинт’
бинт = бинт + 1
‘Вы купили бинт’
else бинт=бинт+1
act ‘Отойти от прилавка.’:GOTO ‘аптека’
end
end
end
end
Что то я с командами end не понял. Вроде бы все команды if и act должны оканчиваться end. Но выскакивает ошибка, по недостатку end
Ошибка в строчке: if no obj ‘бинт’:addobj ‘бинт’
если используется одно строчный if то end не нужен.
Вот так будет правильно:
if no obj ‘бинт’:
addobj ‘бинт’
….
Спасибо за ответ)
Я уже сам допилил методом священного тыка. Сделал вот так. Вроде пока работает
if деньги >= 500:
act ‘купить бинт’:
cla
*clr
деньги = деньги - 500
if no obj ‘бинт’:addobj ‘бинт’
бинт = бинт + 1
‘Вы купили бинт’
act ‘Отойти от прилавка.’:GOTO ‘аптека’
end
else бинт=бинт+1
act ‘Отойти от прилавка.’:GOTO ‘аптека’
end
Советую использовать многострочные версии операторов IF и ACT.
Для меня это проще и нагляднее.
Я еще не волшебник, я только учусь)
vais,
см. второе сообщение в этой теме.
Здравствуйте, поискал на форуме, на мой вопрос кажется ничего не нашел. Мне нужно создать магазин.
У ГГ изночально есть 100 монет.
В начале я вставляю код, для обозначения здоровья:
IF (здоровье < 5) AND (умер = 0):
умер = 1
GOTO ‘смерть’
END
CLR
PL ‘В кармане: <<деньги>> руб.’
PL ‘Осталось здоровья: <<здоровье>> .’
здоровье = здоровье - 5
IF здоровье < 50:
PL ‘Вы ранены!’
END
Теперь для того чтобы не умереть нужно в магазине купить зелье, которая в свою очередь обнулит полностью или частично показатель здоровья .
CLR
здоровье = здоровье + 50
IF здоровье :
PL ‘Вы выпили зелье!’
END
Так же у ГГ есть возможность получать деньги (за счет выполнения заданий или еще как) и за эти деньги он должен купить зелье.
ЧТо мне нужно: Нужен код покупки зелья, который стоил бы 50 монет. При условии если у ГГ не хватает денег то зелье не попадет в инвентарь и не отнимет деньги (например вот так : - 23 монеты) А если у ГГ хватает денег, то при покупке зелье попадает в инвентарь, а из кошелька героя вычитались деньги за покупку. Очень прошу помощи так как сколько не эксперементировал ничего не выходило(
Alladan,
см. второе сообщение в теме Действие по условию.
Там описано два способа, выбери себе какой больше нравится.
Полагаю, что уже спрашивали, но…
Есть ли возможность сделать так, чтобы действие появлялось только при наличии предмета в инвентаре, без объявления переменной , соответствующей этому предмету?
Или по сути инвентарь – штука скорее декоративная?
(видела где-то что-то про OBJ, но потеряла где)
((И в догонку: я хочу потестировать свою недоделку, а для этого выложить ее на форум. Однако, форум при попытке создать-тему-загрузить-файл говорит, что-то про запрещенный формат. Что я делаю не так?))
Yksare,
1. Конечно, можно.
IF OBJ 'Пистолет':
ACT 'Пристрелить гада':
...
END
END
2. Разрешённые типы файлов: gam, qsp, txt, jpg, jpeg, png, gif, mp3, pdf, zip, rar, exe, apk, 7z.
Если есть проблемы с выкладыванием - можно выложить на любом файлохостинге. Например, Яндекс-диск. И опубликовать здесь ссылку.
Nex, спасибо. Пойду почищу от лишних переменных.
Какой лучший способ обойти ограничение на целые числа? Я использую mod, но конструкция выглядит громоздко, а чем сложнее запись, тем больше вероятность ошибки..
Anakox,
приведи конкретный пример, зачем это понадобилось.