RU 📌 Pinned

Как сделать?

Dark[Ol(U23)leneri] #34 18.04.2010 22:57 6408 comments 2426345 views

Ок, спасибо за помощь ребята :)

Дамир Белялов #654 09.05.2022 15:28 (3 years ago)

Уважаемые, у меня возник острый интерес к компиляции своего квеста в .exe приложение, причем так, чтобы мультимедиа (фото иконки и звуки) были внутри exeшника, чтобы игрок раньше времени не смог узнать контент игры.
Кто шарит в программировании? Кто может сделать компилятор из qsp в exe с минимальными размерами приложения на выходе. Я хочу запилить квест в дискету на 3,5 дюйма. Кто может помогите пожалуйста. Даже денег дам, кто возьмется за это или подскажет!

Ребят, у меня такой вопрос, а цвет окошек поменять можно? Не фон, а панельки окошек, где написано “Предметы”, “Действия”, Дополнительное описание”. А то я поменяла цвет фона, а эти панельки остались прежними, то есть серыми, выглядит некрасиво.

ShadowX2, нет. В классической версии нет возможности изменения, добавления и редактирования блоков. Вы сможете настраивать свои кастомные блоки под свои нужды в Навигаторе и QSpider. Для этого желательно знать основы html, css, js.

Aleks Versus Moderator 13.05.2022 13:50 (3 years ago)

ShadowX2,
можешь убрать надписи этих окошек, с помощью конфигурационного файла. Есть тема Настройка окошек классического плеера. И недавно появилась статья, в которой довольно мало чёткой информации, но например рассказывается, что state=768; в конфигурационном файле убирает заголовки окошек и игрок уже не может их включить обратно.

Но я согласен со Svartberg’ом, лучше присмотреться к Quest Navigator, а лучше к qSpider.

P.S. Наврал. state=768 убирает заголовки окон, но игрок может включить их обратно.

ShadowX2,
Практически всегда убираю заголовки. И это помогает.

Spoiler

Насколько я понимаю, вы только учитесь работать с QSP. В таком случае, попытайтесь просто закончить текущий проект. Потом медленно и уверенно отшлифовывайте графику*. Жизнь игры не завершается на моменте релиза.

Если вас сильно беспокоит внешний вид вашей игры, а знания по HTML не добавляют уверенности, советую посмотреть на данное демо: ссылка

Обратите внимание на сам интерфейс, на действия, на то как тот или иной элемент используется. Подумайте о том, что вам не нравится в таком интерфейсе, а что наоборот стоит использовать. Если вы не проигнорируете сообщение и действительно проведёте анализ, сделаете выводы - у вас будут все необходимые знания для создания вполне приемлемого интерфейса без HTML.

*Под графикой подразумевается интерфейс - иконки, окна и их элементы.

Дамир Белялов #654 14.05.2022 18:30 (3 years ago)

Кто знает помимо qsp есть средства или игровые движки, где можно так же легко и быстро написать квест и скомпилировать его в exe?

Aleks Versus Moderator 15.05.2022 09:20 (3 years ago)

Дамир Белялов,
почитай на ifwiki или на общем форуме. Знаю, что RenPy и Instead можно до экзешника упаковывать. Вроде бы URQ ещё это позволяет. Но лучше там посмотреть, поинтересоваться.

Дамир Белялов #654 16.05.2022 20:00 (3 years ago)

Aleks Versus,
https://ifwiki.ru/%D0%A2%D0%9E%D0%9C_2
Нашел вроде то что искал, буду пробовать, спасибо)

Ребят, объясните как отображать разную информацию для различных предметов, которые были сгенерированы с помощью рандома.

Вот, например, есть магазин, я планирую сделать так, чтобы оружие в нём менялось с помощью рандома раз в день.
И есть разное оружие. У каждого оружия должно быть своё описание, сила атаки и так далее. Так вот, как сделать так, чтобы при выборе в инвентаре, например, оружия “Ледяной меч”, то у этого оружия показывалось бы 50-68 атаки и описание, которое я задумала для этого оружия. А когда выберу другой меч, то у него уже будут другие показатели атаки и другое описание.

