Как сделать?
…
tay:
Вета:
и почему то ссылки-картинки не работают (делаю дивами) :((
если не ошибаюсь, код на картинку-ссылку такой
'<a href="exec:gt''локация''"><img src="/pic/картинка.jpg" width=150 hieght=114></a>'в коде, в начале указана локация перехода, потом путь на картинку, и в конце размеры самой картинки
Нет. К сожалению дело не в этом. Я посмотрел код Веты. Ссылка на картинке работает, но Aero почему-то выводит ссылку одной строкой внутри дива. Вета, надеюсь ты не обидишься, если я тыцну кусочек твоей игры:) Без спойлеров.
Код выглядит так:
$button='<img src="content/button.png">'
*p '<div style="position:absolute;left:190;top:200;width:700;"><a href="EXEC:gt ''пролог''"><<$button>></a></div>'
*p '<div style="position:absolute;left:400;top:210;width:700;"><a href="EXEC:gt ''пролог1''"><b>Играть</b></a></div>'
*p '<div style="position:absolute;left:190;top:260;width:700;"><a href="EXEC:gt ''пролог2''"><<$button>></a></div>'
*p '<div style="position:absolute;left:400;top:270;width:700;"><a href="EXEC:gt ''неделя1''"><b>Об игре</b></a></div>'
Svartberg,
максимальное здоровье= 100 просто опечатка
и по поводу кода что ты написал, мне нужно чтобы броня снижала урон монстра,а не вычитала его из атаки :D
т.е. нужны коэффициенты например 0.05, но их нельзя писать т.к. выходит ошибка
и все что я нашел в инете это формула в скайриме:
Влияет на наносимый урон оружием ближнего боя по формуле:
b × 0.5 × (0.75 + a × 0.005) × (0.2 + c × 0.015) × (d ÷ e + 1) ÷ 2, где
a — атрибут «Сила» персонажа;
b — базовый урон оружия;
c — значение навыка;
d — текущее состояние оружия;
e — максимальное состояние оружия.
DeathSpace,
что мешает увеличить все значения в сто раз и отнимать не 0.05 от значения, а 5, а при выводе на экран делить значения на 100?
здоровье=10000
!Выводим на экран
i=здоровье mod 100
if len(str(i))=1: $i='0'+str(i) else $i=str(i)
*P "<<здоровье/100>>.<<$i>>"
Мне нравится вот такая формула для вычисления урона, наносимого герою:
usherb = uron - (uron*block)/(uron+block)
, где usherb - конечный урон, который вычитается из здоровья героя, uron - значение текущей (силы) атаки монстра, block - сумма защиты против атаки (в т.ч. броня).
Aleks Versus,
Все спасибо,сделал
Ребят,мне нужно чтобы мой qsp файл сразу открывался во весь экран а не окошком т.е. чтобы мне не нужно было нажимать ALT+ENTER.
Можно так сделать?
DeathSpace,
можно в Навигаторе.
Флаг “startFullscreen” в файле настроек.
Доброго времени суток.
Не могу найти на форуме следующие. Как сделать что бы НПС передвигался по локациям? Ну допустим с 13 по 16 часов он в таверне, с 16 по 21 в кузнице за работой, с 21 по 06 он спит и лучше его не трогать, а то побьёт :-) Я понимаю что где то на форуме оно есть, может кто ткнёт пальцем? Спасибо.
Lexon,
это достаточно ёмкое дело. Самый простой способ такой:
1. Создаёшь систему времени. Здесь на форуме полно информации, как это делается. Начиная с раздела “разработчикам” и заканчивая темами про Юлианский “календарь”.
2. Далее, создаёшь для персонажа какую-нибудь переменную, в которую помещаешь название локации, в которой он находится по-умолчанию, так сказать.
$сэр_личард_рвиное_сердце = 'Таверна'
3. Теперь тебе нужно написать код, который будет сравнивать текущее время (см. пункт 1) с конкретным значением и менять расположение героя, перезаписывая в эту переменную названия тех локаций, где он должен находиться. Пример:
if hour>12 and hour<17:
$сэр_личард_рвиное_сердце = 'Таверна'
elseif hour>16 and hour<21:
$сэр_личард_рвиное_сердце = 'Кузница'
elseif (hour>20 and hour<24) or (hour>-1 and hour<7):
$сэр_личард_рвиное_сердце = 'Спит'
else
$сэр_личард_рвиное_сердце = 'Неизвестно где'
end
Этот код должен выполняться в тот момент, когда изменяется текущее время в игре.
4. При посещении нужной локации, сравниваешь значение в $сэр_личард_рвиное_сердце и имя текущей локации и выполняешь необходимые процедуры в зависимости от результата.
В одной из игр, которые есть на сайте, мне попадалась система, где персонаж перемещался. Но я не помню, что это была за игра. Попробуй порыться в поиске по слову “календарь”.
Я быстро состругал из вашего примера QSP файлик, Сэр Личард отказывается двигаться у меня, чую что я что то не учёл, но не пойму что, вы не посмотрите? Спасибо.
Есть пара вопросов.
slot=slot_num[npc]
memory['<<npc>>,<<slot>>,<<X[npc]>>,<<Y[npc]>>,<<Z[npc]>>,<<R[npc]>>']=total_minut
Есть массив такого типа. Это память нпс. Запоминает в какое время последний раз был на локации. Так вот вопрос первый, так как нпс около 2000-2500 и этот массив постоянно растет в какой момент будет слишком большой индекс массива, как тут хотя бы приблизительно прикинуть? В формате X[npc] понятно что когда npc станет равным 2147483647, то будет ошибка, а тут как прикинуть если индекс собирается из массивов и переменных.
Второй вопрос, а можно ли почисить многомерный массив лишь для определенного индекса. Например удалить все что относится к npc=175?
Lexon:
Я быстро состругал из вашего примера QSP файлик, Сэр Личард отказывается двигаться у меня, чую что я что то не учёл, но не пойму что, вы не посмотрите? Спасибо.
Ну это элементарно. Вот твоя локация таверна
act "Идём на улицу":
time += 5
gs 'календарь'
GT "улица"
end
act "Выпить чарочку":
time += 60
gs 'календарь'
GT curloc
end
Можешь мне ответить, в каком месте тут у тебя идет проверка одна и та же локация у нпс и героя? И где вообще отображается, что нпс на одной локе с героем.
Таки надо хоть как то проверять.
if $curloc=$сэр_личард_рвиное_сердце:'Тут Ричард львиное сердце.'
Таки да, я проверял точно так же, но у меня почему то не появлялся мой кузнец.
if $curloc=$Кузнец_Андор: ‘Вы замечаете в таверне кузнеца’
Я быстро настругал чистый пример без (Если), что бы показали чего не хватает в нём, может я не так задаю примеры.
Вот я подставляю вашу строчку, и не появляется кузнец, вы можете в пример воткнуть и прикрепить файл,я уже здесь залезу.
Спасибо.
Lexon:
Таки да, я проверял точно так же, но у меня почему то не появлялся мой кузнец.
if $curloc=$Кузнец_Андор: ‘Вы замечаете в таверне кузнеца’
Я быстро настругал чистый пример без (Если), что бы показали чего не хватает в нём, может я не так задаю примеры.
Вот я подставляю вашу строчку, и не появляется кузнец, вы можете в пример воткнуть и прикрепить файл,я уже здесь залезу.Спасибо.
Ну вот тебе твой пример.
primer.qsp
И кузнец и Ричард бродят куда положено и к ним можно обратится.
Вообще, ты меня конечно извини, но у тебя как то все через задницу сделано. Объясняю. Нет никаких нпс. Ты всего лишь сравниваешь текстовую переменную, с названием локации на которой находится герой. Если название этой переменной совпадает, то мы должны как то отобразить нпс, и как то войти в диалог, как отобразить и начать разговор я тебе сделал. А теперь ты ответь на вопрос, зачем делать локации спит и неизвестно где, для нпс, если можно тупо обнулить переменную перемещения нпс, ты же никогда не попадешь на локацию у которой нет названия.
DaGrozz,
напиши игру с таким кодом:
! начало
$massiv['текстовый индекс']='Какой-то текст'
$massiv[0]
И посмотри что получится.
Почитай тему об ограничениях QSP. Я плохо помню, чем ограничен размер массива. Знаю только, что значение переменной не может превышать определённое число.
Выходом из этой ситуации может послужить разгрузка индекса. Переведи часть индекса в название переменной и генерируй переменные динамически.
dynamic "memory_<<npc>>['<<slot>>,<<X[npc]>>,<<Y[npc]>>,<<Z[npc]>>,<<R[npc]>>']=total_minut "
DaGrozz:
Второй вопрос, а можно ли почисить многомерный массив лишь для определенного индекса. Например удалить все что относится к npc=175?
Боюсь только перебором. Есть способ удаления элемента по текстовому индексу.
memory['текстовый индекс']=9999999 & ! если ты уверен, что в массиве такое значение больше нигде не встретится
killvar 'memory',arrpos('memory',9999999)
