Как сделать?
…
Aleks Versus,
Я это знаю, вопрос то не про это, а больше про железячный момент. Возьмем аналог моего примера, но объем данных будет измеряться гигабайтами. Что выгоднее, хранить эти данные в памяти, либо каждый раз перечитывать из локации?
dmvikar,
Ну там есть ограничения, насколько я знаю. По производительности попробуй погонять Истребление, там ДеГросс что-то про лимиты писал
Последний из Гаяр,
Да ну нет же!) Наверно, я как-то не так объясняю. Мне интересен процесс обработки кода в принципе, а не конкретно qsp. Потому как для qsp 600 строк и 30 переменных это ничто и обрабатываются они незаметно для пользователя. Проблемы начинаются после 4 миллионов или 40-ка, я уже точно не помню. Ну да ладно, вопрос не столь важный, т.к. предела ресурсов достигать не предполагается.
dmvikar,
Конкретно, насколько я помню, писал ДеГросс, что корректно обрабатываются только 50 действующих нпс, а так вроде до 300 субъектов, это Svartberg вроде писал, в теме Sanctuary[разработка], а также мой личный опыт, что нормально и достаточно быстро обрабатывает таблицу на 740 ячеек, хотя, ну может это моё железо, ваше покажет больше.
Попробуй также поковырять North Homestead, но тут тоже не могу ничего сказать. Всё зависит ещё от твоего движка и от комплексности обрабатываемых тобой массивов.
обычно до 10 действующих лиц делают в играх
dmvikar,
QSP будет отъедать оперативку по мере того, как заполняются переменные/массивы, насколько я понимаю. Неважно, будут это именно отдельные переменные или ячейки массива, данным нужно где-то храниться. Само собой лучше бы неиспользуемые данные прописать в виде кода на локации (сделать базу), а уже потом тем или иным образом выдёргивать в массивы/переменные. Однако, evp говорил (кажется), что и сама игра на момент выполнения вся лежит в оперативке.
Если вопрос о том, где легче осуществлять поиск, в переменных, массивах, или по текстовому значению отдельной переменной, всё зависит от задачи. Я знаю, что даже arrpos для массива в 100 тыс элементов заметно подвешивает игру, большой объём HTML-разметки подвешивает игру. Приходится либо практически устанавливать пределы возможностей QSP, и уже отсюда решать задачи, либо лезть в исходный код и искать пределы в конкретной реализации.
Всем привет. Пара вопросов:
Можно ли в течении игры изменять расположения окна дополнительного описания?
Можно ли увеличить размер окна всплывающего при команде msg (После того как всплывает можно а сразу?)
Darvin432:
Можно ли в течении игры изменять расположения окна дополнительного описания?
Можно ли увеличить размер окна всплывающего при команде msg (После того как всплывает можно а сразу?)
В классическом плеере однозначно нет. В Quest Navigator однозначно да.
Darvin432,
В msg можно, прозрачные картинки подставить. С остальными окнами нельзя. Ну в классике, как верно сказал Aleks Versus
Товарисчи. Очень важный для меня вопрос. Для игры запилил нечто похожее на редактор уровней (у меня двухмерные карты массивом сделаны) но не могу понять, как вывести нужные мне данные из игры (т.е. например в блокнот) Есть ли какая то функция, которая позволяет сохранить нужные мне данные в отдельный файл. Вручную переписывать несколько долго получается.
hitmir,
Я такой функции нигде не видел. Но если ты можешь эти данные вывести через qsp, то просто копипастой перенесешь в txt. Зачем тебе это нужно, может найдется вариант попроще?
Я не могу скопировать даже ручками, и в этом то и проблема. Меня бы не обломило скопировать из любого окна в блокнот, но даже это не получается.
hitmir,
ctrl+c, только что проверил - работает. ctrl+v - вставить, хотя вставить можно как угодно.
Всем привет работаю с таблицами по формату:
Spoiler
i=4
$table1+="<table border=4 >"
$table1+="<tr>"
$table1+="<td><<s>></td>"
$table1+="<td><<i>></td>"
$table1+="</tr>"
$table1+="</table>"
*pl $table1
act"S+1":
s+=1
gt $curloc
end
Проблема в том что при нажатии на действие новая таблица прибавляется к изначальной и так постоянно. Как это можно обойти?
И 2й вопрос. Ранее для возврата на предыдущюю локацию какой бы она не была мне посоветовали тут на форуме следующий код:
Spoiler
! эта строка прописывает в переменную $back_loc имя предыдущей посещённой локации:
$back_loc=$current_loc
! эта строка прописывает в переменную $current_loc имя текущей локации:
$current_loc=$curloc
! теперь воссоздаём возврат в виде действия, например:
if $curloc='таблица':
act "Вернуться":
goto $back_loc
end
end
Но и этот код не работает теперь в локации с таблицей. Подскажите как решить. Спасибо