RU 📌 Pinned

Как сделать?

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

Прошу прощения за то что ввёл в заблуждение.
Вновь задам вопрос, нет ли способа добавить в AeroQSP проект дополнительный QSP-файл кроме как ручным копированием всех локаций?
Так же возник вопрос по поводу действий. В справке написано что их можно сохранить и восстановить при помощи CURACTS и DYNAMIC. Опыта работы с динамик у меня нет, поэтому хотел уточнить. CURACTS сохраняет действия именно как код? То есть просто прописав на локации $действия = CURACTS, а на другой cla & DYNAMIC $действия, я выведу действия из предыдущей локации?

Bumbr,
что мешает попробовать?

Ваш вариант, ввел меня в тупик…

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

Это вариант, который предложил Nex.
Локация: дорога_монстров
Место: при посещении
Строка: 6
Код ошибки: 125
Описание: Неверная запись однострочного оператора!

Вместо ELSE IF надо писать ELSEIF слитно.
Можно вообще всё в отдельные IF вынести, но это неправильно с точки зрения оптимизации кода.

Здравствуйте, наверное я вам уже надоел со своими глупыми просьбами, для вас экспертов это кажется как два пальца. Но не могли бы вы помочь мне в последний раз… В моей игре обязательно будет бой с монстром, я посмотрел какой код дают на форуме, и понял, что сам увеличить его не смогу, дело в том, что у героя есть не только атака и здоровье, но и защита (только у ГГ). Смысл этой защиты в том, что если атака монстра = 8, а защита = 9, то из здоровья ГГ ничего не будет уменьшено. Но если атака монстра = 8, а защита = 3, то из здоровья ГГ вычитается 5 ХР. Ну и конечно, стандартно должна работать атака ГГ, которая вычитает свой удар из здоровья монстра. Не могли бы вы в последний раз помочь с кодом, для создания того, что написано выше…Заранее благодарю за любую предоставленную помощь.

Alladan,
да, я написал “ELSE IF” раздельно, а надо было “ELSEIF” слитно. Прошу прощения, я почему-то думал, что эти конструкции в QSP эквивалентны.

Код для боя с защитой:

урон_монстра = атака_монстра - защита_игрока
IF урон_монстра < 0:
    урон_монстра = 0
END
здоровье_игрока = здоровье_игрока - урон_монстра

Большое спасибо за ответы. Вот Во многих играх я увидел, что когда покупаешь вещь при нажатии на нее в инвентаре, вылезает табличка одеть, а когда ты одеваешь, то очки вещи плюсуются к тебе. Это все я научился делать, но когда вещь одел, и нажимаешь на нее в инвентаре, то выходит уже кнопка не одеть, а снять, как это сделать?

Alladan,
посмотри в коде той игры, где это реализовано.

Она запоролена. Вот смотрите: В инвентаре есть предмет “Доспех” нажимая на который выходят варианты : “Выбросить” “Одеть”. Нажимая на “Одеть” очки костюма приплюсоваются к ГГ. Посл того как нажали “Одеть” наведя на предмет в инвентаре “Доспех” выходят варианты: “Выбросить” и “СНЯТЬ”, (а не “одеть” как раньше) при нажатии снять, очки костюма вычитаются из ГГ и все переходит в первую фазу. Вот что нужно. У меня не получается сделать так чтобы после нажатия “Одеть” , вылезало только нажатие “Снять” а не опять “Одеть…

Alladan,
тебе нужно сделать:

1. Завести переменную-флажок, в которой будет храниться состояние доспеха: например, “доспех_надет”. Устанавливать её значение при надевании и снятии доспеха, 1 и 0 соответственно.

2. В коде, где выводится меню, проверять эту переменную, и в зависимости от её состояния выводить в меню либо “Снять” либо “Надеть”. Для этого нужно использовать оператор условия “IF”.

А есть где нибудь обучение этому?

Просто вот оооочень нужно, а как вы сказали у меня не выходит(

Сам никогда таким методом создания меню не пользовался, однако попробую помочь.
Кажется чтобы создать такое меню нужно заполнить массив с действиями (сужу по справке). Там где вы создаете пункт меню ‘Надеть’ пропишите if броня_надета = 0 : $броня[0] = ‘Надеть:надеть’ else $броня[0] = ‘Снять:снять’
Это я сужу по справке, если вы мне в личку кинете подробно как вы реализовывали меню, то будет проще, т.к. я с этой механикой не работал.

Log in or Register to post comments.