Форум » » Подскажите, как... » Ответить

Подскажите, как...

Cypher: Подскажите, что нжно сделать, чтобы при совершении действия на 1 локации фвтоматически появлялась новое действие на другой локации (напр., действие эПоднять мечэ автоматически добавляло определенное действие на локации 'Инвентарь').

Ответов - 107, стр: 1 2 3 4 5 6 All

Byte: один из самых простых вариантов - использование переменной на обработке действия пишешь: swordtaken=1 а на той где добавить (в "выполнить при посещении"): if swordtaken: act 'действие': '!!!!' end end

Cypher: Огромное спасибо. А вот еще, совсем тупой, вопрос - как сделать действие выхода из игры? Типа нажал act 'выход' и закрыл приложение?

HIman: Выход можно крестиком нажать в самом верху... А в игре выход можно оформить по другому. Например титры сделать, после них пожелания, и поздравления, ну а в конце написать THE END. Без каких либо действий. Очень даже будет приличный выход.


noname: UPD (сообщение многократно редактировалось автором) UPD как регулярно со мной и случается, дошёл до точки, когда игру пора переписывать с самого начала. хотелось бы узнать следующее: 1. как быстрее и проще всего убедиться, что в строке нет других символов, кроме заданных в некоторой строковой переменной другого способа, кроме как сравнивать какждый символ анализируемой строки с символами переменной-шаблона не вижу... 2. как быстрее и проще всего заменить каждую последовательность из нескольких пробелов подряд в строке на 1-н пробел подряд 3. как задать окно, которое будет 'в фокусе' при старте игры 4. может ли кусп делать лог-файлы? (урка может:) пока всё. да, ещё есть одна проблема: писать на куспе непривычно. но с этим уж мне никто не поможет...

Byte: noname пишет: 1. как быстрее и проще всего убедиться, что во вводимой строке нет других символов, кроме заданных в некоторой строковой переменной [pre2] $a='abcd' if strcomp($a, '^[abcdefjhijklmnopqrstuvwxyz012345]*$'):'В строке только указанные символы'[/pre2] noname пишет: 2. как быстрее и проще всего заменить каждую последовательность из нескольких пробелов подряд в строке на 1-н пробел подряд [pre2] $b='test text f' :loop pos=strpos($b, '\s{2,}') if pos:$b=mid($b, 1, pos)+mid($b, pos+2) & jump 'loop'[/pre2] UPD: Вместо strpos здесь можно воспользоваться простым instr: [pre2] $b='test text f' :loop pos=instr(1, $b, ' ') if pos:$b=mid($b, 1, pos)+mid($b, pos+2) & jump 'loop'[/pre2] noname пишет: 3. есть переменная, хранящая все 'буквы', и другая- хранящая все 'разделители'. анализируемая фраза содержит вперемешку всё подряд. как быстрее и проще всего выделить: 1-ю цепочку разделителей, 1-е слово, 2-ю цепочку разделителей, 2-е слово, .... (до 9-ти слов). ну, что-то на подобии токенов. Решение в лоб: [pre2] $a='фраза #$$$%^^^ содержит четыре слова !!!! или !!!! пять' $r='^(\w+)\W*(\w*)\W*(\w*)\W*(\w*)\W*(\w*)\W*(\w*)\W*(\w*)\W*(\w*)\W*(\w*)' strfind($a,$r,1) strfind($a,$r,2) strfind($a,$r,3) strfind($a,$r,4) strfind($a,$r,5) ...[/pre2]

noname: спасибо, буду разбираться. возможности- потрясают. синтаксис... скажем так, кроме уроков QSP надо бы ещё будет составить уроки регулярных выражений. когда-нибудь

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

Byte: noname, этот синтаксис общепринят (PCRE). По нему есть множество разных туториалов в интернете.

Ajenta: Тааак. Чёй-то у меня не получается. Объясните люди добрые. Раньше делала так: act 'выбор': item=1 & gt 'выбор' - и оно работало теперь делаю так: <a href="EXEC:GS ''выбрать''">Выбрать</a> - и куда же тут можно вставить item=1 ??? очень надо. :(

luciofulci: <a href = "exec: item=1 & gs 'выбрать'">Выбрать</a>

Ajenta: luciofulci пишет: <a href = "exec: item=1 & gs 'выбрать'">Выбрать</a> так не работает

Byte: Ajenta, если у тебя исходная строка заключена в апострофы, то вокруг "выбрать" нужно по 2 апострофа, т.е. также, как было у тебя в начале. А так luciofulci верно пишет.

Ajenta: а, нет, работает, значит я балда, сорри. Как всегда :)

luciofulci: Ajenta пишет: так не работает я только что проверил, у меня работает, как на текущей, так и старой версии интерпретатора. На что ругается интерпретатор?

Ajenta: уже не на что, пасиб, я просто балда, видимо до этого код как-то не так набирала :)

Byte: Со всеми бывает

luciofulci: А, ну и отлично. Можно и так, кстати: <a href = 'exec: item=1 & gs "выбрать"'>Выбрать</a>

Ajenta: угу, со мной особенно часто :) Вообще потрясаюсь как с моей внимательностью у меня ещё что-то работает.

Янус: Ктонить знает как создать меню для игры?

luciofulci: Янус пишет: Ктонить знает как создать меню для игры? Хелп знает :) http://qsp.su/files/index.php?subcat=5 Или тебе какое-то особенное меню нужно?



полная версия страницы