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

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

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 Или тебе какое-то особенное меню нужно?

Янус: luciofulci пишет: Или тебе какое-то особенное меню нужно? НУ как сказать - простое меню с анимацией!!!!!!!!!!

Янус 1: ДА ладно ч щас снова обшарил весь хелп и ничего не нашол ................................

luciofulci: ACT [$название],[$путь к файлу изображения]:[оператор] & [оператор] & ... - добавление действия к существующим на локации. К действиям добавляется новое с описанием [$название] и изображением [$путь к файлу изображения]. При нажатии на него выполнятся заданные операторы. Параметр [$путь к файлу изображения] может отсутствовать. При этом действие добавится без изображения. Также см. раздел "Многострочные IF / ACT". Я правда не знаю, можно ли туда добавлять не просто статичные картинки, а гифы с анимацией. Если, конечно, я тебя правильно понял :)

Янус : окей!!!!Спасибо -попробую

Янус : Еще маленький вапросик некто не знает сайта с хорошиме подробными уроками (желательно и примерами ) по qsp....Плиз подскажите............

luciofulci: http://www.ifwiki.ru/QSP_%D0%A3%D1%80%D0%BE%D0%BA%D0%B8 Тут есть пара уроков. Дальше если что непонятно, читай хелп. Если и после этого непонятно - спрашивай тут :)

Янус : luciofulci пишет: Если и после этого непонятно - спрашивай тут :) Еще раз спосибо!!!!!!!!!

Ajenta: Тааак, созрел ещё один вопросик. Если у меня в списке предметов есть к примеру - записная книжка. При выборе этого предмета должна появляться соответствующая локация. Так вот мне нужно, чтобы на этой локации не было списка предметов. Вариант отключить окно не подходит. Как сделать так, чтобы по приходу на эту локацию список предметов бы исчезал, а при возврате на предыдущую снова появлялся?

Byte: Ну вариант - сохранить текущие предметы в массиве, потом восстановить: [pre2] j=0 & objs = countobj :objects & if j<objs:$objs[j] = getobj(j+1) & j=j+1 & jump 'objects' killobj[/pre2] восстановить: [pre2] j=0 :objects & if j<objs:addobj $objs[j] & j=j+1 & jump 'objects'[/pre2]

Ajenta: Гммм, а поясни плизз, а то не поняла что-то гиде тут массив для сохранения :(

Byte: $objs[j] - текстовые элементы массива. objs - числовое значение 0го элемента - там сохраняем число предметов..

Ajenta: Всё, догнала. Спасибо, работает. :)

Янус : Тут такое дело -мне надо создать что-то вроди боевой системы или так сказать таблицу где с каждым определеным действием будет прибовлятся очки зла или добры как это сделать ктонить знает ?

Nex: Непонятно. Объясни подробнее.

Ajenta: У меня снова проблема. Осваиваю загрузку локаций из файла пишу $nameloc = 'заклинания.gam' ADDQST[$nameloc] выдаёт ошибку - что делаю не так?

Byte: Это же оператор. Из справки: Используются обозначения: [выражение] - выражение может быть как текстового, так и числового типа. [$выражение] - выражение текстового (строкового) типа (но при необходимости движок автоматически переведёт число в строку). [#выражение] - выражение числового типа (если возможно, движок автоматически переведёт строку в число). Как и повсюду, addqst 'имя файла' / addqst $var_name / addqst '<<$name>>.gam' и т.д.

Ajenta: Ок, пасиб.

Янус : Nex пишет: Непонятно. Объясни подробнее. Привиду пример я могу либо убить человека либо оставить в живых если я убью то мне прибавится очко зла если помилую очко добра Мне нужно что бы открывалась таблица (любая)добра и зла (в нашем случии)где показывались эти вот очки +чтобы при определеных накоплениях очков поевлялась какаенибудь вещь или действие! Надеюсь щас попонятнее обьяснил!!!!!!!!!

elmortem: Янус Имеем 2 переменные: добро = 0 и зло = 0 Когда совершаем плохой поступок делаем зло = зло + 1 Когда хороший добро = добро + 1 Про саму таблицу (визуализация) не совсем понятно. Подробнее объясни.

Byte: Янус, вводим 2 переменные - добро и зло добро = добро+1 когда "помиловали" зло = зло+1 когда "навредили" Проверки: [pre2] if добро > 10: ...[/pre2] Показать: [pre2] 'Добро: <<добро>>' 'Зло: <<зло>>'[/pre2]

Янус : так это понятно..................- ток вот одно не понял например я набрал 2 очка зла после этого должно поивится какой либо придмет или же какаянибудь лакация как это сделать? elmortem пишет: Про саму таблицу (визуализация) не совсем понятно. Подробнее объясни. Ну чтобы в инвентаре например было клавиша там "зло и добро" нажымаеш и открыватеся таблица (любая)с параметрами........!!!!!!!

luciofulci: я думаю, логичнее было бы ввести одну переменную. например, мораль if убил: мораль = мораль - 1 if помиловал: мораль = мораль + 1 тогда проверять будет проще: if мораль > 10: ... if мораль < -10: ... хотя мораль можно, конечно, каждый раз рассчитывать как добро - зло в общем, вариантов много, выбирай наиболее удобный :)

