RU 📌 Pinned

Как сделать?

Dark[Ol(U23)leneri] #34 18.04.2010 22:57 6408 comments 2436314 views

Nex,
1. Почему нельзя?!
2. Вот бяка!!! :(

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

Nex:

Нельзя использовать для этих целей COUNTER

Мне это привычно, т.к. еще до регистрации у вас тут, я учился кодингу так сказать “открывая” другие игры и осознавая их содержимое. Одной из немногих незапароленных игр была “Подземелья Чёрного Замка”. И там ты как-раз таки использовал Counter для обработки предметов и прочего. ВотЪ
Добавлено:
Если я напишу в счетчике if cycle = 1: gs ‘cycle’, это тоже делать нельзя?

Edited at 11.11.2012 12:55 (13 years ago)

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>'
Aleks Versus Moderator 20.11.2012 15:50 (13 years ago)

Nex:

Не забудь продублировать апострофы, если выводишь HTML из кода локации.

Можно и так делать? Вот я дундук! :mad:

Aleks Versus:

Можно и так делать? Вот я дундук!

Можно, хотя я сам не допетрил =.=“

По поводу контейнеров. То что я опишу ниже - не совсем сундучки, но на базе этого можно реализовать хранилища предметов и менюшки в окне инвентаря.
Я реализовывал в окне инвентаря 5 пунктов: Оружие, Помощь, Свет, Разное и настройки. Если я правильно помню, то делал я это всё присваиванием каждому предметы кода и таким образом каждая группа составляла простой массив с кодами. Точнее так я себе это представлял, а реализация была несколько более сложная и запутанная. У меня сохранилась одна из ранних версий моего проекта, могу поделиться если нужно.

У меня есть инвентарь, который отображается в основном окне (в него можно перейти по ссылке сверху).
В этом инвентаре табличной версткой пространство разделено на 2 столбца и n строк. В первом столбце ВЕЩИ1, во втором ВЕЩИ2, которые появляются в процессе игры. Как сделать понятный код, чтобы они появлялись и занимали ячейки в зависимости от приобретения персонажем и к тому же были кликабельными (то есть в виде ссылки с выпадающим меню “ПРИМЕНИТЬ”).
Я что-то никак не могу построить логику…

Log in or Register to post comments.