Как сделать?
…
Добрый день, ребят! МОжет подскажете, что это может быть, а то всю документацию по QSP и Aero перерыл, да и с html/css не первый день работаю, но с таким глюком первый раз сталкиваюсь.
Дано: боевой интерфейс в основном окне, все остальные отключены. При разработке смотрю, как это сделано в Trinity Engine и беру оттуда многие наработки. Интерфейс выполнен с помощью div’ов, в каждом div’e своя информация. Каждый div сделан по такому принципу:
#player_stats
И вот такая штука получается - примерно в области, выделенной красным, некликабельны ссылки. То есть я могу щёлкнуть по первому орку или по второму гоблину, чтобы получить по ним информацию в главном окне, но не могу щёлкнуть по третьему гоблину. Курсор просто не меняется со стрелки на руку, хотя ссылка “жёлтая”, т.е. это действительно ссылка, а не текст. Точно так же я не могу щёлкнуть по “Короткому мечу”.
При этом при изменении положения надписей (сдвиг на пару строк вверх или вниз) они становятся кликабельными, т.е. как будто выходят из некоей “мёртвой” зоны.
Сталкивались с чем-нибудь подобным?
Подскажите пожалуйста как сделать 1000 нпс с разными характеристиками?
Неважно,
путь в тысячу нпц начинается с первого нпц :D
Лично я храню характеристики в строке. Ну, грубо говоря
$npc[] = '01 123 01 01 01 01'
level = val($mid($npc[0], 1, 2))
exp = val($mid($npc[0], 4, 3))
strength = val($mid($npc[0], 8, 2))
body = val($mid($npc[0], 11, 2))
charisma = val($mid($npc[0], 14, 2))
luck = val($mid($npc[0], 17, 2))
Точно так же можно впихнуть имя, индексы предметов в инвентаре для продажи и т.д.
Неважно,
ну и генерация:
i = 0
:loop1
! генерим уровень персонажа
$tmp = ''
val = rand(1,99)
if (val < 10) : $tmp = '0'
$tmp = $tmp + $str(val)
$st = $st + $tmp + ' '
! и далее по такому принципу все параметры персонажа
! ...
! добавляем в массив нпц
$npc[] = $st
if (i < 1000) : jump 'loop1'
IIopy4uk,
я сгенерировал так
numchar=100
i=1
:s
warrior[i]=rand(1,3)
if warrior[i]=1:'Воин'
if warrior[i]=2:'Лучник'
if warrior[i]=3:'Конный гвардеец'
enemycurrenthp[i]=rand(100,200)
enemymaxhp[i]=enemycurrenthp[i]
enemyattack[i]=rand(100,200)
enemyaccuracy[i]=rand(100,200)
enemyagil[i]=rand(100,200)
enemyarmor[i]=rand(100,200)
enemyarmor[i]=rand(50,100)
Life[i]=1
i+=1
if i<=numchar: jump 's'
gt'show'
выводиться должны так…
*clr
cla
if Life[i]=0:gt $loc, $metka
i=args[0]
'<center><H4><<warrior[i]>></H4></center>'
if sex[i]=1 or sex[i]=2 or sex[i]=3:
'Здоровье противника <<enemycurrenthp[i]>> из <<enemymaxhp[i]>>
Атака <<enemyattack[i]>>
Защита <<enemyprotection[i]>>
Меткость <<enemyaccuracy[i]>>
Снаряжение противника:
Голова: <<$головаврага>>.
Туловище: <<$теловрага>>.
Руки: <<$рукиврага>>.
Ноги: <<$ногиврага>>.
Оружие ближнего боя: <<$оружиеврага>>.
Оружие дальнего боя: <<$оружиедбврага>>.'
end
act'бой':initiative = 1 & gt'battle'
act'<B><font size = 1>Отойти</font></B>':gt $loc, $metka
и проблема в том что в игре они не отображаются(((
Vlad,
не переход нежелателен, а задержка через wait. Оператор wait подвешивает игру на определённое время, и многих игроков на деле такое подвешивание раздражает, когда нельзя пропустить. В случае с переходом есть опасность, что игрок не успеет прочитать написанное, а переход уже осуществится. Невозможно уследить за тем, кто с какой скоростью читает.
folkextreme,
проверь вывод дивов. Весь html-код должен идти в одну строку, то есть выводиться с помощью операторов *p.
! нельзя:
*pl '<div>.........</div>'
*pl '<div>.........</div>'
! можно
*p '<div>.........</div>'
*p '<div>.........</div>'
! нельзя
'<div>.........</div>'
'<div>.........</div>'
! можно
$args[0]+='<div>.........</div>'
$args[0]+='<div>.........</div>'
*pl $args[0]
на смещение “кликовых областей” влияет даже то, что заголовок (<h1></h1>) выводится в отдельной строке. Для всех блоков в qsp это критично.
Aleks Versus, спасибо большое! У меня ровно так, как нельзя - ‘<div>…</div>’. Буду переделывать, надеюсь, поможет!
Знаю, что эта тема не для моего вопроса, но все же… У меня перестала работать прокрутка колесом мыши в QGen’e (4.0) в других программах все работает нормально, так что это не проблемы с мышью. В чем причина?
BiK,
действительно. Есть другая тема. И там вопрос задавался уже.
всем привет, сижу вот туплю
событие гг с разными нпс, один из пяти нпс выбирается рандомно, бонус +100, при повторном срабатывании того же самого нпс бонус +80 (дальше по той же схеме, разберусь), если же выпадает другой нпс, то счётчики бонуса всех остальных нпс обновляются, чёта брезжит в голове, но туплю, не могу сложить в кучу, помогите кому не сложно
Aaaspavel,
с чем помочь? Выбор рандомного npc? Создаёшь массив (напр $npc), в который заносишь неписей (имена или идентификаторы), потом
$choose_npc = $npc[rand(0,4)]
Изменение позиции счётчика? Фиксируешь последнего выпавшего npc в переменной
$last_npc = $choose_npc
Сверяешь:
if $choose_npc = $last_npc: counter_bonus -= 20 else counter_bonus = 100
Здравствуйте! В qsp не могу разобраться с таблицей. К сожалению не нашел как прикрепить картинку xD
Смысл 1ый столбец большой 2ой столбец разделен на три строки и их общая длина равна длине первого.
Bup0H,
лучше рисовать таблицу в таблице. Т.е. так, например:
! начало внешней таблицы
*p '<table>'
! строка с двумя равными столбцами
*p "<tr>"
! первый столбец
*p "<td width=50%>"
! не забудь сюда поместить содержимое
*p "</td>"
! второй столбец
*p "<td width=50%>"
! в качестве содержимого второго столбца делаем ещё одну таблицу
*p "<table>"
! закрываем таблицу в столбце
! три строки
*p "<tr><td>содержимое</td></tr>"
*p "<tr><td>содержимое</td></tr>"
*p "<tr><td>содержимое</td></tr>"
*p "</table>"
*p "</td>"
*p "</tr>"
! конец внешней таблицы
*p '</table>'
Добрый день, возник вопрос: реализуем ли на QGen бой не 1 на 1 а массовый, причем не пошаговыми действиями, а на рандоме. Поясню: есть группа героев у которой происходят стычки с одним или несколькими врагами. у каждого из врагов и героев свои показатели здоровья, атаки и шанса увернуться, причем у врагов количество здоровья берется рандомно (в определенном диапазоне для каждого типа врага). Перед боем случайным образом формируется последовательность ударов, которые и героями и врагами наносятся в рандомного противника. И герои, и враги с определенным шансом имеют вероятность срабатывания “навыка” (усиленный урон, урон по двум целям и т.п.) Игрок лишь тыкает кнопку начать бой, и игра симулирует его результат. Нужно для массовых побоищ, когда долго и трудно воевать пошагово.
Братец Лис,
да возможно. И по-моему DaGrozz недавно заявлял, что делал подобное. Если вопрос заключается в том, как это реализовать, то в рамках данной темы будет очень сложно развернуться. Вопрос глубокий, масштабный и на пальцах не объяснишь.