Как сделать?

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

Aleks Versus,
Нет его версия мне не понравилась, но на всех проверял 1.3, 2.1.2, и 2.0.0 на всех одна и та же проблема

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

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

Вопрос по локации счётчика, она работает всегда? Можно её отключать и включать по желанию? Какой максимальный промежуток тика можно задать?

UPD
Добрался до компа и разобрался с тем, с чем хотел.
Можно выставить сеттаймер на 1 час и в любой момент изменить значение. Т.е. путем управления периодом тика можно "отключать" $counter.
Понятия не имею, сколько ресурсов потребляет секундомер, который этим управляет, но код в локации $counter не будет перечитываться всегда, а только когда он не нужен.

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

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

dmvikar,
отключить локацию-счётчик можно так:

Код:

$counter=""

Можно назначать разные локации-счётчики в разные моменты игры. Многие об этом забывают, но это один из способов разгружать локацию-счётчик от огромного количества кода.

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

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

oleksandrigo,
у меня на плеере от Сидхарты msecscount вообще нули выдаёт. hmm

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

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

Задался я вопросом, как в локацию menu передавать значения кроме args[0].
Сделал я это через промежуточные переменные. Там, где нужно меню пишем примерно

Код:

"<a href='exec:dynamic $act_code[""code""],<<i>>,1'><img src='pic\pic.png'></a>"

и где-то раньше должно быть

Код:

$act_code['сode']={

a=args[0]
b=args[1]
menu '$menu'
}

Так мы можем использовать значения переменных a и b в локации menu.
Aleks Versus,
Сорян, если я тут изобрел велосипед, но такой инфы я не нашел в видеоуроках и ЧаВо.

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

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

Здравствуйте!
1. Спасибо @Aleks Versus, что перезалил видео по урокам на QSP очень дословно каждую функцию объяснил
2. Я хочу переписать некоторые игры, которые мне понравились. И вот у меня вопрос: Вот, скажем, на ферме разводят животных. Ну, или аквариум с рыбками. У них есть поколения. Я хочу отслеживать "глубину родства", чтобы не пересекать братьев и сестер или чтобы дети не пересекались с родителями. Например, в игре Sims  игра следит до 3 поколений, чтобы брат мог  жениться на сестре. Достаточно ли будет в QSP метки=1, что животные являются "родственниками"?

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

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

Poganec37,
Тут нужно придумать алгоритм для начала.
С наскока на ум приходит следующее: каждого нпс записываешь как npc[id]. Каждому ребенку присваиваешь свойства мама, папа, значения которых будут равны id родителя, типа mama[id] (тут id ребенка) = id от нпс мамы.
Так же можно передавать значения на следующие поколения, например в третье поколение;
id+=1/это будет id нового ребенка,
mama1[id]=mama[id]/тут превращаем маму текущего родителя в бабушку текущего ребенка.
Соответственно, сколь угодно глубоко можешь прослеживать родословную, а при скрещивании делать проверку на совпадение значения переменных.
Надеюсь, что понятно).

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

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

Здравствуйте. Вот, разобрался я как сделать массивы и с ними работать. Правда, Алексей (Aleks Versus) очень отрицательно отзывался по поводу использования gosub.
Имею некоторые вопросы по разработке. Вот мы положили в рюкзак много разных предметов. Предположим, что у нас в рюкзаке более 10 книг.  Как написать, чтобы в списке показывалось типа "книга х10". В уроках не нашел, где объясняют свёртку.
Есть ещё 1 момент, который я не понимаю в qsp. Если взять разработку игры на несколько сезонов про одного персонажа, то как перенести  характеристики или события из одной части в другую? Я понимаю, что типа надо сохранять переменные и потом перенести их в файл, или типа того. Объясните, пожалуйста, принцип такого переноса.
Спасибо

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

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

Poganec37 написал(а):

Правда, Алексей (Aleks Versus) очень отрицательно отзывался по поводу использования gosub

нет, неправда. big_smile  Я никогда не отзывался отрицательно по поводу использования gosub. Повсеместно их использую.

Считаемые предметы реализуются очень просто.

При добавлении предмета нужно проверять, сколько их у тебя уже есть. Для этого количество нужно хранить в переменной:

Код:

act "Поднять меч":

   ! проверяем есть ли мечи
   if меч_количество = 0:
      ! если мечей нет, добавляем меч в инвентарь
      addobj "Меч"
   end
   ! увеличиваем количество мечей на 1
   меч_количество = меч_количество+1
end

Чтобы в окне предметов отображалось число предметов, нужно вместо простого названия ("Меч") добавлять название с количеством ("Меч х1" или "Меч х2" и т.д.), а старое название удалять. Тот же пример:

Код:

act "Поднять меч":

   ! удаляем старый предмет
   delobj "Меч х<<меч_количество>>"
   ! увеличиваем количество мечей на 1
   меч_количество = меч_количество+1
   ! добавляем новый предмет
   addobj "Меч х<<меч_количество>>"
end

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

Код:

debug=1

Тогда сохранения из первой части (файл .sav) можно будет использовать во второй.

Кстати. Вот здесь https://yadi.sk/d/VSgApaEy3Jx9VC я сейчас навожу порядок, и тут есть очень много разных примеров, и они ещё будут добавляться и корректироваться.

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

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

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

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

Информация

Статистика форума:
 
Всего тем:
989
Всего опросов:
14
Всего сообщений:
16790794
Сообщений на этой неделе:
40
Пользователи форума:
 
Всего пользователей:
2482
Последним зарегистрировался:
Nikrop