Я тут подумал, что вместо того, чтобы запоминать коды предметов и квестов в блокноте, можно было бы вводить их в специальную программу. Тогда в этой программе будут появляться соответствующие иконки и записи, нажав на которые, можно получить обратно код, а также прочитать описание.
Уже готов общий интерфейс, почти сделан инвентарь. В планах создание журнала для INF'ов и органайзера квестов, который будет эти инфы группировать. Плюс, запилю автопроверку актуальности версии программы.
А зачем такой стэндалон делать, если можно веб-бейзед?
>>109А на чем такое делать? Я кодировать умею только на плюсах и VB. Вроде, на VB можно сделать ASP-приложение, но я такое еще не пробовал.
>>109А список вещей сохранять тогда в cookies что ли?
Можно на дотнете еще нахерачить попробовать, но тогда получится слишком модно и молодежно, испортится антураж.А вообще, скажи мне, зачем делать веб-приложение, если можно обычное? Веб - он для гипертекста, в конце-концов, не надо все подряд туда фигачить.
>>111Можно в localStorage, например, можно как оффлайн контент, например.
>>113Разве это не HTML5? На старых браузерах работать не будет тогда.
>>114Ок, тогда пусть куки будут. С возможностью импорта-экспорта.
>>115У меня уже стандалон готов наполовину, переделывать не хочется. Так что если и возьмусь, то не в ближайшее время.
>>108Выглядит красиво
>>114А если попробовать сохранять во флешевский sharedobject, браузеры старые потянут?
>>124Я чего-то совсем забросил программу. Дел много в последнее время. Надо будет доделать.>>125Это мне тогда придется все приложение на флеше делать? Я в нем ни бум-бум.
>>125Ты нашел боевку с фантазмом в пабе? Хотелось бы, чтобы ее наконец кто-нибудь заценил.
Чтобы пройти в замурованную комнату нужно нажать на угол одной из картин в номере игрока. Тогда откроется секретный проход. И там будет фантазм.
Написал реализацию через куки. https://a.pomf.cat/tblgwb.rar В навигаторе и ИЕ работает. Все очень просто и можно встроить в сучществующие страницы.Релизуацию страницы инвентаря можно сделать через айфреймы, чьи URL соответствуют айдишнику.Например вместо таблицы внутри цикла for написать document.write('<iframe src="/items/"' + item + '".html></iframe>');И все готово, в принципе. Если что непонятно подскажу.
>>184Идея интересная. Как добавлять предметы, я как будто бы понял. А как использовать? По-старому, вводом кода?
>>184И да, для квестовых кодов понадобится система посложнее. Там ведь бывает по нескольку путей прохождения.
>>185Если под использовать подразумевается удаление предмета из инвентаря, то при заходе на страницу "вы использовали такой-то предмет", на ней должен быть код как в removeitem1.html, можно еще сделать просто ссылку без перехода: <a onlick="removeInventoryItem('ITM_SJYHM82B29'); location.href = 'predmetispolzovan.html'; return false;">В куках можно хранить же не только список вещей, но и просто разные переменные. setCookie("quest_1_end", "killed_zombie") и все прочее.Главное что в нетскейпе оно поддерживается, и нет необходимости городить что-то во флеше.
>>187>Если под использовать подразумевается удаление предмета из инвентаряНет, я имею в виду само применение предмета. Редирект на страницу с результатом использования.
>>187
>Если под использовать подразумевается удаление предмета из инвентаря
Нет, я имею в виду само применение предмета. Редирект на страницу с результатом использования.
>>187Точнее так:В списке предметов (в цикле for на примере inventory.html) через document.write добавляется кнопка:document.write('<input value="Использовать" onclick="useItem(\'' + item + '\')" type="button">');Далее где-то не странице функция useItem:function useItem(item) {if (item === 'ITM_123') { removeInventoryItem(item); go2();} else { ... }}
>>187Точнее так:В списке предметов (в цикле for на примере inventory.html) через document.write добавляется кнопка:document.write('<input value="Использовать" onclick="useItem(\'' + item + '\')" type="button">');Далее где-то не странице функция useItem:function useItem(item) {
if (item === 'ITM_123') { removeInventoryItem(item); go2();} else { ... }
}
Инвентарь с айфреймами и кнопкой использовать.https://a.pomf.cat/bkipmx.rarРаботает в IE6, но в Netscape почему-то не отображаются iframe'ы, что странно.
>>190Я, наверное, туплю, но что нужно сделать, чтобы в инвентаре отобразился предмет? Вижу, что должно выдавать сообщение, когда ты нашёл предмет, но у меня что-то всё пусто.
>>191Может, это из-за того, что ты страницу прямо с диска запускаешь? Не уверен, что куки сохраняются для локальных файлов.Вот, я сделал тестовый сайт:http://test.miskatonic.mkhttp://test1.miskatonic.mkhttp://test.m-ch.mkЭто все один и тот же сайт, просто хочу посмотреть на поведение кукисов.
>>192Ок, работает.
>>192Хм. На разных поддоменах не видно куки друг друга. С этим надо что-то решать.
>>194Попробовал положить скрипт на miskatonic.mk - не помогло.
>>194Нужно явно указать домен как написано здесь: https://stackoverflow.com/questions/18492576/share-cookie-between-subdomain-and-domainТо есть добавить "; domain=mydomain.com" к строке кук в функциях setCookie и getCookie
>>189>В списке предметов (в цикле for на примере inventory.html) через document.write добавляется кнопка:document.write('<input value="Использовать" onclick="useItem(\'' + item + '\')" type="button">');Ты хочешь прямо на самих игровых страницах делать список предметов? Их ведь до хрена накопится там за процесс игры. Выходит, нужно какую-то фильтрацию делать, чтобы только подходящие предметы отображались.
>>189
>В списке предметов (в цикле for на примере inventory.html) через document.write добавляется кнопка:
document.write('<input value="Использовать" onclick="useItem(\'' + item + '\')" type="button">');Ты хочешь прямо на самих игровых страницах делать список предметов? Их ведь до хрена накопится там за процесс игры. Выходит, нужно какую-то фильтрацию делать, чтобы только подходящие предметы отображались.
>>196Завтра попробую, а то я че-то устал. Поиграю пойду.
Почему-то после того, как я код скопировал, перестали удаляться куки.http://dungeon.miskatonic.mk/Main_menu/Cinema/Cinema.html Приходится удалять отсюда: http://test.miskatonic.mk Притом всё остальное вроде как работает. Есть идеи, почему?
Я тут вот что подумал: нам же теперь нужно будет на всех страницах какое-то меню для доступа к инвентарю и к записной книжке. Вместо того, чтобы совать это меню на каждую страницу, можно сделать только одну - с меню и с iframe, внутри которого и будет происходить игровой процесс. Тем более, что все равно мы хотели делать музыкальное сопровождение; плеер можно будет на той же странице разместить и менять музыку в зависимости от адреса страницы во фрейме. Еще можно будет сделать что-нибудь вроде сохранений - чтобы можно было записывать в куки адрес фрейма и загружать его оттуда.
>>199Там пропущен "; path=/" в eraseCookie, хотя он есть в get и set.Еще без expires куки будут удаляться при закрытии браузера. Нужно переписать setCookie как здесь: https://stackoverflow.com/a/24103596Вот так:function setCookie(name,value) {var expires = "";var date = new Date();date.setTime(date.getTime() + (3650*24*60*60*1000));expires = "; expires=" + date.toUTCString();document.cookie = name + "=" + (value || "") + expires + "; path=/" + "; domain=.miskatonic.mk";}Срок хранения 10 лет.
>>199Там пропущен "; path=/" в eraseCookie, хотя он есть в get и set.Еще без expires куки будут удаляться при закрытии браузера. Нужно переписать setCookie как здесь: https://stackoverflow.com/a/24103596Вот так:function setCookie(name,value) {
var expires = "";var date = new Date();date.setTime(date.getTime() + (3650*24*60*60*1000));expires = "; expires=" + date.toUTCString();document.cookie = name + "=" + (value || "") + expires + "; path=/" + "; domain=.miskatonic.mk";
}Срок хранения 10 лет.
>>202Спасибо, заменил. Работает.
Перевел в английской версии (Паб+Лес) квест Пьерра на новую систему. Сейчас потестирую.http://pub.miskatonic.mk/drunkard/start.htmlВот лопата и ключ:http://test.miskatonic.mk/pierre/lapata.htmlhttp://test.miskatonic.mk/pierre/klooch.html
>>209Как будто бы работает.
Перевёл на новую систему Подземелье в английской версии. Осталось протестировать, поправить ошибки и сделать русскую версию.
http://test.miskatonic.mk/reset.html Здесь можно стереть куки и посмотреть, какие уже собраны. Потом для этих целей будет создан инвентарь и записная книжка.
Закончил перевод. Теперь Подземелье доступно полностью с новой системой, а также на русском языке. Осталось только Паб доделать.
>>214>Закончил перевод.Ебать ты быстрый.>Теперь Подземелье доступно полностью с новой системой, а также на русском языке.Надо было меня подождать. Оно же неиграбельно будет, если одновременно не переделать.>Осталось только Паб доделать.Угу, только там еще и торговля. И не забудь про инвентарь и записную книжку, с ними тоже повозиться надо будет. Постараюсь сделать на неделе.
>>214
>Закончил перевод.
Ебать ты быстрый.
>Теперь Подземелье доступно полностью с новой системой, а также на русском языке.
Надо было меня подождать. Оно же неиграбельно будет, если одновременно не переделать.
>Осталось только Паб доделать.
Угу, только там еще и торговля. И не забудь про инвентарь и записную книжку, с ними тоже повозиться надо будет. Постараюсь сделать на неделе.
Может, сделать более комплексную процедуру для добавления/удаления предмета? Чтобы она и проверяла и добавляла, и сообщение выводила. Сейчас на каждой странице приходится делать что-то вроде:<center><blockquote> <font color="#FF0000" size=+1> <div id="m1" style="display: none;"><hr>You already know this.<hr></div><div id="m2" style="display: none;"><hr>You've obtained some information.<hr></div></font></blockquote></center><script type="text/javascript">if (hasItem("PTH", "7D1HVZR7IE")) {m1.style.display="inline";} else {addItem("PTH", "7D1HVZR7IE");m2.style.display="inline";}</script>А можно было бы попроще, скажем, <div id="m"> </div><script>add("PTH", "7D1HVZR7IE")</script>Так ведь вообще можно сделать?
Может, сделать более комплексную процедуру для добавления/удаления предмета? Чтобы она и проверяла и добавляла, и сообщение выводила. Сейчас на каждой странице приходится делать что-то вроде:
<center><blockquote> <font color="#FF0000" size=+1> <div id="m1" style="display: none;">
<hr>You already know this.<hr></div><div id="m2" style="display: none;"><hr>You've obtained some information.<hr></div></font>
</blockquote></center>
<script type="text/javascript">if (hasItem("PTH", "7D1HVZR7IE")) {m1.style.display="inline";} else {addItem("PTH", "7D1HVZR7IE");m2.style.display="inline";}</script>
А можно было бы попроще, скажем, <div id="m"> </div><script>add("PTH", "7D1HVZR7IE")</script>
Так ведь вообще можно сделать?
Перевел то, что сделал с квестом Пьерра, на русскую версию. Дальше, наверное, буду делать Бармена с его торговлей.
>>216 Хорошая идея. Вот, вроде сделал: http://dungeon.ru.miskatonic.mk/Main_menu/Cinema/Note1.html
Может, сделать в Пабе посещённые ссылки серым цветом, к примеру? А то сильно уж выделяются. Или вообще можно отказаться от смены цвета.
>>219Можно. Подобрать цвет только, а дальше автозаменой по всем страницам. Минутное дело. А что, так все плохо?
>>220Не знаю, мне в глаза бросаются ссылки, когда они и белым, и красным выделены. Неплохо бы спросить кого-нибудь ещё, но никого нет толком.
>>221Ну ладно, сделаю завтра.
>>221Сделал серым vlink. Так лучше?
>>226Да, лучше на мой взгляд.
Miskatonic Team - wakaba 3.0.9 + dx + futaba + futallaby -