RU 📌 Pinned

Как сделать?

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

прикрепите файл

Из локации stat нужно убрать значения переменных.
У вас получается, что каждый раз, когда вы заходите на эту локацию, переменные принимают начальное значение. Оставьте там только это

‘Ваша жизнь: <<Жизнь>>’
‘Жизнь минотавра: <<Жизнь_минотавра>>’

kosmosnash, спасибо заработало/ И еще возник вопрос, система воспринимает отрицательные значения, т.е. если у меня в условии IF Жизнь_минотавра < 0:
GOTO “Победа_над_минотавром” - то при значении -2 оно должно срабатывать? (если я правильно понимаю, то должен появляться переход на локацию “Победа_над_минотавром”)?

Ну лично я как-то никогда не работал с отрицательными. Но должно работать, конечно)

kosmosnash,
Я так понимаю, что условия
IF Жизнь_минотавра < 0:
GOTO “Победа_над_минотавром”
END
мало для того, чтобы после победы игрок мог перейти на “специальную” локацию. Просто у меня опять текст появляется, жизни считаются, но ничего не происходит…

IF Жизнь_минотавра < 0:
GOTO “Победа_над_минотавром”
END
Именно эта конструкция должна работать. Значит где-то условие не выполняется. Попробуйте вместо < поставить <=

kosmosnash,
Я ничего не понимаю. С дейсвтием тоже какая-то фигня
IF Жизнь_минотавра > 50:
Жизнь_минотавра = Жизнь_минотавра - 51
gs ‘Stat’
PL “Ты с ловкостью дикого хищника бросаешься на минотавра и пронзаешь его мечем. Еще один удар и враг повержен ”
ELSE
Жизнь = Жизнь - 20
gs ‘Stat’
PL “Минотавр сильный и коварный противник. Он легко уклоняется от удара и наносит свой.”
GOTO $CURLOC
END
Если второй раз воспользоваться этим действием, то оно просто отменяет результат предыдущего. Т.е. после первого применения Жизнь_минотавра уменьшается, но если нажать кнопку действия еще раз, то строчка с предыдущим действием исчезает и Жизнь_минотавра снова становиться 100…

А условия “Победы” так и на работают…

Aleks Versus Moderator 11.01.2015 17:18 (11 years ago)

Nikus,
в локации stat убери первую и третью строчку и перенеси их в действие “Атаковать минотавра”. Таким образом при выборе действия “атаковать минотавра” один раз будут выставлены параметры здоровья для героя и минотавра, и действие будет работать правильно.
Локация stat:

'Ваша жизнь: <<Жизнь>>' 
'Жизнь минотавра: <<Жизнь_минотавра>>'

Локация Зал_Сияние:

IF OBJ "Меч":
	ACT "Атаковать минотавра":
		GOTO "Бой_с_минотавром_меч"
		Жизнь_минотавра = 100
		Жизнь = 100
	END
END
IF OBJ "Факел":
	ACT "Атаковать минотавра":
		GOTO "Бой_с_минотавром_факел"
	END
END
IF OBJ "Компас":
	ACT "Атаковать минотавра":
		GOTO "Бой_с_минотавром_компас"
	END
END

Условия победы работают, но поскольку локация победы не создана, перейти на неё нельзя.
С условиями победы проглядел, напишу ниже.

Aleks Versus,
Прошу прощение, но у меня в stat-у только две строчки ‘Ваша жизнь: <<Жизнь>>’
‘Жизнь минотавра: <<Жизнь_минотавра>>’

Aleks Versus Moderator 11.01.2015 17:22 (11 years ago)

Тогда прошу вновь прикрепить файл.

Добавлено:
В действиях ударов GOTO $CURLOC срабатывает только при одном условии, а должно срабатывать всякий раз при выборе действия, поэтому переход на локацию и проверка не срабатывают. Перенеси строчку GOTO $CURLOC в самый низ действий.
Ещё добавлено:
И при проверке уровня здоровья минотавра и героя используй не строго меньше или больше, а <= и =>.
локация бой_с_минотавром_меч:
IF Жизнь <= 0:
GOTO “Смерть_от_минотавра_в_бою”
END
IF Жизнь_минотавра <= 0:
GOTO “Победа_над_минотавром”
END

В настоящий момент несколько запар

1. когда я повторяю “Рубящий удар”, он обнуляет предыдущий результат этого же действия
2. когда минотавр повержен (применения “рубящего удара” а затем “быстрого выпада” дают жизнь_минотавра = -2) условие победы на этой локации (”Бой_с_минотавром_меч”) не срабатывает labirint2.qsp

Заранее спасибо за помощь и поддержку

Aleks Versus Moderator 11.01.2015 17:34 (11 years ago)

Nikus,
Смотри пост выше, я там кой чего дописал.
На локации бой_с_минотавром_меч первые две строчки лишние. Они-то и восстанавливают здоровья при переходе GOTO $CURLOC.
Вот эти две строчки лучше всего перенести в действие “атаковать минотавра”, как я показал несколько сообщений назад.

Aleks Versus,
Если я вас правильно понял речь идет о действиях “Быстрый выпад” и “Рубящий удар” и в них есть GOTO $CURLOC, который нужно перенести в самый низ - после END? если это сделать, просто перестает отображаться результаты боя… И после победы меня так никуда и не переносит… я остаюсь на этой локации.

Все понял, прошу прощение за свою медленность… заработало!!!!! Спасибо

Есть только один пикантный момент, герой к этому времени в одной из локации может потерять 5 жизни, а тут получается, что он “регенерирует”

Aleks Versus Moderator 11.01.2015 17:43 (11 years ago)

Nikus,
А разве результат боя ты выводишь не в дополнительное описание?

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

Log in or Register to post comments.