RU 📌 Pinned

Как сделать?

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

Aleks Versus Moderator 23.02.2016 13:45 (10 years ago)

evp,
это если QSP установлен в системе. Поэкспериментировал. Вот такая команда запустит плеер, который лежит во вложенной папке:

start "" "PLAYER/qspgui.exe" Eternity.qsp

Genryzz,
В текстовом редакторе создаёшь файл, вставляешь в него эту строку. Сохраняешь файл с расширением .bat - готово. В папке PLAYER - должен лежать плеер QSP.

Это ты погорячился насчет установленного QSP. Это условие необязательно и моя команда работает. По крайней мере на Windows 10. Разумеется, надо указать относительные пути к файлам как плеера, так и игры.

Первые кавычки у тебя лишние. В них должен находиться необязательный параметр, который указывает заголовок, выводимый в области заголовка окна. Вторые - тоже лишние. У тебя в пути нет пробелов - можно без кавычек.

Aleks Versus Moderator 24.02.2016 08:33 (10 years ago)

evp,
нет, не погорячился. Тоже пользуюсь windows 10. Файлы .qsp ассоциированы с QGen. Команда открывала QGen, если он не был запущен, а после перезагрузки компа стала просто ругаться, что qspgui не найден. Да, кавычки можно опустить, оказывается.

start PLAYER/qspgui.exe Eternity.qsp

работает. =)

Ребят у меня такой вопрос.Как вот это превратить в цикл?если id равно от 1 до 10,т.е выводил 10 таблиц с разными доспехами.

id=101
if idarmor[id]=0:
	if gold < 350:
		$цена1[id]='Я не могу <br>позволить себе эту вещь'
	end
	if gold => 350:
		$цена1[id]='<a href="exec:msg ''В вашем инвентаре появился новый предмет''&gold-=350&idarmor[id] = 1& GT $curloc">купить</a>'
	end
'<table border = "1" bordercolor = black>
<th rowspan ="5"><b><<$arm[id]>><br><center><<$pic[id]>></center></b></th> <td>Ваши параметры сейчас:</td>  <td>Характеристики доспеха:</td><th rowspan ="5"><<$цена1[id]>></th>
<tr><td><<$броня[1]>></td><td><<$броня[111]>></td></tr>
<tr><td><<$броня[2]>></td><td><<$броня[211]>></td></tr>
<tr><td><<$броня[3]>></td><td><<$броня[311]>></td></tr>
<tr><td><<$броня[4]>></td><td><<$броня[411]>></td></tr>'
'</tr>
</table>'
end
id=1
:next_id 
	if idarmor[id]=0: 
		if gold < 350: 
			$цена1[id]='Я не могу <br>позволить себе эту вещь' 
		end 
		if gold => 350: 
			$цена1[id]='<a href="exec:msg ''В вашем инвентаре появился новый предмет''&gold-=350&idarmor[id] = 1& GT $curloc">купить</a>' 
		end 
		'<table border = "1" bordercolor = black>' 
			*p'<th rowspan="5"><b><<$arm[id]>><br><center><<$pic[id]>></center></b></th> <td>Ваши параметры сейчас:</td>'
			*p'<td>Характеристики доспеха:</td><th rowspan ="5"><<$цена1[id]>></th>'
			i = 1
			:next_i 
				x = $броня[i]
				y = $броня[i*100+11]
				*p '<tr><td><<x>></td><td><<y>></td></tr>'
				i += 1
			if i < 5: jump 'next_i' 
		*p'</table>' 
	end
id += 1
if id < 11: jump 'next_id'

Как-то так? На скорую руку накидал. Уверен, можно сделать короче.

evp,
я это тоже хотел переделать так что это классная задумка,но я имел ввиду переменную id=101 например if idarmor[id]=0 это
if idarmor[101]=0 если же id=1 => if idarmor[1]=0.Я просто не знаю как сделать цикл в котором таблицы будут появляться в зависимости от id
id=101 <= ВОТ ЭТОТ КОТОРЫЙ ВЛИЯЕТ НА КАРТИНКУ,ХАРАКТЕРИСТИКИ БРОНИ и т.д
if idarmor[id]=0:
if gold < 350:
$цена1[id]=‘Я не могу
позволить себе эту вещь’
end
if gold => 350:
$цена1[id]=‘<a href=“exec:msg ‘‘В вашем инвентаре появился новый предмет’’&gold-=350&idarmor[id] = 1& GT $curloc”>купить</a>’
end
‘<table border = “1” bordercolor = black>
<th rowspan =“5”><b><<$arm[id]>>
<center><<$pic[id]>></center></b></th> <td>Ваши параметры сейчас:</td> <td>Характеристики доспеха:</td><th rowspan =“5”><<$цена1[id]>></th>
<tr><td><<$броня[1]>></td><td><<$броня[111]>></td></tr>
<tr><td><<$броня[2]>></td><td><<$броня[211]>></td></tr>
<tr><td><<$броня[3]>></td><td><<$броня[311]>></td></tr>
<tr><td><<$броня[4]>></td><td><<$броня[411]>></td></tr>’
‘</tr>
</table>’
end

