FireURQ Bugtracker - FireURQ
Просмотр подробностей проблемы
0000028FireURQинтерпретаторобщая2009-07-17 01:152009-07-17 01:45
noname 
fireton 
обычныймалаявсегда
закрытрешению не подлежит 
 
 
0000028: логика инвентаря
какая-то мутная логика работы инвентаря:

хочу, что бы игрок мог себя осмотреть, при чём так, что бы после текста описания ГГ выдалось бы описание текущей игровой ситуации // т е после любого действия ч/з инвентарь хотелось бы видеть описание ситуации, т к оно могло измениться

вот (неудачный)текст программы:
---------------

:начало
  invkill
  perkill
  inv+ Локхи
  goto пустой
end

:пустой
  pln
  pln ты один сидишь за столиком, на котором нет ничего,
  pln кроме неяркого китайского фонарика и серебрянной подставки с салфетками
  pln
  btn пустой_осмотреться, осмотреться
  btn пустой_фонарик, осмотреть фонарик
  btn пустой_салфетка, взять салфетку
  btn пустой_заказать, заказать что-нибудь
  btn пустой_встать, встать
end

:пустой_осмотреться
  pln
  pln просторное кафе "за гранью" никогда не бывает ни многолюдным ни пустым.
  pln в нём царит уютный полумрак, а живой концерт негромко играет приятную музыку
  pln
  btn пустой, осмотреть свой столик
  btn пустой_посетители, осмотреть посетителей
  btn пустой_выругаться, громко выругаться
  btn пустой_заказать, заказать что-нибудь
  btn пустой_встать, встать
end

:Use_Локхи
  pln
  pln ты- Локхи, студент первого курса одного из столичных ВУЗов. на тебе шикарный чёрный костюм.
  pln его тебе дали в одной лаборатории, в которой над тобой провели необычный эксперимент.
  pln эксперимент не удался- просто ничего не произошло, но обещанные деньги всё равно заплатили.
  pln
  pln сегодня можно ни в чём себе не отказывать
  pln
end

---------------
если в ":Use_Локхи" дописать вконце "goto пустой", то получится ерунда: вылезет 10-ть кнопок
я понимаю, что логика работы инвентаря может быть своя, НО как так получается, что он текст локации НЕ выводит, а кнопки-таки ВЫВОДИТ?

таким хитрым поведением он просто ставит меня в тупик: получается, что вместо небольшого кол-ва простых операторов придётся пользоваться бОльшим кол-вом из-за особой хитроумности инвентаря
Нет прикрепленных меток.
история изменений
2009-07-17 01:15nonameНовый инцидент
2009-07-17 01:15nonameОтветственный => fireton
2009-07-17 01:45firetonКомментарий добавлен: 0000031
2009-07-17 01:45firetonСостояниеновый => закрыт
2009-07-17 01:45firetonРешениеоткрыт => решению не подлежит

Комментарии
(0000031)
fireton   
2009-07-17 01:45   
Читаем внимательно ридми:

"Переход по действиям в инвентаре не перезапускает локацию заново при возврате. Если действие было вызвано во время end — то происходит безусловный переход (goto) на локацию-действие. Если же вы решили использовать инвентарь во время pause, то локация-действие вызывается как proc с возвратом на оператор, следующий за pause. Долго думал над этим поведением и решил, что так будет правильнее всего."

Перезапуск локации после обработки действия инвентаря считаю неверным (там могут выполняться различные действия). А список кнопок, да, не очищается. Чтобы ты мог после действия над предметом сделать-таки что-нибудь на локации. Если с локации-действия хочешь перейти еще куда-то, используй пару команд clsb + goto. Грохнешь кнопки и уйдешь куда надо.