RU 📌 Pinned

Как сделать?

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

Dogon, все возможно,.. если правильно поставить задачу. Пока что я вижу буквы, буквы складываются в слова, слова - во фразы. Все по отдельности понятно, но общий смысл от меня ускользает :)
Напишите подробно, что у вас уже есть, что должен сделать игрок и что в результате должно получиться. И не забывайте уточнять о каком времени идет речь.

mkir:

Спасибо, вроде всё понятно. Всё кроме, собственно, аргументов. Ну, впрочем, ладно. Кажется, я этот момент вообще не использую, а значит и лимита не смогу достигнуть.

goto 'Next'

Если goto это оператор, то что такое ‘Next’?

Если goto это оператор, то что такое ‘Next’?

Ну… если Next - аргумент, то я все равно не понимаю, что значит ограничение в десять аргументов. Я же не буду писать gt ‘next’, ‘next2’, ‘next3’.. Но тут, вероятно, я показываю уже просто феерическую безграмотность и приличней с моей стороны будет просто еще раз более внимательно прочитать все руководства)

mkir, я скопировал ваш текст, мой анализатор на него не реагирует.

Возможно ли, что это просто какой-то баг анализатора?
Вот, в прикрепленной игре эта ошибка остается не смотря ни на что, в локации “Перс”

mkir:

Я же не буду писать gt ‘next’, ‘next2’, ‘next3’

Будете.

Справка QSP:

Переходы

◾ GOTO [$локация],[параметр 1],[параметр 2], … или

◾ GT [$локация],[параметр 1],[параметр 2], … - переход на локацию с названием [$локация].

Кроме того, есть такие операторы как MAX и MIN.

Справка QSP:

MAX([выр1],[выр2], …) - возвращает максимальное из значений выражений-аргументов.
MIN([выр1],[выр2], …) - возвращает минимальное из значений выражений-аргументов.

mkir:

Вот, в прикрепленной игре эта ошибка остается не смотря ни на что, в локации “Перс”

Разумеется остается. Потому, что она там есть.
Вот код вашего действия Горячие клавиши:

pl'
СПИСОК ГОРЯЧИХ КЛАВИШ

j  - журнал заданий
i - все параметры, учитывая временные бонусы и штрафы

Команды:
hp - зелье здоровья
st - зелье стамины
hpst - свиток превосходства
+++ - зелье превосходства
orjrep,lookrep и dosprep - ремонт вашего снаряжения здесь и сейчас
'
gt $curloc
end

'

Зачем там в конце это?

end

'

Это лишнее. Знаете, что происходит? Вот как выглядит этот фрагмент кода в нормальном представлении:

end
	
	'
END
if konhp > 0: 
'Ваш конь:
<<konhp>>/<<konmaxhp>>  выносливость
<<kondef>>  стойкость
<<konsp>>  скорость
'
end

Ваш end не нужен - Quest Generator о завершении действия сам позаботился. END видите? Ну а кавычка… откуда она там? Аккуратнее надо быть. Интерпретатор ее понимает как начало текста :) А заканчивается текст где? Там, где вторая кавычка. А это перед словами “Ваш конь”. Таким образом, для интерпретатора фрагмент

'
END
if konhp > 0: 
'

является просто текстом. Тут побочное явление - из-за этого условие

if konhp > 0:

работать не будет - это же всего-лишь текст, а не оператор. И о состоянии коня никто никогда не узнает. Ну и, наконец, закрывающая кавычка в строке 7601. Это вы думаете, что она закрывающая, а на самом деле перед ней нет открывающей кавычки, значит она - открывающая. А раз вы открыли строку, то логично ее закрыть, о чем вас и предупреждает анализатор.

Решение: удалить

end 

'

в коде действия “Горячие клавиши”. И наступит идиллия.

Ваш кэп. :)

evp, Ну, вот я так и знал (почти!) что что-нибудь такое и пропустил. Спасибо, кэп!

И снова не устаю спрашивать. Вопрос: А возможно ли вообще так ухитриться, чтобы настроить внутри игры эдакий ввод команды, чтобы можно было через тот ж INPUT не только значение переменной, но и к тому же имя, какой именно переменной мы хотим что-то назначать? Т.е. фактически, чтобы можно было выбрать любую переменную и назначить ей что угодно? При тестинге такое было бы просто незаменимо, ведь бывают ошибки не только технические, но и “сюжетные”, а хочется все перепроверить внутри игры, при разных сюжетных вариациях, не переигрывая, не переписывая по мелочам.

$cheat = input ("Введите исполняемый код")
dynamic $cheat

Это?

Это потрясающе. Да, всё правильно.

Доброго времени суток. Прошу помочь со следующим кодом:

'<CENTER> <img src="/Изображение.jpg" USEMAP="#map1">'

'<MAP NAME="map1">'
'<AREA SHAPE=CIRCLE COORDS="X,Y,R" HREF="EXEC: MENU ''$Меню''">'
'</MAP>'

Создаю HTML файл, запускаю - всё работает, как задумано. На странице картинка, в центре круглая область-ссылка.
Пытаюсь запустить этот код в QSP - ссылки нет.

Shellect, в Навигаторе работает. В классике будет работать так:

'<CENTER> <img src="/Изображение.jpg" USEMAP="#map1"><MAP NAME="map1">' 
'<AREA SHAPE=CIRCLE COORDS="X,Y,R" HREF="EXEC: MENU ''$Меню''">' 
'</MAP>'

Это невозможно понять, надо просто запомнить. И в классике курсор не будет изменяться при наведении на ссылку. Просто щелкните там,где она должна быть. Ссылка по теме.

mkir:

И снова не устаю спрашивать. Вопрос: А возможно ли вообще так ухитриться, чтобы настроить внутри игры эдакий ввод команды, чтобы можно было через тот ж INPUT не только значение переменной, но и к тому же имя, какой именно переменной мы хотим что-то назначать? Т.е. фактически, чтобы можно было выбрать любую переменную и назначить ей что угодно? При тестинге такое было бы просто незаменимо, ведь бывают ошибки не только технические, но и “сюжетные”, а хочется все перепроверить внутри игры, при разных сюжетных вариациях, не переигрывая, не переписывая по мелочам.

посмотри еще Отладчик - там есть и другие возможности кроме выполнения кода из строки ввода

народ я только начал игру писать и не могу понять
clr
gs’стат’
if job = 0:
act “поговорить о работе”:
cla
“вы зашли к менеджеру”
act “отказаться и уйти”: gt “играть”
act “согласиться”:
cls
set job = 1
act “далее”:gt “кафе”
end
end
end
if job = 1:
cla
act “работать официанткой”:
:loop
cls
gs’стат’
set minut = minut +60
set money = money +100
act “работать”:
jump “loop”
act “уйти”: gt “играть”
end
end
end
как сделать что бы при нажатии на работать делалось то же действие что и работать официанткой?

Расставьте правильно end-ы. Иначе ничего не понятно, что вы хотите сделать. И оформляйте код тегом

И структурируйте его отступами - невозможно это читать.
Пример оформления:

cla 
act "работать официанткой": 
	:loop 
	cls 
	gs'стат' 
	set minut = minut +60 
	set money = money +100 
		act "работать": 
			jump "loop" 
			act "уйти": gt "играть" 
	    end 
end

Я попытался понять структуру, но тут не хватает end-а, как минимум одного, поэтому и структура, вероятно, неправильная.

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

там 3 enda стоит надо еще добавить? я хочу что бы действие работать официанткой повторялось при нажатии на 1 кнопку.

Log in or Register to post comments.