luciofulci: по поводу визуализации, можно сделать локацию с описанием (как уже написал byte). Для более красивого отображения можно использовать html (в частности, тег table). с другой стороны, не совсем понятно, зачем это нужно... на мой взгляд более интересно, когда эти переменные скрыты от игрока, влияя при этом на игру. Например, некоторые заклинания могут требовать определенный уровень морали ("светлые" - положительного, "темные" - отрицательного). А показывать все это игроку - это как-то слишком "в лоб" по-моему. хотя, разумеется, для тестирования игры это необходимо, но в этом случае никаких красивостей здесь не нужно: главное, чтобы тебе самому было все понятно.

Янус : luciofulci пишет: А показывать все это игроку - это как-то слишком "в лоб" по-моему. Может быть .......просто я так думаю что на слишком сложное у меня силенок не хватит

luciofulci: Ну, в общем начинать с чего-то сложного и не стоит :) Могу дать совет: сначала добавь несколько локаций с возможностью навигации. Потом уже добавлять что-то будет проще, так как уже будет готовая площадка для тестирования.

elmortem: Янус Почитай уроки. Там появления новых действий зависит от количества денег, сделай по аналогии, только вместо денег испльзуй добро и зло.

Янус : elmortem ,Byte ,luciofulci Спасибо за помощь!!!!!!!!!!!!!!!!!!!!!!!!

Янус : Люди кто знает можно ли сделать что-то типо боевой системы .............???????

Byte: Можно, конечно.

Янус : а как ?плиз привиди пример хотябы самой простой

Byte: Ну есть несколько параметров, например "здоровье" и "атака". Также эти параметры есть у противника: "здоровье_врага", "атака_врага". Также у врага есть имя - "$имя_врага". Создаем локацию "бой". На ней пишем: [pre2] if здоровье<=0: 'Вас убил <<$имя_врага>>.' act 'Конец':gt 'смерть' else act 'Атаковать': 'Вы нанесли <<$имя_врага>> урон <<атака>>.' здоровье_врага=здоровье_врага-атака if здоровье_врага<=0: 'Вы убили <<$имя_врага>>.' delact $selact act 'Далее':gt $next exit end '<<$имя_врага>> нанёс урон <<атака_врага>>.' здоровье=здоровье-атака_врага xgt $curloc end end[/pre2] Для начала боя нужно задать параметры врага и локацию, куда перейти после победы: [pre2] атака_врага=1 & здоровье_врага=5 $имя_врага='Враг' $next='3' gt 'бой'[/pre2] Конечно, можно сделать множество противников, больше параметров, внести случайные бонусы к атаке/защите и т.д.

Янус : я все прописал как ты сказал но................................перехожу на локацию где должна произойти драка и пишет сразуже Вы проиграли и все .........................

Byte: Установи в начале игры параметры героя - "здоровье" и "атака". И не нужно постить кучу многоточий и восклицательных знаков.

Янус : серовно только пишет вас убили

Янус : может ты мне пропичатаеш в qgen и выложиш если канешно не сложно -а то очень надо...........!!!!

Nex: Так как вопрос достаточно часто задаётся, оформил это в пример и выложил: http://qsp.su/files/redirect.php?dlid=65 Открывай QGen'ом, смотри.

Янус : спс!!!!!!!!!

Byte: Теперь есть и на сайте :)

трибуше: Люди плиз подскажите (срочно надо и негде не написано)как называется сам скриптовый язык qgen?

