Как сделать?
…
oleksandrigo,
oleksandrigo:
Почему вместо того чтобы изменить Х он просто в виде текста выдает мне x -= 10. И как сделать так чтобы это был не текст а код?
потому что оператор dynamic выполняет строку текста (переданную ему), как код.
Какую строку ты ему передаёшь?
“$forEvadingY”
Какой код содержится в этой строке?
$forEvadingY
Что делает этот код? — Выводит значение переменной $forEvadingY на экран.
Чтобы выполнялся код, который ты поместил в виде текста в переменную, нужно передавать оператору dynamic значение этой переменной:
dynamic $forEvadingY
satna,
satna:
if $руки = 0: 'не могу придётся его слушать' gs 'комар',3
явная ошибка, а то и две. Должно быть:
if руки = 0: 'не могу придётся его слушать' & gs 'комар',3
а лучше так
if руки=0:
'не могу придётся его слушать'
gs 'комар',3
end
Thank, Aleks Versus
Рукожоп бьёт тревогу и просит о помощи. Нужно сделать так, чтобы $strfind находил в $usrtxt последовательность из “непустых” символов, находящуюся в конце строки. Пробовал так:
if $strfind($usrtxt,'^\w{2,9}\s?\w+')='run' and $strfind($usrtxt, '$\s\S{18,33}')=' root/SD_Disk_2_GB/2.protocol':
if disk = 1 and $diskname = 'SD_Card_2_GB':
if дым = 1: дым = 0
pl 'Протокол успешно запущен...'
p 'Выполняю... |||'
wait 700
p '|||||'
wait 700
pl '|||'
wait 700
pl 'Готово.'
end
'test'
end
так:
if $strfind($usrtxt,'^\w{2,9}\s?\w+')='run' and $strfind($usrtxt, '$\S{18,33}')=' root/SD_Disk_2_GB/2.protocol':
if disk = 1 and $diskname = 'SD_Card_2_GB':
if дым = 1: дым = 0
pl 'Протокол успешно запущен...'
p 'Выполняю... |||'
wait 700
p '|||||'
wait 700
pl '|||'
wait 700
pl 'Готово.'
end
'test'
end
и даже так:
if $strfind($usrtxt,'^\w{2,9}\s?\w+')='run' and $strfind($usrtxt, '$\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*}')=' root/SD_Disk_2_GB/2.protocol':
if disk = 1 and $diskname = 'SD_Card_2_GB':
if дым = 1: дым = 0
pl 'Протокол успешно запущен...'
p 'Выполняю... |||'
wait 700
p '|||||'
wait 700
pl '|||'
wait 700
pl 'Готово.'
end
'test'
end
Ничего не работать. :-(
NickoAilus,
"sss ssss sss root/SD_Disk_2_GB/2.protocol"
$regex = '\S+$'
$strfind($maintxt, $regex)
Вроде работает
oleksandrigo,
Со строкой “run root/SD_Disk_2_GB/2.protocol” не сработало. Возможно, дело в $usrtxt?
NickoAilus,
Зачем тебе uxrtxt ??
Если прям без него никак то можно сделать так.
$usercom = 'enter' &! это в начало игры
А это в локацию enter
gt $curloc
и тогда
$regex = '\S+$'
$strfind($usrtxt, $regex)
будет работать
oleksandrigo, я планировал, что у игры будет небольшая вставка с терминалом. К примеру, как в игре “Килобайты роз”, но там вся игра на нём завязана.
Юзерком использовал с самого начала, но регекс там не сработал.
Псст. Решение вроде бы найдено, но оно немного кривоватое.
Вот, какая строка должна была задействовать код: “run root/SD_Disk_2_GB/2.protocol”. Но на деле работает только эта строка: “run**root/SD_Disk_2_GB/2.protocol” (обратить внимание на два пробела).
Код:
$regex = '\s\S+$'
if $strfind($usrtxt,'^\w{2,9}\s?\w+')='run' and $strfind($user_text, $regex)=' root/SD_Disk_2_GB/2.protocol':
if disk = 1 and $diskname = 'SD_Card_2_GB':
if дым = 1: дым = 0
pl 'Протокол успешно запущен...'
p 'Выполняю... |||'
wait 700
p '|||||'
wait 700
pl '|||'
wait 700
pl 'Готово.'
end
'test'
end
Может ли кто-нибудь подсказать, как изменить эту ситуацию? Сразу скажу, что код
$regex = '\S+$'
if $strfind($usrtxt,'^\w{2,9}\s?\w+')='run' and $strfind($user_text, $regex)='root/SD_Disk_2_GB/2.protocol':
if disk = 1 and $diskname = 'SD_Card_2_GB':
if дым = 1: дым = 0
pl 'Протокол успешно запущен...'
p 'Выполняю... |||'
wait 700
p '|||||'
wait 700
pl '|||'
wait 700
pl 'Готово.'
end
'test'
end
тоже работает лишь с двумя пробелами.
NickoAilus,
Spoiler
$regex = '\S+$'
$strfind($usrtxt,'^\w{2,9}\w+')
$strfind($user_text, $regex)
if $strfind($usrtxt,'^\w{2,9}\s?\w+') = 'run' and $strfind($user_text, $regex)=' root/SD_Disk_2_GB/2.protocol':
if disk = 1 and $diskname = 'SD_Card_2_GB':
if дым = 1: дым = 0
pl 'Протокол успешно запущен...'
p 'Выполняю... |||'
wait 700
p '|||||'
wait 700
pl '|||'
wait 700
pl 'Готово.'
end
'test'
end
Оно?
NickoAilus:
Нужно сделать так, чтобы $strfind находил в $usrtxt последовательность из “непустых” символов, находящуюся в конце строки. Пробовал так:
вместо того, чтобы ковырять весь код целиком, рекомендую проверять регэкспы, создав отдельный файл qsp.
Не совсем понимаю поставленную задачу.
Если в строке присутствует несколько слов (под словом подразумеваются кусочки текста, не содержащие пробельные символы), их легко выбрать в массив:
killvar '$input_text_word'
$args['string']=$user_text
:BALOON
if len($args['string'])>0:
$input_text_word[]=$TRIM($strfind($args['string'],'\s*\S+\s*'))
$args['string']=$TRIM($replace($args['string'],$strfind($args['string'],'\s*\S+\s*')))
jump 'BALOON'
end
никаких премудростей. Теперь просто проверяешь соответствующие ячейки:
if $input_text_word[0]='run' and $input_text_word[1]='root/SD_Disk_2_GB/2.protocol':
! код ...
если нужно проверить точное соответствие.
Более того, не увлекайтесь регэкспами в QSP. Везде, где можно обойтись без регэкспа, делайте без регэкспа. Я как-то увлёкся так, что игра повисала при попытке выбрать строку, а я грешил на бесконечный цикл.
Aleks Versus,
Спасибо за решение :-)
Думаю, в симуляторе терминала трудно обойтись без рэгекспов, если не хочется прописывать каждую комбинацию вручную. А если к нам подключается case-insensitive, то без них вообще дело - жопа
oleksandrigo,
Вроде да, оно
В общем, такой вопрос назрел, так как устал искать решение. Пишется на Навигаторе, так что, вопрос скорее к web возможностям.
Короче, есть фон, на котором изображены люди. Необходимо, чтобы при наведении на определённого человека, его изображение изменялось(хотя бы как-то выделялось). Весьма буду благодарен за помощь.
Oliver,
как сделать подсветку куска фона — не знаю. Подсветку элемента можно делать с помощью css.
Вот статья: http://seodnevnik.ru/sozdanie-sajtov/podsvetka-kartinki-ili-sozdanie-knopki-na-css.html
Я бы предложил нарезать фон на куски с человеками, затем для нужных кусков сделать дубли изображений, но с дорисованной подсветкой. И воспользоваться статьёй.
Ребят, такой вопрос, пилю что - то типа визуальной новеллы, и хотелось бы проконсультироваться по аспектам кода.
Допустим на локации в описании посередине портрет персонажа, под портретом его имя выделенное жирным, и минуя одну пустую строчку то, что персонаж говорит.
Так вот, как возможно реализовать вывод текста по клику кнопки далее в действиях? Как бы, я пытался сделать это через act, но штрудирование руководств мне не помогло и текст просто выводился лишь по первому нажатию кнопки далее, затем кнопка пропадала, хотя дальнейший акт с тем же названием, но другим текстом уже имеется.
Надеюсь на вашу помощь, заранее спасибо)