RU 📌 Pinned

Как сделать?

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

Aleks Versus Moderator 17.09.2014 08:50 (11 years ago)

Ryo,
Посмотри, как реализовано у других. На сайте есть игра “Серафим”. А так же смотри тему “модуль карты”.

Всем привет. У меня возникла проблема в Навигаторе, я html и css только недавно стал изучать так что не судите строго. В классическом скине я вывел блок со списками действий за пределы блока “skin-wrapper-main-outer” в “skin-left-column” и настроил для них стили видимости, что бы не залазили друг на друга. Все заработало как надо, что с включёнными действиями, что без них. НО, как только я указываю в стилях для картинок, таблиц и т.д. их позиционирование на экране начинается мистика. Допустим, я выставляю такие настройки для картинки:

Spoiler
<div style="position: absolute; bottom: 50%; left:50%;">
 <img src="путь к картинке" />
 </div>

Позиционирование по горизонтали работает как надо, а вот по вертикале элемент появляется, как если бы было задано top: 100px;. Если вписываю top: 50%; то, как если бы было задано top: 150px;. Причем кол-во отступа от верхней границы плеера будет зависеть от кол-ва текста в главном окне описания, чем больше текста, тем больше отступ. А если я добавляю еще элемент с позиционированием, то отступ еще больше увеличивается. Доходило до того что элементы уходят за нижний край плеера. А если выключить списки действий, то расположение элементов с позиционированием не меняется.
Подскажите, где искать ошибку?

Edited at 20.09.2014 04:35 (11 years ago)

Mxat2008,
видимо дело в том, что ты не учитываешь переводы строки.

Плеер QSP, что классический, что Навигатор, в режиме HTML заменяет переводы строки на тег ”
“. Это сделано, чтобы сохранять разбивку по абзацам при переключении из простого режима в режим HTML. А также, чтобы автору не пришлось засорять текст описания тегами ”
” или “<p></p>”.

Из-за этого возникают проблемы, когда автор выводит теги HTML, одновременно используя переводы строки. Теги ”
” вставляются на место переводов строки, и мешают нормальной разметке, появляется загадочное “пустое место”, где его не ожидает автор. Рецепт простой, для вывода тегов использовать оператор *P.

*P 'Текст без перевода строки'

*PL 'Текст с переводом строки'

'Текст с переводом строки'

*P 'Перевод строки
в середине текста'

Попробуй убрать лишние переводы строк. Если не поможет, значит надо будет разбираться с вёрсткой. Если что, заходи на канал #qsp.

Nex,
Нет, не помогло. Лан, тогда завтра в чат зайду, а то сейчас уходить надо.

Чего-то меня сомнения терзают, подскажите, пожалуйста, какой из двух более корректный код :
1) IF (a + b) > ((c + d)/e):
действие 1
END
2) n = a + b
m = (c + d)/e
IF n > m:
действие 1
END
Заранее благодарен.

Jolly Roger,
оба одинаково корректны.

Вроде бы элементарные вопросы, но вызывают наибольшие сомнения.
В конструкциях типа:
$локация
IF $ARGS[0]= ‘A’
ACT ‘B’: GS $локация, ‘B’
END
IF $ARGS[0]= ‘B’
ACT ‘A’: GS $локация, ‘A’
END
Как правильно в данном случае, GT или GS? На практике работают оба, но как нужно?
Заранее благодарен.

Jolly Roger,
смотря что тебе нужно.

GT (GOTO) - выполняет переход на указанную локацию, и выполняет её код.

GS (GOSUB) - выполняет код указанной локации, переход не происходит.

Доброго времени суток. Извините если этот вопрос уже обсуждался (а он скорее всего обсуждался), но я не смог найти ответ используя поиск. Как правильно использовать HTML теги? Ввожу <h1> Broken Chain </h1>, а вместо заголовка получаю: <h1> Broken Chain </h1>, то есть тег не срабатывает. Что я делаю не так?

Нужно вставить код, например, в первую локацию (справка):

usehtml = 1

newsash:

Нужно вставить код, например, в первую локацию (справка):

usehtml = 1

Большое спасибо, я как только не пробовал, но до слитного написания не додумался.

Aleks Versus Moderator 22.09.2014 06:22 (11 years ago)

Jolly Roger,

Nex:

GT (GOTO) - выполняет переход на указанную локацию, и выполняет её код.
GS (GOSUB) - выполняет код указанной локации, переход не происходит.

Помимо этого при GOTO происходит очистка списка действий и окна основного описания, при GOSUB этого нет. Но если у тебя вывод и основного описания и действий происходит по условию, и очищение принудительное, разницы - при переходе на текущую локацию - не будет.
По моему личному мнению правильнее переходить на текущую локацию всё же через GOTO.

Объясните, пожалуйста:
нам нужно, чтобы выполнилось a=b+c
не всегда это удобно на одной локации, если много действий, удобнее сделать ссылку на другую локацию, но тогда
Чем принципиально отличается код:
вариант 1:
______________
‘локация_A’
на ней код:
a=b+c
‘локация_B’
на ней код:
GS ‘локация_A’
_______________
вариант 2:
‘локация_A’
на ней код:
$a= 
‘локация_B’
на ней код:
DYNAMIC $a

Что лучше? Заранее спасибо!

Jolly Roger,
принципиальной разницы нет.
Первый более наглядный, второй позволяет не плодить лишние локации.

Непонятно с меню предметов:
пример:
item_name[item] = ‘Скафандр’

IF SELOBJ = ‘<<$item_name[item]>>’:
if item_on = 0: $Скафандр[0] = ‘Одеть:item.acts’ else $Скафандр[0] = ‘Cнять:item.acts’
$Скафандр[1] = ‘Выбросить:item.acts’
$Скафандр[2] = ‘Положить:item.acts’
menu ‘<<$item_name[item]>>’
unsel
END
Такое меню работает, как я понял, только если название предмета (напр. “Скафандр”) совпадает со строкой элемента массива меню
(напр. $Скафандр[1]). Но как сделать , чтобы было вместо $Скафандр[1] вот так: $item_nameitem? - сразу для всех предметов массива?
Или нужно для каждого предмета делать свое отдельное меню?
Заранее спасибо.

Log in or Register to post comments.