Как сделать?
…
Nikus,
GS ‘имя_локации_с_изначальными_данными_кармы’
Aaaspavel,
https://qsp.org/forum/516-quest-navigator-dla-windows
Nikus,
Да нет же. вот у вас получилось добавить строку “$usercom = ‘USERCOM’” в стартовую локацию, вот также добавьте туда же строку - “Белая_карма = 5”.
И все! Она будет равна пяти покуда не последует команда к ее изменению.
Nex,
Спасибо. Сработало !!!!!!
Всем привет. Сделал действие по условию:
Условие:
флаг_1=1
*NL ‘<font>Вы послали предложение о встрече 1</font>’
В диалоге:
флаг_входящий_вызов1=1
Действие:
if флаг_1=1 and флаг_входящий_вызов1<>1:act’<font color=red><center>Входящий вызов</center></font>’: gs’Диалог_1_Т’
Необходимо чтобы активация произошла через день после выполнения условия по игровому времени. Что сюда надо вписать?
И ещё проблемка: почему то отображаются картинки только в формате gif. png и jpg не открывает.
Сергей:
И ещё проблемка: почему то отображаются картинки только в формате gif. png и jpg не открывает.
Проблема оказалась в базовом paint: если редактировать изображения через него - ничего не открывается. Воспользовался paint.net - всё отображается как положено.
Сергей,
объясни не в виде кода, а логику событий. Я правильно понимаю: где-то ты как бы “отправил письмо” (флаг_1=1), а через сутки должно появиться действие “входящий вызов”?
По-идее, необходимо вычислить пороговое время (время, когда произойдёт событие) и записать в переменные. А уже потом, по аналогии, как делали раньше.
флаг_1=1
year['флаг_1']=year
month['флаг_1']=month
day['флаг_1']=day+1
hour['флаг_1_низ']=hour
hour['флаг_1_верх']=hour+1
Событие:
if year=year['флаг_1'] and month=month['флаг_1'] and day=day['флаг_1'] and hour>=hour['флаг_1_низ'] and hour<=hour['флаг_1_верх'] and флаг_входящий_вызов1<>1 and флаг_1=1:
act'<font color=red><center>Входящий вызов</center></font>': gs'Диалог_1_Т'
флаг_входящий_вызов1=1
end
Для размещения кода пользуйся, пожалуйста, кнопкой “код” 
И старайся впредь избегать однострочных if и act. Это неизбежно приведёт тебя к путанице и ошибкам.
Aleks Versus,
Спасибо. Получилось
Доброго времени суток. Требуется помощь по навигатору. Создаю игру без шаблона. Т.е. использую только стандартный game.js.
css и html - с нуля.
Собственно вопрос: как создать блок вывода действий? Что именно прописать в CSS?
Macmep,
смотри в существующий шаблон, и бери оттуда.
Nex,
Дело в том, что я с js на Вы и по отчеству. Просто создание слоя с ид qsp-acts не дает результата.
В нем отображается все, что угодно, кроме “act” ов.
Всем привет, не подскажите ли ответ на вопрос по поводу боевки (заранее сорри если этот вопрос уже был и я случайно его пропустил). Как сделать чтобы при переходе через локацию была случайная вероятность что на игрока нападет какой-нибудь монстр например:
Игрок переходит на другую локацию. Вероятность что: Ничего не произойдет - 70 %, что на игрока нападет волк - 20 %, что на игрока нападет медведь - 10 %. (локации для боя я уже сделал) И если кто-то нападает происходит переход в локацию (Волк бой, Медведь бой и тд.), а затем если игрок побеждает происходит переход обратно на локацию где был игрок. Ситуация осложняется тем что локаций для каждого боя у меня несколько. Пример: Волк бой 1 (здесь описывается сам волк, его внешность, характеристики, и мысли игрока), потом Волк бой 2 (здесь сам бой) затем если игрок побеждает то открывается локация Волк бой победа (где описывается состояние игрока, его эмоции, а также игрок получает опыт за убийство монстра) и отсюда надо будет вернуться в ту локацию откуда стартовал это эвент, но я хочу сделать так чтобы игра не привязывала это эвент к какой-то конкретной локации, чтобы я мог его размещать где угодно и в конце боя игра возвращала туда откуда стартовал этот эвент.
P.S. Сорри если вопрос тупой просто я ничего не понимаю в разработке текстовых игр, но полон решимости и энтузиазма делать.
Prizrak_07,
“при переходе через локацию была случайная вероятность”
Есть такая функция в QSP - Rand. Например, Rand (1,6) выдаст случайное число от 1 до 6. Ближайшая аналогия - бросок игральной кости. Вообще-то это есть в документации. А по поводу того чтобы не было привязки к определенной локации - запуск ивента надо сделать в служебной локации $ONNEWLOC. Но надо задавать условия так чтобы этот ивент не выскакивал там где не надо. Если прям везде и всегда можно, то тогда проблем нет.
Набросал один из упрощенных вариантов, без боевки, лишь с определенной вероятностью победы. Может, кто-то тебе и поизящнее предложит :) Fight_1.qsp
St-john,
Спасибо я попробовал сделать и отчасти помогло, но как я уже говорил у меня несколько локаций для одного боя т.е команда goto $curloc,1 не работает и не переносит на локацию старта. + доп вопрос можно ли сделать какую нибудь команду чтобы этот ивент действовал лишь в определенных локациях, например: Перекресток,Темный лес 1, Темный лес 2.
И еще вопрос по диалогам я делал по вот этому образцу (http://qsp.su/index.php?option=com_content&view=article&id=72:-11&catid=36:2009-02-19-06-11-21&Itemid=76). Проблема в том что по идее при выборе одного варианта второй должен исчезнуть но он не исчезает. Вот пример одного из моих диалогов:
Spoiler
cla
if args[0]=0:
if Скретч=0:
‘<font color=green>(Белка) — Эй ты какого х*я ты лезешь в мой дом !?</font>’
act’Ты говорящая белка ?!’:
‘<font color=blue>(<<$Имя>>) — <<$selact>></font>’
delact $selact
‘<font color=green>(Белка) — (Вздох)Слушай этот мир полон гномов, эльфов, драконов, магов, а тебя волнует говорящая белка !?</font>’
wait 1000
if $Пол = ‘Мужчина’:
‘<font color=green>(Белка) — Да я умею говорить и мне не нравиться что какой-то урод лезет прямо ко мне в дом без приглашения !</font>’
end
if $Пол = ‘Женщина’:
‘<font color=green>(Белка) — Да я умею говорить и мне не нравиться что какая-то дура лезет прямо ко мне в дом без приглашения !</font>’
end
gs ‘Скретч диалог’,1
end
act ‘Это ты кидал шишки в меня !’:
‘<font color=blue>(<<$Имя>>) — <<$selact>></font>’
delact $selact
if $Пол = ‘Мужчина’:
‘<font color=green>(Белка) — А ты как хотел? ты же самым наглым образом полез прямо в мой дом!</font>’
wait 1000
end
if $Пол = ‘Женщина’:
‘<font color=green>(Белка) — А ты как хотела? ты же самым наглым образом полезла прямо в мой дом!</font>’
wait 1000
end
‘<font color=green>(Белка) — Вот я и кинул и кину еще если не прекратишь ибо нехуй !</font>’
gs ‘Скретч диалог’,1
end
end
end
if args[0]=1:
if Скретч=0 and Пакет_орехов = 1:
act’Попытаться успокоить белку дав ей орехи’:
‘<font color=blue>(<<$Имя>>) - Слушай прости за вторжение, я не знал что тут кто-то живет, и в качестве извинения позволь угостить тебя орехами.’
delact $selact
set Пакет_орехов = 3
DELOBJ ‘Пакет орехов’
wait 1000
‘<font color=green>(Белка) — О орешки, мои любимые !, ну ладно прощаю.</font>’
wait 500
‘<font color=green>(Белка) — Тебя как звать то ?</font>’
‘<font color=blue>(<<$Имя>>) — <<$Имя>>’
wait 500
‘<font color=green>(Белка) — А меня Скретч очень приятно. ?</font>’
wait 500
‘<font color=green>(Скретч) — Ну, ты обращайся, если что нужно будет, где меня найти – уже знаешь.</font>’
set Скретч = 1
gs ‘Скретч диалог’,2
end
end
end
if Скретч=0:
act ’Попытаться успокоить белку (Харизма)’:
delact $selact
if Харизма => 8:
’<font color=blue>(<<$Имя>>)(Харизма УСПЕХ) (Вы прилагаете все усилия, чтобы убедить белку, что вы не враг и не хотели ее обворовать или съесть.)’
‘<font color=green>(Белка) — Да в красноречии тебе не откажешь, ну ладно верю.</font>’
wait 500
‘<font color=green>(Белка) — Тебя как звать то ?</font>’
‘<font color=blue>(<<$Имя>>) — <<$Имя>>’
wait 500
‘<font color=green>(Белка) — А меня Скретч очень приятно. ?</font>’
wait 500
‘<font color=green>(Скретч) — Ну, ты обращайся, если что нужно будет, где меня найти – уже знаешь.</font>’
set Скретч = 1
gs ‘Скретч диалог’,2
end
if Харизма < 8:
’<font color=blue>(<<$Имя>>) (Харизма НЕУДАЧА) (Вы прилагаете все усилия, чтобы убедить белку, что вы не враг и не хотели ее обворовать или съесть, Но она вам не верит, вам явно недостает харизмы.)’
‘<font color=green>(Белка) - Че-то не убедил, валика ты отсюда, а то я ребят позову, и тебе мало не покажется.</font>’
set Скретч = 2
gs ‘Скретч диалог’,2
act ‘Да что эта белка может мне сделать ?’: gt “Лесная братва”
act ‘Уйти’: gt “Темный лес опушка”
end
end
end
При выборе варианта убеждения белки при помощью харизмы, должен отпасть вариант с орехами и наоборот, но он не исчезает. Но зато там где не надо реплики исчезают например при выборе варианта “Ты говорящая белка ?!” исчезает вариант “Это ты кидал шишки в меня !”. Что я делаю не так ?
Prizrak_07:
команда goto $curloc,1 не работает и не переносит на локацию старта
Везде где можно используй gosub-переход, а не goto. Для того что ты перечислял, как раз gosub отлично и подойдет. Из собственного опыта знаю, что это основная проблема у новичков - когда они в коде всюду пихают goto. Я пару страниц назад что-то уже писал про это.
Prizrak_07:
можно ли сделать какую нибудь команду чтобы этот ивент действовал лишь в определенных локациях
Можно. Я же написал в коде про дополнительные условия. Назначь маркеры для локаций и исключай или наоборот назначай их при запуске ивента.
В твоих актах не разобрался - просто-напросто нечитаемо. У меня глаза разбежались и продираться неохота. Буквально на прошлой странице писали про оформление кода - есть же специальная команда для вставки. Но насколько я понял, тебе поможет элементарная команда cla вместо delact $selact. Ну и еще не помешало бы все упорядочить. Ты сам-то понимаешь свой код? Пропадает скорее всего из-за твоих перескоков по аргументам. Скорее всего надо не gs ‘Скретч диалог’,1 писать, а заменить на вот это:
act '...':
cla
gs 'Скретч диалог',1
end
Да, и еще. Глянул все же немного код. Я не понял, а почему у тебя вот в этом месте:
end
if Скретч=0:
act 'Попытаться успокоить белку (Харизма)':
именно так? Получается, что ты заканчиваешь if args[0]=1 и дальше у тебя идет просто общий код. Так и задумывалось?