Как сделать?
…
Lucifer,
Держи ссылку, Aleks Versus тут все разжевал - Dynamic
Tom Run,
Спасибо
$place_name,$place_location,$place_info = %<<$Place>>
$place_name,$place_location,$place_info = %$args[0]
Подскажите, пожалуйста, насколько я понял, при распаковке в кортеж нельзя подставить случайное значение?
Aranta, я не совсем понял вопрос, но если правильно понял то ответ в справке:
Кортежи нельзя изменять. То есть, например, в кортеже из трёх элементов нельзя заменить второй элемент. Нужно распаковать кортеж в переменные, изменить одну из переменных и снова упаковать в кортеж.
Tom Run,
Вопрос в данном случае в возможности подставить имя кортежа, чтобы его распаковать. Ситуация, когда мы заходим на локацию, не зная какой точно кортеж нам понадобится.
Aranta,
для этого нужно использовать функцию arritem. Если передаёшь имя кортежа, как аргумент, делай так:
$place_name, $place_location, $place_info = arritem('%<<$args[0]>>')
будь внимателен с префиксами типов. В моём примере он уже подставлен.
Aleks Versus,
Хмм, сам бы не догадался! Благодарю!
Сорян, если уже было. Но что-то не смог найти.
Нужно, чтобы локация (функция) ждала выбора - клика по картинке, но не в списке действий.
Вполне себе, код не кого, не ждёт, он выполняется от начала и до конца. Его можно прервать, или затормозить (тормозит весь код - зависает игра на выставленное время).
Пропиши условия для функции, или создай 2 функции и вызывай одну перед картинкой вторую после.
Функцию можно прописать в самой картинке (в гиперссылки).
“но не в списке действий.” - чтобы срабатывала не от действия, а автоматически? - вынеси функцию за пределы действия (как вариант в основной код).
Может я не так понял, тогда опиши как это должно работать (может с примером кода), или кто-то поймёт лучше.
Tom Run:
Может я не так понял, тогда опиши как это должно работать (может с примером кода), или кто-то поймёт лучше.
Все просто. В плеере есть инфоокно: MSG ‘Ляляля’. Но это окно не возвращает ничего, там только одна кнопка “Ок”.. Типа “видел, прочел, пора закрываться”.
Нет кнопок “Да” и “Нет”, “Принять” и “Отменить”. Я хочу сделать функцию, которая будет выполнять эту задачу.
I=Func(’CheckPoint’)
If I=On :
Gt ‘Go_Next’
Else
Gt ‘Go_Away’
End
И теперь у меня вопрос, как, не используя действия (Act ‘Блаблабла’ : Gt ‘Жужужу’) сделать так, чтобы функция CheckPoint ждала нажатия на одну из картинок (ссылок) внутри себя. Если я использую ACT, то оно отобразится в поле Действий, а мне это не надо.
В принципе, можно попробовать вывести сообщение с ссылками, запустить Таймер - COUNTER. В Таймере проверять, состояние флагов, и если флаг “On” или “Off” то процедуру больше не вызывать и перейти к выдаче результата.
Это будет очень полезная фича для универсального применения.
Например. Идет игра, в игре что-то происходит, и выдается какое-то сообщение с двумя кнопками - “Да”-”Нет”. Игрок нажимает и игра движется в нужном направлении, с локации уходить не надо, ничего менять не надо, просто мессага в нужном месте и с нужное время.
Я обратился, чтобы не изобретать велосипед - вдруг кто подобное делал?
Вполне себе,теперь понятно, оператор dynamic или gs позволяют избавиться от действий. Весь код из ACT переносишь в переменную или в другую локацию и вызываешь код с помощью операторов. Хотя если код маленький то можно вписать его в саму гиперссылку однострочной записью через амперсанд &.
Tom Run,
Ты меня опять не понял. Как сделать Динамику или, что занести в ACT и как - я понимаю. Меня интересует как “остановить” работу “Процедуры” для ожидания некоего действия (в моем случае - выбора одной или другой картинки кликом мышки)
Суть то не в том, чтобы занести в Действия, а в том, чтобы из Локации вызвать функцию (Gs и Func), внутри которой происходит обработка клика, чтобы не менять локацию через Gt. Задача после обработки “Процедуры” вернуться в ту же точку кода из которой она была вызвана.
Вполне себе,
Если код должен сработать автоматически - то кроме как через COUNTER, я вариантов не вижу.
Если ты какой-то вариативности хочешь через MSG, то используй $INPUT. В нем можно сделать описание, что нужно ввести для конкретного результата.
Если выбор по клику мышки на картинку, то почему нельзя привязать ссылку на конкретный код?
И сдается мне, что без обновления локации никак не обойтись.
dmvikar,
Уже все попробовал. Увы. Пока только переходом на локацию-обработчик.
Надо просить Байта, чтобы в инфополе (MSG) была возможность вставить другие кнопки и выдавать результат после закрытия.
Вполне себе:
dmvikar,
Надо просить Байта, чтобы в инфополе (MSG) была возможность вставить другие кнопки и выдавать результат после закрытия.
Как ты себе это представляешь? Это будет тот же инпут, только удобный.
К тому же, вопросы по msg уже поднимались, но ничего не изменилось.
Бытует мнение, что эти окошки вредны и не нужны вовсе.