P.S.
Простите, что я такой нуб в создании игр и не могу пока сама во всём разобраться.

ShadowX2,
Post Scriptum был излишним, все с этого начинают, вы не исключение :)
То что вы описываете решаться с помощью массивов. Только я хотел бы понять каким образом у вас существуют объекты? С помощью addobj и интерфейса “Предметы” или же переменные и вывод в отдельной локации?
Ибо от этого зависит тонкости решения поставленной задачи.

Ок, соглашусь, Post Scriptum я наверное зря добавила :)

Названия предметов я храню в массиве, при покупке они добавляются в панель предметов с помощью addobj

ShadowX2,
Первое, что взбрело в голову. Не считаю вариант оптимальным или простым, но решение вполне себе рабочее. Если что-то не понятно, пишите, будем объяснять.

19082022-2016_test.qsp

Доброго времени суток. Пару дней назад решил заняться написанием игры на qsp классическом. Идей и сюжета в голове очень много.
А вот в коде я мягко говоря нуб полнейший. Посмотрел порядка 20 часов разных гайдов. Но так и не нашёл ответы на свои основные вопросы.
1.Как создать в игре параметр времени? который будет изменяться при действиях персонажа и переходах на локации.
2.Как создать систему характеристик и навыков видимую, например при нажатии на объект “характеристики” в разделе объектов.
3.Как в тот же раздел добавить инвентарь, и чтоб все подбираемые предметы попадали туда, а не в общий раздел объектов, при нажатии на который я бы мог попасть в отельную комнату и уже там взаимодействовать с ними.
4.Касаем самих предметов как их сделать юзабельными, с влиянием на те же самые характеристики.
5.Как создать систему голода и жажды зависимую от времени.
6.Ну и конечно же как создать боевую систему, хотя бы самую простенькую, но чтоб она зависела от характеристик и навыков персонажа.

nelsonrose777,
Прежде советую прошерстить эту тему (это ссылка если что), многие вопросы начнут отпадать сами собой.
1) Например:

Spoiler
# start
time = 0
# prolog
act 'Пойти вот туда, да':
  time += 5
end

2) Ещё пример:

Spoiler
# start
$skills[] = 'Быстрее света'
$skills[] = 'Повышает ловкость до заоблачных высот. Позволяет двигаться быстрее света (антинаучный навык)'

skills_name = 1
skills_desc = 2

skills_columns = 2
skills_rows = arrSize('$items') / skills_columns

strength = 1
agility = 1
playerSkills[] = arrPos('$skills', 'Быстрее света')

# onObjSel
if $selObj = "Характеристики":
  PL 'Сила: ' + strength
  PL 'Ловкость: ' + agility

  if arrSize('playerSkills') > 0:
	*nl
    index = 0
    :renderSkills
      PL 'Название навыка: ' + $skills[ playerSkills[index] + skills_name ]
      PL 'Описание навыка: ' + $skills[ playerSkills[index] + skills_desc ]
    if index < arrSize('playerSkills'): index += 1 & jump 'renderSkills'
  end
end

unSelect
#

Но реализовать можно множеством иных способов, пытливый ум да найдёт решение)
3) Есть служебная локация $onObjSel и оператор позволяющий получить название предмета по которому был произведён клик – $selObj. Думаю дальше можно предположить что делать (второй пример в помощь)
4) Проверить что за предмет выбран, выполнить код и удалить предмет (delobj) если одноразовый или уменьшить количество если многоразовый.
5) Зависит от того, как у вас время течёт. Реал-таймом (то бишь используем $counter) или же через действия (в самом действии меняем время или через служебную локацию $onNewLoc). В первом случае мы делаем проверку в $counter используя всякие переменные флажки, во втором можно сказать то же самое, только в служебной локации $onNewLoc.
6) Тут универсального ответа нет, поиск ответа ложиться тяжким грузом на плечи самого автора. Можно посмотреть реализации в других играх, особенно где боёвка вам понравилась, можно ещё вот эту тему почитать.

Edited at 18.09.2022 04:53 (3 years ago)

Log in or Register to post comments.