RU 📌 Pinned

Как сделать?

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

Дамир Белялов #654 07.10.2023 09:18 (2 years ago)

Уважаемые знатоки приветствую, еще раз большое спасибо Dmvikar, Alex Versus и всем остальным за советы и поддержку!
Такой вопрос: я делаю тайлсет для своего roguelike. Можно ли увеличить масштаб изображения

$symbol[0]=<img src="и так далее">
$symbol[1]=......
*p'<<$symbol[0]>> - пикча маленькая, нифига не видно! '

чтобы в пейнте не перерисовывать каждую картинку. У меня значки 32 на 32. Мне не видно, пришлось 64 на 64 каждую картинку перерисовывать. Есть способ попроще, господа???

Aleks Versus Moderator 09.10.2023 12:58 (2 years ago)

Дамир Белялов,
ты можешь выставить размеры, конечно:

<img src="и так далее" width="64" height="64">

но учитывай, что изображение растянется и будет размытым.

Aleks Versus Moderator 09.10.2023 16:21 (2 years ago)

Злой Механик,
помоги на минуточку. Вот пытаюсь я значит отредактировать WAV в гекс-редакторе. smpl в конец файла добавил, теперь мне нужно подредактировать вторые четыре байта.
Вот эти четыре байта:

9C 13 84 03

Беру их наоборот:

03 84 13 9С

и прибавляю 44 (hex)

03 84 13 E0

Снова переворачиваю и записываю в файл?

О, дьявол! Это работает. Дай я тебя поцелую, чертяка! :lol:

Жаль в qSpider не работает, но технически это можно поправить, как мне кажется, каким-нибудь JS.

Всем привет. Подскажите плиз:
1. Можно ли изменить размер доп окна который выходит при команде msg c помощью файла qspgui.cfg
2. Как сделать из таблицы переменную.
3. Можно как то отредактировать панель действий? например так же из неё сделать таблицу из картинок расположенных в горизонтальном направлении? Или что бы действия были по центру. И/Или вызывать в разных ситуациях панель Действией в разном размере, в зависимости от условий
4. можно ли поставить картинку не на весь основной экран а на таблицу?
5. Как пустить музыку по кругу?
6. в чем моя ошибка? почему полоска здоровья для обоих персонажей считается как для Гигантожабы?

Spoiler
!Михок

$args[0] = $здоровье_михок	&	
$args[1] = $max_здоровье_михок	&	
if $args[2] = 0:$args[2] = 350	&	
if $args[3] = "":$args[3]="FF0000"	&	
$args['table']='<TABLE width=<<$args[2]>> border=0 cellspacing=0 cellpadding=0><TR>'
$args['x'] = ($args[0] * 100) / $args[1]
$args['empty'] = 100 - $args['x']
if $args['x']>0:
	$args['table']+="<TD width=<<$args['x']>>% bgcolor=#"+$args[3]+">&nbsp;</TD>"
end
if $args['empty']>0:
	$args['table']+="<TD width=<<$args['empty']>>% bgcolor=#888888>&nbsp;</TD>"
end
$args['table']+='</TR></TABLE>'
$result = $args['table']

!гигантожаба
$args[4] = $здоровье_жаба	&	
$args[5] = $max_здоровье_жаба	&	
if $args[2] = 0:$args[2] = 350	&	
if $args[3] = "":$args[3]="FF0000"	&	
$args['table1']='<TABLE width=<<$args[2]>> border=0 cellspacing=0 cellpadding=0> Здоровье:<<$здоровье_жаба>>/<<$max_здоровье_жаба>> <TR>'
$args['x1'] = ($args[4] * 100) / $args[5]
$args['empty1'] = 100 - $args['x1']
if $args['x1']>0:
	$args['table1']+="<TD width=<<$args['x1']>>% bgcolor=#"+$args[3]+">&nbsp;</TD>"
end
if $args['empty1']>0:
	$args['table1']+="<TD width=<<$args['empty1']>>% bgcolor=#888888>&nbsp;</TD>"
end
$args['table1']+='</TR></TABLE>'
$result = $args['table1']

Darvin432,
6. Не используй args, используй обычные переменные - $args[’table’] -> $table.
2. Собственно, так и делается переменная из таблицы.
4. в 5.7.0 - нет.
3. Проще сделать это в основном окне.
1. Скорее всего нет. Оно масштабируется по содержанию. Если только пользоваться этим костылем.
5. Где-то была инфа, воспользуйся поиском.

dmvikar
2. Подскажи как это сделать именно? потому что код ниже не работает

$таблица = *p"<table border =1>"
	$таблица = *p"<tr>"
		$таблица = *p"<td>""</td>"
		$таблица = *p"<td>""</td>"
	$таблица = *p"</tr>"
$таблица = *p"</table>"

1. если содержание больше окна оно растягиевается на “полоски” которые нужно прокручивать. Есть ли способ задать стандарные размеры?

Darvin432,

$таблица = "<table border = 1>"
    $таблица += "<tr>"
        $таблица += "<td></td>"
        $таблица += "<td></td>"
    $таблица += "</tr>"
$таблица += "</table>"

dmvikar
Еще вопросы появились)
1. Мне нужно сравнить значения нескольких переменных Условно:

