RU 📌 Pinned

Как сделать?

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

Спасибо, пытаюсь разобраться. Пока не очень. Но вопрос навскидку - а если это один и тот же файл, может быть в этом проблема? Ну, скажем, два разных действия через короткий промежуток времени вызывают один и тот же более-менее продолжительный звук. Второе действие - вызывать отказывается.

Aleks Versus Moderator 21.04.2017 19:38 (8 years ago)

mkir,
если ты вызываешь тот-же самый файл, то плеер не запускает его второй раз. Он просто изменяет уровень громкости.

wiki.qsp.su:

PLAY [$путь],[#громкость] - проигрывание звукового файла по заданному пути и с заданной громкостью.

  • Громкость указывается в процентах от 0 до 100. >

  • Параметр [#громкость] может отсутствовать, при этом громкость принимается равной 100%. >

  • Если файл уже проигрывается, то изменяется громкость звучания без его “перезапуска”. >

  • Поддерживается множество различных аудиоформатов и одновременное звучание до 32-х композиций. >

Доброго вечера. Надеюсь я еще не надоел :)
Всем спасибо за ответы, надо будет еще переварить.
У меня тут другой вопрос возник:
Как сделать чтобы при посещении локации, пусть она будет называться Портал, случайным образом выводились действия перехода на другую локацию. Например заходишь в Портал а там действие “Попасть в Антарктиду”, а в следующий раз там может быть другое действие “Попасть в Мордор”.

Larson,

'Портал такой портал.'
portal_event = rand(1,10)

if portal_event = 2: act 'Попасть в Антарктиду': gt 'антарктида'
if portal_event = 4: act 'Попасть в Мордор': gt 'мордор'
! И так дальше

Чтобы повторно не появлялось, делаем флаг:

if portal_event = 2:
  if antark_check = 0: act 'Попасть в Антарктиду': gt 'антарктида'
end

Но тогда, если выпадет 2, а он уже там бывал, и вы поставили флажок что уже заново сходить не можно, делаем соответственно:

if portal_event = 2 and antark_check = 1 or portal_event = 4 and mordor_check = 1: *pl 'К сожалению, сегодня магическая буря, и портал работает некорректно. Извините за неудобства!'

Да, если мест в которые попасть много, придется писать так. Других способов лично Я не знаю, или не захотел придумать :)
Можно конечно дробить:

if portal_event = 2 and antark_check = 1: *pl 'Сегодня нельзя, барон зол как вепрь, запретил путешествовать через портал.'
if portal_event = 4 and mordor_check = 1: *pl 'Вообще не вариант, слишком уж лениво.'

Какие операторы соответствуют командам “И” и “Или”?

Aleks Versus Moderator 23.04.2017 13:15 (8 years ago)

Совёнок v1.1,
И - and
или - or

Справка ЗДЕСЬ.

Подскажите, может, кто-нибудь уже делал на qsp - какую-нибудь энциклопедию наподобие вики? Собираюсь делать что-то похожее, особых трудностей не вижу, но может ест какие-то дельные советы и полезные фишки от тех, кто уже это делал.

Добрый день.
Пытаюсь вывести в таблицу текст, растянутый по ширине. Вот так:

*p '<table border="1"><tr><td><p align="justify">Текст</p></td></tr></table>'

Текст выводится, но не с первой, а со второй строки. Первая остается пустой. Если не использовать тег <p>, то всё выводится нормально, без переноса. Так и должно быть, или это я опять что-то не так делаю? Если так и должно быть, то можно ли как-то это обойти?

Aleks Versus Moderator 25.04.2017 17:14 (8 years ago)

Hinkmar,
ты прав. Какая-то ерунда с тегом <p>. Я могу посоветовать только использовать div вместо него.

Aleks Versus,
Спасибо, с div-ом всё выглядит как надо.

Помогите, добрые люди! Как сделать в игре что-то типа консоли? Например в окне описания написано “введите QWERTY для открытия двери”, и нужно написать в поле ввода QWERTY и нажать “enter”. Как сделать так, чтобы после того как текст введён (нажата кнопка “enter”) плеер “прочитывал” введённый текст, проверял QWERTY это или нет и в первом случае открывал дверь?

Можно разными способами. Самые простые:

1. В первой локации написать
$usercom=‘usercom’

Добавить локацию с названием usercom

В ней:
if USER_TEXT = ‘Любое слово’:
!любое действие
end

2. Непосредственно в коде конкретного действия можно написать
$x = input (”y”)
!x- любая переменная, y - текст, объясняющий игроку, что делать, что вводить
ну, а затем уже последствия введенного, типа:

if $x = :
else
end

либо, например
if x < 1:
pl ‘Некорректное число’
end
if x > 0:
pl ‘Окей, пусть будет <<x>>’
end
(для чисел, но тогда $ убрать и в начале)

Я может где то что то упустил но я немного не понял как создать правильным путем случайное событие так чтоб в итоге попасть на нужную локацию.
и нет ли команды которая возвращает на прошлую локацию с которой я прибыл ?

Lv2013,
Кхм… Буквально страницу назад дали объяснение на этот вопрос.

'Портал такой портал.' 
portal_event = rand(1,10) 

if portal_event = 2: act 'Попасть в Антарктиду': gt 'антарктида' 
if portal_event = 4: act 'Попасть в Мордор': gt 'мордор' 
! И так дальше

Чтобы вернуться обратно:

Act 'Уйти в закат': gt 'Локация на которую нужно вернуться'

Для более универсального кода, придется поработать головой.

Случайное событие:

Spoiler
event = rand(1,10)

if event = 5:
  *pl 'Сегодня овощи не привезли, сынок. Люди вскоре могут начать бунт, так что возьми стражу и постарайся этот самый бунт утихомирить.'
  *nl
  *pl '- Хорошо Отец.'
  gt 'казармы'
end

Log in or Register to post comments.