Как сделать?
…
Dark(Ol(U23)leneri):
If input(’ответ’)=‘ответ’ or input(’ответ’)=‘ответ2’:
А вообще лучше сперва переменную через импут обозначить, а потом ее сравнивать.
Так пытался, но плеер жаловался на “превышение числа аргументов.” Хотя может в сопутствующем коде накосячил :rolleyes:
evp:
If INSTR(TRIM(LCASE(input(Ответить))), 'ответ'): gt 'win' endБудут верными ответы: ответ, ОтВеТТТ, ОТВЕТ123456, abcd ОтвеТ, о т в е т и т.д.
Нет ты не понял. Дядя степа спрашивает у игрока - игрок назови любой цвет светофора. Игрок вводит красный, либо желтый, либо зеленый. И все они дают один вариант в конце true. Я вроде ставил метки ‘ответ’ ‘ответ2’ или нет? :rolleyes:
Вы “ставили” не “метки”, а вполне конкретные строки ‘Ответ’ и ‘Ответ2’. Отличие между ними в одном знаке. Вот я и подумал, что вам нужно принять ответ, даже если игрок опечатался.
Но если вы внимательно следили за логикой кода, то для вас должно быть тривиально:
$answer = TRIM(LCASE(input('Ответить')))
if INSTR($answer, 'красный') OR INSTR($answer, 'желтый') OR INSTR($answer, 'зеленый'): gt 'win'
PS Опять вы допускаете неаккуратность:
If input(Ответить) = 'Ответ':
gt 'win'
end
Найдите ошибку у себя.
На будущее: не оперируйте вводом. Назначайте переменную и оперируйте ей. Меньше ошибок будет.
Еще раз привет! Знаю, что вопрос глупый и ответ очевидный, но почему-то я до сих пор все никак не соображу самостоятельно. Может, кто помнит, в своем текущем проекте я вывожу лог боя в дополнительном окне описания, а мне советовали выводить его в основном. Сейчас я подумал, что может и стоит попробовать, но вдруг обнаружил, что не знаю как. Изучение аналогичных игр не помогло. + еще один нюанс. как при это сделать так, чтобы добавленные таким образом тексты периодически чистились, аналогично как доп.окно очищается с помощью clr?
mkir:
Еще раз привет! Знаю, что вопрос глупый и ответ очевидный, но почему-то я до сих пор все никак не соображу самостоятельно. Может, кто помнит, в своем текущем проекте я вывожу лог боя в дополнительном окне описания, а мне советовали выводить его в основном. Сейчас я подумал, что может и стоит попробовать, но вдруг обнаружил, что не знаю как. Изучение аналогичных игр не помогло. + еще один нюанс. как при это сделать так, чтобы добавленные таким образом тексты периодически чистились, аналогично как доп.окно очищается с помощью clr?
Убого смотрится лог боя в основном окне загрузи свою игру через квестнавигатор, что бы посмотреть, как это будет выглядеть. Основное окно то же чиститься
*CLR.
.Но вообще будет интересно услышать от тех кто поумней, как это реализуется.
вот, например, в “Подземелье”, я подсмотрел - там все очень просто -
act ‘Удар’:
‘Вы нанесли удар’
end
Фраза “вы нанесли удар” тут же появляется в основном окне. Я делаю таким же образом - и ничего не появляется нигде.
mkir:
вот, например, в “Подземелье”, я подсмотрел - там все очень просто -
act ‘Удар’:
‘Вы нанесли удар’
endФраза “вы нанесли удар” тут же появляется в основном окне. Я делаю таким же образом - и ничего не появляется нигде.
Этот код должен быть записан именно в ‘Выполнить при посещении’
bkz,
У меня именно там и записан. А в подземелье, кстати, где все работает в ‘Base Actions’
mkir:
bkz,
У меня именно там и записан. А в подземелье, кстати, где все работает в ‘Base Actions’
А на какой локации не работает?
evp:
If input(Ответить) = ‘Ответ’:
gt ‘win’
end
If input(’Ответить’) = ‘ответ’:
Если ты имеешь в виду “Нутбайский наемник”, то в данный момент я пыжусь в локации “Сеча”. Конкретно со строкой pl’<<tur>>)============================‘ - можешь найти через поиск, а протестить быстро через первую драку с моряком, недалеко от старта игрока, в гавани. Если убрать pl, то этой строки просто нет. Любые другие махинации тоже ни к чему не привели)
Опечатался - приводя в пример другую игру, я хотел сказать “Континент”, а не “Подземелье”, если что
Все я разобрался. Ничего не получалось, потому что там везде стоял gt $curloc. Однако появляется новая проблема, благодаря curloc’у я постоянно обновлял показатели hp и st, теперь они не меняются! А команад *clr между тем очищает все основное поле, а не только свежедобавленные строчки, как хотелось бы.
mkir сделай новые локации в которых у тебя будут вычисления для hp и st (просто перенеси часть кода на них), и делай “gs” на эти локации каждый раз после очищения экрана
помогите плз найти ошибку.
Spoiler
IF $musor = 1 and проволка < 3:
‘в куче мусора вы находите проволку.’
act ‘взять проволку’:
проволка = проволка +1
ADDOBJ ‘проволка’
‘вы взяли проволку’
else
проволка < 3:
‘вам больше ненадо’
gt ‘musorka’
end
end
Ну взял я проволку. Дальше что?
mkir:
Еще раз привет! Знаю, что вопрос глупый и ответ очевидный, но почему-то я до сих пор все никак не соображу самостоятельно. Может, кто помнит, в своем текущем проекте я вывожу лог боя в дополнительном окне описания, а мне советовали выводить его в основном. Сейчас я подумал, что может и стоит попробовать, но вдруг обнаружил, что не знаю как. Изучение аналогичных игр не помогло. + еще один нюанс. как при это сделать так, чтобы добавленные таким образом тексты периодически чистились, аналогично как доп.окно очищается с помощью clr?
поставьте звездочку перед всеми тегами для вывода текста. Аналогично для clr