Форум » » Инвентарь » Ответить

Инвентарь

Хломидоманад: Можно один глупый вопрос? Есть ли способ в URQ_DOS отключить вылезание инвентаря и списка использования на клавиши I и U и назначить переход на эти процедуры вручную программируемым кнопкам? Типа, чтобы btn use, Использовать вызывал ту же реакцию, какую вызвало бы нажатие на U?

Ответов - 30, стр: 1 2 All

frodo: [pre2]:Use_inv_Tik cls pln "Состояние здоровья - #Здоровье$" pln "Биощит - #Биощит$" pln "Сытость - #Сытость$" if Деньги=0 then pln "Денег на счете нет" if Деньги>0 then pln "У вас на счете #Деньги$ кридиток" btn #%current_loc$, Дальше. end [/pre2] Только осторожно! current_loc изменяется только если был переход по кнопкам (т.е. goto на нее не влияет), также если локация не статическая (меняются значения переменных, текст формируется динамически) - возможны побочные эффекты. Особенно если локация задумывалась для единственного посещения. Например: [pre2] :моя_локация inv+ Предмет pln Вы нашли предмет. btn, дальше, Дальше. end[/pre2] Каждый раз, вызывая Tik, мы будем увеличивать количество предметов - а это, скорее всего, не то, что ожидалось. Вариантов решения несколько: 1. Если предмет существует в единственном экземпляре, пишем всегда так: [pre2]if not inv_Предмет then inv+ Предмет[/pre2] 2. Если мы никогда не перейдем на локацию по goto, а только по btn: [pre2]:моя_локация if not count_моя_локация then inv+ Предмет[/pre2] 3. Универсальный вариант - собственный флаг для локации: [pre2]:моя_локация if not моя_локация_посетил then inv+ Предмет & моя_локация_посетил=1[/pre2] Или, пользуясь бритвой Оккама, если нам не нужен счетчик "count_<...>": [pre2]if not count_моя_локация then inv+ Предмет & count_моя_локация=1[/pre2]

frodo: UPD: Возможно, хорошим решением будет всего лишь заменить cls на clst. Тогда текст локации сотрется, но кнопки останутся на месте.

GreyBear: И сразу еще один вопрос. Допустим есть текст - "Он находится в левом углу комнаты" Так сделать часть текста "в левом углу", допустим, желтого цвета, а начало и конец текста другого? Что бы ,таким образом, выделить для игрока важную информацию.


GreyBear: Не совсем так. Как бы это объяснить. Если я в локации прописываю inv+ устройство, оно добавляется в инвентарь. Теперь нужно сделать так, что бы в любой другой локации можно было его использовать прямо из инвентаря. Как я понял, при этом нужно писать что то типа: :Use_inv_предмет ( устройство в данном случае) Это уже идет как новая локация. В ней выводится всякая информация. Но как вернуться из этой локации в ту, откуда был переход в эту, я не понимаю.

GreyBear: Спасибо, Frodo,это действительно помогло)

Серый Волк: GreyBear пишет: И сразу еще один вопрос. Допустим есть текст - "Он находится в левом углу комнаты" Так сделать часть текста "в левом углу", допустим, желтого цвета, а начало и конец текста другого? Что бы ,таким образом, выделить для игрока важную информацию. Я бы сделал так: :локация p Он находится Style_DOS_TextColor=14 p в левом углу Style_DOS_TextColor=7 p комнаты end То есть, для вывода текста используем не "pln", а "p". А перед каждым участком текста, где нужно сменить цвет, прописываем нужный оператор. Значение 14 - жёлтый, значение 7 - цвет по умолчанию. Если мы используем какие-то другие цвета, то принцип будет тот же: прописывать оператор нужного цвета перед тем текстом, который окрашиваем. Например, если основной цвет у нас зелёный (значение 10): :локация Style_DOS_TextColor=10 p Он находится Style_DOS_TextColor=14 p в левом углу Style_DOS_TextColor=10 p комнаты end

Saint: GreyBear пишет: :Use_inv_предмет ( устройство в данном случае) Это уже идет как новая локация. В ней выводится всякая информация. Но как вернуться из этой локации в ту, откуда был переход в эту, я не понимаю. Гризли. Это не локация, а просто пункт в меню вида: Барабан=>осмотреть =>постучать :use_Барабан_осмотреть pln Желтый барабан end :use_Барабан_постучать pln Вы ударили в натянутую кожу барабана - раздался глухой, тягучий звук... end А вот если ты хочешь чтобы действие с этим предметом появилось только в одной локации, то тебе надо будет посмотреть использование hide

GreyBear: Оу, я думал это локация. Спасибо, теперь буду знать) За ответ про цвет текста тоже огромное спасибо, то что нужно)

Saint: По поводу hide таки задумайся - судя по тому что ты выдаешь в задачах - он тебе пригодится. http://ifwiki.ru/FireURQ:%D0%9E%D1%81%D0%BE%D0%B1%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D1%80%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_URQL#.D0.98.D0.BD.D0.B2.D0.B5.D0.BD.D1.82.D0.B0.D1.80.D1.8C - пункт меню "Инвентарь" http://urq.plut.info/node/913 игра с реализованной функцией hide

GreyBear: Хорошо, я прочитаю об этом) Спасибо) Да, действительно полезная штука.



полная версия страницы