#1 22-06-2007 17:20

San'OK
Registered: 22-06-2007
Posts: 7

"Белимитный город"

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

Например, проверяется каким-нибудь опкодом местоположение игрока и если он выходит за пределы карты, то выгружается старый город из памяти и загружается новый. Как это реализовать может поможите? Есть проблема со скриптами: использовать один, один как главный с нескольками или каждый по отдельности. Также как пользоваться координатами для разных городов в опкодах? Ещё я где-то видел, что есть функция которая загружает игру через dat файл. Интересно есть функция которая всё выгружает из памяти?

Offline

#2 23-06-2007 05:17

Seemann
Registered: 07-08-2006
Posts: 2,079

Re: "Белимитный город"

Несколько раз перечитывал, но так и не понял сути вопроса/проблемы.

Выгрузить карту из памяти? Такое средствами main.scm невозможно, да и нет такой необходимости.
Местоположение игрока можно проверить массой опкодов типа actor_near_point. Границы карты от -3000.0 до 3000.0 по обеим координатам.
Загрузка через dat-файл? Не знаю о чем ты. Может о мишн паках?

P.S. Ответь пожалуйста на приват.

Offline

#3 23-06-2007 09:30

San'OK
Registered: 22-06-2007
Posts: 7

Re: "Белимитный город"

Да вот, например, у меня город 3000x3000, а дальше хочу сделать ещё город 3000x3000 (например на севере или на юге, не важно) и мне надо, чтобы была для него отдельная карта, чтобы пути были, но память то не бесконечная! Мне надо, чтобы игрок достигнув одной из "сторон света" мог перейти на следующую локацию не нагружая память! Надо, чтобы старый штат выгрузился и загрузился новый!

Вот эта функция, которую я искал:

LoadGame(char; fileName)) 
Initializes all data structures and loads fileName (which is gta.dat).

Offline

#4 23-06-2007 10:59

Seemann
Registered: 07-08-2006
Posts: 2,079

Re: "Белимитный город"

Да вот, например, у меня город 3000x3000, а дальше хочу сделать ещё город 3000x3000

вау, даже сложно представить себе такой город... smile

Мне надо, чтобы игрок достигнув одной из "сторон света" мог перейти на следующую локацию не нагружая память! Надо, чтобы старый штат выгрузился и загрузился новый!
Вот эта функция, которую я искал

Я сомневаюсь, что эта функция тебе поможет. Мы здесь на форуме уже обсуждали ее. Просто так заставить игру выгрузить все из памяти, прочитать дат-файл и сгенерировать новую карту нереально. Слишком много ньюансов и возможных проблем. Считай вся игра, весь движок завязан на этой функции.

Есть вариант - сделать город как интерьер и подгружать его когда надо (телепортировать туда игрока). Но я слабо представляю себе этот механизм.

Offline

#5 23-06-2007 11:08

Alexander
Registered: 19-08-2006
Posts: 184
Website

Re: "Белимитный город"

Я себе слабо предаствляю город 3000 х 3000 , а если делать интерьером , то насчёт "подгружать его когда надо" это работы немерянно .

Offline

#6 14-02-2009 15:35

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 937
Website

Re: "Белимитный город"

Осуществить бесконечную карту просто. Если игрок достигает, скажем, самой северной точки карты, то телепортируем его в самую южную точку. Аналогично с западом и востоком.=)

Offline

#7 14-02-2009 18:34

Gyr
From: Серпухов
Registered: 03-02-2009
Posts: 246
Website

Re: "Белимитный город"

То есть он хочет совершить кругосветное путешествие, или просто создать еще один город и поместить его рядом со старым?


Мне надо, чтобы игрок достигнув одной из "сторон света" мог перейти на следующую локацию не нагружая память! Надо, чтобы старый штат выгрузился и загрузился новый!
Вот эта функция, которую я искал

Такое можно осуществить следующим образом:
1) Создать нужный город
2) Поместить его севернее(южнее\восточнее\западнее) оригинального штата

Минусы заключаются в том, что тебе придется делать дальность прорисовки карты равной нулю и убрать все LOD модели ( т.к карта не грузится вся сразу, а в определенном радиусе от игрока.Память то не "железная").

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

Last edited by Gyr (14-02-2009 18:45)


Специально для тех, кто не умеет читать по английски. Мой ник читается как "ГИР"!!!
Народная мудрость:
Прежде чем задавать вопросы,ПОЧИТАЙ СПРАВКУ!!!!

Offline

#8 04-12-2009 14:03

Wire
From: Днепр
Registered: 19-08-2009
Posts: 56

Re: "Белимитный город"

Быть может, можно создать новый город тупо огромным интерьером? И загружать игрока в него, например, телепортом из старых координат в новые, относительно интерьера.

З.Ы. Я не знаю, существуют ли лоды в интерьерах)) Ведь если нет, то фпс будет страдать страшно, столько обьектов загружать одновременно.

Offline

#9 05-12-2009 19:07

Gyr
From: Серпухов
Registered: 03-02-2009
Posts: 246
Website

Re: "Белимитный город"

Я не знаю, существуют ли лоды в интерьерах)) Ведь если нет, то фпс будет страдать страшно, столько обьектов загружать одновременно.

А почему бы и нет? Ведь оригинальный штат это же тоже интерьер (под номером 0).


Специально для тех, кто не умеет читать по английски. Мой ник читается как "ГИР"!!!
Народная мудрость:
Прежде чем задавать вопросы,ПОЧИТАЙ СПРАВКУ!!!!

Offline

#10 05-12-2009 20:16

Wire
From: Днепр
Registered: 19-08-2009
Posts: 56

Re: "Белимитный город"

Хм, а ведь точно. Значит, карту этим методом можно расширить, только вот как быть с радаром? Я не разбираюсь в редактировании памяти игры, но должна же быть строчка, отвечающая за размер карты (той что в меню)? Кстати когда-то была идея сделать карту штата, как в игре "Мафия" (жмешь кнопку и перед тобой появляется карта)

Offline

Board footer

Powered by FluxBB