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



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



ссылка на сообщение  Отправлено: 04.11.08 15:15. Заголовок: Как это сделать?


Только начал программить на QSP. Вопрос: как сделать так, чтобы после выполнения одного действия, в этой же локации становились видны другие, до этого не видимые? Хелп читал - не нашёл ответа. И ещё - можно ли с помощью оператора DYNAMIC создавать новые действия и предметы?

Спасибо: 0 
Профиль Цитата Ответить
Ответов - 201 , стр: 1 2 3 4 5 6 7 8 9 10 11 All [только новые]


демиург




ссылка на сообщение  Отправлено: 05.12.08 11:33. Заголовок: Подскажите плизз, ка..


Подскажите плизз, как можно узнать название не текущей, а предыдущей локации. Можно как-то это сделать средствами языка, а не добавлением переменных?

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




ссылка на сообщение  Отправлено: 05.12.08 12:19. Заголовок: ну так понадобится в..


ну так понадобится всего 1 переменная.
На предыдущей локации пишешь $loc=$CURLOC
А на текущей можешь проверить IF $loc <> 'подвал': и т.д.

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




ссылка на сообщение  Отправлено: 05.12.08 12:38. Заголовок: Можно сделать такое ..


Можно сделать такое для всей игры сразу, автоматически - на $ONNEWLOC добавляем код
$prevloc=$curloc

Теперь при обработке кода новой локации (при переходах) в $prevloc будет имя предыдущей локации.

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




ссылка на сообщение  Отправлено: 05.12.08 16:15. Заголовок: О, спасибо :)..


О, спасибо :)

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




ссылка на сообщение  Отправлено: 09.12.08 13:04. Заголовок: Byte пишет: Можно ..


Byte пишет:

 цитата:

Можно сделать такое для всей игры сразу, автоматически - на $ONNEWLOC добавляем код

$prevloc=$curloc


Теперь при обработке кода новой локации (при переходах) в $prevloc будет имя предыдущей локации.



А можно пожалуйста пример, а то я видимо что-то делаю неправильно, потому что у меня это всё не работает.

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




ссылка на сообщение  Отправлено: 09.12.08 13:55. Заголовок: #2 $onnewloc='ne..


 
#2
$onnewloc='new'
act 'next':gt '3'
-

#3
'Вы перешли с локации <<$prevloc>>'
-

#new
$prevloc=$curloc
-

Если переменную $prevloc нужно использовать в коде действий, то нужно во временной переменной в коде локации сохранить имя предыдущей:
 
#2
$onnewloc='new'
act 'next':gt '3'
-

#3
$ploc=$prevloc
'Вы перешли с локации <<$prevloc>>'
act 'show':'Вы перешли с локации <<$ploc>>'
-

#new
$prevloc=$curloc
-


UPD: Есть ещё такой вариант:
 
#2
$onnewloc='new'
act 'next':gt '3'
-

#3
'Вы перешли с локации <<$prevloc>>'
act 'show':'Вы перешли с локации <<$aprevloc>>'
-

#new
$aprevloc=$prevloc
$prevloc=$curloc
-

То есть, для кода локации используется $prevloc, а для кода действий $aprevloc.

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




ссылка на сообщение  Отправлено: 10.12.08 14:06. Заголовок: ммммм... Я запуталас..


ммммм... Я запуталась.
Давайте так.

Я создаю локацию с именем "onnewloc"
пишу на ней $prevloc=$curloc

насколько я поняла - это должнло выполняться всегда, когда я перехожу на новую локацию?

но если я на локации с названием "Карта" делаю
act 'next': gt $prevloc

он говорит, что такой локации не существует, при условии, что в локацию Карта - я захожу с какой-то локации.

Что здесь не так? Где ошибка?


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


ссылка на сообщение  Отправлено: 10.12.08 14:23. Заголовок: Ajenta в самой перво..


Ajenta в самой первой локации напиши
$ONNEWLOC = 'onnewloc'


Байт, будь лаконичнее. К тому же девушка наверняка пользуется QGen4, а не TXT2GAM.

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




ссылка на сообщение  Отправлено: 10.12.08 14:35. Заголовок: Угу, пасиб, попробую..


Угу, пасиб, попробую.

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




ссылка на сообщение  Отправлено: 10.12.08 15:01. Заголовок: Тааак. Сделала как ..