Я немного поправил свое сообщение. Все равно не то, что нужно? Видимо, я не понимаю что вам надо. Обернуть в цикл - проще некуда.

Кстати, последний закрывающий тег </tr> у вас определенно лишний. Но это к вопросу не относится.

evp,
Спасибо большое, я понял что ты написал, попробую это подвести к игре, а то она все равно ругается несоответствием данных))

Привет всем!
У меня вопрос. Допустим у меня есть 10 предметов, и надо сделать так, чтобы выбралось рандомом один из них. Как это сделать? Простите если вопрос глупый

DeathSpace, вот немного еще поменял на более понятный вариант. Никаких ошибок не возникает, как, впрочем, и в предыдущем варианте не возникало. Но у меня массивы, естественно, пусты. Вероятно, в этом направлении вам надо искать причины ошибки.

Spoiler
$table_header = {
	*p '<th rowspan="5"><b><<$arm[id]>><br><center><<$pic[id]>></center></b></th> <td>Ваши параметры сейчас:</td><td>Характеристики доспеха:</td><th rowspan ="5"><<$цена1[id]>></th>'
}
$table_row = {
	*p '<tr><td>' + $броня[row] + '</td><td>' + $броня[row*100+11] + '</td></tr>'
}
id=101
:next_id 
	if idarmor[id]=0: 
		if gold < 350: 
			$цена1[id]='Я не могу <br>позволить себе эту вещь' 
		end 
		if gold => 350: 
			$цена1[id]='<a href="exec:msg ''В вашем инвентаре появился новый предмет''&gold-=350&idarmor[id] = 1& GT $curloc">купить</a>' 
		end 
		'<table border = "1" bordercolor = black>' 
			dynamic $table_header
			row = 1
			:next_row
				dynamic $table_row 
				row += 1
			if row < 5: jump 'next_row' 
		*p'</table>' 
	end
	id += 1
if id < 111: jump 'next_id'

evp,
Здесь все выходит без ошибок здорово

остались не большие проблемки это: 1) характеристики одной брони распространяются на все остальные.
2)при покупке предмета броня не скрывается и не появляется в инвентаре(скорее всего это связано с id)
Но спасибо большое, доработаю эту систему)))

Второй вопрос - у вас ошибка.
Вместо

idarmor[id]

в переменной $цена1[id] следует писать

idarmor[<<id>>]

Ну, а первый вопрос - так и должно быть, т.к. я не знаю принципа формирования индексов. Следовательно, в каждой из таблиц третий столбец содержит

$броня[111]
$броня[211] 
$броня[311] 
$броня[411]

Как и было указано в вашем первом сообщении. Это же очевидно следует из кода:

$броня[row*100+11]

Если вы скажете, что там должно быть - я запросто изменю на нужное.

Могу предположить, что там должно быть
$броня[111]
$броня[211]
$броня[311]
$броня[411],
а потом
$броня[121]
$броня[221]
$броня[321]
$броня[421]
или
$броня[112]
$броня[212]
$броня[312]
$броня[412].
Или еще как по другому. Без вас тут не разобраться.

Aleks Versus Moderator 25.02.2016 11:21 (10 years ago)

Cow,
вопрос не глупый, но очень невнятно задан. Где именно у тебя есть десять предметов? В инвентаре, на локации? Или их ещё нет, но должен быть создан один из десяти на локации?
Если последнее, есть очень простой способ. Помещаем наименования предметов в массив:

Spoiler
$objects[0]='Отвёртка'
$objects[1]='Кость'
$objects[2]='Гаечный ключ'
$objects[3]='Человеческий череп'
$objects[4]='Перфоратор'
$objects[5]='Шкура тролля'
$objects[6]='Пачка масла'
$objects[7]='Яблоко'
$objects[8]='Ржавая монета'
$objects[9]='Упавшая звезда'
$object_rand = $objects[rand(0,9)]
act $object_rand+'. Взять':
   addobj $object_rand
   ! ... другой код ...
end

evp,
Да,у каждой следующей брони есть по 4 переменных
Ну почти так как ты и сказал))))
$броня[111]
$броня[211]
$броня[311]
$броня[411],
а потом
$броня[121]
$броня[221]
$броня[321]
$броня[421]
а все остальное работает здорово, мне нравится спасибо большое)

Видов брони 10. Так? Индексы 1-й брони 111, 211, 311, 411, 9-й брони 191, 291, 391, 491. Так? Тогда какие должны быть индексы у 10-й брони? Не зная ответа, ничего сделать нельзя.

Log in or Register to post comments.