Kamrad.ru
 
 
дневники | кабинет | регистрация | календарь | участники | faq | правила | поиск | фотоальбом | каська | выйти
Kamrad.ru Kamrad.ru » Тематические форумы » RPG » Серия TES: Oblivion, Morrowind и т.д. » Если от SN до Пелагиада идти 2 часа, значит между ними 10 км?
новая тема  ответить следующая тема | предыдущая тема
Автор
  << < 1 2 > >>
китс - offline китс
Question16-04-2003 14:56 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Если от SN до Пелагиада идти 2 часа, значит между ними 10 км?

Кто-нить встречал карту масштабированную Vvardenfell'а?
Где взять?

зы. время хождения мерил DwemerClock'ом

BHunter - offline BHunter
16-04-2003 15:38 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



А скорость как мерял? Без скорости-то расстояние не посчитать.


__________________
Поможем чем сможем...
Лучше маленький рубль, чем большое спасибо.

UXorion - offline UXorion
16-04-2003 16:40 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



китс
Меня тоже этот вопрос очень интересует... к примеру, путешествие на корабле от Тель Моры до Воса занимает час, а пешком там пору секунд реального времени... А вообще какое соотношение времени к реальному там?

ljex ulmar - offline ljex ulmar
16-04-2003 19:28 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



кстати - двемерзкие часы, которые DwemerClock.esp врут походу нещадно. может уже и пофиксили, не знаю.
Там если идет вторая половина часа, то показывает следующий час, например время 5:40 показывает 6 часов.
Правда надо отдать им должное - я давно хотел часы сделать, а теперь увидел и сделал, без наворотов, но точные, даже с минутами. Могу с секундами сделать и с секундомером, но не надо пока.
Запихнул их как сувенир в свой мини мод двухлампский.

ljex ulmar - offline ljex ulmar
16-04-2003 20:49 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



UXorion
=А вообще какое соотношение времени к реальному там?=

где-то 5-10мин здесь, час там. чтобы быть более точным, надо лезть в редактор, делать спецом сравнивалку и загружать в игру смотреть, а времени (реального, тут) я сейчас для этого не имею

DiG - offline DiG
17-04-2003 07:09 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



ljex ulmar
Можешь поделиться своим модом с часами? Вот только без двух ламп... примк как по почте, так и напрямую!
Зарание тебя благодарю.

китс - offline китс
17-04-2003 07:28 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



BHunter
взял, что средняя скорость среднего человека при ходьбе = 5 км/час
подобное допущение дает куда меньшую ошибку, чем вариант 5-10 минут здесь=1 час там
к сожалению, время тоже относительно, те двемерские часы, которыми я мерил, показывают только часовые отрезки

BHunter - offline BHunter
17-04-2003 09:02 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Я так и предполагал. А как учитывать скорость персонажа? Она ж может увеличиться при левел-апах.


__________________
Поможем чем сможем...
Лучше маленький рубль, чем большое спасибо.

китс - offline китс
17-04-2003 09:12 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



BHunter
честно говоря, просто принял (сравнил с собственным ощущением - смотрел вперед и сравнивал скорость деревьев, которые "проносятся" мимо), что Speed=40 примерно совпадает с обычным шагом и замерял с таким Speedом

итак, если возражений нет, то получается, что до Пелагиада из Сейда Нин - как, например, от трех вокзалов (Комсомольской) до Лужников - по прямой
что, в принципе, если кто жил в деревнях - согласится, вполне нормально, тогда из Сейда Нин до Бальморы - по дороге - 25 км

было бы проще рассчитывать, если бы были известны хотя бы размеры острова...

SilencerBY - offline SilencerBY
17-04-2003 09:48 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



From "Morrowind Scripting for Dummies" by GhanBuriGhan:

