Как сделать?
…
Ребят, я немного начинающий в этом, поэтому не понимаю многого. Представьте ситуацию: создан мини квест(соотвественно с переменными), некий игрок играет в данный квест, приобретая и изменяя какие то переменные в самом коде игры(инвентарь, ресурсы, войска)…И перед выходом сохраняет свое текущее положение через плеер. Теперь сама суть: допустим надо выпустить обновление для данного квеста(добавление новых переменных, новых действий и локаций)…Как обновиться на новую версию игры, сохранив всё нажитое на старой версии, чтобы не пришлось набирать всё заного и развиваться после обновления. Ответьте пожалуйста)
Михаил Юматов,
старое сохранение будет работать для новой версии, если в начале игры поставить:
debug = 1
Естественно, без серьёзных багов обойдётся только если и в новой версии сохранятся прежние переменные. Если же ты изменил имена переменных в новой версии, можно хитро выйти и из этой ситуёвины, используя ongload.
Если планируешь делать серьёзные обновления версий, где возможно придётся изменять имена переменных, обязательно во всех версиях включай режим отладчика и локацию-обработчик загрузки состояния игры.
Aleks Versus:
Михаил Юматов,
старое сохранение будет работать для новой версии, если в начале игры поставить:debug = 1Хм…ну зачем же переменные менять, вроде и не собирался))) Для каждой переменной свои значения…Я имел ввиду к примеру если в игру добавлю новый квест, новую развилку сюжета, при этом сохранив все содержимое старой версии, то мне просто в новой версии в стартовой локации прописать debug = 1 и всё?
Михаил Юматов, нет, если он не был прописал в старой версии, то они будут не совместимы.
Михаил Юматов,
да. Свартберг правильно говорит. debug =1 должно быть прописано и в старой версии, по идее. Но есть вариант: в новой версии, чтобы оно работало, в ongload тоже нужно прописать эту строку.
И ещё есть опасность того, что игрок сохранится на той локации, на которой ты сделал развилку в новой версии. Поэтому в ongload так же нужно перезайти на текущую локацию.
P.S.: чёрт. Меня терзают смутные сомнения, что всё это не будет работать. Надо проверить.
Эксперимент показал, что если поставить debug = 1 в новой версии, то не имеет значения, есть ли эта строка в старой. Сохранение будет загружаться без ругани. Но debug станет в 0. ongload тоже не сработает, если не прописан в старой версии.
Поэтому изначально нужно в самой первой локации прописать:
debug = 1
$ongload = 'ongload'
В локации ongload пишем
goto $curloc
Это обновит текущую локацию при загрузке сохранения.
Теперь можно спокойно делать новые версии игры.
Появился вопросец. Можно ли запустить сборку сразу в fullscreen? Без сочетания клавиш “alt-enter”?
Svartberg,
startFullscreen
Nex, ага, спасибо. Я так понимаю, в классическом плеере такой фигни не провернуть?
ммммм….и каждый раз этот код и вставлять в новой версии на стартовой странице? И почему именно на стартовой? Допустим это квест с развилкой…и игрок остановился где то в глубине развилки…то debug все равно только на стартовой писать? Я наверное не совсем понимаю знчение этой функции.
Svartberg,
в классическом, не знаю. Можно попробовать похимичить с конфигом или ярлыком, но тут советов я давать не буду.
Михаил Юматов:
каждый раз этот код и вставлять в новой версии на стартовой странице?
Не пойму, тебе лень один раз написать две строчки кода? Что значит “каждый раз”? Разве новые версии - это не доработки изначальной?
debug - это не функция, а системная переменная.
Есть ли возможность в классическом плеере сделать фон в окне msg прозрачным? Да и рамку заодно убрать, ну и может шрифт чуть изменить типа размера или ещё как? Ну хоть что то можно там сделать? )
fau2,
только если собирать свою собственную версию плеера из исходников.
технически там возможно это сделать или слишком гемморно будет? Типа тупо убрать описание рамки или убрать цвет не поможет? Просто собственно хотелось через задницу проиммитировать дополнительный накладываемый слой на картинку, хотя бы с текстом