Достижения
Хочу в игре реализовать достижения. Т.е. некие данные, которые сохраняются между перезапусками игры, вне зависимости от сохранений и т.п. Это реально сделать? Прочитал вики, но не нашел такой возможности. Использую классический QSP.
Я так понимаю, нужна возможность записи и чтения некоторого массива данных во/из внешнего файла…
Как мне кажется, нужно сделать чтобы игрок сохранялся через кнопку(Аки Инвентарь/Сохранить(
Сохранения:
$ONGLOAD - сразу после загрузки состояния игры
$ONGSAVE - непосредственно перед сохранением состояния игры
)).
И проверками(Аки
IF goblin > 400:
MSG 'Ахахах, вы убили <<goblin>> гоблинов, айда молодец, лови 20 золотых.'
money += 20
goblin_ach = 1
END
) делать достижения, в локации:
#!Достижения
И дальше, в Статусе игрока, иль ‘деинде’ пишешь проверки(Ака
IF goblin_ach = 1:
PL/*PL 'Гоблиноборец'
END
)
Но, я это не проверял, и не знаю работает ли.
Жди, людей поумнее.
Не реализуете.
Я не вникал, но предложение выше предполагает, что используется сохранение игры. Эта идея имеет право на жизнь, но только если вы запретите/ограничите право игрока на сохранения, заменив это все одним обязательным файлом, в котором будут храниться все достижения (и, разумеется, текущее состояние игры).
В том виде, что есть сейчас, QSP, насколько я знаю, не способен удовлетворить ваши пожелания.
Если я не прав, то :)
Oliver:
Жди, людей по умнее.
PS Oliver, поумнее - это одно слово, а не два. Это одно прилагательное, черт возьми.
Хм. Я так и думал. Чистить переменные аккуратно и самому сохранять состояние каждый ход. Запретить сейвы и при старте загружать текущее состояние + кнопка “Продолжить”. Ок, может заморочусь так сделать. Или откажусь от идеи.
Это реализуемо даже в классическом плеере.
Суть в том, чтобы игра “запоминала” какие-то данные между перезапусками игры, и при следующем запуске их загружала.
По такому принципу работает механизм чекпойнтов.
evp:
PS Oliver, поумнее - это одно слово, а не два. Это одно прилагательное, черт возьми.
Сори, живу на Украине, русский не учил, стараюсь писать без ошибок, набираясь опыта в интернете))
Таки на Украине? )))) Вот это ты правильно по-русски пишешь!
А то некоторые там по телику все талдычат непривычное вУкраине.
Белый Шарик,
http://www.u-kraina.com/index.php?option=com_content&view=article&id=99:v-ukrain
Я так всегда писал))
Nex:
Суть в том, чтобы игра “запоминала” какие-то данные между перезапусками игры, и при следующем запуске их загружала.
По такому принципу работает механизм чекпойнтов.
Ну я так примерно и подумал. Если полностью контролировать сейвы самостоятельно, то можно держать какие-то данные “постоянными” между перезапусками.
Всё верно)