Как сделать?
…
mkir,
абсолютно случайных чисел не бывает. Генератор генерирует псевдослучайные числа. Плохо помню из информатики, но кажется он опирается на значение времени. Миллисекунды или микросекунды. В бейсике предлагалось выходить из этого выбрасывая случайный предел, а затем выбрасывая случайное число из предела.
В QSP можно повторить нечто подобное, и даже лучше:
Spoiler
! в первую очередь генерируем массив, заполненный всеми нужными данными
! можно проставить вручную, но я использую цикл для чисел от 1 до 9
if arrsize('arand')=0:
! только если массив не создан, так как незачем создавать его сто раз
args['i']=1
:for
if args['i']<10:
arand[]=args['i']
args['i']+=1
jump 'for'
end
end
! копируем этот массив во временный
copyarr "temprand","arand"
! теперь заполняем другой массив, случайным образом выдёргивая данные
! из уже сформированного массива (из temprand в newtemprand)
:for_rand
args['size']=arrsize('temprand')
if args['size']>0:
args['rand']=rand(0,args['size']-1)
newtemprand[]=temprand[args['rand']]
! удаляем выбранную ячейку массива
killvar 'temprand',args['rand']
jump 'for_rand'
end
! теперь когда новый массив заполнен случайным образом данными из исходного массива
! выкидываем из него случайное значение
args['result']=newtemprand[rand(0,arrsize('newtemprand')-1)]
! удаляем временные массивы
killvar 'temprand'
killvar 'newtemprand'
! заставляем функцию вернуть значение
result=args['result']
Нужно записать этот код на отдельной локации, назвать её например rand-rand и получать случайное число уже так:
d=func('rand-rand')
Само собой она будет работать медленнее оригинального rand, и для примера я написал только вариант с числами от 1 до 9, но можно легко переделать под возможность гибко задавать предел.
P.S.: такие короткие ряды случайных чисел могут банальным образом случайно повторяться. Такая штука была замечена в айподе. Он смешивал песни в случайном порядке, но пользователи пожаловались, что “очень часто” песни повторяются, или может “долгое время” играть один и тот же исполнитель, из-за чего разработчикам пришлось внести в алгоритм перемешивания корректировку. То есть они “снизили” случайность. Таким образом в плейлисте стало меньше повторов, но он уже не перемешивался по настоящему случайным образом.
$LSP="<a href='EXEC:beginning_quest[2]=beginning_quest[2]+1 & goto ""Loc""'>Бла бла<a/>"
*pl "Бла бла бла <<$LSP>> бла бла бла."
У меня такой вопрос, почему в данном коде, все что после <<$LSP>> тоже выделяется гиперссылкой?
Думал проблема в недостающей кавычке или лишней, но ничего такого не нашел.
UPD неправильно закрыл </a>, вопрос снят
BraJelon,
просто ты ошибся в закрывающем теге:
<a/>
Должно быть
</a>
Всем привет. Подскажите как сделать работающие переменные как голод и уталость? Пробовал сделать систему денег в PL но
То значение что пишу изачально в строке Pl не меняется. Если не трудно объясните. Желательно с примером кода
чтобы показатели было видно
Что значит “система денег в PL”?…
PL это вывод текста. Если ты напишешь pl ’5’ он всегда будет выводить 5. Различай вывод от хранения.
Значения храним в переменной
деньги = 5
Работаем дальше с ней, в том числе и выводим
pl деньги
Engineer,
Зачем str? И так ведь выведется
oleksandrigo,
По привычке написал.
Так должна выглядить таблица
Но она выглядит так
https://ibb.co/VjB3GcG
================================
Как убрать абзаци которые создаються из воздуха?
если можно теги и пример куда их записыват
хотя бы!
вот код
Spoiler
'<html>
<head>
<title></title>
</head>
<body>
<table border="0" cellpadding="1" cellspacing="1">
<tbody>
<tr>
<td style="text-align: center;">
Никнейм</td>
<td style="text-align: center;">
<table border="5" cellpadding="1" cellspacing="1" style="width: 0px;">
<tbody>
<tr>
<td>
меню1</td>
<td>
меню2</td>
<td>
меню3</td>
<td>
меню4</td>
<td>
меню5</td>
<td>
меню6</td>
<td>
меню7</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table cellpadding="1" cellspacing="1" style="width: 200px;">
<tbody>
<tr>
<td>
<table border="1" cellpadding="1" cellspacing="1" style="width: 200px;">
<tbody>
<tr>
<td>
<p>
голова </p>
<p>
</p>
</td>
</tr>
<tr>
<td>
рука1</td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
</td>
</tr>
</tbody>
</table>
</td>
<td>
Фото персонажа</td>
<td>
<table border="1" cellpadding="1" cellspacing="1" style="width: 200px;">
<tbody>
<tr>
<td>
<table border="0" cellpadding="1" cellspacing="1" style="width: 200px;">
<tbody>
<tr>
<td>
<table border="1" cellpadding="1" cellspacing="1" style="width: 200px;">
<tbody>
<tr>
<td>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table border="1" cellpadding="1" cellspacing="1" style="width: 200px;">
<tbody>
<tr>
<td>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table border="1" cellpadding="1" cellspacing="1" style="width: 200px;">
<tbody>
<tr>
<td>
</td>
<td>
</td>
<td>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
</td>
<td>
</td>
<td>
</td>
</tr>
</tbody>
</table>
</td>
<td>
<table border="2" cellpadding="1" cellspacing="1" style="height: 50px; width: 50px;">
<tbody>
<tr>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячйе</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячйй</td>
<td>
ячей</td>
</tr>
<tr>
<td>
ячей</td>
<td>
яч5е</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
</tr>
<tr>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ммм</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
мааа</td>
</tr>
<tr>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
</tr>
<tr>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
</tr>
<tr>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
</tr>
<tr>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
</tr>
<tr>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
</tr>
<tr>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
</tr>
<tr>
<td>
яче</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
<td>
ячей</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table></body>
</html>'
Teemo228,
думал что-то сложное. Нет, всё как у всех))
Теги <html> <body> <head> и <tbody> классический плеер не поддерживает.
Таблица так криво отображается из-за паразитных переводов строк. Типичная ошибка новичка: паразитные переводы строк после таблицы
Исправленный вариант. Для наглядности добавил цвет в фон таблицы.
Spoiler
*p '<table border="0" cellpadding="1" cellspacing="1" bgcolor=#ffffff>'
*p '<tr>'
*p '<td style="text-align: center;">'
*p 'Никнейм'
*p '</td>'
*p '<td style="text-align: center;">'
*p '<table border="5" cellpadding="1" cellspacing="1" style="width: 0px;" bgcolor=#eeeeee>'
*p '<tr>'
*p '<td>меню1</td>'
*p '<td>меню2</td>'
*p '<td>меню3</td>'
*p '<td>меню4</td>'
*p '<td>меню5</td>'
*p '<td>меню6</td>'
*p '<td>меню7</td>'
*p '</tr>'
*p '</table>'
*p '</td>'
*p '</tr>'
*p '<tr>'
*p '<td>'
*p '<table cellpadding="1" cellspacing="1" style="width: 200px;">'
*p '<tr>'
*p '<td>'
*p '<table border="1" cellpadding="1" cellspacing="1" style="width: 200px;">'
*p '<tr>'
*p '<td>'
*p '<p>голова</p>'
*p '<p> </p>'
*p '</td>'
*p '</tr>'
*p '<tr>'
*p '<td>рука1</td>'
*p '</tr>'
*p '<tr>'
*p '<td> </td>'
*p '</tr>'
*p '<tr>'
*p '<td> </td>'
*p '</tr>'
*p '<tr>'
*p '<td> </td>'
*p '</tr>'
*p '</table>'
*p '</td>'
*p '<td>'
*p 'Фото персонажа'
*p '</td>'
*p '<td>'
*p '<table border="1" cellpadding="1" cellspacing="1" style="width: 200px;">'
*p '<tr>'
*p '<td>'
*p '<table border="0" cellpadding="1" cellspacing="1" style="width: 200px;">'
*p '<tr>'
*p '<td>'
*p '<table border="1" cellpadding="1" cellspacing="1" style="width: 200px;">'
*p '<tr>'
*p '<td> </td>'
*p '</tr>'
*p '</table>'
*p '</td>'
*p '</tr>'
*p '<tr>'
*p '<td>'
*p '<table border="1" cellpadding="1" cellspacing="1" style="width: 200px;">'
*p '<tr>'
*p '<td> </td>'
*p '</tr>'
*p '</table>'
*p '</td>'
*p '</tr>'
*p '<tr>'
*p '<td>'
*p '<table border="1" cellpadding="1" cellspacing="1" style="width: 200px;">'
*p '<tr>'
*p '<td> </td>'
*p '<td> </td>'
*p '<td> </td>'
*p '</tr>'
*p '</table>'
*p '</td>'
*p '</tr>'
*p '</table>'
*p '</td>'
*p '</tr>'
*p '<tr>'
*p '<td> </td>'
*p '</tr>'
*p '<tr>'
*p '<td> </td>'
*p '</tr>'
*p '<tr>'
*p '<td> </td>'
*p '</tr>'
*p '<tr>'
*p '<td> </td>'
*p '</tr>'
*p '</table>'
*p '</td>'
*p '</tr>'
*p '<tr>'
*p '<td> </td>'
*p '<td> </td>'
*p '<td> </td>'
*p '</tr>'
*p '<tr>'
*p '<td> </td>'
*p '<td> </td>'
*p '<td> </td>'
*p '</tr>'
*p '</table>'
*p '</td>'
*p '<td>'
*p '<table border="2" cellpadding="1" cellspacing="1" style="height: 50px; width: 50px;">'
*p '<tr>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячйе</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячйй</td>'
*p '<td>ячей</td>'
*p '</tr>'
*p '<tr>'
*p '<td>ячей</td>'
*p '<td>яч5е</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '</tr>'
*p '<tr>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ммм</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>мааа</td>'
*p '</tr>'
*p '<tr>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '</tr>'
*p '<tr>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '</tr>'
*p '<tr>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '</tr>'
*p '<tr>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '</tr>'
*p '<tr>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '</tr>'
*p '<tr>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '</tr>'
*p '<tr>'
*p '<td>яче</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '<td>ячей</td>'
*p '</tr>'
*p '</table>'
*p '</td>'
*p '</tr>'
*p '</table>'
Благадарю Реально выручил! Добавлю тебя в Описание с благоданастями)) хоть и так собирался) но теперь в двойне благодарен!
Это однин из важнейших елементов моей игры!
Кнопка в предметах) а там где инвентарь инфа будет меняться по нажатию верхних кнопок! благадарю!
В мой извращеный мозг пришла идея!
Заполнить фон ячейки можно подобрав нужный размер картинки а можно ли такое же но (игнорируя размер картинки, как на рабочем столе функция растянуть! Или на крайняк заполнить как в обчном Html! Я такйю фишку делал когда сайт делал!
Teemo228,
в классическом плеере нельзя поставить фоном картинку в таблицу/ячейку таблицы. Но если просто вставить картинку, то её можно растянуть:
* p '<table width=50%><tr><td><img src="pic/picture.png" width=100% height=100></td></tr></table>'
Поставь свою картинку и посмотри, что будет.
Если же ты имел ввиду, что ставишь картинку фоном через $backimage, а потом поверх рисуешь таблицу, то фоновая картинка не будет растягиваться на ширину окна, только вписываться. Таким образом, тебе надо делать и ширину таблицы фиксированной и игрока заставить не растягивать окно по ширине/высоте.
Для таких заморочек лучше попробуй Quest Navigator. Игры пишутся так же, как и для классики +полная поддержка HTML, CSS, и даже частично JavaScript.
Мгия переменных
Улица
Spoiler
cla
!Таверна, Лавки
*PL "Довольно широкая улочка с мощеной кипичем тропинкой, по обе стороны виднеюься:
Фонари с керасинавыми лампами что каждую ночь освещают улици, тусклим и мрачным светом.
Не далеко от входа виднееться <a href='EXEC: goto ""Городская таверна""'> Городская таверна ''7 собак''</a> - (странное название, но не мне их судить).
А на противоположной стороне виднееються <a href='EXEC: goto ""Лавки""'> лавки торговцев</a>"
!Погулять по городу, Городские ворота,
if 0=0:
act 'Погулять по городу':
goto 'Улица_Ивенты'
end
act 'Городские ворота':
goto 'Городские ворота'
end
end
Улица_Ивенты
Spoiler
IventStreetId = RAND(1,3)
!Дневные ивенты
if time[2] = 6 or (time[2]>6 and time[2]<18) :
!Девочка с Рюкзаком
if IventStreetId = 3: time[1] = time[1] + 5
*clr
*pl "<img src='\images\Locac\Street\1.png' width=<<widthPy>>>"
*Pl "1Бродя по улочкам города, вы увидели маленькую девочку с огромным
рюкзаком за ее спиной
(<i>интересно как она такая маленькая может таскать такой, большой
рюкзак</i>)А еще она чего то злиться, (<i>лучше с ней не связываться</i>)
вы поспешили своей дорогой дальше"
cla
act 'Не обращать внимание':
goto 'Улица'
end
end
!Блондинка бежит
if IventStreetId = 1: time[1] = time[1] + 5
*clr
*pl "<img src='\images\Locac\Street\2.jpg' width=<<widthPx>>>"
*Pl "Гуляя по городу внезапно мимо вас словно метеор промчалась блондинка в
фиолетовом платье (интересно куда она так может спешить)"
cla
act 'не обращать внимание':
goto 'Улица'
end
end
!Листовка (религиозные фанатики)
if IventStreetId = 2: time[1] = time[1] + 5
*clr
*pl "<img src='\images\Locac\Street\3.png' width=<<widthPx>>>"
*Pl "К вам подошла девочка и очень настырно пыталась вручить вам листовку, взглянув
на листовку: вы поняли что это религиозные фанатики"
'<<IventStreetId>>'
cla
act 'Не брать':
cla
*pl 'Девочка не стала вас преследовать и вы ушли дальше по своим делам'
act 'уйти по своим делам':
goto 'Улица'
end
end
end
end
if time[2] = 18 or (time[2]>18 and time[2]<21) :
end
if time[2] = 21 or (time[2]>21 and time[2]<24) :
end
if time[2] = 0 or (time[2]>0 and time[2]<4) :
end
if time[2] = 4 or (time[2]>4 and time[2]<6) :
end
Думаю не секрет что должно работать тк!
1) погулять по городу
2) рандом число
3) Ивент по числу
а работает
1) погулять по городу
2) рандом число
3) последний ивент игнорируя условия If
Teemo228,
Просто ты и сам проигнорировал разницу между однострочными и многострочными формами условий.
Многострочная форма записи оператора условий
Spoiler
if time[2] = 6 or (time[2]>6 and time[2]<18) :
!Девочка с Рюкзаком
if IventStreetId = 3:
time[1] = time[1] + 5
*clr
*pl "<img src='\images\Locac\Street\1.png' width=<<widthPy>>>"
*Pl "1Бродя по улочкам города, вы увидели маленькую девочку с огромным
рюкзаком за ее спиной
(<i>интересно как она такая маленькая может таскать такой, большой
рюкзак</i>)А еще она чего то злиться, (<i>лучше с ней не связываться</i>)
вы поспешили своей дорогой дальше"
cla
act 'Не обращать внимание':
goto 'Улица'
end
end
!Блондинка бежит
if IventStreetId = 1:
time[1] = time[1] + 5
*clr
*pl "<img src='\images\Locac\Street\2.jpg' width=<<widthPx>>>"
*Pl "Гуляя по городу внезапно мимо вас словно метеор промчалась блондинка в
фиолетовом платье (интересно куда она так может спешить)"
cla
act 'не обращать внимание':
goto 'Улица'
end
end
!Листовка (религиозные фанатики)
if IventStreetId = 2:
time[1] = time[1] + 5
*clr
*pl "<img src='\images\Locac\Street\3.png' width=<<widthPx>>>"
*Pl "К вам подошла девочка и очень настырно пыталась вручить вам листовку, взглянув
на листовку: вы поняли что это религиозные фанатики"
'<<IventStreetId>>'
cla
act 'Не брать':
cla
*pl 'Девочка не стала вас преследовать и вы ушли дальше по своим делам'
act 'уйти по своим делам':
goto 'Улица'
end
end
end
end
Wiew, msg///
какая еще есть? просто мне нужно еще одно окно временное как ПЛ и *ПЛ. но при этом можно взаимодействовать с другими окнами!
понимаю сложно обяснил!
в доп окне типо инвентарь отобразился!
Teemo228,
Если сложно объяснил, попробуй объяснить просто. Чтоб все поняли.
Тебе нужны таблицы в html и ссылки.
Просто поместить таблицу в таблицу