RU 📌 Pinned

Как сделать?

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

Kaspar,

if dialog = 0:
	'Текст 1'
	act 'Далее': dialog = 1 & gt curloc
end
if dialog = 1:
	'Текст 2'
	act 'Далее 2': dialog = 0 & gt curloc
end

Oliver,
Спасибо, а переменной “диалог” нужно задавать значение заранее?

Kaspar,
необязательно. Если ты ее не используешь то она 0 равна.

Всем привет!
Мастера нужна ваша помощь. Как сделать что бы в определённой локации при нажатии предмета появлялось действие.
(к примеру подошёл к двери в локации “дом” - действий нет. нажал в предметах на ключ и появилось действие “открыть дверь” но так что бы это работало только в конкретной локации)
ПРобывал

IF $SELOBJ = 'Ключ':
  act"Открыть дверь":
  end
END

Но в текущей локации не работает, а если прописывать в меню предметов то это действие появляется при нажатии на предмет в любых локациях.

Darvin432,
очень просто.
На первой локации

$OnObjSel = 'onobjsel'

далее создай локацию onobjsel и в ней напиши

IF $SELOBJ = 'Ключ': 
  act"Открыть дверь": 
  end 
END
unsel

Код с актом в других локациях можно удалить. Если понадобиться еще какие-то условия связанные с предметами, то просто используй elseif в onobjsel

oleksandrigo,
ТО есть всё развитие( к примеру продолжение действий) мне придёться писать в локации onobjsel?

Darvin432,
Нууу можно сделать вызов какой-нибудь локации в onobjsel(при нажатии на предмет произойдет вызов этой локации) и в этой локации писать то что ты бы писал в onpbjsel.

Aleks Versus Moderator 15.06.2018 17:28 (7 years ago)

Darvin432,
всё просто. Делай так, как и делал, — прописывай в локацию onobjsel, только условие тебе нужно такое:

IF $SELOBJ = 'Ключ' and $curloc='дом': 
  act "Открыть дверь": 
  end 
END

При выделении предмета, запустится код в локации onobjsel, и будут проверены оба условия: выделение ключа и нахождение в нужной локации.

Возможно ли управление таймингом видео
в плеере от Sonnix или от Girl Life как в HTML 5?

Пример: <video src=“video.mp4#t=3,5” controls></video>

Заранее спасибо за ответ.

Здравствуйте. Подскажите, пожалуйста, как сделать реальный таймер с подсчетом минут и секунд. Пример (как я вижу):
‘До окончания задания осталось <<minut>> минут: <<sec>> секунд’
‘Прошло время от начала задания <<minut>> минут: <<sec>> секунд’
‘Вы выполнили задание за <<minut>> минут: <<sec>> секунд’
‘Вы провели в игре <<minut>> минут: <<sec>> секунд’
Спасибо заранее за ответ.

Aleks Versus Moderator 20.06.2018 13:12 (7 years ago)

Freem82,
Вот в этой теме должен быть ответ на твой вопрос http://qsp.su/index.php?option=com_agora&task=topic&id=1217&Itemid=57

Чтобы делать обратный отсчёт, нужно просто фиксировать время в переменных.

! Выставляем пороговое время задания в переменных minut_quest и sec_quest, тогда:
'До окончания задания осталось <<minut_quest-minut>> минут: <<sec_quest-sec>> секунд'
! Фиксируем время начала задания в minut_start, sec_start, тогда:
'Прошло время от начала задания <<minut-minut_start>> минут: <<sec-sec_start>> секунд'

И т.д.

По хорошему надо переводить минуты-секунды в секунды, вычислять разницу, потом обратно секунды в минуты-секунды.

Freem82,
Все намного проще. Для ввода разного порядка времени тебе понадобится локация обработчик(см. вики counter), в которой будет реализован алгоритм времени от нуля к бесконечности и от какого-либо промежутка времени до нуля.
Создаешь локацию и называешь её counter
В данной локации вставляешь код:

sec = sec - 1
if sec = -1:
    min = min - 1
    sec = 59
    gt curloc
end
if min = -1:
 gt 'переход в локацию, если время вышло'
end
gt curloc

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

min = 2
sec = 0

(это две минуты)
А в основной локации нужно дописать в конце код, представленный ниже.

settimer 1000
$COUNTER = 'counter1'

где, settimer - периодичность запуска локации counter1 в миллисекундах(у нас 1000 = 1 секунда, т.е. раз в секунду).

Для ввода отсчёта с нуля, снова вводим локацию обработчика, назовем её по другому(чтоб не путаться) - counter2, но уже с другим кодом, представленным ниже:

sec1 = sec1 + 1
if sec1 = 60:
    sec1 = 0
    min1 = min1 + 1
end
gt curloc

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

settimer 1000
$COUNTER = 'counter2'

Далее выводишь в основном окне показатели времени. Если у тебя уменьшается время, то
“осталось <<min>> минут <<sec>> секунд”
если увеличивается, то:
“прошло <<min1>> минут <<sec1>> секунд”

Примечания:
1)не забывай останавливать таймеры, когда они не будут нужны. Остановить таймер можно одним из вариантов(для меня он более простой) кода, представленным ниже:

a = 0
if a = 0:
    settimer 1000
    $COUNTER = 'counter1'
    a = a + 1
end

Более подробную информацию можешь получить из поста Alex Versus с ответом на твой же вопрос выше.

ejikplains,
хмм благодаря тебе я узнал, что можно делать несколько локаций-обработчиков. =)

oleksandrigo,
ну… да, такое реально)))). у меня обработчиков на данный момент 4 и себя прекрасно чувствуют)))) главное, чтобы они друг другу не мешали, ибо сеттаймер к сожалению действует на всю локацию, поэтому отдельный запуск одного обработчика требует отдельной локации.
можно бы было загнаться с вводом сумматора двухстороннего с одной локации обработчика, но приведенный пример более разжеван и нагляден автору.

добавлю: если ты тимеешь в виду запуск на одной локации нескольких - невозможно(но я в скором времени поразмышляю на этот счёт).

ejikplains,
Спасибо, помог уже совет Alex Versus + метод “научного тыка”. Вот, как теперь вывести результат?
‘На выполнение задания у Вас ушло <<min>>минут<<sec>>секунд’.
Как бы я не выписывал он ставит нули.
Мой оригинал:
локация COUNTER
if step = 32:
*clr
*nl ‘<center><span style=“color:#FF0000”><center><strong><<minute>>:<<sec>></center></strong></span>’
*nl’<a href=“exec: set step = 34 & mins[step] = minute & secs[Step] = sec & gt ‘‘Dialog’’”>
<span style=“color:#FF1493”><center><strong>Готов?</strong></center></a></span>’
end
Локация вывода на экран
$textlinkNPC[34] = ‘<a href=“exec: gs ‘‘Tech’’”><span style=“color:#FF1493”><strong>
<<mins[34]>>:<<secs[34]>>результат.</strong></a></span>’
И вопрос по HTML: Как установить размер шрифта(я уже все теги перепробовал)
Заранее спасибо.

Log in or Register to post comments.