Как сделать?
…
Тогда вот так:
IF astraluck = 1:
astraloot = rand(1, 25)
IF astraloot = 13:
mistloot = mistloot + 1
MSG "В результате Ваших действий ..."
IF NO OBJ "Материя мироздания":
ADDOBJ "Материя мироздания"
END
END
END
Вообще MSG лучше не использовать. Это распространённая ошибка начинающих авторов.
Nex,
Спасибо за помощь :cool:
На счёт MSG приму к сведению.
Такой вопрос, товарищи.
Пишу под AeroQSP нужно чтобы при нажатии на стрелку в окне основного описания изменялось значение переменной и обновлялось собственно описание.
Spoiler
*pl '<<pSTR>>'
*pl '<<pSPD>>'
*pl '<<pPER>>'
*pl '<<pINT>>'
*pl '<a href="EXEC:pSTR = pSTR + 1"> <img src="img/Вверх.jpg"> </a>'
*pl '<a href="EXEC:pSTR = pSTR - 1"> <img src="img/Вниз.jpg"> </a>'
Пока что он выводит значения переменных, изменяет их по нажатию на стрелки вверх и вниз, но не обновляет значения в окне.
Подвох в том, что не хочется использовать ссылки на действия.
Bumbr,
Добавь в ссылки переход на эту же самую локацию (gt $curloc). Должно выглядеть примерно так:
*pl '<a href="EXEC:pSTR = pSTR + 1 & gt $curloc"> <img src="img/Вверх.jpg"> </a>'
*pl '<a href="EXEC:pSTR = pSTR - 1 & gt $curloc"> <img src="img/Вниз.jpg"> </a>'
Нужно сделать таблицу где в первом столбце картинка 80х80 занимающая две строки, а во втором две строки с картинками 40х40
Spoiler
'<table>
<tr>
<td rowspan=2><a href="EXEC: gs $pl, $stattxt, $лицо"> <img src="<<$face>>Face<<face>>.jpg"></a></td>
<td><a href="EXEC: увел = 1 & хар = 5 & gt $curloc"> <img src="<<$int>>Влево.jpg"></a></td>
</tr>
<tr>
<td><a href="EXEC: увел = 0 & хар = 5 & gt $curloc"> <img src="<<$int>>Вправо.jpg"></a></td>
</tr>
</table>'
Приведенный код с точки зрения html вроде правильный, однако вторая картинка 40х40 переносится на следующую строку.
Проверил. Всё правильно выводит, вообще-то. Напутал я тут rowspan colspan, но нет. В классическом плеере нормально отображается. Только набирает переводов строк. Поэтому лучше построенную таблицу записывать в одну строку.
В классическом плеере и у меня правильно отображается. В этом вся суть проблемы, что написано правильно, а отображается - нет. Я не могу понять чем AeroQSP отличается от классики, что таблицы коверкаются.
Еще отметил что если при помощи colspan переместить картинки 40х40 под 80х80 то отображается всё корректно.
Еще столкнулся с тему, что не могу выставить MAINDESC_X=0 и MAINDESC_Y=0. Точнее выставить могу, но отображается всё, как при MAINDESC_X=3 MAINDESC_Y=3. Причём MAINDESC_X=1 MAINDESC_Y=1 и MAINDESC_X=-1 MAINDESC_Y=-1 отображаются правильно.
Очень тяжело даётся переход на AeroQSP.
Эти переменные нельзя выставить в значение 0. Возможно, это будет исправлено в следующих версиях.
‘<table>
<tr>
<td rowspan=2><a href=“EXEC: gs $pl, $stattxt, $лицо”> <img src=“<<$face>>Face<<face>>.jpg”></a></td>
<td><a href=“EXEC: увел = 1 & хар = 5 & gt $curloc”> <img src=“<<$int>>Влево.jpg”></a></td>
</tr>
<tr>
<td><a href=“EXEC: увел = 0 & хар = 5 & gt $curloc”> <img src=“<<$int>>Вправо.jpg”></a></td>
</tr>
</table>’
Здесь проблема в том, что нужно убрать переводы строк (вариант - выводить построчно через *p).
Пробелы непосредственно перед <img> лучше убрать.
“rowspan” в AeroQSP не поддерживается (но и в классике он тоже плохо поддерживается), поддерживается только “colspan”.
Byte:
Здесь проблема в том, что нужно убрать переводы строк (вариант - выводить построчно через *p).
Пробелы непосредственно перед <img> лучше убрать.
Ну это не такая уж большая проблема.
Данный код, оформленный в функцию, убирает переводы строк из текста и пробелы (в начале и в конце каждой строки):
! Присваиваем результату функции значение — переданный текст
$Result = $ARGS[0]
:метка_перебор_строк
! Ищем символ перевода строки
ARGS[0] = strpos($Result,'\n')
if ARGS[0]:
! Если перевод строки найден — вырезаем его
$Result = trim(mid($Result, 1, ARGS[0] - 1)) + trim(mid($Result, ARGS[0] + 1))
jump 'метка_перебор_строк'
end
У меня эта функция называется m2ts. Вызов функции, соответственно, выглядит так: $Текст=m2ts($Текст) или *NL m2ts($Текст). Если убирать пробелы не нужно, то достаточно убрать из кода все вызовы trim().
Olegus t.Gl. для этого можно использовать стандартную ф-ю REPLACE.
Byte:
Olegus t.Gl. для этого можно использовать стандартную ф-ю REPLACE.
Но с лидирующими и хвостовыми пробелами в строках она не справится.
Olegus t.Gl.:
Farfignugen:
И в итоге надо получить что бы бойцы сортировались по рейтингу и им присваивались в массив места и все это отображалось как то так.
Мне же нужно хранить данные массива в текстовом массиве и распределять эти массивы между собой по величине параметра рейтинг. Иначе я не смогу ни статистику вести бойцов, не вызывать нужные параметры.
Возможно тебе поможет модуль работы с таблицами данных. Я обновил версию, там как раз есть команда сортировки таблицы по нескольким колонкам.
Спасибо. У вас вообще отличные модули. Особенно модуль меню понравился. Удобная вещь.
Здравствуйте. Не подскажите можно ли вынести весь текст из основного .qsp файла игры в отдельный для удобства локализации.
То есть, в основном .qsp файле вместо:
‘Бла-бла-бла’
‘Тру-лу-лу’
останется только:
‘<<$s1>>’
‘<<$s2>>’
а в отдельном файле будет:
$s1 = ‘Бла-бла-бла’
$s2 = ‘Тру-лу-лу’
Насколько я знаю QSP не работает с внешними текстовыми файлами. Однако вы вынести это в отдельный QSP-файли добавить его с помощью команды ADDQST там в стартовой локации пропишите значения переменных и вызовете в основной игре.
К примеру вы можете реализовать выбор локализации в игре через выбор подключаемого qsp-файла.
К примеру через переменную $локализация. Сделать её по умолчанию ‘rus.qsp’ и добавить в стартовой локации игры
addqst $локализация & gs ‘Загрузить текст’
Загрузить текст - это будет локация в rus.qsp где вы пропишете текст для основной игры.
В главной игре можно создать локацию выбор языка а в ней - действия:
act 'Русский': KILLQST $локализация & $локализация='rus.qsp' & addqst $локализация & gs 'Загрузить текст'
act 'English': KILLQST $локализация & $локализация='eng.qsp' & addqst $локализация & gs 'Загрузить текст'
act 'Francais': KILLQST $локализация & $локализация='fra.qsp' & addqst $локализация & gs 'Загрузить текст'
и т.п. Но можно добавить и все сразу, прописав все языки в локализация.qsp и выбирать их через локации в этом файле.