Как сделать?
…
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:
Можно и так делать? Вот я дундук!
Можно, хотя я сам не допетрил =.=“
По поводу контейнеров. То что я опишу ниже - не совсем сундучки, но на базе этого можно реализовать хранилища предметов и менюшки в окне инвентаря.
Я реализовывал в окне инвентаря 5 пунктов: Оружие, Помощь, Свет, Разное и настройки. Если я правильно помню, то делал я это всё присваиванием каждому предметы кода и таким образом каждая группа составляла простой массив с кодами. Точнее так я себе это представлял, а реализация была несколько более сложная и запутанная. У меня сохранилась одна из ранних версий моего проекта, могу поделиться если нужно.
У меня есть инвентарь, который отображается в основном окне (в него можно перейти по ссылке сверху).
В этом инвентаре табличной версткой пространство разделено на 2 столбца и n строк. В первом столбце ВЕЩИ1, во втором ВЕЩИ2, которые появляются в процессе игры. Как сделать понятный код, чтобы они появлялись и занимали ячейки в зависимости от приобретения персонажем и к тому же были кликабельными (то есть в виде ссылки с выпадающим меню “ПРИМЕНИТЬ”).
Я что-то никак не могу построить логику…