RU 📌 Pinned

Как сделать?

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

SneakBug8,
я говорил про публикацию в каталоге.

Видимо, я тебя неправильно понял, тебе нужно на своём сайте выложить. Готовых инструкций для этого нет. Можешь изучить, как это сделано у нас в каталоге, и повторить на своём сайте.

Для этого потребуется:
1. Выложить на своём сайте swf-файл плеера.
2. Выложить на своём сайте файл “aqsp”
3. Прописать на страничке соотв. HTML-код.

У меня теперь не вопрос, а проблема:
Писал, писал программу, проверял каждые 10 минут, все работало. Потом добавил большой кусок кода и при проверке игра начала вылетать во время перехода в локацию. Как исправить эту проблему? Код проверял 3 раза, ошибок не нашел.
Скачать игру: https://yadi.sk/d/0vidnntoeu7vw
Все о глючной локации:
Код при посещении:

if rel=5:
act "Поговорить с женой вождя":
end
end
if fire=0:
pl "Извени, я занята"
think=1
goto "Ферма"
else
goto "ДиалогЖ"
end
if think=1:
act "Подумать, как поговорить с женой вождя":
pl "Надо отвлечь старшего"
think=2
goto "Ферма"
end
end
if think=2:
act "Подумать, как отвлечь старшего":
pl "Можно поджечь вон тот сарай, чтобы его отвлечь"
sar=1
goto "Ферма"
end
end
if sar=1:
act "Попросить у фермера кремний":
pl "На, держи!"
krem=1
addobj "Кремний"
end
end
if krem=1:
act "Поджечь сарай":
pl "Сарай начал медленно разгораться"
pl "Сарай вспыхнул и старшина побежал тушить сарай"
fire=1
pl "Теперь я могу спокойно поговорить с женой вождя."
goto "Ферма"
end
end

1 действие, которое переводит в другую локацию.

проблема вот в этом коде

if rel=5:
  act "Поговорить с женой вождя":
  end
end

if fire=0:
  pl "Извени, я занята"
  think=1
  goto "Ферма"
else
  goto "ДиалогЖ"
end

у тебя получается что как только заходишь на локу сразу же выполняется код goto “ДиалогЖ” (а это я так понял и есть проблемная лока) - получается бесконеный цикл переходов, потому плеер и вылетает
я так думаю этот кусок должен был быть внутри act “Поговорить с женой вождя”:
но из-за неправильно поставленых end оказался не в действии а в самой локации

и еще совет - код внутри if или act лучше сдвигать клавишей tab
тогда его проще читать и такие проблемы становятся заметней

“Извини” пишется через букву “и”. Не могу молчать!

Помогите с рандомом

Что не правильно?(думаю все)

act ‘Бить по голове’:
rand = rand(0,1)
[0] = gt ‘Победа’
[1] = gt ‘Проигрыш’
end

Aleks Versus Moderator 26.02.2015 16:55 (10 years ago)

Oliver,
нельзя использовать в качестве имени переменной зарезервированные слова языка. Это первое. Второе: пиши код строго так, как он читается:

! начало действия "бить по голове"
act "бить по голове":
	! выбрасываем случайное число и "запоминаем" значение в переменную
	rand1 = rand(0,1)
	! если выпало "0"
	if rand1 = 0:
		! первый вариант, переход на локацию победа
		gt 'Победа'
	end
	! если выпало "1"
	if rand1 = 1:
		! второй вариант, переход на локацию проигрыш
		gt 'Проигрыш'
	end
end
! конец действия "бить по голове"

Если не объяснять программе на том языке, на котором она разговаривает, вряд ли она сможет тебя понять. А для этого нужно учить язык.

werewolf:

проблема вот в этом коде

if rel=5:
  act "Поговорить с женой вождя":
  end
end

if fire=0:
  pl "Извени, я занята"
  think=1
  goto "Ферма"
else
  goto "ДиалогЖ"
end

у тебя получается что как только заходишь на локу сразу же выполняется код goto “ДиалогЖ” (а это я так понял и есть проблемная лока) - получается бесконеный цикл переходов, потому плеер и вылетает
я так думаю этот кусок должен был быть внутри act “Поговорить с женой вождя”:
но из-за неправильно поставленых end оказался не в действии а в самой локации

и еще совет - код внутри if или act лучше сдвигать клавишей tab
тогда его проще читать и такие проблемы становятся заметней

Проблемная локация называется “Ферма”, нашел сюжетную ошибку в коде, хоть она и не должна была влиять на работу, игра перестала крашить.

SneakBug8:

aeroqsp поддерживает .gif анимированные изображения для фона и view?
Как узнать стандартные размеры окон ваэро?

$BACKIMAGE "фон.jpeg"

Что в этом коде не так?

Все еще жду ответа

Aleks Versus Moderator 27.02.2015 08:56 (10 years ago)

может знак равенства пропустил?
$BACKIMAGE=”фон.jpeg”

$BACKIMAGE фоновая картинка для главного экрана “”
В справке ничего про = не было написано, хотя может.
Попробовал поставить: ошибка пропала, но фон не сменился, только загрузка между локами стала 5 сек.

Aleks Versus:

Oliver,
нельзя использовать в качестве имени переменной зарезервированные слова языка. Это первое. Второе: пиши код строго так, как он читается:

! начало действия "бить по голове"
act "бить по голове":
	! выбрасываем случайное число и "запоминаем" значение в переменную
	rand1 = rand(0,1)
	! если выпало "0"
	if rand1 = 0:
		! первый вариант, переход на локацию победа
		gt 'Победа'
	end
	! если выпало "1"
	if rand1 = 1:
		! второй вариант, переход на локацию проигрыш
		gt 'Проигрыш'
	end
end
! конец действия "бить по голове"

Если не объяснять программе на том языке, на котором она разговаривает, вряд ли она сможет тебя понять. А для этого нужно учить язык.

Спасибо)))
Кстати загружаю “Баллада о Герое”
Доработана, и исправлены ошибки.

Aleks Versus Moderator 27.02.2015 13:03 (10 years ago)

SneakBug8,
раз начинается с $ логично предположить, что это переменная. Но честно говоря, я не работал с AeroQSP, не могу сказать, почему там не выводится фон. Если исходить из банальных ошибок, которые я допускал в классике, может быть неверно указан путь, или имя файла. Может быть Аэро критично относится к кириллице в имени файла/пути, или пробелам, или нужно писать обратный слэш вместо прямого. Но лучше конечно спросить у знающего человека или найти все темы по Аэре на форуме и проштудировать.

Как сделать новое окно в aero qsp?

Извиняюсь за глупый вопрос, как сделать запрет на переход к локации на которой ужа был, например есть коридор в нем 5-ть комнат, я зашел в 1-ю там прошла история, я сделал несколько действий, вышел и все больше не зайти, переменые флаги не подойдут, так как каждая комната уже занята перемеными даного типа.

Встречный вопрос: “Что тако переменные флаги?”.
Я конечно догадываюсь, но хотелось бы ответа профессионала.

Log in or Register to post comments.