Как сделать?
…
Товарищчи! У меня вопрос:
Есть ли какая-нибудь команда (если нет, то как можно добиться похожего эффекта) которая одновременно означает все цифровые значения (меня кто нибудь понял?) Попытаюсь объяснить:
Мне надо сделать что-то типа закона. Размещу я его в Счетчике. В моем сознании все выглядит так:
ВСЕ_ЧИСЛОВЫЕ_ЗНАЧЕНИЯ = (КОМАНДА ОПРЕДЕЛЯЮЩАЯ ВСЕ ЧИСЛОВЫЕ ЗНАЧЕНИЯ)
if player[<<ВСЕ_ЧИСЛОВЫЕ_ЗНАЧЕНИЯ>> + ',телосложение'] = 100: $player['<<ВСЕ_ЧИСЛОВЫЕ_ЗНАЧЕНИЯ>> + ,телосложение'] = "Нормальное"
Можно конечно написать сей код для каждого игрока, однако это ужасно геморойно.
AKA,
1. Нельзя использовать для этих целей COUNTER.
2. Тебе нужно сделать цикл. У нас нет подробных уроков по использованию циклов.
Nex,
1. Почему нельзя?!
2. Вот бяка!!! :(
AKA,
1. Потому что COUNTER можно использовать только в тех случаях, когда без него нельзя обойтись - для создания специальных эффектов, зависящих от реального времени. Во всех остальных случаях его использовать нельзя.
2. Попроси кого-нибудь написать подробный урок. У меня на это времени нет. Хорошую текстовую игру вполне можно написать без циклов и массивов.
Nex:
Нельзя использовать для этих целей COUNTER
Мне это привычно, т.к. еще до регистрации у вас тут, я учился кодингу так сказать “открывая” другие игры и осознавая их содержимое. Одной из немногих незапароленных игр была “Подземелья Чёрного Замка”. И там ты как-раз таки использовал Counter для обработки предметов и прочего. ВотЪ
Добавлено:
Если я напишу в счетчике if cycle = 1: gs ‘cycle’, это тоже делать нельзя?
AKA,
оказывается, я научил тебя плохому :)
Та игра была сделана 10 лет назад, когда в QSP еще не было специального обработчика ONOBJSEL, поэтому там предметы обрабатывались в COUNTER. Хорошо, что напомнил, я уже перенес этот код в ONOBJSEL.
Также там в COUNTER обрабатывается плейлист, т.к. по-другому зацикливание музыки сделать не получится. Это как раз тот случай, когда без COUNTER обойтись нельзя. Надеюсь, Байт реализует мое предложение насчет оператора PLAY, тогда можно будет и этот код убрать из COUNTER.
Если я напишу в счетчике if cycle = 1: gs ‘cycle’, это тоже делать нельзя?
Нельзя. Ты должен писать код именно там, где его нужно применить - при посещении локации, или при выполнении действия, или в одном из обработчиков.
Народ, такая суть проблемы, в игре которую я пишу очень много разных предметов, и возникает такая проблема, захламляется инвентарь и сумка не поможет. Идея такова, как насчёт различных контейнеров? То бишь допустим существует контейнер “Материалы”, и если ты поднимаешь уголь, затем металл, то они без каких либо манипуляций игрока отправляются прямиком именно в этот контейнер, потом существует другой контейнер вещи, и допустим “Меч”, “Булова” и “Шлем” тоже автоматически положатся именно в него. Есть идеи реализации?
Навскидку в голову приходят 2 варианта реализации контейнеров
- выпадающим меню
- перегрузкой инвентаря (когда при выборе контейнера в инвентаре выводится только его содержимое)
Вот пример реализации обоих вариантов
Написан он минут за 20 и особо не тестировался, так что могут быть ошибки, ну и есть ограничение - название контейнера используется в качестве переменной, поэтому в нем не допускаются пробелы и спецсимволы
Пример можно напрямую запустить в плеере и попробовать добавление/удаление/выбор предметов и контейнеров в разных вариантах
werewolf,
нашел баг.
“Добавить меч”
“Добавить шлем”
“Удалить меч” - тут пропадает и меч, и шлем.
После этого меч и шлем больше не добавляется.
ничего, до нужной кондиции попытаюсь допилить, спасибо.
баг, кстати, не особо страшный, т.к. у меня манипуляций с вещами особо нету. (Про вещи и материалы просто к примеру привёл, я не РПГ делаю =))
Как сделать, чтобы предмет удалялся по выделенной ссылке в тексте?
Так же, как и любой другой код, через EXEC.
<a href="EXEC:DELOBJ 'Предмет'">Удалить предмет</a>
Не забудь продублировать апострофы, если выводишь HTML из кода локации.
Пример:
*P '<a href="EXEC:DELOBJ ''Предмет''">Удалить предмет</a>'
Nex:
Не забудь продублировать апострофы, если выводишь HTML из кода локации.
Можно и так делать? Вот я дундук! :mad:
Aleks Versus:
Можно и так делать? Вот я дундук!
Можно, хотя я сам не допетрил =.=“