Nex: трибуше QGen - это не язык, это программа, редактор игр. В редакторе QGen пишутся игры под платформу QSP. У скриптового языка, на котором пишутся игры под QSP, отдельного названия нет, можешь называть его "язык QSP". Помимо QGen, игры можно создавать в текстовом формате, предназначенном для утилиты TXT2GAM, которая "переводит" его из текстового формата в игру. Там есть свои особенности, но язык тот же.

трибуше : спасиб!!!!!

Янус : Все наверно уже играли в "level13" дело в том что мне понравилось там то что можно прямо в тексте переходить на локацию и брать придметы !Как это сделать ?

Nex: Янус смотри в код :) Это делается через ссылки, с использованием HTML. Для использования HTML необходимо написать в стартовой локации [pre2]USEHTML=1[/pre2] Справка: Операторы и функции\Использование тегов HTML при разработке игр\тег "A" Если в качестве ссылки для "A HREF" указано число, то при клике по ссылке будет произведена обработка действия с данным индексом. Индексация действий ведётся с 1. Если в качестве ссылки для "A HREF" указана строка вида "EXEC:строка_кода", то при клике по ссылке будет выполнена указанная строка кода. Т.о., для перехода делаем так: [pre2]Вы видите дверь в <a href="EXEC:GOTO 'ванная'">ванную</a>.[/pre2]

elmortem: Ога, там главное с кавычками не перемудрить...

Янус : Люди как мне сделать так чтоб на лакации Определеной была постояно АSCII анимация а после определеного дела она ищезала ?или поевлялась другая анимация )+ Как сделать чтобы на опреденую лакацию была определеная музыка +Когда происходило какое либо действие музыка менялась?

Byte: luciofulci, вот так и правильно :) аналогично с апострофами. Янус, см. в сторону локации-счётчика ($COUNTER).

luciofulci: Янус, ты задаешь много вопросов, которые связаны не столько с куспом, сколько с программированием вообще. В принципе, для того, чтобы писать квесты на куспе нужно понимать такие вещи, как переменные, условные операторы, циклы и т.д. Можно, конечно, копипастить готовые решения, но это не слишком эффективно, так как рано или поздно ты в своем коде запутаешься окончательно, ведь у тебя не будет четкого представления о том, как все работает и что и где нужно исправить, если возникли проблемы. Значит ли это, что ты должен сжав зубы биться над проблемой в одиночку? Нет, не значит. Но попытаться всегда стоит. И если действительно не получается, то, задавая вопрос, приложить минимум информации, который позволит лучше разобраться в твоей проблеме: 1) что ты хочешь сделать. 2) как ты пытался сделать сам (приложить код, который у тебя не работает или работает не так, как нужно).

Янус : Эх.......!!!!!!!!luciofulci пишет: приложить код, который у тебя не работает или работает не так, как нужно). Окей!!!!!!!!!

Nex: Янус примеры с анимацией есть на http://qsp.su, смотри и пиши свой вариант. Использование музыки есть в играх "Подземелья Чёрного Замка" и "Взгляд из коробки", смотри код игры, пиши свой вариант.

Янус : Nex пишет: Подземелья Чёрного Замка и Взгляд из коробки Так нужен пароль..............

Nex: Янус пароль для ПЧЗ - "uekz" (без кавычек)

Янус : спс!

Янус : создал меню для игры всунул музыку ...........в меня есть вкладки выключить звук -когда ее нажимаеш музыка прекращается когда я выхожу из этой вкладки и играю музыка почемуто снова играет вот то что я прописывал if music_allowed=1: *pl 'Музыка включена.' act 'Выключить музыку': music_allowed=0 CLOSE ALL goto 'sound_setup' end end if music_allowed=0: *pl 'Музыка выключена.' act 'Включить музыку': music_allowed=1 gosub 'music_on' goto 'sound_setup' end end в чем ошибка?

Nex: Что значит "Вкладка"?

Янус : В меню есть клавиша музыка когда заходиш туда там есть клавиша включть выключить звук (это и есть вкладка).........

Nex: Янус , я ничего не понял, про какое меню идёт речь? O_O

elmortem: Янус [pre]#Начало ! тут мы включаем разные умолчания и ! больше сюда никогда не приходим, ! просто забываем про эту локацию music_allowed = 1 GOTO 'start' - #start 'Бла-бла-бла, клёвая игра...' IF music_allowed = 1: ! включаем музыку END ACT 'Музыка':GOTO 'sound_setup' - #sound_setup ! тут код включения/выключения из твоего поста ACT 'Назад':GOTO 'start' ! переходим не на Начало, а именно на start -[/pre] Как-то так...

