RU 📌 Pinned

Как сделать?

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

Draka,
почти весь код - ошибка. Забыто двоеточие в IF, используется переменная с зарезервированным именем, результат выполнения функции RAND никуда не сохраняется, нехватает END’ов для многострочных IF’ов.

Вот исправленный код.

IF Недовольство >= 100:
случайность = RAND(0,1)
IF случайность = 0:
MSG ‘Недовольное население объявило вам гражданскую войну!’
Война = 1
ELSE
MSG ‘Население устроило вам революцию и казнило вас!’
GOTO ‘Начало’
END
END

Draka,
можно было бы записать ещё короче, вообще не используя переменную “случайность”. Оставил лишь для наглядности.

Nex, спасибо.

А как бороться с тем, что в действии “Пропуск хода” у меня большой код, но обрабатываются только строчки, которые идут самыми первыми, а вернее:

if (Лесопилки > 1 or Лесопилки = 1):
 Дерево = Дерево + Лесопилки*20
 goto $curloc
End
AND
if (Шахты > 1 or Шахты = 1):
 Железо = Железо + Шахты*20
 goto $curloc
END

И обрабатываются строчки только про древесину.

goto $curloc лишнее, у тебя по идее игра должна зависать из-за зацикливания локации

newsash,спасибо, ошибка была именно в этом.

Подскажите, пожалуйста, решение проблемы:
В конструкции типа:
Локация 1
IF $ARGS[0]= ‘A’:
PLAY ‘музыка.mp3’
ACT 1
END
IF $ARGS[0]= ‘B’:
ACT 2
END
При переходе с ‘A’ на ‘B’ музыка пропадает. Как сделать, чтоб она все время играла на этой локации?
Заранее благодарен.

PLAY 'музыка.mp3'
IF $ARGS[0]= 'A':
ACT 1
END
IF $ARGS[0]= 'B':
ACT 2
END

При переходе с ‘A’ на ‘B’ при таком варианте песня каждый раз начинается сначала. А хотелось бы, чтобы она не прерывалась.
Мне именно хотелось, чтобы песня запускалась не с начала локации, а из одного из значений индекса, допустим, не с “А”, а с “B” или “C”, и играла без остановки по кругу до команды выхода…

Jolly Roger, попробуй посмотреть вот это.

Aleks Versus Moderator 04.09.2014 13:49 (11 years ago)

Jolly Roger,
самый простой, но не самый удачный, вариант с использованием локации-счётчика. Создаёшь локацию счётчик, например с названием “счётчик”. В начале игры пишешь:

$counter = "счётчик"

Этим ты сообщаешь плееру, какую локацию нужно использовать в качестве счётчика. На локации “счётчик” пишешь примерно следующее:

if $curloc='имя_локации' and isplay('музыка.mp3')=0:
    play 'музыка.mp3'
end

где имя_локации - имя локации, на которой нужно запускать музыку,
музыка.mp3 - относительный путь к музыкальному файлу, который хочешь воспроизводить,
команда isplay проверяет проигрывается ли файл в данный момент, и если не проигрывается выдаёт 0.
Период обращения к локации счётчику по умолчанию полсекунды, соответственно - могут наблюдаться небольшие паузы перед очередным запуском мелодии.

newsash
Aleks Versus
Спасибо! Это ценная информация для меня, и теперь я более осмысленно разбираюсь в плеерных командах, а то все руки не доходили :D
Однако при обоих вариантах песня при смене индекса прерывается и начинается сначала…

Aleks Versus,
ты путаешь “&” и “AND”.

Aleks Versus Moderator 04.09.2014 14:44 (11 years ago)

Nex,
да, прошу прощения. Автоматически написал. Исправил.

Log in or Register to post comments.