RU 📌 Pinned

Как сделать?

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

Такие ответы нужно не в тему “как сделать” писать, а в тему “Грабли”.

Nex,
может, так и сделать? Это довольно частая ошибка. Только сам я четко сформулировать это, думаю, не смогу.

А также - как сделать…

1) Проверка переменной. Что-то происходит если значение равно х ИЛИ y.
То есть приведу пример.
if player=1 ИЛИ 2:
что-то происходит
end
Надеюсь вы поняли и в этот раз, что мне надо

RomaDova,
Писать нужно так:

if player=1 OR player=2:
   что-то происходит
end

Не забывай, что тело условия должно выделяться табуляцией. Ты поймёшь, что всё правильно, если сможешь нормально сворачивать эти условия, кликая на минус чуть левее этого условия в редакторе.

Prophet,
я не уверен, что авторы приходят к этому интуитивно. Скорее, они находят этот приём где-то, подсмотрели. С сегодняшнего дня, благодаря твоим усилиям, уже и в этой теме смогут научиться.

Nex:

я не уверен, что авторы приходят к этому интуитивно. Скорее, они находят этот приём где-то, подсмотрели. С сегодняшнего дня, благодаря твоим усилиям, уже и в этой теме смогут научиться.

Интуитивно. Я бы вот в onnewloc проверку бы поместил, а этот путь тоже очень косячный (в основном из-за того, что обязательно переходы нужны по каждому действию игрока, влияющему на hp).

Я задавал вопрос - как сделать, чтобы что-то проверялось всегда. Вот мне эта штука опять нужна. Как можно организовать такую штуку, чтобы например здоровье (или еще что) восстанавливалось постепенно. То есть чтобы значение переменной увеличивалось каждые несколько секунд где бы ты не был?

Как сделать, чтобы звуковая дорожка не прерывалась и при окончании начиналась заново, пока ее не остановишь?

RomaDova:

Как сделать, чтобы звуковая дорожка не прерывалась и при окончании начиналась заново, пока ее не остановишь?

Поместить в локацию счетчик.

RomaDova:

Я задавал вопрос - как сделать, чтобы что-то проверялось всегда. Вот мне эта штука опять нужна. Как можно организовать такую штуку, чтобы например здоровье (или еще что) восстанавливалось постепенно. То есть чтобы значение переменной увеличивалось каждые несколько секунд где бы ты не был?

Опять же, использовать локацию счетчик.

RomaDova:

Как сделать, чтобы звуковая дорожка не прерывалась и при окончании начиналась заново, пока ее не остановишь?

Плейлист

Напомните какой оператор удаляет все предметы из инвентаря

Aleks Versus Moderator 15.03.2014 12:51 (11 years ago)

killobj

Хотелось бы уточнить один момент с оператором KILLVAR. В частности, удаления из массива значения с определённым индексом.

Если, для примера, у меня есть процедура для удаления некоторых значений из массива. Значения передаются через аргументы. Индексация массива сложная, т.е. индекс состоит как из самого аргумента, так и из статичной строки (например, ‘<<ARGS[0]>>_A’). Как тогда удалить нужный элемент, ведь в KILLVAR для значения аргумента строка не подходит?

Zores,
нужно
1. найти числовой индекс массива по текстовому.
2. удалить элемент с помощью KILLVAR по найденному числовому индексу.

Если массив числовой:
Числовые переменные принимают значения от -2147483647 до 2147483647.
Если зарезервировать одно из значений, например -2147483647, и проследить, чтобы обычным способом оно не могло попасть в массив, то можно сделать так.
Записываем по индексу ‘<<ARGS[0]>>_A’ значение -2147483647. Это значение уникально, оно встречается в массиве только раз.
Ищем с помощью ARRPOS индекс элемента массива по этому значению.
Удаляем элемент по индексу.

Если массив текстовый, то ещё проще, записываем какую-нибудь заведомо не встречающуюся в игре строку, например ‘##SEARCHPOINT##’, дальше то же самое.

Log in or Register to post comments.