Янус : спс!И последний вопрос (просто негде не могу найти)Можно ли поменять фон на экране где показывается текст (с белого например на черный)?

Byte: bcolor=rgb(1,1,1)

Янус : Byte пишет: bcolor=rgb(1,1,1) все окей только текст невидно..................

Nex: Янус потому что ещё и цвет текста нужно поменять! Чёрное на чёрном разумеется не будет видно.

Янус : а как тогда поменять цвет текста?

Byte: Янус, Справка -> Операторы и функции / Системные переменные / Переменные настройки интерфейса См. переменную FCOLOR. Пример: FCOLOR=RGB(255,255,255)

Янус : спс!!!!!!!!

Янус : Люди подскажите .... Я вот дейсвие не создаю а прописываю (ACT 'Назад':GOTO 'кабинет отца') так вот что мне надо прописать чтобы всунуть картинку -тоесть чтобы дейсвие идти была с картинокай например ноги

Nex: Янус см. справку. ACT [$название],[$путь к файлу изображения]:[оператор] & [оператор] & ... - добавление действия к существующим на локации. К действиям добавляется новое с описанием [$название] и изображением [$путь к файлу изображения]. При нажатии на него выполнятся заданные операторы. Параметр [$путь к файлу изображения] может отсутствовать. При этом действие добавится без изображения.

трибуше: спс!!!!!!!!

ShamanEdy: Как узнать какая ціфрв какой цвет? Это я про BCOLOR