$Cкорость1 = 12
$Cкорость2 = 15
$Cкорость3 = 143
$Cкорость4 = 4
$Cкорость5 = 1467

Выбрать из них максимальное значение. Далее в зависимости от выбора Совершить определенное действие. Потом вернуться к сравнению этиъ переменных но уже без прошлого победителя так сказать. Делать это до тех пока не останется один. Потом начать заного сравнение этих переменных. (+ учитывать что иногда может появиться допустим $Cкорость6 для сравнения или измениться показатели одной из переменных).
Я конечно могу записать что то вроде

if $Cкорость4 < $Cкорость5 and $Cкорость3 <$Cкорость5....

Но может есть более удобный способ это сделать?
2. Как сделать так что бы при плюсе переменной текстовой она начиналась с новой строчки? Пример:
У меня есть условно общее описание

$Общее_описание = $Описание1 + $Описание2 + $Описание3

$Описание1 и $Описание2 и $Описание3 каждая меняется со временем, но если выводить кодом сверху они идут в одну строчку. Как этого избежать? что бы $Общее_описание было ни : “Я пришел. Я сел. Я поел.” , а
“Я пришел.
Я сел.
Я поел.”

$Общее_описание = *pl $Описание1 + *pl $Описание2 + *pl $Описание3

так выдает ошибку синтаксиса

Darvin432,
Переменные со знаком $ используются для строковых значений. Глаз режет.
1. Для этого лучше использовать временный массив. Помещаешь в него все необходимые значения, находишь минимальное с помощью MIN, а потом его из массива удаляешь.
2. @@@@CODEBLOCK0@@@@

dmvikar,
Ты говорил что в стандартном плейере нельзя поставить картинку фоном на каждую таблицу. А как это сделать в qSpider?

Darvin432,
Я не знаю. Смотри что нить по html/css.

dmvikar
Я вот тут несколько не понял.

Darvin432,
1. Для этого лучше использовать временный массив. Помещаешь в него все необходимые значения, находишь минимальное с помощью MIN, а потом его из массива удаляешь.

Я задаю значение массиву

Скорость_Бой[0] = 256
	Скорость_Бой[1] = 5646444
	Скорость_Бой[2] = 13
	Скорость_Бой[3] = 52352
	Скорость_Бой[4] = 352352

Потом ищу максимальное значение и выполняю определенное действие:

if max ('Скорость_Бой') = Скорость_Бой[0]: killvar "Скорость_Бой",0 & gt "локация1" 
if max ('Скорость_Бой') = Скорость_Бой[1]: killvar "Скорость_Бой",1 & gt "локация2" 
if max ('Скорость_Бой') = Скорость_Бой[2]: killvar "Скорость_Бой",2 & gt "локация3" 
if max ('Скорость_Бой') = Скорость_Бой[3]: killvar "Скорость_Бой",3 & gt "локация4" 
if max ('Скорость_Бой') = Скорость_Бой[4]: killvar "Скорость_Бой",4 & gt "локация5"

Но так не работает. Потому что если Значение max (’Скорость_Бой’) не Скорость_Бой[4] а как в примере Скорость_Бой[1] то тогда при следующем сравнении массив выглядит так

Скорость_Бой[0] = 256
	Скорость_Бой[1] = 13
	Скорость_Бой[2] = 52352
	Скорость_Бой[3] = 352352
    Скорость_Бой[4] = 0

.
Но в этом случае когда определяется новый max (’Скорость_Бой’) выполниться действие gt “локация4” а не gt “локация5”.
Подскажи плиз как правильнее это прописать

Darvin432,
Я не очень понимаю, зачем ты делаешь сравнение. MIN и MAX тебе дают соответствующие значения и ты их сразу можешь использовать а не искать повторно сравнением. Если тебе нужен индекс, то используй arrpos.
А killvar ты можешь применить после перехода на локацию. Однако, я тут тоже не понимаю, как ты собираешься сопоставлять локации, которые статичны и массив, который уменьшается с каждой итерацией. Опиши конкретно, что тебе нужно и какой должен быть результат на примере игры.

Да в принципе я описал тебе ситуацию уже из игры. Есть условно 5 персонажей у каждого своя скорость. В начале каждого периода идет сравнение скорости каждого персонажа. определяется тот у которого максимальная скорость из сравниваемых. После чего идет GT на действие персонажа. ОН совершает действие. и после этого ход должен перейти ко второму по скорости в текущем периоде . Для этого повторно и делается сравнение скоростей с минусом хода того кто уже сходил. и так до того как все персонажи не сходили

Darvin432,

Скорость_Бой[0] = 256
Скорость_Бой[1] = 5646444
Скорость_Бой[2] = 13
Скорость_Бой[3] = 52352
Скорость_Бой[4] = 352352

copyarr 'temp_arr','Скорость_Бой'

a=0
amax=arrsize('temp_arr')
:mark
b=max('temp_arr')
killvar 'temp_arr',arrpos(0,'temp_arr',b)
temp_arr1[]=b
a+=1
if a<amax:jump'mark'

Вот так ты получишь массив, отсортированный по убыванию. Из него будешь доставать первую строчку и удалять. Если нужно получить индекс изначального массива, то используй arrpos, как я уже писал ранее.

Log in or Register to post comments.