Форум переехал на новый адрес: http://qsp.su



АвторСообщение



ссылка на сообщение  Отправлено: 01.02.09 14:29. Заголовок: Помогите найти ошибку


Я писал квесты и даже проги на старом QSP (3.0 или что то типа того). Совсем недавно узнал, что у всех уже давно новая версия. Решил создать прогу для генерирования боев. Там должен быть случайный выбор. Найдя в новом QSP только 1 команду для случайного числа (раньше их было вроде 2), я создал такую строчку:

if скорость=1:set a=RAND([1,4])
if a=<3:p 'Боец 1 атаковал первым'
if a=4:p 'Боец 2 атаковал первым'


Ранее на локациях было указанно, что скорость=1

Однако выдает ошибку:

Локация: Результат_раунда
Место: При посещении
Строка: 1
Код ошбки: 118
Описание: Ошибка синтаксиса!


В первой строке и пробелы уберал, и наоборот добавлял, но ошибка от этого не меняеться.
Не подскажите, что делать?

Спасибо: 0 
Профиль Цитата Ответить
Ответов - 13 [только новые]


moderator


ссылка на сообщение  Отправлено: 01.02.09 14:32. Заголовок: if скорость=1:set a=..


if скорость=1:set a=RAND(1, 4)

Спасибо: 1 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 01.02.09 14:38. Заголовок: Ой, спасибо! Только ..


Ой, спасибо!
Только сейчас понял, что квадратные скобки, это скобки из Helpa, когда в нем пишут [#выражение1]

Еще раз спасибо!

Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 01.02.09 14:40. Заголовок: нзшт (: обращайтесь ..


нзшт (: обращайтесь ещё.

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 01.02.09 15:07. Заголовок: Может я конкретно ту..


Может я конкретно туплю, а может с непривычки, но все же, если не трудно, ответте.

Пишу:
if скорость=1:set a=RAND(1,4)
if a=<3:*pl 'Боец 1 использовал атаку первым'
if a=4:*pl 'Боец 2 использовал атаку первым'
if скорость=2:set b=RAND(1,4)
if b=<3:*pl 'Боец 2 использовал атаку первым'
if b=4:*pl 'Боец 1 использовал атаку первым'

Ранеее было указанно, что скорость=2

Но в самой игре пишет вот так вот:
"Боец 1 использовал атаку первым"
"Боец 1 использовал атаку первым"

Или
"Боец 2 использовал атаку первым"
"Боец 2 использовал атаку первым"

А то и вообще
"Боец 1 использовал атаку первым"
"Боец 2 использовал атаку первым"

Т.е. по два сообщения. Если не трудно, обьясните как правильно


Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 01.02.09 16:15. Заголовок: А что конкретно нужн..


А что конкретно нужно? Если выбрать первого нападающего - то зачем строчки начиная с "if скорость=2:set b=RAND(1,4)" ?
Если нужно ввести бонус по скорости, то можно сделать так:
 
if RAND(1,4)<=скорость:
*pl 'Боец 1 использовал атаку первым'
else
*pl 'Боец 2 использовал атаку первым'
end

При скорости 1, боец1 будет атаковать первым с вероятностью 25%;
При скорости 4, боец1 будет атаковать первым с вероятностью 100%.
Соответственно для скорости 2 - 50%, для 3 - 75%.

Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 01.02.09 19:01. Заголовок: if скорость=1: set a..


if скорость=1:
set a=RAND(1,4)
if a=<3:*pl 'Боец 1 использовал атаку первым'
if a=4:*pl 'Боец 2 использовал атаку первым'
END
if скорость=2:
set b=RAND(1,4)
if b=<3:*pl 'Боец 2 использовал атаку первым'
if b=4:*pl 'Боец 1 использовал атаку первым'
END

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 01.02.09 20:06. Заголовок: Byte , это нужно ско..


Byte , это нужно скорее не для игры, а для расчета боев на одном ФРПГ форуме. Перед расчетом спрашиваеться, какой боец быстрее, боец 1 или боец 2.
Если выбирают, что боец 1, то скорость=1
Если выбирают, что боец 2, то скорость=2
А затем, более медлительный боец имеет шанс атаковать первым 1/4, а более быстрый 3/4.

elmortem, сейчас попробую

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 03.02.09 16:08. Заголовок: Люди, а как проверну..


Люди, а как провернуть такое:
Если нет действия, то добавить действие.
Я пробовал:
if no act 'xxx': act 'yyy'
но оно не подходит. Подскажите, как мне такое сделать?

Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 03.02.09 16:17. Заголовок: При добавлении дейст..


При добавлении действия присваивай какой-нить переменной некое значение. А где проверить нужно, есть ли действие - проверяй значение этой переменной. В общем тут так просто не сделать, придётся слекга поплясать с бубном.

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 03.02.09 20:36. Заголовок: Mixam, проверка на с..


Mixam, проверка на существование действия с именем добавляемого происходит всегда, автоматически.
То есть можно написать просто act 'название':'text' - всегда будет только одно такое действие. Никаких IF для этого не нужно.

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 03.02.09 21:20. Заголовок: Byte, ты немного не ..


Byte, ты немного не понял. Например:
Идет диалог. После произношения реплики она удаляеться, но нужно, чтобы добавилась новая (другая). Дабы не мучаться с горой локаций я хотел сделать это в одной. (Кстати, не помню где, но в каком-то конструкторе я видел, что диалог строится с помощью специального окна. Там можно было выставить, как реагирует собеседник на ответ, можно запоминать совокупности ответов, а затем использовать, чтобы собеседник отвечал соответствующе. Можно сделать такое в URQ. Если ты не понял, что я предложил, то не грузись)
И новый вопрос:
if действие1=1 & действие2=1 & действие3=1:
*pl '123'
delact 'ввв'
act 'Уйти':xgt 'Уйти'
END

(все названия изменены, дабы не расскрывать даже мелкие детали будущей игры)
Все действия=1, но действие не добавляет. Что делать?

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 03.02.09 21:32. Заголовок: Mixam, может ты тако..


Mixam, может ты такое имел в виду?
 
act 'Действие':
delact $selact
act 'Другое':
'text'
end
end

Нужно писать AND: "if действие1=1 and действие2=1 and действие3=1:"
Запоминать ответы тоже можно.

Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 03.02.09 23:10. Заголовок: Mixam в примерах на ..


Mixam в примерах на http://qsp.su был и пример для диалогов.

Спасибо: 0 
Профиль Цитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 2
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация вкл, правка нет



Создай свой форум на сервисе Borda.ru
Текстовая версия