RU 📌 Pinned

Как сделать?

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

Oliver,
Летс ми спик фром май харт спасибо

Всем снова привет!
Вопрос такой: Как вставить код в таблицу? Допустим у меня есть таблица

"<table border=1 >"
  "<tr>"
   "<td>1</td>"
   "<td>1</td>"
  "</tr>"
"</table>"

и код

$код99="act 'Сказать привет':
         *pl ""Привет""
       end"

Я не понимаю как его туда впихнуть. В таком формате не работает

"<table border=1 >"
  "<tr>"
   "<td>1</td>"
   "<td>1 DYNAMIC $код99</td>"
  "</tr>"
"</table>"
Aleks Versus Moderator 14.01.2019 03:22 (7 years ago)

Darvin432,
код в таблицу впихнуть нельзя.
Если тебе нужно, чтобы по щелчку на ячейке выполнялся код, нужно сделать гиперссылку:

"<table border=1 >" 
  "<tr>" 
   "<td>1</td>" 
   "<td><a href=""EXEC:*pl 'Привет'"">Сказать привет</a></td>" 
  "</tr>" 
"</table>"

или, если нужно чтоб выводилось именно действие:

Spoiler
$код99="act 'Сказать привет': 
         *pl ""Привет"" 
       end"
"<table border=1 >" 
  "<tr>" 
   "<td>1</td>" 
   "<td><a href=""EXEC:dynamic $код99"">Показать действие</a></td>" 
  "</tr>" 
"</table>"

Выводить каждый тег таблицы отдельной строкой не стоит. QSP вставляет переводы строк между тегами, эти переводы строк накапливаются и выводятся после таблицы, что приводит к “артефактам”. Нужно использовать оператор *p:

*p "<table border=1 >" 
  *p "<tr>" 
   *p "<td>1</td>" 
   *p "<td><a href=""EXEC:*pl 'Привет'"">Сказать привет</a></td>" 
  *p "</tr>" 
*p "</table>"

Aleks Versus, немного не прав. Не весь код можно вставить в таблицу. Определенные строчки можно совершенно спокойно скомпоновать и вставить в таблицу, что-бы не засорять все повторами и не создавать индус-код.
Однако, для твоей задачи с act, даже не вижу смысла, зачем это делать. Насколько я помню act относится к переходам. Он все равно не отобразиться в таблице.
А вот, различное множество переменных, заготовок, ссылок, графики и тд, можно впихнуть в заранее подготовленную таблицу.
Если тебя интересует именно этот аспект, то я его тебе про него расскажу.

Aleks Versus Немого не то. Мне нужно что бы по нажатию на действие выводился текст допустим только в правой ячейке
Svartberg смысл в том что я планирую прописывать не только асt а таблице но и много чего ещё. Так что да мне это интересно

Aleks Versus Moderator 15.01.2019 07:45 (7 years ago)

Darvin432,
вот так и нужно объяснять. Это совсем разные задачи.
Это делается так:

if $privet='':
 $privet='&nbsp;'
end
*p "<table border=1 >" 
  *p "<tr>" 
   *p "<td>1</td>" 
   *p "<td><<$privet>></td>" 
  *p "</tr>" 
*p "</table>"
act 'Сказать привет':
$privet='Привет'
goto $curloc
end

Полагаю Svartberg про вложенные выражения и говорил.

Здравствуйте, искал где только можно но так и не нашел ответа на свой вопрос…
Как можно проверить значение переменой/массива в другой локации. Например :
Есть локация “Objects” и там есть переменная “Key” равная 0 и есть локация “Подъезд” где я должен при действии “Войти в квартиру 11” проверять есть ли у меня “Key” соответственно 0 - нет ключа, 1 - есть ключ.

Берешь и проверяешь.
http://wiki.qsp.su/help:conditional
Переменные глобальные (кроме аргументов).

Все привет. Как впилить фоновую музыку в игре. И как сделать её отдельно. Например что бы при кода msg “Привет” выводился звук ( но фоновая музыка не менялась)

if minut >= 60:
:loopmin
set hour = hour + 1
set minut = minut - 60
set golod = golod - 5
if minut >= 60:
jump ‘loopmin’
end
end
golod=100,при истечении 60 minut golod уменьшается,а потом по истечении от 1 до 59 minut, golod становится максимальным
что не так?????

Aleks Versus Moderator 29.01.2019 09:04 (7 years ago)

Darvin432,
плеер может проигрывать несколько звуков одновременно. Поищи по форуму гибкий плейлист. Он сделает тебе музыку фоном. А звуки можно воспроизводить командой play в любом месте игры.
новичок,
Засовывай код в блок кода, кнопка . Выделяешь текст с кодом и нажимаешь кнопку.

Если это правильный код, то не удивительно, ты же сам после цикла выставляешь golod=100:

if minut >= 60: 
:loopmin 
set hour = hour + 1 
set minut = minut - 60 
set golod = golod - 5 
     if minut >= 60: 
     jump 'loopmin' 
     end 
end 
golod=100

после цикла не стоит golod=100. то для наглядности написал. Код такой
if minut >= 60:
:loopmin
set hour = hour + 1
set minut = minut - 60
set golod = golod - 5
if minut >= 60:
jump ‘loopmin’
end
end

Aleks Versus Moderator 29.01.2019 10:42 (7 years ago)

новичок,
в таком случае, ты где-то ещё это написал, и оно выполняется. Проверяй остальной код.

с этим разобрался

как сделать, что бы при покупке предмета, он добавлялся в определенную локацию

Log in or Register to post comments.