Перейти к основному содержимому

14.12. Как сделать два разных предмета с одинаковыми названиями?

В: Как сделать два разных предмета с одинаковыми названиями? Например, есть два старых меча. Но у одного параметр атаки +3, а у другого +5. Нужно, чтобы в окне предметов выводились одинаковые названия "Старый меч", но когда щёлкаешь по одному, выводились его параметры, а по другому — другие параметры.

О: Начиная с плееров версии 5.9.4 вы можете создавать предметы с какими угодно названиями, а затем менять отображаемую на экране информацию с помощью оператора modobj.

Например, у нас в игре есть два старых меча, один из которых чуть-чуть лучше. Т.е. отличие у них только в силе атаки. Создаём два меча, используя оператор addobj.

addobj 'Старый меч [atack=3]'
addobj 'Старый меч [atack=5]'

Далее просто добавляем описание мечей, которое игрок будет видеть вместо названий:

modobj 'Старый меч [atack=3]', 'Старый меч'
modobj 'Старый меч [atack=5]', 'Старый меч'

На экране игрок увидит одинаковые названия "Старый меч", однако плеер будет работать с их полными названиями. Для примера, код локации-обработчика выделения предмета:

if $selobj='Старый меч [atack=3]':
clr
pl "Старый меч"
pl "Сила атаки: +3"
end
if $selobj='Старый меч [atack=5]':
clr
pl "Старый меч (с зазубринами)"
pl "Сила атаки: +5"
end