RU 📌 Pinned

Как сделать?

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

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

:loopson
NowSleep = true
time += 1
gs ‘stat’
if son < 100:
jump ‘loopson’
else
NowSleep = false
‘Вы выспались’
act ‘Встать с кровати’:gt’спальня’
end

в локации сон стоит этот код

Он не зависает. Он обрабатывает циклы (их может быть до 480). time += 10 уменьшит количество возможных циклов до 48.

а сколько времени он обрабатывать будет? Появляется надпись что плеер не отвечает. Я даже +100 поставил все равно зависает

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

!локация 'quest'
_length = ARRSIZE('$zagadka')
IF _length = 0: 
    $RESULT = 'ERROR' 
    EXIT 
END 
_variant = RAND(0, _length-1)
$RESULT = $zagadka[_variant]
KILLVAR '$zagadka', _variant
!локация '2'
$zagadka[0] = 'a'
$zagadka[1] = 'b'
$zagadka[2] = 'c'
$zagadka[3] = 'd'
$zagadka[4] = 'e'

$rand = FUNC('quest')
*p 'text <<$zagadka>>'

Проблема в том, что он выдает только первый вариант ‘a’, иногда, со второй попытки ‘b’, но остальные варианты он игнорирует абсолютно. Вопрос - почему так? И что я не так сделала? (я ж просто вставила пример кода, хах)

Lisichka,
в последней строке не

*p 'text <<$zagadka>>'

, а

*p 'text <<$rand>>'

snail,
Тьфу ты, да, не заметила, переменную не знаменила, но дело все-таки не в этом)

XaHK:

а сколько времени он обрабатывать будет? Появляется надпись что плеер не отвечает. Я даже +100 поставил все равно зависает

Тогда дело не в этом, ищи цикл, где-то зацикливается код. Но цикл, кажется, не бесконечный, просто очень много повторов. Был бы бесконечный, плеер вылетал бы. Так обычно бывает. Хотя… все может быть :) Может и бесконечный, просто в теле цикла много вычислений, вот плеер и не вылетает.

Короче, нужна инспекция кода.

Lisichka:

snail,
Тьфу ты, да, не заметила, переменную не знаменила, но дело все-таки не в этом)

Дело именно в этом, весь остальной код, как я вижу, должен работать.

А вот ваша ошибка приводит именно к тем симптомам, что вы описали.
1. Формируется массив $zagadka.
2. Выполняется ‘quest’, который удаляет из массива случайную загадку.
3. Выводится $zagadka, поскольку индекс не указан, то QSP выводит $zagadka[0].
4. $zagadka[0] = ‘a’, но иногда, если на втором шаге был удален нулевой элемент, то массив сдвигается и на место нулевого становится первый, а это означает, что $zagadka[0] = ‘b’.

Как видите, описанные вами симптомы и логический разбор кода совпадают. Значит ошибку вам указали верно :)

Как сделать графическую карту в классике с кликабельными изображениями локаций для перехода на них?

Драккан,
Единственное что Я могу сказать, создать для карты отдельную локацию, карту сделать фоном, и, с помощю переменых разкидать иконки.
А так, жди людей по умнее и опытней.

Драккан,
Единственное что Я могу сказать, создать для карты отдельную локацию, карту сделать фоном, и, с помощю переменых разкидать иконки.
А так, жди людей по умнее и опытней.

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

Драккан,
Пример:

!Установка высоты и ширины картинок
height = 320
$height_loc = 'height="<<height>>"'
$height = 'height="<<height>>"'
clothes_height = 320

no_image = 0

IF no_image = 1:
	$height_loc = 'height="0"'
	$width='width="0"'
	$height = 'height="0"'
END

Возможно код не полный, так как я свистнул его с одной игры. И эти переменные нужно писать в коде картинки, я уже не помню как, потому что удалил ту игру.

Драккан:

Не получается у меня задать им координаты

Намекну:

*p'<table>'
    *p'<tr>'
        !значением ширины подгоняем горизонтальное положение
        *p'<td width=80px>'
            *p'<img src="путь_к_иконке">'
        *p'</td>'
    *p'</tr>'
*p'</table>'

evp,
Странно, я просто думала, что выводить нужно именно $zagadka, а не $rand…
В любом случае, изменила и все работает, Snail был прав)

Log in or Register to post comments.