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

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

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

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

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'" она приходит равной нулю, внезависимости от того чему она была равна



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