АвторСообщение



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 18.12.05 20:16. Заголовок: Инвентарь


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

Типа, чтобы
btn use, Использовать
вызывал ту же реакцию, какую вызвало бы нажатие на U?

Спасибо: 0 
Цитата Ответить
Ответов - 30 , стр: 1 2 All [только новые]


постоянный участник


Сообщение: 85
Зарегистрирован: 05.08.08
ссылка на сообщение  Отправлено: 21.03.14 11:25. Заголовок: :Use_inv_Tik cls pln..


:Use_inv_Tik 
cls
pln "Состояние здоровья - #Здоровье$"
pln "Биощит - #Биощит$"
pln "Сытость - #Сытость$"
if Деньги=0 then pln "Денег на счете нет"
if Деньги>0 then pln "У вас на счете #Деньги$ кридиток"

btn #%current_loc$, Дальше.
end


Только осторожно! current_loc изменяется только если был переход по кнопкам (т.е. goto на нее не влияет), также если локация не статическая (меняются значения переменных, текст формируется динамически) - возможны побочные эффекты. Особенно если локация задумывалась для единственного посещения.

Например:

 :моя_локация 
inv+ Предмет
pln Вы нашли предмет.
btn, дальше, Дальше.
end


Каждый раз, вызывая Tik, мы будем увеличивать количество предметов - а это, скорее всего, не то, что ожидалось. Вариантов решения несколько:
1. Если предмет существует в единственном экземпляре, пишем всегда так:

if not inv_Предмет then inv+ Предмет


2. Если мы никогда не перейдем на локацию по goto, а только по btn:

:моя_локация 
if not count_моя_локация then inv+ Предмет


3. Универсальный вариант - собственный флаг для локации:
:моя_локация 
if not моя_локация_посетил then inv+ Предмет & моя_локация_посетил=1

Или, пользуясь бритвой Оккама, если нам не нужен счетчик "count_<...>":
if not count_моя_локация then inv+ Предмет & count_моя_локация=1




Ложь для художника — это шанс открыть правду, тогда как для политика — спрятать её. (А. Мур, "V значит вендетта") Спасибо: 1 
Профиль Цитата Ответить
постоянный участник


Сообщение: 86
Зарегистрирован: 05.08.08
ссылка на сообщение  Отправлено: 21.03.14 11:27. Заголовок: UPD: Возможно, хорош..


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

Ложь для художника — это шанс открыть правду, тогда как для политика — спрятать её. (А. Мур, "V значит вендетта") Спасибо: 1 
Профиль Цитата Ответить



Сообщение: 5
Зарегистрирован: 21.03.14
ссылка на сообщение  Отправлено: 21.03.14 12:20. Заголовок: И сразу еще один воп..


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


Спасибо: 0 
Профиль Цитата Ответить



Сообщение: 6
Зарегистрирован: 21.03.14
ссылка на сообщение  Отправлено: 21.03.14 12:26. Заголовок: Не совсем так. Как б..


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

:Use_inv_предмет ( устройство в данном случае)

Это уже идет как новая локация. В ней выводится всякая информация. Но как вернуться из этой локации в ту, откуда был переход в эту, я не понимаю.

Спасибо: 0 
Профиль Цитата Ответить



Сообщение: 7
Зарегистрирован: 21.03.14
ссылка на сообщение  Отправлено: 21.03.14 12:34. Заголовок: Спасибо, Frodo,это д..


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

Спасибо: 0 
Профиль Цитата Ответить
Юрист урки, адвокат дьявола




Сообщение: 497
Зарегистрирован: 07.12.06
ссылка на сообщение  Отправлено: 21.03.14 13:02. Заголовок: GreyBear пишет: И с..


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

Спасибо: 1 
Профиль Цитата Ответить
постоянный участник




Сообщение: 201
Зарегистрирован: 20.11.12
ссылка на сообщение  Отправлено: 21.03.14 13:13. Заголовок: GreyBear пишет: :Us..


GreyBear пишет:

 цитата:
:Use_inv_предмет ( устройство в данном случае)

Это уже идет как новая локация. В ней выводится всякая информация. Но как вернуться из этой локации в ту, откуда был переход в эту, я не понимаю.


Гризли. Это не локация, а просто пункт в меню вида: Барабан=>осмотреть =>постучать
:use_Барабан_осмотреть
pln Желтый барабан
end

:use_Барабан_постучать
pln Вы ударили в натянутую кожу барабана - раздался глухой, тягучий звук...
end


А вот если ты хочешь чтобы действие с этим предметом появилось только в одной локации, то тебе надо будет посмотреть использование hide

Невозможно - это громкое слово, за которым прячутся маленькие люди!!! Спасибо: 1 
Профиль Цитата Ответить



Сообщение: 8
Зарегистрирован: 21.03.14
ссылка на сообщение  Отправлено: 21.03.14 13:23. Заголовок: Оу, я думал это лока..


Оу, я думал это локация. Спасибо, теперь буду знать)

За ответ про цвет текста тоже огромное спасибо, то что нужно)

Спасибо: 0 
Профиль Цитата Ответить
постоянный участник




Сообщение: 202
Зарегистрирован: 20.11.12
ссылка на сообщение  Отправлено: 21.03.14 13:29. Заголовок: По поводу hide таки ..


По поводу 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

Невозможно - это громкое слово, за которым прячутся маленькие люди!!! Спасибо: 1 
Профиль Цитата Ответить



Сообщение: 9
Зарегистрирован: 21.03.14
ссылка на сообщение  Отправлено: 21.03.14 13:35. Заголовок: Хорошо, я прочитаю о..


Хорошо, я прочитаю об этом) Спасибо)

Да, действительно полезная штука.

Спасибо: 0 
Профиль Цитата Ответить
Ответов - 30 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 14
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет