Как сделать?
…
Aaaspavel,
act - это оператор, выводящий пункт меню (который мы так же называем действием) в области “действия”. Код, который включается в act может быть абсолютно любым. При щелчке по действию выполняется код, который этому действию “присвоен”. В данном случае он должен выводить надпись. Если скопировать этот код в чистую новую игру, он прекрасно работает. Т.е. выводит надпись. act - не подразумевает goto, ибо goto - так же отдельный оператор.
Если же надпись при щелчке на действии не выводится, это чертовски странно, и представляется мне практически невозможным.
Aleks Versus, как бы странно это не звучало, но я сегодня потратил 2 часа, на то, чтобы запустить код, который был написан правильно. Однако, по странным сечениям обстоятельств, он заработал только с 5 раза. Притом я ничего не менял. Это странно, но быть может какие-либо конфликты в движке.
Svartberg,
я тоже частенько ловил подобные “аномалии”, но в большинстве случаев не работал не тот код, в котором я искал ошибку, а совсем другие части. Поэтому прежде чем пенять на плеер, и кричать: “оно мертво”, нужно скопировать “правильный” участок в новую игру и проверить, работает ли оно там. Модульная разработка в этом плане очень помогает.
Я разобрался в чем дело!
Aleks Versus,
А ты знаешь как сделать чтобы все время работала команда:
If сила < 0 :
goto ‘Проигрыш’
If Вер < 0 :
goto ‘Проигрыш’
end
end
end
А не только при в ходе?
Svartberg,
У тебя картинка странная Где взял?? ;)
Пожалуйста расскажите как пользоваться командой COUNTER а то я вообще непонимаю
KIRILLBIZHIN,
counter - это не команда.
Справка:
$COUNTER - локация-счетчик вызывается через одинаковые промежутки времени
Например пишешь в начале игры:
$COUNTER = 'локация_счётчик'
И создаёшь локацию с названием локация_счётчик, в которую и помещаешь определённый код. Этот код будет выполняться каждые пол секунды (по умолчанию).
Нет у меня просто комп глюканул ! Команда работает!!
Народ, мне нужна помощь. Накатал блок для работы с текстом (изменение, вырезание, подстановка и тд). Это все работает, я доволен. Однако при дальнейшей траспортировке данных в блок выполнением действий по условиям. Ничего не происходит. Вообще…
Код под спойлером. Ссылка на файл с кодом.
Spoiler
$user.input = '/connect {Port:7777}'
$port.memory[] = '7777'
IF STRFIND($user.input, '^(\S+)\s(\S+)$', 1) = '/connect':
$txt1box.cnt = STRFIND($user.input, '^(\S+)\s(\S+)$', 2)
$txttest.cnt = $MID('<<$txt1box.cnt>>',1,1) + $MID('<<$txt1box.cnt>>',6,1) + $MID('<<$txt1box.cnt>>',11,1)
IF $txttest.cnt ! '{:}':
'Error 2110: Syntax error {$user.input}'
ELSE:
IF INSTR($txt1box.cnt,'Port') ! 0:
position.cnt = 3 + LEN('Port')
$txt2box.cnt = $MID('<<$txt1box.cnt>>',position.cnt,4)
$SCRIPT.init = 'Connect {Port}'
END
END
END
IF $SCRIPT.init = 'Connect {Port}':
IF ARRCOMP('$port.memory',$txt2box.cnt) ! -1:
$inputs.cnl = ''
$SCRIPT.init = 'Connect {Port true}'
ELSEIF ARRCOMP('$port.memory',$txt2box.cnt) = -1:
$inputs.cnl = ''
$SCRIPT.init = 'Connect {Port false}'
END
SHOWINPUT 0
!====Вот эта часть отказывается работать=============!
ELSEIF $SCRIPT.init = 'Connect {Port true}':
$inputs.cnl = 'Port <<$txt2box.cnt>> open...'
$SCRIPT.init = 'Open {file true 2}'
SHOWINPUT 0
ELSEIF $SCRIPT.init = 'Connect {Port true 2}':
$CONSOLE.draw = ''
cells = 0
$inputs.cnl = 'Port <<$txt2box.cnt>> open...'
$SCRIPT.init = ''
SHOWINPUT 1
ELSEIF $SCRIPT.init = 'Connect {Port false}':
$inputs.cnl = 'Error 3287: Port not found'
$SCRIPT.init = ''
SHOWINPUT 1
END
!=====================================================!
Эм… Что я сейчас прочитал?
Что за присоединение порта 7777?
Ты что, мультиплеер делаешь?
Oliver, нет)
Это кое-что другое. Не совсем обычная текстовая адвенчура.
Svartberg,
после else не нужно двоеточие. Поясни, пожалуйста, как испытывать модуль. Просто сложно разобраться, что не работает, так вот с кода. Можно какие-то данные перед ним ввести, чтобы он сработал? Или же он срабатывает, но что-то нужно посмотреть на выходе? Тогда что?
P.S.^ А хотя вот. Убрал двоеточие, проверил по переменной $SCRIPT.init. В конце Connect выдаёт.
Aleks Versus, спасибо огромное за отклик) Извини, что не уточнил. Но я все-же только-что додул, почему у меня ничего не выходило.
$user.input = $LCASE($USRTXT)
Тобишь весь текст был в нижнем регистре…
IF INSTR($txt1box.cnt,'Port') = 2:
$SCRIPT.init = 'Connect {Port}'
END
Проверка INSTR на слово ‘Port’ с заглавной буквой…
Дурная голова, рукам покоя не дает.
задумка такая: к репутации гг привязать шрифт в навигаторе, планируется при положительной репутации один шрифт, при нейтральной другой, при отрицательной третий. как это можно сделать?