Перейти к содержанию

Вот такой вот скрипт.


Рекомендуемые сообщения

Вот такой вот скрипт. Прибило меня чего-то, я взял и написал. По идее, должен изменять погоду в соответствии с месяцем. То есть вносить небольшое разнообразие в Морровинд. Теперь меня вот что интересует: будет ли оно вообще работать? Не напорол ли я чего? Не надо ли ввести еще одну переменную? Скрипт надо делать глобалом, он же будет исполнятся каждый фрейм, так, то есть несколько раз в секунду, так ведь?

 

Сам скрипт:

[morrscript]

 

Begin new_weather_script

 

short nmonth

 

if ( nmonth == month )

return

elseif ( nmonth != month )

if ( month == 0 )

ModRegion "Ascadian Isles Region" 15 15 10 20 25 15 0 0 0 0

ModRegion "Ashlands Region" 0 5 30 35 0 0 30 0 0 0

ModRegion "Azura's Coast Region" 5 5 20 30 25 15 0 0 0 0

ModRegion "Bitter Coast Region" 5 25 20 15 20 15 0 0 0 0

ModRegion "Grazelands Region" 10 15 15 10 30 20 0 0 0 0

ModRegion "Molag Mar Region" 0 5 40 15 0 0 40 0 0 0

ModRegion "Sheogorad" 0 5 20 30 20 15 0 0 10 0

ModRegion "West Gash Region" 0 5 25 35 25 10 0 0 0 0

elseif ( month == 1 )

ModRegion "Ascadian Isles Region" 20 20 10 15 20 15 0 0 0 0

ModRegion "Ashlands Region" 0 5 20 40 0 0 35 0 0 0

ModRegion "Azura's Coast Region" 5 15 20 25 20 15 0 0 0 0

ModRegion "Bitter Coast Region" 5 25 20 15 20 15 0 0 0 0

ModRegion "Grazelands Region" 10 20 10 10 25 25 0 0 0 0

ModRegion "Molag Mar Region" 0 5 30 20 0 0 45 0 0 0

ModRegion "Sheogorad" 5 5 20 30 20 15 0 0 5 0

ModRegion "West Gash Region" 5 5 20 35 20 15 0 0 0 0

elseif ( month == 2 )

ModRegion "Ascadian Isles Region" 25 25 10 15 15 10 0 0 0 0

ModRegion "Ashlands Region" 0 5 15 40 0 0 40 0 0 0

ModRegion "Azura's Coast Region" 10 20 20 25 15 10 0 0 0 0

ModRegion "Bitter Coast Region" 5 35 15 15 20 10 0 0 0 0

ModRegion "Grazelands Region" 15 25 10 10 20 20 0 0 0 0

ModRegion "Molag Mar Region" 0 10 25 25 0 0 40 0 0 0

ModRegion "Sheogorad" 5 10 15 30 20 20 0 0 0 0

ModRegion "West Gash Region" 5 10 25 30 15 15 0 0 0 0

elseif ( month == 3 )

ModRegion "Ascadian Isles Region" 30 30 10 10 10 10 0 0 0 0

ModRegion "Ashlands Region" 5 10 15 35 0 0 35 0 0 0

ModRegion "Azura's Coast Region" 10 30 20 15 15 10 0 0 0 0

ModRegion "Bitter Coast Region" 5 45 15 10 15 10 0 0 0 0

ModRegion "Grazelands Region" 20 30 10 10 15 15 0 0 0 0

ModRegion "Molag Mar Region" 0 10 30 25 0 0 35 0 0 0

ModRegion "Sheogorad" 5 25 10 30 15 15 0 0 0 0

ModRegion "West Gash Region" 10 15 20 30 15 10 0 0 0 0

elseif ( month == 4 )

ModRegion "Ascadian Isles Region" 35 35 5 5 10 10 0 0 0 0

ModRegion "Ashlands Region" 5 20 15 30 0 0 30 0 0 0

ModRegion "Azura's Coast Region" 15 35 15 15 10 10 0 0 0 0

ModRegion "Bitter Coast Region" 5 55 15 5 10 10 0 0 0 0

ModRegion "Grazelands Region" 25 35 10 10 10 10 0 0 0 0

ModRegion "Molag Mar Region" 5 10 40 20 0 0 25 0 0 0

ModRegion "Sheogorad" 10 30 15 20 15 10 0 0 0 0

ModRegion "West Gash Region" 10 25 20 25 10 10 0 0 0 0

elseif ( month == 5 )

ModRegion "Ascadian Isles Region" 45 45 0 0 5 5 0 0 0 0

ModRegion "Ashlands Region" 10 25 10 25 0 0 30 0 0 0

ModRegion "Azura's Coast Region" 25 45 10 10 5 5 0 0 0 0

ModRegion "Bitter Coast Region" 10 60 10 0 10 10 0 0 0 0

ModRegion "Grazelands Region" 30 40 5 5 10 10 0 0 0 0

ModRegion "Molag Mar Region" 5 15 35 25 0 0 20 0 0 0

ModRegion "Sheogorad" 15 40 10 15 10 10 0 0 0 0

ModRegion "West Gash Region" 15 30 15 20 10 10 0 0 0 0

elseif ( month == 6 )

ModRegion "Ascadian Isles Region" 45 45 0 0 5 5 0 0 0 0

ModRegion "Ashlands Region" 15 30 10 25 0 0 20 0 0 0

ModRegion "Azura's Coast Region" 35 45 5 5 5 5 0 0 0 0

ModRegion "Bitter Coast Region" 25 50 10 0 10 5 0 0 0 0

ModRegion "Grazelands Region" 40 35 5 5 10 5 0 0 0 0

ModRegion "Molag Mar Region" 15 20 30 20 0 0 15 0 0 0

ModRegion "Sheogorad" 20 30 10 15 15 10 0 0 0 0

ModRegion "West Gash Region" 25 25 15 15 10 10 0 0 0 0

elseif ( month == 7 )

ModRegion "Ascadian Isles Region" 45 45 0 0 5 5 0 0 0 0

ModRegion "Ashlands Region" 10 25 10 25 0 0 30 0 0 0

ModRegion "Azura's Coast Region" 25 45 10 10 5 5 0 0 0 0

ModRegion "Bitter Coast Region" 10 60 10 0 10 10 0 0 0 0

ModRegion "Grazelands Region" 30 40 5 5 10 10 0 0 0 0

ModRegion "Molag Mar Region" 5 15 35 25 0 0 20 0 0 0

ModRegion "Sheogorad" 15 40 10 15 10 10 0 0 0 0

ModRegion "West Gash Region" 15 30 15 20 10 10 0 0 0 0

elseif ( month == 8 )

ModRegion "Ascadian Isles Region" 35 35 5 5 10 10 0 0 0 0

ModRegion "Ashlands Region" 5 20 15 30 0 0 30 0 0 0

ModRegion "Azura's Coast Region" 15 35 15 15 10 10 0 0 0 0

ModRegion "Bitter Coast Region" 5 55 15 5 10 10 0 0 0 0

ModRegion "Grazelands Region" 25 35 10 10 10 10 0 0 0 0

ModRegion "Molag Mar Region" 5 10 40 20 0 0 25 0 0 0

ModRegion "Sheogorad" 10 30 15 20 15 10 0 0 0 0

ModRegion "West Gash Region" 10 25 20 25 10 10 0 0 0 0

elseif ( month == 9 )

ModRegion "Ascadian Isles Region" 30 30 10 10 10 10 0 0 0 0

ModRegion "Ashlands Region" 5 10 15 35 0 0 35 0 0 0

ModRegion "Azura's Coast Region" 10 30 20 15 15 10 0 0 0 0

ModRegion "Bitter Coast Region" 5 45 15 10 15 10 0 0 0 0

ModRegion "Grazelands Region" 20 30 10 10 15 15 0 0 0 0

ModRegion "Molag Mar Region" 0 10 30 25 0 0 35 0 0 0

ModRegion "Sheogorad" 5 25 10 30 15 15 0 0 0 0

ModRegion "West Gash Region" 10 15 20 30 15 10 0 0 0 0

elseif ( month == 10 )

ModRegion "Ascadian Isles Region" 25 25 10 15 15 10 0 0 0 0

ModRegion "Ashlands Region" 0 5 15 40 0 0 40 0 0 0

ModRegion "Azura's Coast Region" 10 20 20 25 15 10 0 0 0 0

ModRegion "Bitter Coast Region" 5 35 15 15 20 10 0 0 0 0

ModRegion "Grazelands Region" 15 25 10 10 20 20 0 0 0 0

ModRegion "Molag Mar Region" 0 10 25 25 0 0 40 0 0 0

ModRegion "Sheogorad" 5 10 15 30 20 20 0 0 0 0

ModRegion "West Gash Region" 5 10 25 30 15 15 0 0 0 0

elseif ( month == 11 )

ModRegion "Ascadian Isles Region" 20 20 10 15 20 15 0 0 0 0

ModRegion "Ashlands Region" 0 5 20 40 0 0 35 0 0 0

ModRegion "Azura's Coast Region" 5 15 20 25 20 15 0 0 0 0

ModRegion "Bitter Coast Region" 5 25 20 15 20 15 0 0 0 0

ModRegion "Grazelands Region" 10 20 10 10 25 25 0 0 0 0

ModRegion "Molag Mar Region" 0 5 30 20 0 0 45 0 0 0

ModRegion "Sheogorad" 5 5 20 30 20 15 0 0 5 0

ModRegion "West Gash Region" 5 5 20 35 20 15 0 0 0 0

endif

set nmonth to month

return

endif

 

end

[/morrscript]

Ссылка на комментарий
Поделиться на другие сайты

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

 

[morrscript]

if ( MenuMode == 1 )

return

endif

[/morrscript]

 

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

Ссылка на комментарий
Поделиться на другие сайты

Дело в том, что я это написал только вчера, а в игре это тестить - долго. Как миниум - с полгода игрового времени. Если только сделать setgamespeed и пробежать полгода за 10 минут... Хех.

Месяц вроде так определяется. Хотя кто его знает. Может, стоит добавить переменную, которой присваивать значение месяца, и, потом, с ней сравнивать(хотя зачем?). Вот menumode стоит воткнуть, а таймер... Таймер ведь как работает? Если я не ошибаюсь, он сравнивает временную переменную, и, если она меньше, то делается return, и скрипт идет по новой. Ну а раз так, какая разница, когда return будет делатся, после сравнения таймера или после сравнения if ( nmonth == month )? Хотя, может, я ошибаюсь. Вот если бы заставить его запускатся раз в месяц, не прибегая к глобалскриптам (не люблю глобальные скрипты...). Но, похоже, это нереально. Если запускать его startscriptom, из другово скрипта... А что толку?

А, да, по поводу интерьеров... Мы же не текущую погоду меняем, а вообще. Пускай всегда меняется, какя разница?

Ладно, тогда такой вопрос, если у нас есть два плагина,в каждом по глобальному скрипту, который скрипт будет выполнятся первым? По имени или по "подключению"?

Изменено пользователем Deathruler
Ссылка на комментарий
Поделиться на другие сайты

если не воткнешь таймер - будет выполнятся все полностью до подходящего условия, для 12-го месяца - весь скрипт целиком, так что ты ошибаешься :) поэтому поставь таймер
Ссылка на комментарий
Поделиться на другие сайты

Гм, а как тут таймер поможет? Целиком он один раз прокрутится, а потом nmonth станет равна month, и он будет опять до строчки if ( nmonth == month ) исполнятся, пока месяц не сменится. Я так думал.
Ссылка на комментарий
Поделиться на другие сайты

таймер в самом начале, чтоб до nmonth выполнялся, и собственно чтоб до кода скрипта дело доходило только раз в 10 секунд например
Ссылка на комментарий
Поделиться на другие сайты

Ну, а таймер разве к коду скрипта не относится?

 

 

