RU 📌 Pinned

Как сделать?

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

gleipnir,
на здоровье.

Здравствуйте всем!
Прочитал учебник и захотелось сделать свою игру. Беда в том, что в программировании я нуль. Вопросы у меня такие:
1. Какой нужно написать код, чтобы игрок мог сохраняться не где угодно, а только в определенной мною локации?
2. Как задать размер поля картинки VIEW в плеере? Все остальные окна после запуска программы на своих местах, а окно с картинкой никак не выдерживает заданный размер. (Галочка “только чтение” в свойствах конфига плеера выставлена)

Заранее спасибо.

Jolly Roger,
1.

! В стартовой локации пишем:
$ONNEWLOC = 'ONNEWLOC'
NOSAVE = 1

! В локации ONNEWLOC пишем:
NOSAVE = $CURLOC <> 'Локация для сохранений'

2. Видимо, никак.

Привет всем!
вопрос такой… можно ли на одной определенной локации отключить предметы, чтобы при клике они не срабатывали, если да то как (чем) хотелось бы пример :)

Aleks Versus Moderator 01.04.2014 18:07 (11 years ago)

TipoK,
есть несколько вариантов. Во-первых, ты можешь скрыть предметы. Командой SHOWOBJS 0.
Во-вторых, ты можешь в локации-обработчике выбора предмета ввести проверку по имени локации или состоянию переменной:

if $curloc = 'Дом':
          if $selobj!'': pl 'PЗдесь нельзя использовать предмет'
else
          if $selobj='Молоток':
             !.....
          end
       !......
       !.......
end

Aleks Versus
Спасибо дружище подсобил, респектище тебе еще и оперативно :)
2 вариант самое оно, первый не очень ибо если я выключу на одной локе, то мне придется на всех других локах включать, там то мне нужен инвентарь :)

У меня не работает команда *P.
Видимо я что-то не понял.
Если я напишу:

"Съешь этих мягких"
*p "французских булок."

То вместо ожидаемого “Съешь этих мягких французских булок”, я получаю:
“Съешь этих мягких
французских булок”.
Помогите, как сделать так, чтобы текст не разрывался при переходе на следующую строчку и в готовом виде показывался как надо?

Aleks Versus Moderator 02.04.2014 15:41 (11 years ago)

Дело в том, что:

"Съешь этих мягких"

Работает как:

*PL "Съешь этих мягких"

Об этом в старой справке точно написано. *pl - Выводит строку на экран, а затем “переводит каретку”.
Для правильного вывода тебе так и следует писать:

*P "Съешь этих мягких "

тогда всё будет правильно.

А чтобы рандомная переменная назначалась как надо сделать? То есть как-то так?

act "Действие":
 переменная = RAND 2,3,5
end

Или как?

Aleks Versus Moderator 05.04.2014 13:32 (11 years ago)

RomaDova,
Нет. Во-первых, аргументы должны заключаться в скобки. Во-вторых, RAND может выбрасывать случайное число в пределе двух чисел, т.е.:

i = RAND (34,127)
! случайное число от 34 до 127 включительно.

Чтобы выбрасывать из определённых чисел, делаешь так:

!создаёшь массив, куда вносишь нужные числа. Номера ячеек должны идти подряд
i_r[0] = 2
i_r[1] = 3
i_r[2] = 5
! возвращаешь переменной значение случайного элемента массива:
i = i_r[RAND(0,2)]

Вот какая проблема. В диалогах, где много веток, все время приходится ставить оператор *CLR, чтобы не забивалось окно основного текста. Но при этом стирается и картинка, которая выведена в это же окно c пом. HTML, чтобы можно было задать размер изображения. Можно, конечно, все время прописывать картинку снова, но нет ли более разумного способа?
Заранее благодарен.

Где-то это написано, но ведь гораздо легче задать вопрос сюда, короче:
Как сделать, чтобы при переходе на следующую локацию не стиралось то, что написано в основном окне описания?

Jolly Roger,
подготовь заранее картинку нужного размера, например, в Фотошопе, и выводи её оператором VIEW.

А вообще можно много способов придумать.

RomaDova,
XGOTO

Nex:

Re: Как сделать?

Jolly Roger,
подготовь заранее картинку нужного размера, например, в Фотошопе, и выводи её оператором VIEW.

А вообще можно много способов придумать.

От VIEW, поразмыслив, я отказался в качестве окна для основной картинки, так как он глючный (не держит размер и скачет туда-сюда). Картинок придется обрабатывать много, гораздо удобнее указывать в тегах размер. Не потому что я ленивый, а просто времени жаль - лучше поработаю над кодом и сюжетом. Вот поэтому и хотелось бы узнать про что другое. :)

Aleks Versus Moderator 05.04.2014 18:05 (11 years ago)

Jolly Roger,
чего проще. Раз уж ты всё равно очищаешь экран оператором *clr, напиши небольшую локацию, которая будет очищать экран и выводить картинку. Обзови её коротким именем “#”, “1” или типа того и вызывай, вместо использования *clr.

! --1--
! вызываается GS '1'
*clr
'<img src="img.png" width=100 height=100>'

Будешь писать на два символа больше вот и всё.

Log in or Register to post comments.