Game units:
1 game unit = 0.56 inches
50 =28 inches
500 = 23.3 feet
5000 = 233.3 feet
8192 = 385 feet = 1 game cell
1 game unit = 1.42 cm
100 game units = 142 cm = 1.42 meters
1000 game units = 14.2 meters
8192 game units = 116.33 meters = 1 exterior cell

The island of Morrowind itself is 5.00 km
north to south and 4.65 km east to west.
(thanks to Iudas for this information)

китс - offline китс
17-04-2003 09:54 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



SilencerBY
это - рабочая статистика, фактическая, она не имеет никакого отношения к игровому миру

так можно принять, что Сейда Нин состоит из 10 домов, что есть неправильно, просто в игре отображаются не все строения, а те, которые наиболее важны для игры, иначе представляете поиски Кая Косадеса в Бальморе, в которой по миру должно быть 15-20 тысяч домов?

DiG - offline DiG
17-04-2003 10:44 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



китс
Лично я себе прекрасно это представляю. Вспомни Даггерфол. Там в Каждом городе не меньше 5 десятков домов стояло. И в отличии от Морроу, дома там не подписы до тех пор, пока ты у них побываешь. И находили же ведь, когда хотели!

китс - offline китс
17-04-2003 10:48 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



DiG
ну естественно! я бы и сам был не против пошастать по паре десятков тысяч домов))) по крайней мере, после этого было бы ценным следовать указаниям, а не просто прошаривать все дома, ведь, если на один дом затратить 1 минуту, получается 15 тыс минут, или 10 суток)) и это одна Бальмора)

ljex ulmar - offline ljex ulmar
17-04-2003 15:07 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



DiG
подарю именной хронометр
когда двелампы доделаю
пока в нем ничего выдающегося - только то что точный
я хочу его развить, сделать таймер (типа секундомера, чтоб замерять время), ну и еще что нибудь по ходу действия придумается

Wolf The Gray - offline Wolf The Gray
18-04-2003 00:48 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Модератор



ljex ulmar
пока в нем ничего выдающегося - только то что точный
пока это пример как сделать хронометр. выложил бы куда-ниудь...

ljex ulmar - offline ljex ulmar
18-04-2003 01:08 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



begin _chronomtr

Short OnPCEquip
short Thour
float Ghour
float FHour
short Tmin
float Gmin

;;;;hours 24 to 1

set thour to gamehour

if ( Thour <= GameHour )
set Ghour to ( GameHour - THour )
else
set Ghour to ( THour - GameHour )
endif

if ( GHour >= 0.5 )
set FHour to ( GameHour - 1 )
else
set FHour to GameHour
endif

;;;;mins

set minutes to ( ghour * 60 )

set tmin to minutes

set gmin to ( minutes - tmin )

;;;;display

if ( OnPCEquip == 1 )
If (Month == 0)
messagebox, "Сейчас %.0f ч. %.0f мин. %.0f дня 1 месяца (Утренней Звезды)", FHour, minutes, Day, "Ок"
elseIf (Month == 1)
messagebox, "Сейчас %.0f ч. %.0f мин. %.0f дня 2 месяца (Восхода)", FHour, minutes, Day, "Ок"
elseIf (Month == 2)
messagebox, "Сейчас %.0f ч. %.0f мин. %.0f дня 3 месяца (Первоцвета)", FHour, minutes, Day, "Ок"
elseIf (Month == 3)
messagebox, "Сейчас %.0f ч. %.0f мин. %.0f дня 4 месяца (Дождя)", FHour, minutes, Day, "Ок"
elseIf (Month == 4)
messagebox, "Сейчас %.0f ч. %.0f мин. %.0f дня 5 месяца (Сева)", FHour, minutes, Day, "Ок"
elseIf (Month == 5)
messagebox, "Сейчас %.0f ч. %.0f мин. %.0f дня 6 месяца (Середины Года)", FHour, minutes, Day, "Ок"
elseIf (Month == 6)
messagebox, "Сейчас %.0f ч. %.0f мин. %.0f дня 7 месяца (Солнцеворота)", FHour, minutes, Day, "Ок"
elseIf (Month == 7)
messagebox, "Сейчас %.0f ч. %.0f мин. %.0f дня 8 месяца (Урожая)", FHour, minutes, Day, "Ок"
elseIf (Month == 8)
messagebox, "Сейчас %.0f ч. %.0f мин. %.0f дня 9 месяца (Огня)", FHour, minutes, Day, "Ок"
elseIf (Month == 9)
messagebox, "Сейчас %.0f ч. %.0f мин. %.0f дня 10 месяца (Мороза)", FHour, minutes, Day, "Ок"
elseIf (Month == 10)
messagebox, "Сейчас %.0f ч. %.0f мин. %.0f дня 11 месяца (Заката)", FHour, minutes, Day, "Ок"
elseIf (Month == 11)
messagebox, "Сейчас %.0f ч. %.0f мин. %.0f дня 12 месяца (Вечерней Звезды)", FHour, minutes, Day, "Ок"
endif
endif

