Как сделать?

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

Poganec37,
Ужешь отвечали на этот вопрос несколько страниц назад.

dmvikar
useravatar
Онлайн
97 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

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

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

Насчёт видео: помечу, но когда до этого дойду, не знаю. Пока ролики на пол года вперёд расписаны, не до всего задуманного руки доходят.

Aleks Versus
воздвигатель башни
useravatar
Offline
1566 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

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

Привет! Какая максимальная длина текстовой переменной? В этой теме четыре-пять страниц назад был совет делать игровой заполняемыый дневник по типу $jour+=$stroke - но что если эта заполняемость потенциально может быть бесконечной? например если будет автоматически заполняться при прошествии каждого игрового дня $stroke = 'День <<day>>'

mkir
useravatar
Offline
166 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

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

mkir,
для каждого дня сделай массив $jour[день].
Из вики - Длина строки теоретически ограничена только объемом доступной оперативной памяти, либо размером типа "int": 2 гигабайта текста. Не знаю о чем тут, о строке кода или о вместимости переменной.

dmvikar
useravatar
Онлайн
97 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

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

mkir,
2 Гигабайта максимальная вместимость. Однако, совет от Alma Wade и от меня: лучше помещать каждую отдельную запись в массив. Так и выводить удобнее и удалять записи, в случае чего. Привожу пример из F.A.Q., как можно реализовать блокнот:

 Спойлер Show Spoiler Hide Spoiler
 В: Как сделать записную книжку в игре?
То есть чтобы игрок мог делать записи, а когда нужно, мог их просматривать.

О:
Хранить записи для записной книжки можно в массиве, саму же записную книжку можно сделать в виде предмета:

Код:

  addobj "Записная книжка"

Работу с предметом "Записная книжка" удобнее всего организовать через всплывающее меню. Для всплывающего меню создаём две локации. Назовём их, например, "note.add" и "note.read". Первая будет служить для добавления записи в записную книжку, вторая — для воспроизведения записей из записной книжки.
Код локации "note.add" достаточно прост:

Код:

  ! предлагаем пользователю добавить запись

  new_note=input('Введите текст записи.')
  ! если введён какой-либо текст, добавляем его в очередную ячейку массива note[]
  if new_note<>'':
   note[]=new_note
  end
  ! для верности удаляем пременную
  killvar 'new_note'

Код локации "note.read":

Код:

  ! очищаем окно доп описания

  clr
  ! счётчик
  i=0
  :for
  ! пока счётчик не достиг размера массива note
  if i<arrsize('$note'):
   ! выводим запись
   pl $note[i]
   ! повторяем
   i+=1
   jump 'for'
  end

Непосредственно при добавлении предмета, либо где-то ранее, прописываем пункты меню для записной книжки в массив:

Код:

  $меню_записная_книжка[0]="Добавить запись:note.add"

  $меню_записная_книжка[1]="Прочитать записи:note.read"

На локации-обработчике выделения предмета добавляем такой код:

Код:

  ! если выделен предмет "Записная книжка"

  if $selobj='Записная книжка':
   ! вызываем меню
   menu '$меню_записная_книжка'
  end
  ! не забываем снять выделение в конце локации
  unselect

Вот и всё. Теперь у нас есть предмет "Записная книжка", щелчок по которому вызовет всплывающее меню с двумя пунктами "Добавить запись" и "Прочитать записи".

думаю, не сложно превратить в дневник.
Вместимость массива более 2,5 миллиардов записей (ячеек). На очень много лет игры хватит такого массива.

Aleks Versus
воздвигатель башни
useravatar
Offline
1566 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

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

Не, получится что-то другое. Теоретически хотелось бы при активации дневника видеть весь текст: clr&pl'@jour' со скроллингом в самый конец если текста будет слишком много. Обозначение дня автоматическое, а другие записи ставятся вручную. Тем самым видно в какой день и что произошло. По поводу лимитов - да, я тоже видел этот перечень ограничений, но вроде как здесь именно про строку говорится а не про длину переменной(

Upd. Это ответ Dmvikar, остальное изучаю

mkir
useravatar
Offline
166 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

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

mkir,
при использовании массивов ты и будешь видеть весь текст, если тебе это нужно. Более того. Если делить записи на два массива, скажем, можно сделать вывод текста от определённой даты до определённой даты, сортировать записи и прочее. Это конечно несколько сложнее сделать, но если использовать одну строку текста для всех записей, то подобные вещи провернуть будет ещё сложнее. А я бьюсь об заклад, они тебе понадобятся.

Aleks Versus
воздвигатель башни
useravatar
Offline
1566 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

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

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

Dark[Ol(U23)leneri]
useravatar
Offline
992 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

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

Возможно ли каким то образом получить обратную связь от файлов контента?
например открыть файл вида "действие_1_1.jpg" если такой файл отсутствует открыть файл "действие_1.jpg" если и его нет то "действие.jpg"
может какой-то внешний скрипт есть для этого... или еще что-то

lom
useravatar
Offline
11 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

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

lom,
Ты хочешь вывести картинку или вообще любой файл?

dmvikar
useravatar
Онлайн
97 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Информация

Статистика форума:
 
Всего тем:
997
Всего опросов:
14
Всего сообщений:
16790828
Всего сообщений сегодня:
2
Пользователи форума:
 
Всего пользователей:
2513
Последним зарегистрировался:
TonyCat