Byte: Есть ф-я RGB: RGB([#выражение 1],[#выражение 2],[#выражение 3]) - возвращает код цвета на основе 3-х числовых аргументов. [#выражение 1], [#выражение 2] и [#выражение 3] определяют соответственно уровни красного, зелёного и синего цветов. Все значения аргументов должны быть в отрезке [0, 255].

Mioirel: Можно ли задать для псевдослучайных чисел заданное число, так называемый "SEED"? Допустим, как-нибудь остановить MSECSCOUNT? Если нет, как можно улучшить нижеследующий алгоритм? ! Последовательность псевдослучайных чисел из числа 3241 от 1 до 10000 ulSeed = 2 ulMax = 9 ulGenerator1 = 3241 ulGenerator2 = ulGenerator1 * 2 :loop number=number+1 ulSeed = ulSeed * ulGenerator1 + ulGenerator2 ulSeed = ulSeed / ulMax *pl ulSeed if number!10000: jump 'loop' Это необходимо для создания быстрого вызова псевдослучайного числа из числа SEED. Использования LOOP очень медленно переваривает большие числа. Нужна некая формула, но математика не моя сильная сторона и поэтому прошу помощи.

Byte: #rand seed=69069*seed+5 result=seed/65536 and 32767 result[1]=args[1]-args[0]+1 result=result-result/result[1]*result[1]+args[0] --- вызывать так: func('rand',минимальное_значение,максимальное_значение) установка seed'а: seed=число для генерации следующего числа последовательности цикл не нужен :)

Mioirel: Огромное спасибо!!! Это то, что нужно.

ShamanEdy: Спасибо, разобрался.

random: У меня такая проблема: в локации 1 на героя дожно напасть случайно выбранное из списка существо. генерится номер существа, после чего параметрам текущего противника присваеваются параметры соответствующего монстра. потом идет отсыл к локации 2 где есть выбор скажем дратся или поговорить. если поговорить не удается, то переход к локации 3 и 4 где оформленны удары со стороны героя и монстра соответственно. это все работает проблема в том, что здоровье монстра забитое гдето в локации 1 после удара добросовесно уменьшается, но по выходе из локации сбрасывается на исходное. т.е. после каждого удара героя монстр какбы выздоравлевает. как быть?

Byte: при выходе из какой локации? если здоровье сбрасывается, значит интерпретатор выполняет присвоение переменной начального значения. сбрасывается во время битвы? не понятно, что нужно сделать.

random: в локации 3 наносится удар, переменная меняется, я это отслеживаю то выводу текста. потом идет отправка в локацию 4 и от туда обратно в 3. в 4й обращения к интересующей переменной нет. при входе в 3 переменная уже имеет исходное значение, как будто то, что ее когдато задали в другой локации имеет проритет и я оперирую не с самой переменной а со слепком.

random: Впечатление такое, что интерпертатор когда я запрашиваю внешнию по отношению к текущей локации переменную, не изменяет ее, а создает внутеннюю с тем же значением и названием, только без обратной связи.

Ajenta: random пишет: Впечатление такое, что интерпертатор когда я запрашиваю внешнию по отношению к текущей локации переменную, не изменяет ее, а создает внутеннюю с тем же значением и названием, только без обратной связи. Не, ерунда, тут так не бывает :) Наверняка всё гораздо проще. Напиши код примерный с переходами. И разберёмся.

Nex: Обычно на этапе составления "примерного кода" автор сам понимает в чём был его косяк

random: вот вам выписка из кода локация 1 i=1 & $fa='кулаком' & $fb='в голову' & #fb=3 & $fc='от души ударил' & #fc=3 i=2 & $fa='кастетом' & $fb='в корпус' & #fb=2 & $fc='прицельно попал' & #fc=2 i=3 & $fa='ножем' & $fb='по ногам' & #fb=1 & $fc='слегка зацепил ударив' & #fc=1 i=4 & $fa='шокером' & $fb='по рукам' & #fb=1 & $fc='не пробил блок ударив' & #fc=0 i=5 & $fa='хлыстом' & $fb='в горло' & #fb=4 & $fc='промахнулся при ударе' & #fc=0 i=1 & $tip_vraga='качок' & #v_heаlsvr=200 & v_atvr=2 & v_obvr=1 i=2 & $tip_vraga='каратист' & #v_heаlsvr=150 & v_atvr=3 & v_obvr=2 i=3 & $tip_vraga='бычара' & #v_heаlsvr=200 & v_atvr=2 & v_obvr=3 i=4 & $tip_vraga='наркоман' & #v_heаlsvr=50 & v_atvr=1 & v_obvr=0 i=5 & $tip_vraga='байкер' & #v_heаlsvr=100 & v_atvr=3 & v_obvr=1 i=6 & $tip_vraga='панк' & #v_heаlsvr=70 & v_atvr=1 & v_obvr=2 dais=rand(1,6) $namevr=$tip_vraga[dais] & #heаlsvr=#v_heаlsvr[dais] & atvr=v_atvr[dais] & obvr=v_obvr[dais] в локации 2 нет ничего интересного локация 3 act 'ударить ': dais=rand(1,5) !*pl str(dais) dais=dais+player_ataka-obvr !*pl str(dais) if dais>5 : dais=5 if dais<1 : dais=1 !*pl str(dais)+' '+str(heаlsvr) *pl 'ты '+$fc[dais]+' '+$fa[pl_or_n]+' '+$fb[1] #healsvr=#heаlsvr - #pl_or*#fb[1]*#fc[dais] *pl str(#healsvr) cla act 'next': if #healsvr>0: goto '4' else goto 'город' end end локация 4 dais=rand(1,5) dais=dais-player_oborona-atvr !*pl str(dais) if dais>5 : dais=5 if dais<1 : dais=1 *pl $namevr+' '+$fc[dais]+' '+$fa[vr_or_n]+' '+$fb[1] #healspl=#heаls-10*(#vr_or*#fb[1]*#fc[dais]) act 'next': if #healspl<=0: goto 'город' else goto '3' end к слову с переменной #healspl тоже какято беда. в "act 'next'" она приходит равной нулю, внезависимости от того чему она была равна

Byte: 1) У переменных разные названия - это 2е разных переменных. Видимо "e" или "a" русская/английская. 2) else в начале строки игнорируется. 3) А зачем у переменных писать "#" в начале имени?

Nex: random посмотри в справке как следует писать многострочный IF

random: Переменные я как правило штампую копипастой, но проверю. Спасибо за идею А # перед переменными для того чтобы не путаясь держать под одним названием текстовку-описание события и число вырожающее эффект события.

qwerty: Byte пишет: У переменных разные названия - это 2е разных переменных. Видимо "e" или "a" русская/английская. а не сделать ли вам подцветку русских и английских букв разными цветами? бывают ситуации...

Byte: Может, в будущем.

Byte: random пишет: Переменные я как правило штампую копипастой, но проверю. Спасибо за идею Я уже проверил, поэтому написал.

Nex: qwerty стоит сделать, я об этом уже писал.



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