Set OnPCEquip to 0


;Льекс не жадный... Все знают, что хаджитов освобождать - дело не интересное. Пусть хаджит будет часовым мастером, вар.
;Льекс еще не закончил работу. Настройки и функции не доделал. Извиняется и обещает доделать.

end

DiG - offline DiG
18-04-2003 01:27 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



китс
Прости, камрад, но ты гонишь. Никто не говорит о паре десятков ТЫСЯЧ. Но вот о паре ДЕСЯТКОВ можно было бы и поиграть да по домам пошастать! Для вора - это самое то!

ljex ulmar
Сппасибо, камрад, заранее. Надеюсь ты разобрался куда и как посылать. Буду ждать с нетерпением!

китс - offline китс
18-04-2003 08:08 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



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

swenic - offline swenic
19-04-2003 22:42 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



ljex ulmar

Я, честно говоря, не всё поняла.

1) Short OnPCEquip
short Thour
float Ghour
float FHour
short Tmin
float Gmin

THour мы уже обсуждали. GHour - это как бы число минут, измеряемое в часах? Типа 15 минут = 0,25 часов. Зачем FHour, я совсем не поняла. TMin - число минут. GMin ты нигде не используешь, так зачем было объявлять? То есть ты его получаешь, но потом не выводишь никуда, и не используешь для получения других величин.

2) set thour to gamehour
Это понятно

3) if ( Thour <= GameHour )
set Ghour to ( GameHour - THour )
else
set Ghour to ( THour - GameHour )
endif

А вот это уже нет. Мне так кажется, что THour всегда меньше или равен GameHour, смотри пункт 2). Поскольку THour - это ближайшее целое число, меньшее GameHour, по определению, потому что мы так его присвоили.

4) if ( GHour >= 0.5 )
set FHour to ( GameHour - 1 )
else
set FHour to GameHour
endif

Это для минут, как я понимаю. Но не понимаю, зачем. Смотри дальше пункт 5)
;;;;mins

5) set minutes to ( ghour * 60 )

set tmin to minutes

set gmin to ( minutes - tmin )


Вместо этих трёх строчек пишешь просто

set TMin to (GHour*60)

(GHour*60), конечно, не целое число, но его нецелая часть отрежется при попытке запихнуть то, что получилось, в целую переменную TMin.

Или я чего-то опять чего-то не понимаю с самого начала?

И ещё, я где-то читала, что скрипт начинает выполняться, как только ты попадаешь в ячейку, где стоит объект с этим скриптом. А раз ты эти часы носишь с собой в инвентори, то твой скрипт будет выполняться всегда. Поэтому цикл

if ( OnPCEquip == 1 )
...
endif

стоит поставить самым внешним циклом, чтобы у тебя действия по вычислению часов и минут не выполнлись постоянно. И ещё можно, наверное, написать что-нибудь типа

