Онлайн-справочник по самым часто задаваемым вопросам из темы "Как сделать?" на форуме QSP.su
17.4. Как написать действие, которое при каждом клике сохраняло бы игру в файлы "1.sav" и "2.sav" поочерёдно?
В: Как написать действие, которое при каждом клике сохраняло бы игру в файлы "1.sav" и "2.sav" поочерёдно?
О:
Это решается довольно просто, с помощью переменной-счётчика:
savecount=1
! в нужном месте пишем действие
act "Сохранить":
if savecount=1:
savecount=2
savegame "1.sav"
else
savecount=1
savegame "2.sav"
end
end
В данном случае в файле сохранения "1.sav" значение переменной-счётчика будет равно 2, а в файле "2.sav" — 1. Это позволит при загрузке игры из одного файла нажатием действия "Сохранить" записать сохранение в следующий файл.
Например, мы нажали действие "Сохранить" и сохранили игру в файл "1.sav", после чего нажатие на действие "Сохранить" должно записывать состояние в файл "2.sav". Не важно, нажмём мы действие ещё раз, или нет, при загрузке состояния из файла "1.sav" мы снова получим ситуацию, когда действие "Сохранить" должно будет записать очередное состояние в файл "2.sav".
Чтобы загружать игру из последнего сохранения, нам нужно такое действие:
if savecount=1:
opengame "2.sav"
else
opengame "1.sav"
end
end
В этом случае, если мы сохранили состояние в файл "1.sav", то даже если мы загрузим состояние из этого файла, в следующий раз при выборе "Загрузить последнее" мы вновь загрузим состояние из "1.sav".
Однако если нам нужно загружать состояния из предыдущего файла, нужно создать такое действие:
opengame "<<savecount>>.save"
end