Как сделать?
…
У меня проблема зачесалась, никак не решу.
Вот есть код боя:
Spoiler
Бой:
loc_ = 7
*NL
'Жук-трупоед: <<Жук_Здоровье>>'
*NL
' Наемник <<$name>>: <<health>>'
IF Жук_Здоровье < 0:
e=1
GT '5.5'
END
IF health < 0: GT 'END'
ACT 'Бить жука':
Жук_Здоровье -= attak/Жук_Броня
health -= Жук_Атака/br
GT $CURLOC
END
ACT 'Применить способность':
XGT 'Способности'
END
ACT 'Зелья и прочее':
XGT 'Зелья'
END
Способности:
IF e>0:
ACT 'Ярость':
*PL 'Вы оглушительно крикнули, вся ваша ярость вышла наружу, придавая вам сил.'
GS 'uerw'
e=-1
DELACT $selact
END
END
ACT 'Обратно':
GT '<<$loc[loc_]>>'
END
uerw:
IF e_lvl = 1:
attak=attak+5
br=br+4
END
IF e_lvl = 2:
attak=attak+6
br=br+5
END
IF e_lvl = 3:
attak=attak+7
br=br+6
END
IF e_lvl = 4:
attak=attak+8
br=br+7
END
Вывод статов:
IF $selobj = 'Статус':
CLR
PL '| <<$name>> |'
PL '| Здоровье: <<health>>/<<mhealth>> |'
PL '| Урон: <<attak>> |'
PL '| Клан: <<$clan[cq]>> |'
!PL '| День: <<day>>|'
UNSEL
END
Статы жука:
Жук_Здоровье = 40
Жук_Атака = 29
Жук_Броня = 4
Суть в том, что после первой же атаки жизни в ноль, хоть должно сносить 5-7 урона. А у ГГ 110 здоровья со снаряжением.
Spoiler
Куртка:
loc_ = 32
IF aq < 1 or (squire and s_aq < 1):
ACT 'Купить куртку':
IF money + aq*1 < 20:
msg 'Пересчитав свои деньги вы понимаете, что не можете этого себе позволить'
GT '3.1'
END
money -= 20
health += 100
mhealth = health
br+=2
aq = 1
GT '3.1'
END
END
ACT 'К другим товарам':
GT '3.1.1'
END
Меч:
loc_ = 31
IF sq < 1 or (squire and s_sq < 1):
ACT 'Купить <<$sword[1]>>':
IF money + sq*1 < 30:
msg 'Пересчитав свои деньги вы понимаете, что не можете этого себе позволить'
GT '3.2'
END
money -= 30
sq = 1
attak += 10
br+=10
GT '3.2'
END
END
ACT 'К другим товарам':
GT '3.1.1'
END
Oliver:
ACT ‘Бить жука’:
Жук_Здоровье -= attak/Жук_Броня
health -= Жук_Атака/br
GT $CURLOC
END
Так а ты зачем делишь то?
Получается не целочисленное число. Естественно все статы улетят в ноль.
Народ, у меня тут появилась задачка, с которой я, к сожалению справится все никак не могу…
Хочу реализовать время проведенное в игре (общее число времени). Все это реализуется с помощью MSECSCOUNT. Но вот как это все будет работать я так и не разобрался. Мне нужны минуты и часы проведенные в игре.
Если кто разбирается, помоги те пожалуйста.
Svartberg,
Ну по идеи атака “режится” от брони.
То есть:
У жука 60 жизней, и 6 брони. Моя атака наносит 16.
Значит 16/6=2.
Так же и у жука.
Oliver:
Svartberg,
Ну по идеи атака “режится” от брони.
То есть:
У жука 60 жизней, и 6 брони. Моя атака наносит 16.
Значит 16/6=2.
Так же и у жука.
ТАк в том то и дело, что 16/6 будет равно 2,6
Svartberg:
Хочу реализовать время проведенное в игре (общее число времени).
Svartberg,
тебе поможет $counter и пара переменных счётчиков. Поищи по форуму или почитай вот здесь, как делается время в игре. Аналогичным образом сделай подсчёт реального времени. Я бы на локации counter сделал следующее:
Spoiler
new_time = msecscount & ! текущее время
past_time = last_time - new_time & ! сколько прошло с последнего посещения локации counter
if past_time>0:
! прошло более 0 мсек
time['msecs']+=past_time & ! текущее значение милисекунд
! вычисляем добавочные секунды
time['addsecs']=time['msecs']/1000
! перевычисляем текущее значение миллисекунд
time['msecs']=time['msecs'] mod 1000
! вычисляем текущее значение секунд
time['secs']+=time['addsecs']
! вычисляем добавочные минуты
time['addminute']=time['secs']/60
! перевычисляем текущее значение секунд
time['secs']=time['secs'] mod 60
! вычисляем текущее значение минут
time['minute']+=time['addminute']
! вычисляем добавочные часы
time['addhour']=time['minute']/60
! перевычисляем текущее значение минут
time['minute']=time['minute'] mod 60
! вычисляем текущее значение часов
time['hour']+=time['addhour']
! вычисляем добавочные дни
time['addday']=time['hour']/24
! перевычисляем текущее значение часов
time['hour']=time['hour'] mod 24
! вычисляем текущее значение дней
time['day']+=time['addday']
!.... и т.д.
end
! не забываем запоминать последнее зафиксированное значение времени прошедшего с начала игры
last_time = new_time
Aleks Versus, отлично, спасибо)
Вопрос простой, но помощь крайне нужна.
Как сделать, чтобы действие открывалось спустя некоторое время проведенное на локации. Я пробовал через wait, но это останавливает игру полностью. Мне же нужно, чтобы игрок мог выбирать другие варианты и уйти с локации, или получить новый вариант в список если он не будет торопиться.
Заранее спасибо.
Ну по идеи атака “режится” от брони.
То есть:
У жука 60 жизней, и 6 брони. Моя атака наносит 16.
Значит 16/6=2.
Так же и у жука
если атака режется от брони, то не логичнее ли урон равно атака минус броня?
Ontario,
тебе тот же совет, что и Svartberg’у: воспользуйся локацией-счётчиком $counter. В моём сообщении от 19.Дек.15 12:35:51 (выше) представлен примерный способ отсчёта времени. Просто тебе нужно будет посчитать время проведённое на локации.
Вот рабочий пример actattime.qsp Подсчёт времени можно исключить в принципе. Достаточно части с вычислением текущих значений.
Aleks Versus,
Спасибо большое, всё работает.
Проблема: при пропуске имени(пустое поле) и последующем вводе он выдает сумму из двух действий а не одно из них:
Раз я не помню своего имени может стоит его придумать? Меня теперь зовут “ИМЯ” оно неплохо звучит. Раз я не помню своего имени может стоит его придумать? Меня теперь зовут Ленивая Жопа, потому что создателю лень было тратить пару секунд.
Как оставить только:
Или - Раз я не помню своего имени может стоит его придумать? Меня теперь зовут “ИМЯ” оно неплохо звучит.
Или - Раз я не помню своего имени может стоит его придумать? Меня теперь зовут Ленивая Жопа, потому что создателю лень было тратить пару секунд.
без смешения при любом порядке выполнения(не ввел имя, ввел и т.д.)?
'Раз я не помню своего имени может стоит его придумать? Меня теперь зовут <href="exec: menu ''$mystat''"><<$fsname>> <<$text1>>'
act 'Ввести имя':
:name
$fsname = ''
$fsname = input 'Введите имя'
if $fsname = '': $text1 = 'Ленивая Жопа, потому что создателю лень было тратить пару секунд.' ELSE $fsname = $fsname + ', оно неплохо звучит.'
gt $curloc
end
При помощи какого оператора можно изменить шрифт лишь части текста, а не шрифт всей локации? Я пробовал несколько вариантов, но они не поддерживаются. Доступна ли эта функция вообще?
RomaDova:
При помощи какого оператора можно изменить шрифт лишь части текста, а не шрифт всей локации? Я пробовал несколько вариантов, но они не поддерживаются. Доступна ли эта функция вообще?
HTML тебе в помощь.
USEHTML=1
<font size=10>Текст</font>
Вроде бы все перерыл, но не нашел.
подскажите пожалуйста, как правильно сделать предметы графическими?
К примеру мне нужно, чтоб в списке иконками отображались 3 предмета
1)свеча (зажженная и нет)
2)Хрустальный шар (разбитый и целый)
3)Музыка (вкл/вкл)
Я придумал только через onobjsel как-то так (на примере музыки):
if $selobj = '<img src=content/pic/volume.png>':
if sound_on=1:
sound_on=0
volume = 0
delobj '<img src=content/pic/volume.png>'
addobj '<img src=content/pic/volume_off.png>'
UNSELECT
else
music_on=1
sound_on = 1
volume = 50
delobj '<img src=content/pic/volume_off.png>'
addobj '<img src=content/pic/volume.png>'
UNSELECT
end
end
Но получается когда убираешь/добавляешь, предмет перемещается вниз списка, а так быть не должно, как его закрепить-то? =)