Нет, как только скрипт доходит до строчки првоерки таймера, при условии "фальшь" скрипт дальше не обрабатывается... Те ты экономишь память проца на обрабатывания всего скрипта! По поводу интерьеров: для какой цели тебе обрабатывать скрипт на погоду, если ты ее все равно не увидешь???? Ты ведь будешь находиться в "здании"!!! Там нет погоды!!!! Поставь проверку на это!!!! (тк скрипт голбальный и исполняется все время вне зависимости от того находишься ты в интерьере или в экстерьере!!! Это тоже сэкономит процессорное время!) По поводу переменной: на кой "х" тебе еще переменная, если все работает и без нее???

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

Ссылка на комментарий
Поделиться на другие сайты

Так. Объясните дураку еще раз.

Втыкаем такую конструкцию

 

[morrscript]

Float timer

 

Set timer to (timer + GetSecondsPassed)

 

If (timer > 10)

Сам скрипт

Set timer to 0

Endif

[/morrscript]

 

Скрипт не будет запускатся, пока timer не станет равен 10. Это понятно. Идем дальше. Доходим до строчки

 

[morrscript]

if ( nmonth == month )

return

[/morrscript]

 

Если nmonth равен текущему месяцу, скрипт сбрасывается на начало и больше за этот фрейм не исполняется. Это тоже понятно. Но разве он и так не сбросится? А если сбросится, зачем нам две проверки (проверка на таймер + проверка на месяц) вместо одной?

 

[morrscript]

elseif ( nmonth != month )

if ( month == 0 )

(и т. д.)

endif

set nmonth to month

return

[/morrscript]

 

Тут он, если месяц изменился, сделает свое черное дело, установит в nmonth значение текущего месяца, и заткнется до следушего раза, когда изменится месяц, разве нет?

 

По поводу интерьеров: тогда, получается, погода изменится, только когда игрок выйдет из здания, а нам этого не надо. Единственное что, если игрок больше месяца просидит, не высовываясь на белый свет... По поводу подключения ясно, спасибо. Откопал Month_bugfix (кстати, там никакого таймера нет), вот у него с этим скриптом, возможно, будет странный эффект...

Ссылка на комментарий
Поделиться на другие сайты

Так. Объясните дураку еще раз.

Втыкаем такую конструкцию

 

[morrscript]

Float timer

 

Set timer to (timer + GetSecondsPassed)

 

If (timer > 10)

                    Сам скрипт

                    Set timer to 0

Endif

[/morrscript]

 

Скрипт не будет запускатся, пока timer не станет равен 10. Это понятно. Идем дальше.  Доходим до строчки

 

 

По поводу интерьеров: тогда, получается, погода изменится, только когда игрок выйдет из здания, а нам этого не надо. Единственное что, если игрок больше месяца просидит, не высовываясь на белый свет... По поводу подключения ясно, спасибо. Откопал Month_bugfix (кстати, там никакого таймера нет), вот у него с этим скриптом, возможно, будет странный эффект...

 

А вот хрен ты угадал!!!! когда таймер станет равен 10 скрипт у тебя не

исполнится!!!! только при том раскладе, когда таймер будет больше 10 при условии >= 10 скрипт сработает тк число 10 включено в диапазон!

 

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

 

что за Month_bugfix? Можно по-подробнее?

Ссылка на комментарий
Поделиться на другие сайты

Тьфу ты. Ну да, точно. Ну не обратил внимания. Там же больше... Да не суть важно. Ты мне про остальное разястни.

Если погода будет менятся раз в месяц, как я и планировал, то какая разница, когда она изменится - первого числа или когда Нереварин соблагоизволит вылезти из своей халупы. первое даже предпочтительнее, так как погоды меняется не сразу, и в конце месяца игрок может нарватся погоду месяца предыдущего. Правда, различия не так заметны, но это можно откалибровать.

 

Month Bugfix v 2.0:

Описание: В Морроувинде, как и в реальной жизни, 12 месяцев. Проблема в том, что 1 месяц (Утренней Звезды) выпал и год начинается со 2 месяца. Этот плагин исправляет эту ошибку и делает Месяц Утренней Звезды активным.

 

