RU 📌 Pinned

Как сделать?

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

KlimKlim,
код для отображения характеристик в окне доп. описания:

! Очищаем окно доп. описания
CLR
! Выводим характеристики
PL 'Здоровье: <<здоровье>>%'
PL 'Кредиты: <<кредиты>>'

Каждый раз, когда потребуется обновить характеристики в окне доп. описания, вызываем этот код. Либо “напрямую”, либо создаётся отдельная локация и вызвается через GOSUB.

Nex,
Спасибо! Теперь нужно сделать так: 1. чтобы игрок один раз спрыгнул и у него один раз отнялось здоровье - 20% например. 2. чтобы у него при клацанье кнопки отнималось здоровье до 0 и он умер. Также с кредитами как сделать ? спасибо заранее.

здоровье = здоровье - 15
gt $CURLOC
здоровье = здоровье + 15
gt $CURLOC
кредиты = кредиты - 100
gt $CURLOC

KlimKlim,

здоровье = здоровье - 20
IF здоровье <= 0:
    GOTO 'смерть'
END
GOTO $CURLOC

Nex,
Респект тебе :)

здоровье = здоровье + 20
IF здоровье = 100: 
    PL  'Вы здоровы. '
END
GOTO $CURLOC

Дальше продолжает набирать здоровье

кредиты = кредиты - 100
IF кредиты = 0: 
    PL  'Деньги закончились. '
END 
gt $CURLOC

Дальше продолжают убывать кредиты.

Или действие можно только закончить оператором “GOTO” ?

KlimKlim,

! увеличиваем здоровье
здоровье = здоровье + 20
! не позволяем здоровью превысить максимум
IF здоровье > 100: 
    здоровье = 100
END
! непонятно зачем, сообщаем игроку, что он здоров
IF здоровье = 100: 
    PL  'Вы здоровы. '
END
GOTO $CURLOC
! совершаем покупку только в том случае, если кредитов достаточно
IF кредиты >= 100:
    ! уменьшаем количество кредитов
    кредиты = кредиты - 100
    ! следим, чтобы кредиты не ушли в минус
    IF кредиты < 0: 
        кредиты = 0
    END
ELSE
    PL 'У вас недостаточно кредитов.'
END
IF кредиты = 0: 
    PL  'Деньги закончились. '
END 
gt $CURLOC

Я конечно полный нуб в программировании, у меня не получается сделать так чтобы при переходе в другую локацию отнимались деньги или здоровье. Например я перешел из a локации в b локацию, и при этом потерял 12 кредитов, типо кто то украл их по дороге.

Записал так в действии при переходе:

кредиты = кредиты - 12
IF кредиты < 488: 
    кредиты = 488
END
GOTO "loc_2"

KlimKlim,

кредиты = кредиты - 12
IF кредиты < 0: 
    кредиты = 0
END
GOTO "loc_2"

Разобрался. Нужно вывести значения или в отдельную локацию, либо приписывать в другой локации код:

! Очищаем окно доп. описания 
CLR 
! Выводим характеристики 
PL 'Здоровье: <<здоровье>>%' 
PL 'Кредиты: <<кредиты>>'

KlimKlim,
я об этом тебе говорил с самого начала.

Nex:

Каждый раз, когда потребуется обновить характеристики в окне доп. описания, вызываем этот код.

Подскажите! Не понимаю, как в с помощью библотечки добавлять несколько предметов (не по одному). Примера там нету (только +1 или выровнять до 10) деньги-то могут прибавляться по-разному на одной локации +11, на другой +7 и тд.

Podkovally, с помощью какой библиотечки?

Здравствуйте!
Есть небольшая проблема: надобно, скажем, показать здоровье персонажа в процентах, в дополнительном окне пользователя. Примерно так:

PL 'Здоровье: <<hp/maxhp*100>>%'

Однако ж, стоит мне изменить текущий уровень здоровья (”hp”, максимальный уровень - “maxhp”), как значение в игре меняется со “100%” на “0%”. Что не так?
P.S. Если что, код указан в локации-обработчике перехода. Хотя не думаю, что проблема в этом.

Надо немного поменять формулу

PL 'Здоровье: <<hp*100/maxhp>>%'

проблема возникает из-за того, что qsp не поддерживает дробных чисел

werewolf,
Спасибо!

Log in or Register to post comments.