RU

Достижения

sardaukar #1503 05.08.2015 19:33 9 comments 5410 views

Хочу в игре реализовать достижения. Т.е. некие данные, которые сохраняются между перезапусками игры, вне зависимости от сохранений и т.п. Это реально сделать? Прочитал вики, но не нашел такой возможности. Использую классический QSP.

Я так понимаю, нужна возможность записи и чтения некоторого массива данных во/из внешнего файла…

Как мне кажется, нужно сделать чтобы игрок сохранялся через кнопку(Аки Инвентарь/Сохранить(

Сохранения:
$ONGLOAD - сразу после загрузки состояния игры
$ONGSAVE - непосредственно перед сохранением состояния игры

)).
И проверками(Аки

IF goblin > 400: 
MSG 'Ахахах, вы убили <<goblin>> гоблинов, айда молодец, лови 20 золотых.'
money += 20
goblin_ach = 1
END

) делать достижения, в локации:

#!Достижения

И дальше, в Статусе игрока, иль ‘деинде’ пишешь проверки(Ака

IF goblin_ach = 1:
PL/*PL 'Гоблиноборец'
END

)
Но, я это не проверял, и не знаю работает ли.
Жди, людей поумнее.

Edited at 06.08.2015 09:50 (10 years ago)

Не реализуете.
Я не вникал, но предложение выше предполагает, что используется сохранение игры. Эта идея имеет право на жизнь, но только если вы запретите/ограничите право игрока на сохранения, заменив это все одним обязательным файлом, в котором будут храниться все достижения (и, разумеется, текущее состояние игры).

В том виде, что есть сейчас, QSP, насколько я знаю, не способен удовлетворить ваши пожелания.

Если я не прав, то :)

Oliver:

Жди, людей по умнее.

PS Oliver, поумнее - это одно слово, а не два. Это одно прилагательное, черт возьми.

Хм. Я так и думал. Чистить переменные аккуратно и самому сохранять состояние каждый ход. Запретить сейвы и при старте загружать текущее состояние + кнопка “Продолжить”. Ок, может заморочусь так сделать. Или откажусь от идеи.

Это реализуемо даже в классическом плеере.

Суть в том, чтобы игра “запоминала” какие-то данные между перезапусками игры, и при следующем запуске их загружала.

По такому принципу работает механизм чекпойнтов.

evp:

PS Oliver, поумнее - это одно слово, а не два. Это одно прилагательное, черт возьми.

Сори, живу на Украине, русский не учил, стараюсь писать без ошибок, набираясь опыта в интернете))

Белый Шарик #100 06.08.2015 10:40 (10 years ago)

Таки на Украине? )))) Вот это ты правильно по-русски пишешь!
А то некоторые там по телику все талдычат непривычное вУкраине.

Nex:

Суть в том, чтобы игра “запоминала” какие-то данные между перезапусками игры, и при следующем запуске их загружала.

По такому принципу работает механизм чекпойнтов.

Ну я так примерно и подумал. Если полностью контролировать сейвы самостоятельно, то можно держать какие-то данные “постоянными” между перезапусками.

Всё верно)

Log in or Register to post comments.