Кроме того, устанавливает во все месяца количество дней, соответствующее реалу - Июнь - 31, Июль - 31, Февраль - 28 или 29...

Ссылка на комментарий
Поделиться на другие сайты

Тьфу ты. Ну да, точно. Ну не обратил внимания. Там же больше... Да не суть важно. Ты мне про остальное разястни.

Если погода будет менятся раз в месяц, как я и планировал, то какая разница, когда она изменится - первого числа или когда Нереварин соблагоизволит вылезти из своей халупы. первое даже предпочтительнее, так как погоды меняется не сразу, и в конце месяца игрок может нарватся погоду месяца предыдущего. Правда, различия не так заметны, но это можно откалибровать.

 

Month Bugfix v 2.0:

Кроме того, устанавливает во все месяца количество дней, соответствующее реалу - Июнь - 31, Июль - 31, Февраль - 28 или 29...

 

 

все так и есть, погода у тебя сменится 1-го числа, только скрипт не будет просчитываться в то время, пока ты находишься в интерьере!!!! Как только ты выйдишь на "улицу", скрипт проверит месяц, и в зависимости от него сменит погоду!

 

про Month Bugfix понятно, спасибо, где-то видел его...

Ссылка на комментарий
Поделиться на другие сайты

Погоди. Скрипт-то сам погоду не меняет. Он меняет только шансы на погоду.

 

Разницы нет, пусть он хоть MessageBox показывает, дело лишь в том, что он не будет исполняться в то время, когда он совершенно не нужен! Повторяю еще раз! Ты ведь не видишь дождя или ветра сидя в комнате (за исключением тех случаев, когда интерьер выбран экстерьером, но это уже, по сути, баг!) так для чего тебе обрабатывать скрипт, если ты не сможешь увидеть его действие???!!!

Ссылка на комментарий
Поделиться на другие сайты

Это не баг, это - Морнхолд, хех.

 

Я вот думаю, не пришлось бы, напротив, запускать скрипт только в интерьерах?

Ведь Безеда использовала функцию ModRegion только три раза в игре, и, что симптоматично, все три раза - когда игрок был в интерьере.

Ведь как устроена погода в Морровинде?

При смене погоды из "погодных шансов" (weather chances... Или как это звать?) выбирается текущая погода. При прохождении определенного времени погода меняется, и выбирается снова. Когда игрок внтерьере, очевидно, погода не изменяется. При выходе игрока в экстерьер, если игрок провел в интерьере достаточное время, погода опять-таки меняется - выбирается из weather chances. Если изменить погоду командой (как там... ModCurrentWeather, или что-то в это роде), когда игрок в экстерьере, погода начнет менятся немедленно. Если - когда игрок в интерьере, погода сменится, когда игрок выйдет в экстерьер.

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

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

Ссылка на комментарий
Поделиться на другие сайты

Это не баг, это - Морнхолд, хех.

 

Я вот думаю, не пришлось бы, напротив, запускать скрипт только в интерьерах?

 

(коряво, блин, звучит, но что поделать?). Но это - по идее.

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

 

ЭЭЭ!! Стоп! Я запутался окончательно!!! :blink: Пожалуйста еще раз и, по возможности, доступным для понимания языком! :rolleyes: Из вышесказанного я понял что при смене экстерьера на интерьер переменные погоды записываются в экстерьере и при выходе из интерьера погода меняется только тогда, когда закончится текущая погода. Я правильно понял?

Ссылка на комментарий
Поделиться на другие сайты

По-моему, мы окончательно друг друга запутали, хех.

 

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

 

Пока игрок в интерьере, погода не меняется. Если есть под рукой MSFD,

посмотри, что возвращает GetCurrentweather в интерьерах.

И еще, похоже, что когда игрок переходит из региона в регион, погода начинает менятся сразу.

Ссылка на комментарий
Поделиться на другие сайты

По-моему, мы окончательно друг друга запутали, хех.

 

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

 

Угу... я практически правильно понял... Ну и отлично! пусть и меняется при выходе сразу! А потом в процессе хождений будет меняться постепенно. В чем косяк-то? (По ходу я опять чего-то не догнал...)

 

