RU 📌 Pinned

Как сделать?

Dark[Ol(U23)leneri] #34 18.04.2010 22:57 6408 comments 2426661 views

Думаю, там можно было так:
if its<=1: del act “Вкл.Фонарик”

Dark[Ol(U23)leneri] #34 15.08.2010 10:48 (15 years ago)

можно было проще)
Правда я бы это делал не в act, а в меню предмета.

Следующий вопрос!
Допустим действие будет “построить корабль”,мой код:

if металл<2000:pl"Недостаточно ресурсов!" & wait 1000 & clr
if металл>=2000:pl"Построено!" & wait 1000 & clr & металл=металл-2000    end
end
goto"Постройки"

Вопрос такой!
Как правильней написать чтоб не выдавал ошибку? Например мне надо чтобы когда я нажму действие:”построить корабль”,у меня отнимался не только металл но и например энергия!?:)

Asasas, наверное, что-то вроде того:

if металл<2000 and энергия<2000:
    pl"Недостаточно ресурсов!"
    wait 1000
    clr
else
    pl"Построено!"
    wait 1000
    clr
    металл=металл-2000
    энергия=энергия-2000
end
goto 'Постройки'

Все вроде как правильно,но если я буду несколько раз строить у меня металл и энергия будут уходить за минус!?уже проверил!

Там нужно or:

if металл<2000 OR энергия<2000:

спсибо!)

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

  1. при обработки следующей строки “if skill_points>0 & хар=сила: hstrenght=hstrenght+1 & skill_points=skill_points-1” выдаёт ошибку 101(несоответствие типов данных). Что в этой строке не так?

1. Обновляем текст локации, вызываем gt curloc или xgt curloc. В крайнем случае refint.
2.

if skill_points>0 & хар=сила

Здесь нужно заменить “&” на “AND”.

1. Не совсем понятно как ты хочешь менять описание. Если полностью - то *clr и дальше вывод нужного текста. Если дописывать то все и так понятно - просто выводим. Если нужно заменять часть текста - то с помощью MAINTXT получаем текущее описание, регулярными выражениями меняем нужную часть текста а потом *clr и вывод.
2. При проверки логических выражений для их соединения нужно использовать AND, а не &.
То есть правильное условие будет выглядеть так “if skill_points>0 AND хар=сила: hstrenght=hstrenght+1 & skill_points=skill_points-1”

Пока я набирал Байт уже успел ответить :)

=NOSgod=,
1. Можно очистить окно основного описания командой *CLEAR и вывести новое описание, в этом случае оно обновится сразу без перезахода на локацию.
2. думаю ошибка в &
if skill_points>0 & and хар=сила: hstrenght=hstrenght+1 & skill_points=skill_points-1
P.S. Хм :)

Со вторым очень помогли.
С первым возникла новая проблема: почему-то очки характеристик(skill_points) раскидываются на все параметры, пока не примут значение нуль. Я для всех параметров использую единый шаблон, который описал выше (естественно заменяя значение “хар” и переменную, к которой идёт +1). Все получившиеся строки кода у меня написаны подряд - может в это ошибка?

Dark[Ol(U23)leneri] #34 25.08.2010 10:48 (15 years ago)

=NOSgod=, как насчет “премодерации”? Параметр будет изменяться до того, как вы заходите на локацию. Если интересно, могу выложить пример.
Правда, я там все характеристики выложил аки предмет в инвентарь. Хотя так же можно сделать вывод в дополнительное окно.
Или Вам принципиально необходим вывод в основное окно?

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

'<a href="exec:$хар_осн=сила & menu''хар'' ">Сила:                                                     </a>'+str(hstrenght)
  • на локации ‘Характеристики’
if $хар_осн=сила and skill_points>0: $хар_осн=ничего & hstrenght=hstrenght+1 & skill_points=skill_points-1 & gt 'Характеристики'
  • на локации ‘Увеличение’ Для остальных параметров так-же. Когда ввел команду gt ‘Характеристики’ изменяться стала только сила вне зависимости от выбранной ссылки. А до этого очки раскидывались на все параметры.

Log in or Register to post comments.