Тааак.

Сделала как сказали.

Я сделала вывод переменной $prevloc на экран

Происходит следующее

Перехожу я на карту - $prevloc пишет название предыдущей локации.
Делается act 'next': gt $prevloc

после чего $prevloc - пишет Карта и никуда не переходит

я что-то опять не так делаю. :(

что ему ещё нехватает?

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




ссылка на сообщение  Отправлено: 10.12.08 15:03. Заголовок: А пользуюсь действит..


А пользуюсь действительно QGen'ном и именно четвёртым.

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


ссылка на сообщение  Отправлено: 10.12.08 15:14. Заголовок: В локации "onnew..


В локации "onnewloc" должно быть это:
$aprevloc=$prevloc 
$prevloc=$curloc


Когда используешь "имя предыдущей локации", то для действий используй переменную $aprevloc, а для остального - $prevloc.
т.е. действие должно быть таким:
act 'next': gt $aprevloc


Извини, что сразу не разобрался.

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




ссылка на сообщение  Отправлено: 10.12.08 15:17. Заголовок: Урра!!! Заработало! ..


Урра!!! Заработало!

Чмок и большущее спасибо Сама бы фиг догадалась.

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



ссылка на сообщение  Отправлено: 25.02.09 18:19. Заголовок: Люди, я очень давно ..


Люди, я очень давно здесь не был - появился вопрос.
Есть вот такой код

 цитата:
$USERCOM=$CURLOC
$USRTXT = ''
if (первое_посещение=1):
'Встаю.
В комнате полумрак - не понятно, ещё ночь или уже утро?'
act 'посмотреть на будильник': !смотрит прямо
end
первое_посещение=0
end

if ($USRTXT = '1'): ! посмотрел направо
cla
act 'посмотреть на будильник':
end
end

if ($USRTXT = '2'):
cla
act 'включить свет': !посмотрел прямо
'включил свет'
end
end

if ($USRTXT = '3'):
act 'открыть шторы': !посмотрел назад
end
end



При вводе в поле ввода числа 2 должно появляться действие 'включить свет'. На деле оно ещё и выполняется - почему?
Кстати, denis - это я, админ, напомни мне мой пароль, пожалуйста.
игру, которую я делал, я успешно по**рил во второй раз - теперь уже путем форматирования жёсткого.

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



ссылка на сообщение  Отправлено: 25.02.09 18:53. Заголовок: Всё, разобрался, это..


Всё, разобрался, это баг - Byte, поправь, сейчас если ставишь после act: комментарий, то действие сразу выполняется.

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


ссылка на сообщение  Отправлено: 25.02.09 19:18. Заголовок: denis-1 это не баг. ..


denis-1 это не баг. Это запланированные Байтом грабли. Восклицательный знак в языке QSP - не просто комментарий, а оператор комментария, который:

нельзя использовать в конструкциях
 
IF a=b : !наше условие
*PL 'a равно b'
END

, т.к. он посчитает комментарий за оператор, а раз после двоеточия стоит оператор, то IF будет считаться однострочным; то же касается и ACT;

нельзя использовать так:
 
*PL 'строка1'
! Byte's soft
*PL 'строка2'

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

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



ссылка на сообщение  Отправлено: 25.02.09 20:03. Заголовок: Ага, спасибо. Завтра..


Ага, спасибо. Завтра выложу (тьфу-тьфу-тьфу!) завязку игры для тестирования. :)

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



ссылка на сообщение  Отправлено: 25.02.09 20:38. Заголовок: А можно в этой теме ..


А можно в этой теме выкладывать поэпизодно игру, если она конкурсная? Т.е. выложу 2-3 эпизода, а в полной версии их 18-20? Просто мне для тестирования нужно.

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




ссылка на сообщение  Отправлено: 25.02.09 20:44. Заголовок: Допускается только з..


Допускается только закрытое тестирование (можно высылать небольшому кругу лиц - с оговорками). Игра или её части не должны быть опубликованы ранее срока сдачи игр.
denis, и ещё - если собираешься участвовать в конкурсе, нужно подать заявку (автор+предварительное название).

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



ссылка на сообщение  Отправлено: 25.02.09 21:27. Заголовок: Отлично! Завтра вышл..


Отлично! Завтра вышлю тебе и Nex-у! :)

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

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



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