Пока игрок в интерьере, погода не меняется. Если есть под рукой MSFD,

посмотри, что возвращает GetCurrentweather в интерьерах.

 

Угу, под рукой, но я не нашел данной информации, могу только предположить, что работает она аналогично функции CellChanged

 

И еще, похоже, что когда игрок переходит из региона в регион, погода начинает менятся сразу.

 

Да хрен с ним, пусть меняется сразу! На мой взгляд, нет ничего страшного в этом.

 

Так и еще один вопрос: есть ли скрипт по-умолчанию в морре меняющий погоду, или она в движке прописана? Это я к чему: если есть скрипт с твоими функциями и переменными, то твой скрипт будет только корректировать дефолтный скрипт, хотелось бы на него взгянуть...

Ссылка на комментарий
Поделиться на другие сайты

Угу... я практически правильно понял...  Ну и отлично! пусть и меняется при выходе сразу! А потом в процессе хождений будет меняться постепенно. В чем косяк-то? (По ходу я опять чего-то не догнал...)

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

 

Угу, под рукой, но я не нашел данной информации, могу только предположить, что работает она аналогично функции CellChanged

Нет? Странно... Наверное, я что-то путаю...

 

Да хрен с ним, пусть меняется сразу! На мой взгляд, нет ничего страшного в этом.

Эээ... Я имел в виду, это особенность движка, ничего тут не попишешь.

 

Так и еще один вопрос: есть ли скрипт по-умолчанию в морре меняющий погоду, или она в движке прописана? Это я к чему: если есть скрипт с твоими функциями и переменными, то твой скрипт будет только корректировать дефолтный скрипт, хотелось бы на него взгянуть...

Нет, погода прописана в движке. Через некоторое количество игровых часов (которое указанно в morrowind.ini), погода для региона, в котором находится игрок начитает менится в соответствии с weather chances региона. Разница погоды в зависимости от месяца в игре вообще не предусмотрена.

Функция ModRegion использутся в конечных скриптах игры, endgame и (не помню точно),кажется, tribunalend.

Ссылка на комментарий
Поделиться на другие сайты

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

 

 

Все.... полный 3,1415здец! Я запутался окончательно!!!! короче так: сначала ты мне в кратце расскажешь о том что конкретно должны менять твои шансы, потом я сам посмотрю в игре, поэкспериментирую маленько, а затем мы продолжим эту беседу! Ок?

Ссылка на комментарий
Поделиться на другие сайты

Все.... полный 3,1415здец! Я запутался окончательно!!!! короче так: сначала ты мне в кратце расскажешь о том что конкретно должны менять твои шансы, потом я сам посмотрю в игре, поэкспериментирую маленько, а затем мы продолжим эту беседу! Ок?

Смотри...

Что погода выбирается по weather chanc'am, это понятно. То есть если у нас 50% на солнечно и 50% на облачно, то погода будет выбиратся из этого.

Теперь, когда nmonth у нас становится не равна текущему месяцу, то есть месяц меняется, мы смотрим какой месяц, и в зависимости от наго меняем шансы: если осень, то больше шансов накидываем на дождь и грозы, если зима - то на туман и облачность (нет, снега не будет, климат не тот... Разве что в Шеогораде может снег пойти... И сразу же растаять... Очень маленькая вероятность), если лето - на солнечность (Прочитал, что написал, и чуть сам сос стула не свалился... Солнечность! Это надо же! новое слово придумал!)... На солнечную погоду.

Непосредственно саму же погоду мой скрипт не меняет.

 

Да, и тут идея стукнула - если скрипт несколько усложнить, можно сделать так, что бы мор (blight) с течением времени распростронялся бы по острову! То есть если игрок совсем уж забивает на сюжет, то через пару лет по всему острову погода будет как на Красной Горе.

Ссылка на комментарий
Поделиться на другие сайты

тока не забыть зараженных тогда с ее распростанением расставлять по всему острову ;) иначе конкретные Неревары не поймут
Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...