RU 📌 Pinned

Как сделать?

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

Юрий Александрович Романов #1564 28.10.2015 13:43 (10 years ago)

Вот исходник кода, вдруг что-то там можно исправить…
ishodnyiy_kod.rar

Aleks Versus Moderator 28.10.2015 15:52 (10 years ago)

Юрий Александрович Романов,
исправил, прокомментировал. ishodnyiy_kod.rar

Юрий Александрович Романов:

Спасибо за варианты, пока сойдет, но…
Вот что я хочу видеть
Игрок выбирает Имя, расу, класс, после этого появляется отдельное действие “Поехали”, например, и дальше начинается игра.
Как сделать, чтобы это самое действие появилось ТОЛЬКО после выполнения условия?

Я бы мог помочь)
Можешь посмотреть как это реализовано у меня)
Моя тема с игрой тут.

Юрий Александрович Романов #1564 29.10.2015 07:42 (10 years ago)

Спасибо большое за исправленный код! Очень приятно что кто-то знающий может помочь))
В общих чертах я понял ошибки, спасибо!

Юрий Александрович Романов #1564 29.10.2015 07:45 (10 years ago)

Ага, спасибо, сейчас гляну…

Как сделать так чтобы:
1.-Мелодия играла без остановки в определенной локации.
2.-Тоже самое только с поддержкой нескольких локации(к примеру локация Дом в котором есть ещё 4 локации, Комната и т.д.), но без прерываний,чтобы просто продолжалась без остановки
3.- При покидании локации музыка отключалась и ставилась музыка другой локации

Aleks Versus Moderator 01.11.2015 07:20 (10 years ago)

BlackFox,
есть такая штука “\гибкий плейлист”. Практически там тебе нужно будет создать темы, состоящие из одной композиции. При переходе на локацию, где нужно сменить композицию, меняешь текущую тему и всё. Гибкий плейлист сам зацикливает композиции на повторное воспроизведение. Естественно для того, чтобы всё это выглядело, как непрерывное проигрывание мелодии, сама композиция должна быть такой, чтобы при её зацикливании казалось, что она не прерывается. Тем не менее прерывания всё равно будут из-за того, что локация counter выполняется каждые пол секунды. Но ты можешь изменить время обращений к этой локации (см. справку)

Спасибо
Немножко запутался, но теперь все работает

Aleks Versus Moderator 01.11.2015 09:15 (10 years ago)

BlackFox,
вроде бы нет ограничений. А в каком формате, разрешении картинка? В каком плеере пытаешься воспроизвести? Что появляется на экране вместо картинки?

Извини что отвлек, ошибка в формате была. Трудно быть новичком. А как ещё вставить картинку в окно описания так чтобы картинка не сливалась с текстом, т.е. сначала картинка, а под ней текст, так вроде в многих играх.

Извиняюсь за то что нагружаю. Вдохновение и энергия творить есть, а знании нет. Благодарю за ваши ответы

Поправка* - Ошибка сливания оказалась в изображений, заменил на другое нет никакого сливания. Но все ещё интересно как текст передвинуть с верху в низ картинки

Aleks Versus Moderator 01.11.2015 09:40 (10 years ago)

В самой первой локации

usehtml=1

Там, где нужно вставить картинку:

'<img src="путь к файлу картинки/картинка.png">
Текст-текст-текст'

Ещё раз спасибо.
В каком разделе FAQ можно найти инфу о создании статов персонажа и изменение при взаимодействии
К примеру Голод:50 (варьируется от 0 до 100)
Действие покушать +45 к стату голода
и к примеру за 1 час игрового времени статус голод снижается на 5.

Боже сейчас нагружу вопросами:( извините
Как поставить время и дни в игре и затраты времени на действия например спать, кушать
дней надо как обычно 7, время 24
А бы взял из примера, но там много дополнительных деталей с которыми я сейчас не справлюсь

Ещё раз извиняюсь и благодарю за помощь
Наверное надо было начать с игры по проще

BlackFox,

Да всё нормально, рады будем помочь))

Действие покушать +45 к стату голода

ACT 'Поесть':
Голод + 45
END

С временем я не дружу. Кто другой тебе и ответит.

А как сами статы сделать?

И возможно ли сделать 2 счетчика. 1 - как бы статы которые меняются за счет действии и за период времени как например с голодом. 2 - зачитывает определенные действия

Рад что тут добрые и отзывчивые люди

Aleks Versus Moderator 01.11.2015 16:58 (10 years ago)

BlackFox,
“статы” - понятие очень размытое. Задавай вопрос яснее, и тогда ответ не заставит себя ждать.
Итак. Тебе нужно добиться чего? Чтобы всё время на протяжении игры где-то отображалась информация о голоде, здоровье и прочем?
Сначала необходимо завести переменные, которые всё это будут подсчитывать (пример):

сытость = 100
максимум_сытость = 100
здоровье = 100
максимум_здоровье = 100

Теперь, предположим, что ты хочешь, чтобы информация по сытости и здоровью выводилась в окно дополнительного описания всякий раз при переходе на новую локацию. Для этого создаём локацию-обработчик перехода на новую локацию. Название может быть любым, но обычно берут onNewLoc чтоб не путаться. Создали локацию onNewLoc. Теперь на самой первой локации в игре пишем:

$onnewloc = 'onNewLoc'

Это даст плееру понять, какую именно локацию использовать как обработчик перехода на новую локацию. Написали.
Теперь пишем на локации onNewLoc следующий код:

clr & ! очистка окна дополнительного описания
*pl "Здоровье: <<здоровье>>|<<максимум_здоровье>>"
*pl "Сытость: <<сытость>>|<<максимум_сытость>>"

Готово. Однако при любом изменении здоровья или сытости последний кусочек кода придётся дублировать в том месте, где произошло изменение. Например:

act 'Съесть шоколадку':
   здоровье = здоровье + 5
   сытость = сытость + 35
   clr & ! очистка окна дополнительного описания
   *pl "Здоровье: <<здоровье>>|<<максимум_здоровье>>"
   *pl "Сытость: <<сытость>>|<<максимум_сытость>>"
end

Чтобы всякий раз не переписывать этот длинный кусочек, рекомендую вынести его на отдельную локацию и обозвать её как-нибудь “вывод_статов”. Тогда можно будет писать только одну строчку:

act 'Съесть шоколадку':
   здоровье = здоровье + 5
   сытость = сытость + 35
   gosub 'вывод_статов'
end

Чтобы какой-то параметр не мог превысить определённое значение, используются конструкции условий. Например, применительно к нашему действию:

act 'Съесть шоколадку':
   здоровье = здоровье + 5
   сытость = сытость + 35
   if (здоровье > максимум_здоровье): здоровье = максимум_здоровье
   ! если здоровье больше максимально возможного значения, приравниваем его значение к максимальному
   ! и для сытости
   if (сытость > максимум_сытость): сытость = максимум_сытость
   gosub 'вывод_статов'
end

Log in or Register to post comments.