if (MenuMode==0)
return
endif

сразу после объявления переменных и до всего остального. Или ты хотел, чтобы тебе всегда по букве Т показывали точное время с минутами? Вроде бы из скрипта этого не следует. Правда, я не знаю, как этого добиться. Может, оно у тебя само там как-то действует как надо.

ljex ulmar - offline ljex ulmar
23-04-2003 14:02 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



объясняю:
3) if ( Thour <= GameHour )
set Ghour to ( GameHour - THour )
else
set Ghour to ( THour - GameHour )
endif
А вот это уже нет. Мне так кажется, что THour всегда меньше или равен GameHour, смотри пункт 2). Поскольку THour - это ближайшее целое число, меньшее GameHour, по определению, потому что мы так его присвоили.


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

с минутами заморочь была для того, чтоб сделать секунды и предоставить точность, как с часами. скрипт не дописан. а лишняя переменная нужна как и в случае с часами - когда округлится >=0.5 до 1

И ещё, я где-то читала, что скрипт начинает выполняться, как только ты попадаешь в ячейку, где стоит объект с этим скриптом. А раз ты эти часы носишь с собой в инвентори, то твой скрипт будет выполняться всегда. Поэтому цикл

ето в случае ненужности постоянных вычислений (спасибо за совет), но если предполагается использвание этих величин из других скриптов, то работать он должен постоянно

китс - offline китс
23-04-2003 14:48 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



ljex ulmar
интересно)
когда, все-таки, будет готов секундомер?

ljex ulmar - offline ljex ulmar
23-04-2003 14:58 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



китс
ухх... мне и самому итересно...
работы сейчас много, некогда...

swenic - offline swenic
23-04-2003 15:14 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



ljex ulmar
число 11.5 куда должно округлиться? по всем законам - в большую сторону
По законам арифметики - да. А по законам известных мне языков программирования (правда, это уже старьё всё), оно должно округлиться до 11ти. И даже 11,99 всё равно до 11ти. А минус 11,5 округлилоь бы до минус 12ти. Если в языке скриптов в CS действуют законы арифметики, а не программирования, то это очень грустно для программиста.

ето в случае ненужности постоянных вычислений (спасибо за совет), но если предполагается использвание этих величин из других скриптов, то работать он должен постоянно
И постоянно всё со страшной силой тормозить . Сомнительно мне что-то. А зачем они другим скриптам? Не проще там свои такие же по смыслу величины завести? По-моему, расход будет небольшой, а экономия ресурсов налицо.

ljex ulmar - offline ljex ulmar
23-04-2003 15:30 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



swenic По законам арифметики - да. А по законам известных мне языков программирования (правда, это уже старьё всё), оно должно округлиться до 11ти. И даже 11,99 всё равно до 11ти.
ну, я в етом не виноват - говорю как работает, тем более со старыми языками (да и с новыми тож) дела не имею... так, понравилось ковыряться в КС, я и подызучил чутка

Andrei_P - offline Andrei_P
23-04-2003 21:11 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



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

[Error] Unit1.pas(26): Incompatible types: 'Integer' and 'Real'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

Если такое присвоение работает и им нужно пользоваться, это просто убожество. Понятно, что от языка скриптов не требуется большего... хотя, ИМХО, если бы разработчики чуть напряглись на этапе разработки Construction Set, они бы сэкономили время на исправлении багов... Всего-то и нужно иметь две функции: Int(x) и Round(x).

Текущее время: 05:54 << < 1 2 > >>
новая тема  ответить следующая тема | предыдущая тема
 
Перейти:

версия для печати   отправить эту страницу по e-mail   подписаться на эту тему

 
Powered by: vBulletin Version 2.0.1
Copyright ©2000, 2001, Jelsoft Enterprises Limited.
Любое использование материалов сайта
возможно только с разрешения его администрации.


 

Рейтинг@Mail.ru
Рейтинг@Mail.ru